J2EE vs..net Olli Sakari



Samankaltaiset tiedostot
Vielä ei ole myöhäistä

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Integraatiotekniikan valinta - tie onnistumiseen.

Sovellusarkkitehtuurit

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä ! Java luokkia n. 5000

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat


Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Nääsvillen oliopäivät.net vrs Java

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

Liiketoimintajärjestelmien integrointi

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services

Liiketoimintajärjestelmien integrointi

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

HSMT J2EE & EJB & SOAP &...

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

ASCOM MIRATEL YHDESSÄ VAHVEMPI

ACCOUNTOR ICT Digitaalinen työympäristö Markkinatutkimus joulukuu 2018

Älypuhelimet. Sisällysluettelo

Uusia tuulia Soneran verkkoratkaisuissa

Microsoft Visual Studio 2005

Android jatkaa kasvua

Investointien turvaaminen, yhteensopivuuden ja jatkuvuuden varmistamisen kautta

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Kumppaniratkaisu. M-Files Cloud Vault Dokumenttien hallinta on helppoa. Paranna tietotyön tehokkuutta ja laatua!

Tietojärjestelmäarkkitehtuurit

Ohjattua suorituskykyä.

Visual Basic -sovelluskehitin Juha Vitikka

Tiedonsiirto- ja rajapintastandardit

Työeläkeyhtiö Varma. IBM Software Day Tuukka Tusa, Digia

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Kokemuksia käyttäjätunnistuksen ja käyttöoikeushallinnan käyttöönotosta

.NET ja C# Virtuaalikone. Common Language Infrastructure (CLI) Periaate. Etuja. Haittoja. Mikä on CLI. CLI standardin merkitys (CLS, Ecma)

Konesali ilman rajoja Kongressi A

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Yhteisöllinen tapa työskennellä

Ympäristöystävällinen IT

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

4. Lausekielinen ohjelmointi 4.1

Sovelluspalvelin terveydenhuollon sovellustuotannossa ja sovel Iusintegraat iossa, Juha Rannanheimo, Kuopion YO

20 SYYTÄ, MIKSI JOKAISEN SEURAAVAN TIETOKONEEN TULISI OLLA THINKPAD TAI THINKCENTRE

Hyödynnä DPS- ja SA-setelit Azure hybridipilvi-palveluiden suunnittelussa ja testauksessa!

.NET 2006 ja sen jälkeen

Liite 1: ServiceMix skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma

Sakari Olli Tieturi OY. SOA - ajattelutapa vai teknologia

Jouko Nielsen. Ubuntu Linux

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

Onnistunut ohjelmistoprojekti

HOJ J2EE & EJB & SOAP &...

Vaivattomasti parasta tietoturvaa

W3C ja Web-teknologiat

Digimarkkinoinnin uudet pelisäännöt Huhtikuu 2015

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Julkinen sektori uusien teknologioiden kehittäjänä. Huippuostajat-ohjelman käynnistysseminaari Finlandia-talo, Ville Valovirta

LIITE. asiakirjaan. komission delegoitu asetus

Tehosta kokouskäytäntöjäsi! Teknologian avulla järjestät kokoukset tehokkaasti ja vaivattomasti.

Java Platform, Enterprise Edition (Java EE)

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista

Kiinteistöjen paloturvallisuuden ajankohtaispäivät 2016 Muuttuva ympäristö ja teknologian haasteet Palontorjunnan laitteistot Lauri Lehto,

Rajattomat tietoverkot ja niiden rooli pilvipalveluissa. Jukka Nurmi Teknologiajohtaja Cisco Finland

Sonera perustaa Helsinkiin Suomen suurimman avoimen datakeskuksen. #SoneraB2D

- Jarjestelmaasiantuntija Markku Jaatinen

Tuotantokoneen langaton etädiagnostiikka

RENKAAT - SISÄRENKAAT - LEVYPYÖRÄT - PYÖRÄT - AKSELIT

FuturaPlan. Järjestelmävaatimukset

Juhannuksena Arkkitehtuureilla YHTEISET RAKENNUSPUUT. Java/J2EE vastaan. Microsoft.Net OHJELMISTOT ARKKITEHTUURIT ESITTELYSSÄ

KODAK EIM & RIM VIParchive Ratkaisut

Joustavat järjestelmät mukautuvat liiketoiminnan tarpeisiin

Integrointi. Ohjelmistotekniikka kevät 2003

IBM IT Education Services - DB2 YTR - sertifioinnit

Langattomien verkkojen tietosuojapalvelut

SUSEtoberfest TERVETULOA

Järjestelmäarkkitehtuuri (TK081702) AJAX, Asynchronous JavaScript And XML. AJAX, Asynchronous JavaScript And XML

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Älykäs lipunmyyntiratkaisu älykästä tulevaisuutta varten YRITYS

ATK Team Tomerat TARJOUS 1 (5)

Silent Gliss 9020/21, 9040/41 ja 5091 moottorit. Uusi moottorisukupolvi

Työpöytävirtualisointi

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

ANVIA PILVI. kotimaisia pilvipalveluita yrityksille 24/7

Johdanto. Agenda. Tuotantoprosessi. Historiallinen kehitys. Konsepti. Tuotantoprosessin vaiheet

Pilviratkaisut ovat entistä suositumpia. Mutta mikä on oikea ratkaisu sinun maailmassasi? Lähde matkalle läpi avaruuden, ajaan ja maalaisjärjen

W3C: teknologia ja (tieto)yhteiskunta

e-business hinnoittelu Tuomas Salonen Oracle Finland Oy

Kiinteistöjen turvallisuuden paras suojakeino. EcoStruxure Security Expert. se.com/fi/ecostruxure-security-expert

Kvalitatiivinen analyysi. Henri Huovinen, analyytikko Osakesäästäjien Keskusliitto ry

Vastausten ja tulosten luotettavuus. 241 vastausta noin 10 %:n vastausprosentti tyypillinen

Keskitetyn integraatiotoiminnon hyödyt

Valppaan asennus- ja käyttöohje

Aukoton havaitseminen. Varmasti luotettava. Commercial Series -liiketunnistimet

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Terveydenhuollon Atk-päivät 2009

Transkriptio:

TEEMA-ARTIKKELI J2EE vs..net Olli Sakari J2EE ja.net ovat tietojärjestelmäteknologioita, joiden varaan suuri osa tulevaisuuden tietojärjestelmistä tulee rakentumaan. Molemmat teknologioista tarjoavat välineitä toteuttaa tietojärjestelmäarkkitehtuureita sekä rakentaa alustariippumattomia ja uudelleenkäytettäviä komponentteja..net on Microsoftin luoma teknologia, joka mahdollistaa alustariippumattomien järjestelmien luomisen. Vuodesta 2001 markkinoilla ollut teknologia tarjoaa mahdollisuuden hajautettujen komponenttipohjaisten järjestelmien rakentamiseen useilla eri ohjelmointikielillä sekä tuen useiden eri käyttöliittymätyyppien tavoittamiseen. Arkkitehtuuri korvaa Microsoftin aikaisemman COM+ komponentteja hyödyntäneen Windows DNA arkkitehtuurin, joskin vanhojen komponenttien tarjoamien palveluiden käyttäminen on edelleen mahdollista. J2EE on Sun Microsystemin hallinnoima Java-ohjelmointikielen varaan rakennettu teknologia, joka on kehittynyt julkaisuvuotensa 1998 jälkeen IT alan suurimpien pelureiden, kuten IBM, Oracle ja BEA, yhteistyön tuloksena. J2EE - teknologia määrittelee yhteensopivuuskriteerit osateknologioilleen ja käytännössä useat eri valmistajat rakentavat näiden kriteereiden mukaisia tuotteita. Ideologia Perusideologialtaan molemmat tietojärjestelmäteknologioista tähtäävät alustariippumattomuuteen. Teknisellä tasolla molempien teknologioiden sovellusmalli pohjautuu tulkattaviin ohjelmointikieliin, joiden suorituksesta vastaa ajoympäristö, josta voi olla olemassa useita versioita eri käyttöjärjestelmiä varten..net arkkitehtuuri tarjoaa Microsoftin aikaisimmista ratkaisuista poiketen tuen useille käyttöjärjestelmille ja tarjolla on ajoympäristöjä myös eri valmistajien käyttöjärjestelmille. Vaikka tavoitteena on tarjota tuki useille eri alustoille, on sovellusten luontevin ja toimivin ympäristö edelleen Microsoftin valmistama käyttöjärjestelmä. J2EE maailmassa on jo vuosia ollut itsestäänselvyys, että sovelluspalvelimien ja eri tuotteiden valmistajia on useita ja yrityksellä on vapaus valita parhaiten tarpeisiinsa soveltuvat tuotteet valitsemilleen käyttöjärjestelmä- ja laitealustoille. Sovellusten siirrettävyys sekä alusta- ja valmistajariippumattomuus on tärkeä valintakriteeri, jonka osalta J2EE teknologiat ovat vahvempia. Toisaalta ajoympäristöjen kehittyessä myös.net -tekniikoiden 17

siirrettävyys alustalta toiselle tulee kehittymään. Tämä tullee tarkoittamaan sitä, että muutaman vuoden kuluttua.net teknologiat tulevat olemaan Java teknologioiden tavoin aidosti siirrettäviä. Toisaalta myös Javan aitoa siirrettävyyttä on kritisoitu paljon ja monimutkaisimpien sovellusten siirrettävyydessä on ongelmia myös Java ympäristöissä. Sovellusten kirjoittaminen.net kehittäjällä on valittavanaan useita eri ohjelmointikieliä. Microsoft tarjoaa tuen useille kielille, joista on pääsy samoihin resursseihin. Käytännössä eri ohjelmointikielillä voidaan siis kirjoittaa samanlaisia sovelluksia. Alustan pääkieli on Javan kaltainen oliokieli C#, mutta tarjolla on myös suuri joukko muita kieliä, kuten Visual Basic.NET ja C++. Sovellusten kirjoittaminen on mahdollista jopa Kuva 1: Sovellusmalli Javalla. Microsoft tarjoaa sovelluskehittäjälle helppokäyttöisen ja RAD - ideologiaa hyvin tukevan Visual Studio.NET työkalun, mutta tarjolla on myös muutamien muiden valmistajien ympäristöjä. J2EE - maailmassa on ajatuksena se, että kaikki sovellukset kirjoitetaan samalla ohjelmointikielellä, joka on Java. Kehitysvälineeksi on tarjolla useita eri tuotteita, joista kaupallisista suosituimpien joukkoon kuuluvat Borlandin JBuilder sekä IBM:n WebSphere Studio Application Developer. Ilmaisista OpenSource välineistä suosituin lienee Eclipse. Java-maailman kehitysympäristöt eivät valitettavasti ole helppokäyttöisyydeltään Microsoftin välineiden veroisia, joskin välineiden laatu on kehittynyt viime vuosina. Vertailtaessa sovelluskehitystä sekä tarjolla olevia ohjelmointikieliä tarjoaa.net teknologiaperhe kehittyneemmän kehitysympäristön sekä enemmän ohjelmointikieliin liittyviä vaihtoehtoja. Kehittyneet sekä yksinkertaiset välineet näkyvät käytännön projekteissa pienempinä työmäärinä ja tätä kautta säästettynä rahana. Kannattaa muistaa myös helppojen välineiden rooli järjestelmien ylläpidossa. Innovaatiot Digitaalisen allekirjoittamisen ansiosta voidaan varmistua siitä, että käytettävä komponentti tulee aina turvallisesta lähteestä. Mahdollisuuksiltaan molemmat teknologiaperheet ovat samankaltaisia. Molempia teknologioita käyttämällä voidaan rakentaa monipuolisen sisällön omaavia Web sovelluksia, joita voidaan tarvittaessa myös skaalata asiakaskunnan kasvaessa. Teknologiat tarjoavat omat komponenttimallinsa, jotka mahdollistavat hajautettujen komponenttien luomisen sekä niiden tarjoamien palveluiden alustariippumattomat etäkutsut. WebService palveluiden luominen onnistuu molempien teknologioiden avulla, joskin palveluiden yhteensopivuudessa on ollut jonkin verran ongelmia. Tietoturvaan 18

siitä, että osa ratkaisuista ei ole yleisesti hyväksyttyjen standardien mukaisia. liittyvät ominaisuudet ovat myös pitkälle vietyjä molemmissa teknologioissa ja nykyisin palvelintuotteet tarjoavat paljon samankaltaisia mahdollisuuksia tietoturvaominaisuuksien hallintaan. Ainoa merkittävä ero tietoturvaan liittyen on se, että.net pakottaa allekirjoittamaan jaettavat komponentit. Digitaalisen allekirjoittamisen ansiosta voidaan varmistua siitä, että käytettävä komponentti tulee aina turvallisesta lähteestä. Myös Java tukee digitaalista allekirjoittamista, mutta jättää vapauden olla käyttämättä sitä. Käytännössä monipuolisten ja tietoturvallisten järjestelmien luominen onnistuu molemmilla teknologioilla ja nykyisin myös alustojen luotettavuus on sangen korkealla tasolla. Teknologioiden innovatiivisuutta pohdittaessa.net tarjoaa useimmiten nopeammin tuen uusille innovaatioille. Käytännössä tämä johtuu siitä, että uudet innovaatiot lisätään J2EE - alustaan hitaan ja avoimen JCP prosessin kautta, Kuva 2: Visual Studio.NET jossa alan suurimmat pelurit sopivat yhdessä siitä millaisena tietty uusi innovaatio tullaan liittämään alustaan. Vastaavaa taakkaa ei.net maailmassa ole, vaan Microsoft on usein luonut alustaan liitetyt innovaatiot nopeasti välittämättä Integraatio muihin teknologioihin Integraatio muita teknologioita käyttäviin järjestelmiin on usein erittäin tärkeä kriteeri valittaessa käytettävää teknologiaa, sillä on erittäin harvinaista että uudet tietojärjestelmät eivät ole riippuvaisia jo olemassa olevasta infrastruktuurista. Molemmat teknologiat tarjoavat mahdollisuuden käsitellä tietokantoja monipuolisesti. Vertailtaessa Microsoftin ADO.NET tekniikkaa Javan JDBC tekniikkaan, yhteistä molemmille tietokantarajapinnoille on se, että niiden avulla voidaan nykyisin käsitellä useimpia tietokantoja ja molemmista löytyy tuki tietokantakäsittelyssä tarvittaville perusoperaatioille. Standardienmukaiset Kuva 3: J2EE ja järjestelmänintegraatioskenaariot 19

Kuva 4: Artikkelin avainkäsitteitä sovelluspalvelimet tarjoavat molemmissa arkkitehtuureissa myös tuen sanomanvälityspalveluiden käytölle tarjoamalla sanomajonot viestien tallentamiseen sekä mahdollisuuden sanomapalveluiden hyödyntämiseen. Merkittävimmät sanomanvälitystuotteet tarjoavat mahdollisuuden luoda asynkronisia palvelupyyntöjä käyttämällä molempia teknologioita. J2EE tarjoaa mahdollisuuden tehdä palvelupyyntöjä olemassa oleville CORBA palveluille tarjoamalla tuen IIOP kutsuprotokollalle. J2EE - standardi sisältää myös JCA rajapinnan, jolla voidaan käsitellä standardijärjestelmiä, kuten esimerkiksi SAP ja CICS, standardirajapinnan avulla. Microsoftin ideologiassa monimutkaisimmat integraatioskenaariot ratkaistaan käyttämällä valmiita integraatiopalvelimia, kuten Biztalk Server tai Host Integration Server. Integraatiopalvelimet ovat ohjelmoitavissa.net - välineillä, mutta ovat erillisiä kaupallisia tuotteita. Molemmat arkkitehtuurit tarjoavat tuen tulevaisuudessa tärkeän XML pohjaisen teknologian WebService hyödyntämiseen integraation välineenä. Integraationäkökulmasta J2EE teknologiat ovat monipuolisempia ja helpompia sovittaa yhteen eri valmistajien ratkaisujen kanssa. Syynä on pitkälti se, että J2EE teknologioiden taustalla on paljon eri valmistajia, jotka ovat valinneet Java tekniikat yhteiseksi alustakseen pakottaen samalla ratkaisemaan yhteensopivuusongelmat. Microsoftin ratkaisut ovat taasen pitkään olleet sidottuja nimenomaan Microsoftiin ja sen tuotteisiin..net-teknologia sekä käyttöjärjestelmä ovat vahvasti toisiinsa sidottuja, jolloin suorituskyky on pystytty optimoimaan Windows-alustoille. Teknologioiden suorituskyky Suorituskyvyn osalta.net järjestelmät ovat tehokkaampia, mitattiinpa suorituskykyä minkä kriteerin avulla tahansa. Käytännössä syy tehoeroon on se, että teknologia sekä käyttöjärjestelmä ovat vahvasti toisiinsa 20

sidottu ja.net ratkaisujen suorituskyky on pystytty optimoimaan Windows alustoille. J2EE toimii aina Java virtuaalikoneen alaisuudessa, joka on rakennettu käyttämään alla olevien vaihtelevien käyttöjärjestelmien palveluita, jolloin joudutaan tekemään paljon tehokkuutta rajoittavia yleisiä ratkaisuja. Täytyy kuitenkin muistaa, että jos ajatellaan.net -tekniikoita Microsoftin alustojen ulkopuolella, sama suorituskykyrajoite on olemassa. Suorituskyvyn ongelmia voidaan ratkaista lisäämällä laitteisiin suorituskykyä parantavia prosessoreita tai muistia, joiden osalta Windows versiot asettavat omat rajoituksensa, kun taas Javan taustalla olevat vaihtelevat käyttöjärjestelmät voivat olla laajennettavampia. Suorituskyvyn asettamia ongelmia voidaan ratkaista myös molempien tekniikoiden käyttämien sovelluspalvelimien tukemien klusterointitekniikoiden avulla. Kannattaa kuitenkin muistaa, että valittaessa käytettävää teknologiaa on harvinaista, että millisekuntien tehoerot ovat merkittävin valintakriteeri. Kokemuksia alustoista Teknologiavalintoja tehtäessä alustojen luotettavuutta ja kokemuksia niiden käytöstä on tärkeää arvioida. J2EE on arkkitehtuureista tällä hetkellä laajemmin käytetty ja sen käytöstä on enemmän kokemuksia. Osa organisaatioista on törmännyt ensimmäisissä J2EE-alustan haasteena on tekniikoiden monimutkaisuus. J2EE - projekteissaan haasteisiin tekniikoiden monimutkaisuuden takia, mutta tekniikoiden käyttö on useimmiten pienen opettelun jälkeen onnistunut ilman ongelmia. J2EE teknologioiden vahvuutena voidaan pitää kokemuksia tekniikoiden käytöstä sekä tätä kautta tuotteiden kypsä ikä..net alustan käytöstä ei ole vielä yhtä laajoja kokemuksia kuin J2EE - ratkaisujen. Teknologian nuoresta iästä huolimatta tuotteet alkavat olla vuonna 2005 kypsiä kriittistenkin järjestelmien alustoiksi, osin kiitos Microsoftin merkittävän panostuksen. Pohdittaessa ensimmäisten projektien haasteita kannattaa muistaa, että.net teknologiat muistuttavat rakenteeltaan monin osin J2EE teknologioita, joten hyvään suunnitteluun liittyvät, J2EE - maailmasta tutut, haasteet tulevat varmasti nousemaan esiin lähitulevaisuudessa. Kumpi valita? Tulevaisuuden tietojärjestelmien alustan valinta on useissa organisaatioissa tällä hetkellä polttava kysymys. Alustan valinta on harvoin organisaation liiketoiminnan kannalta kriittinen kysymys, sillä molempien teknologioiden avulla voidaan luoda liiketoimintaa tukeva moderni tietojärjestelmä. Käytännössä organisaatioiden, joiden liiketoiminnassa käyttämät kriittiset järjestelmät sekä käyttöjärjestelmävalinnat, pohjautuvat Microsoftin ratkaisuihin, kannattaa valita saman valmistajan.net teknologia-alusta. Valinta mahdollistaa olemassa olevien investointien helpon siirrettävyyden sekä saumattoman uudelleenkäytön uuden teknologian kanssa. J2EE arkkitehtuuri on taasen luonteva valinta yritykselle, jonka tietojärjestelmät käyttävät UNIX- tai Linux-alustoja ja joissa käytetään eri valmistajien vaihtelevia vuosien varrella tukemia teknologioita. J2EE teknologian vahvuutena on vapaus valita eri toimittajia ja tuotteita, joita voidaan edelleen yhdistellä toisiinsa organisaatiota parhaiten palvelemalla tavalla. Standardina J2EE pyrkii takaamaan eri tuotteiden yhteensopivuuden sekä tarjoamaan monipuoliset mahdollisuudet integroitua taustajärjestelmiin. Myös ilmaiset J2EE OpenSource ratkaisut, joita on tarjolla sangen paljon, saattavat olla joidenkin yritysten kannalta merkittävä J2EE teknologiaa puoltava valintakriteeri. Tärkeintä on kuitenkin muistaa, että valittiinpa kumpi teknologioista tahansa, merkittävintä ei ole se kumpi valitaan, vaan se kuinka teknologioita sovelletaan liiketoiminnan tukena. Kirjoittaja toimii asiantuntijana sekä kouluttajana Tieturi OY:ssä osaamisalueenaan tietojärjestelmäarkkitehtuurit sekä tietojärjestelmäintegraation haasteet. 21