Java Platform, Enterprise Edition (Java EE)

Samankaltaiset tiedostot
Sisältö. Tapahtumienhallinta. Tapahtumat (transaktiot) Kaupallinen tapahtuma (transaktio)

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

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

Sovellusarkkitehtuurit

HOJ J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &...

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

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

J2EE vs..net Olli Sakari

Tietokantaohjelmoinnin tekniikkoja Java-kielellä


Sovelluskehitys JDeveloper 10g ja Oracle ADF -välineillä. OUGF Kevätseminaari Jarkko Happonen, Eventizer Oy

Integraatiotekniikan valinta - tie onnistumiseen.

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

Järjestelmäkehitys EJB komponenttien avulla

P e d a c o d e ohjelmointikoulutus verkossa

in condition monitoring

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

SOA SIG SOA Tuotetoimittajan näkökulma

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

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

P e d a c o d e ohjelmointikoulutus verkossa

Hajautettujen järjestelmien rakentaminen - Jini. Ohjelmistotuotantovälineet-seminaarin esitelmä

Java EE -arkkitehtuuri. Lipitsäinen Arvo, HAAGA-HELIA

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

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

SAP. Lasse Metso

EJB-komponenttien tietokantakytkentä

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Koira testissä vai Racci tuotannossa O10G/IAS10 Linuxilla

Integrointi. Ohjelmistotekniikka kevät 2003

.NET 2006 ja sen jälkeen

6. Arkkitehtuurityylit

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

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

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

KIURU Tietotekniikan sovellusprojekti

Java EE ja Enterprise JavaBeans 3.0. Harri Valkonen HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos

Kari Rouvinen Johtaja, Technology Products & Solutions. Oracle Finland Oy

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Java EE -sovelluksen resurssien suojaus Case: Toyme Lab Oy

Käyttäjähallinta liiketoiminnan selkärankana. Ratkaisuna LDAP-hakemistot

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability.

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

mitenkään toisiinsa. Liitokset rajoittuvat parhaimmillaankin selain- ja tietokantayhteyksiin. Laajamittaisen yrityssovelluksen ajoympäristön

Sisällys. Valtion tietotekniikan rajapintasuosituksia. XML:n rooleja sähköisen asioinnin tavoitearkkitehtuurissa. dbroker - asiointialusta

13/20: Kierrätys kannattaa koodaamisessakin

Verkottunut suunnittelu

Sopimushallintaa Alfrescolla. Jarmo Sorvari IT-järjestelmäpäällikkö TAMK

ESKO-palvelun jatkokehittäminen

Ohjelmistoarkkitehtuuri. Verkotettu multimedia. Multimedian vaikutukset. Mediavirtojen puskurointi. Ohjelmointi. Selain-ohjelmistoarkkitehtuuri

Tekninen suunnitelma - StatbeatMOBILE

Web-palveluiden toteutus älykortille

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

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

6. Arkkitehtuurityylit

Ohjelmistoarkkitehtuurit. Kevät

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Juhani Gurney Teknologiajohtaja. Peppi-projekti ja ESP (Eduix SOA Platform)

Terveydenhuollon Atk-päivät 2009

HELIA 1 (19) Outi Virkki Käyttöliittymät ja ohjelman suunnittelu

Ohjelmistoarkkitehtuurit kevät

JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 9. Virtualisointi ja pilvipalvelut teknologia-arkkitehtuurin suunnittelussa

SOA käyttöönotto TM:ssä

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Tekninen suunnitelma - StatbeatMOBILE

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

RDBMS - Yhteyskäytännöt

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

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Palveluperustaiset arkkitehtuurityylit

Tietojärjestelmä uusiksi? Toimijaverkostot, niiden haasteet ja ratkaisut

Tietojärjestelmäarkkitehtuurit

Copyright Observis Oy All rights reserved. Observis Oy Ville Kanerva, CTO Heikki Isotalus, COO Datasta tietoa

Tuotantokoneen langaton etädiagnostiikka

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

SISÄLLYSLUETTELO. Sisällysluettelo. ALKUSANAT... III Palaute... III Kirjailijat... III

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

Java & Components. Timo Jalonen Lead Architect (SW) Enterprise Web Services - Finland Sun Client Solutions. Timo.Jalonen@sun.

UNA PoC-yhteenveto CGI Aino Virtanen

Portaaliteknologiat mahdollistavat ajattelutavan muutoksen

<Insert Picture Here> Sisällönhallintaa Web-työpöydälle

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

Järjestelmäintegrointi osana sovellusten rakentamista

Hajauta yhdistäen ja yhdistä hajauttaen: Web Services

Valppaan asennus- ja käyttöohje

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Ohjelmistoarkkitehtuurit

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

Järjestelmäarkkitehtuuri (TK081702) Yritysarkkitehtuuri. Muutostarpeet

Peppi - Koulutuksen suunnittelijan ja opettajan palvelut. Tekninen vaatimusmäärittely

Transkriptio:

Kuka? Java Platform, Enterprise Edition (Java EE) Yleiskatsaus Janne Kuha janne.kuha@descom.fi Descom Oy IBM Certified Enterprise Developer IBM Certified System Administrator Sisältö Mikä on Java EE / J2EE? Yleiskatsaus Java EE / Java EE alustaan Komponentit ja ajoympäristö Arkkitehtuuri Palvelut Tiedon integrointi Komponenttityypit Java Platform, Enterprise Edition (Java EE / J2EE) Rakentuu Java 2 Platform, Standard Edition (J2SE) määrittelyn päälle (ts. normaalin Javan päälle) Laajentaa Java-kieltä laajojen liiketoimintasovelluksien suuntaan Tarjoaa tuen useille liiketoimintasovelluksien tarvitsemille palveluille ja rakenteille. 1

Mistä Java EE koostuu? Java EE -sovellusten ajoympäristö Alusta, jonka avulla voi rakentaa liiketoimintasovelluksia Java-kielellä tiettyjen standardien mukaisesti. Koostuu useasta alistandardista, jotka määrittelevät miten sovelluspalvelimien ja sovelluksien palvelimen sisällä tulee toimia. Java EE on Sunin omistama, mutta avoin standardi. Alustan päälle rakennetut sovellukset koostuvat standardeista komponenteista Sama (standardien mukainen) liiketoimintasovellus voidaan ajaa eri palvelintoimittajien tuotteilla Esimerkkejä J2EE-sovelluspalvelimista IBM WebSphere BEA WebLogic Oracle Application Server JBoss (OS) Geronimo (OS) Mitä Java EE tarjoaa? Java EE hyödyt? Java EE tarjoaa komponenttipohjaisen lähtötavan sovelluksien suunnitteluun, kehittämiseen, koostamiseen ja ajoympäristöön viemiseen. Java EE-alusta tarjoaa mm. Hajautetun ja monitasoisen sovellusmallin Mahdollisuuden komponenttien uudelleenkäyttöön Yhtenäistetyn turvallisuusmallin Joustavan tapahtumanhallinnan 2

Java EE kehittämisen syyt 1/3 Kehittymisen syyt Internet-teknologioiden kehittyminen. pienten järjestelmäalustojen käytön yleistyminen, hajauttaminen (esim. CORBA). Oliopohjaisten ohjelmointikielien sekä Komponentti-teknologioiden kehittyminen. Java EE kehittämisen syyt 2/3 Java EE sovelluspalvelimet ovat kahden eri teknologian yhteenliittymiä Tapahtumamonitorit ja tapahtumankäsittely Hajautetut oliojärjestelmät ja hajautetut viestinvälitysjärjestelmät (ORB) Java EE perusosat Hajautetut oliot (tai komponentit) infrastruktuuri, sisältäen tapahtumanhallinnan Palvelimella ajettava sovelluskohtainen komponenttimalli Java EE kehittämisen syyt 3/3 Useiden CORBA-pohjaisten (tms.) hajautusjärjestelmien ongelmana, ettei sopimusta komponenttimallista, vaan jokaisella oma. Vastauksena tähän ongelmaan kehitettiin mm. Enterprise JavaBeans standardi Samoja sovelluksia voidaan käyttää eri valmistajien sovelluspalvelinten sisällä standardin komponenttimallin mukaisesti. Komponentit ja ajoympäristö 3

Java EE teknologiat Java EE komponentit Perusteknologiat Java EE 5 Web Services Technologies Component Model Technologies Management Technologies Other J2EE Technologies Java EE sovellus koostuu useista komponenteista, jotka keskustelevat keskenään yleensä jonkin liiketoimintaongelman ratkaisemiseksi. Kukin Java EE komponentti ajetaan sovelluspalvelimella tietyssä ajoympäristössä (säiliössä). Mikä tarkoitetaan säiliöillä? Säiliöiden toiminta Jokainen Java EE alustan mukaisesti rakennettu komponentti ajetaan hallinnoidussa ympäristössä säiliössä. Säiliö toimii komponenttien ajoympäristönä ja tarjoaa komponenteille niiden tarvitsemat palvelut. Esimerkiksi Enterprise Java Beans (EJB) komponenteille on oma säiliönsä, kuten on myös webbikomponenteille. Säiliö hallinnoin ympäristöä ja kommunikaatiota Kaikki komponentit ajetaan säiliön sisällä Komponentteihin pääsee käsiksi vain säiliön kautta. Säiliö hallinnoi myös komponenttien välistä kommunikaatiota 4

Java EE komponenttimalli Webbikomponentit Java Server Pages (JSP) Servlets Filters Listeners Custom Tags Liiketoimintakomponentit Stateless session beans Stateful session beans Message driven beans Entity beans Integrointi Resource adapters Arkkitehtuuri Arkkitehtuurin perustasot Asiakas-taso selain, thin client ja työpöytäsovellukset Esitys-taso web-komponentit Sovellusalalogiikka liiketoimintakomponentit Integraatio- tai tietotaso tietokantakomponentit, viestinvälitys ja legacy-integraatio Miksi enemmän kuin kaksi tasoa? 2-tasoarkkitehtuurissa (2-tier architecture) asiakkaat ovat suoraan yhteydessä tietovarastoon (esimerkiksi tietokantaan) Useita ongelmia mm. Liiketoiminta- ja esityslogiikka sekä tietomallit asiakassovelluksessa. Ohjelman toiminnallisuus on tiukkaan kytköksissä kaikilta osin Sovelluksen koodin uudelleenkäytöstä, päivittämisestä ja muutoksista tulee todella vaikeasti hallittavia. 5

n-tasoarkkitehtuuri n-tasoarkkitehtuuri esimerkki n-taso arkkitehtuurissa asiakkaat ovat yhteydessä sovelluspalvelimeen, joka hoitaa puolestaan yhteydet eri tietovarastoihin. Tällä saavutetaan mm. asiakasohjelmista saadaan kevyempiä (thin client) liiketoimintalogiikka ja tietomallit erotettu käyttöliittymästä parempi skaalatutuvuus (esimerkiksi tietokantayhteyksien poolaus) vikasietoisuus ja transaktioeheyden mahdollistaminen riippumatta asiakasohjelmasta Tuki useille eri tyyppisille asiakasratkaisuille (web, Java GUI, PDA) ASIAKAS PALVELIN FAT-client Java GUI Asiakasohjelma THIN-client Selain päätelaitteet Webkomponentit EJBkomponentit ASIAKASTASO WEB-TASO EJB-TASO TIETOKANTA- PALVELIMET JA LEGACY- JÄRJESTELMÄT Tietokanta Taustajärjestelmät EIS-TASO Java EE-alustan palvelut Palvelut Java EE-alusta tarjoaa monia eri palveluita liiketoimintasovelluksien rakentamiseen Palveluita ovat mm. Java Naming and Directory Interface (JNDI), Tapahtumahallinta (transaktiot), JDBC / J2C, Java Messaging Service (JMS), Turvallisuuskehys, jne. 6

Java EE-palvelut Teknologiat eri tasoilla Teknologia J2SE EJB Servlets JSP JDBC JNDI JMS JTA/JTS JavaMail JAF RMI/IIOP JAXP JAAS Kuvaus formerly known as JDK distributed processing servlets Java server pages access data base directory messages transactions API and services mail application framework remote method invocation XML parsing API authentication Connector connector framework lähde: WebSphere Competitive Technical Seminar Java EE vs..net lähde: Java EE Technology in Practice: Building Business Applications With the J2EE Platform JNDI Tapahtumanhallinta (transaction) JNDI on oliosäiliö, jonne voidaan tallettaa ja josta voidaan lukea olioita komponenttien toimesta. JNDI toimii siis sovelluksen laajuisena hakemistona, josta tarvittavia sovelluspalvelimen hallinnoima resursseja voidaan hakea. Java EE-alustassa on mukana deklaratiivinen tapahtumanhallinta. Yksinkertaisimmillaan kuvaustiedostoon merkitään kuhunkin komponenttiin liittyvät tapahtumamäärittelyt. Lisäksi ohjelmallisesti on mahdollista käsitellä tapahtumia ohjelmallisesti. 7

Tapahtumat J2EE-alustalla JDBC Tapahtumat voivat olla hajautettuina usean eri komponentin, palvelimen ja tietokannan välillä. Tapahtuman epäonnistuessa kussakin tapahtumaan kuuluvassa osasessa perutaan muutokset kyseiseen järjestelmään (jos mahdollista) Tapahtumaan liittyvän kontekstin ja kokonaisuuden pitää hallussa tapahtumahallitsija (transaction manager) Kullakin järjestelmään kuuluvalla osalla on oma resurssihallitsija. Tietokantayhteydet tietokantavalmistajasta riippumattomalla tavalla. Tietokantayhteydet hoidetaan yleensä hallinnoidusti sovelluspalvelimen läpi. Java Messaging Service (JMS) Viestinvälitystoiminnot sovelluksen osien ja eri sovellusten välillä. Tarjoaa yleisen rajapinnan, jota kunkin valmistajan JMS-tuotteet käyttävät. Java EE sisältää myös komponentteja, joita kutsutaan viestinvälityksen läpi (Message Driven Beans) Tiedon integrointi 8

Tiedon integrointi Tiedon integrointi Tiedon integrointi Java EE sovellukseen voidaan tehdä usealla eri teknologialla mm. Web services Messaging Resource Adapters Samoin usean tyyppisiä asiakkaita voidaan tukea mm. Selaimet B2B-asiakkaat Asiakasrajapinnat Komponenttityypit 9

Java EE komponentteja Enterprise JavaBeanit Java EE sovelluksessa on käytössä useita komponenttityyppejä Webbikomponentit (servletit, JSPt, jne.) Liiketoimintakomponentit (Enterprise Java Beanit) Resurssikomponentteja (Resurssiadapterit) Asiakas Entitybean Viestinvälitysasiakas View Sovelluspalvelin Message Driven Controller Sessionbean Entitybean Entitybean Model Tietokanta Enterprise JavaBeans -teknologia mahdollista hajautettujen palvelinkomponenttien rakentamisen. Nämä komponentit voivat toimia transaktioita tukevassa ympäristössä Komponenttiajattelu mahdollistaa (ainakin periaatteessa) kytköksien vähentämisen eri sovelluksen moduulien välillä, lähdekoodiin uudelleenkäytettävyyden parantamisen ja helpomman päivitettävyyden Enterprise JavaBeanit Servletit yleisesti EJB-komponentteja kolmea eri tyyppiä Session Beans (statefull / stateless) toimintaa ja liiketoimintaprosesseja mallintava Entity Beans (BMP / CMP) tietoa mallintava Message Driven Beans asynkronista toimintaa ja liiketoimintaprosesseja mallintava Servletit ovat palvelimella ajettavia ohjelmia, jotka mahdollistavat jonkin webbipalvelun toteuttamisen palvelimella. Servletit siis lisäävät palvelimen toimintaa jollakin tavalla. Yksinkertainen toiminto, jonka servletti voisi toteuttaa on esimerkiksi päivämäärän tulostaminen käyttäjän selaimelle. 10

Java Server Pages (JSP) Java EE alustan malli dynaamisten webbisivujen rakentamiseen. HTML-koodin sekaan määritellään tarvittavat paikat dynaamiselle tiedolle. Sivut voivat tarvittaessa sisältää myös esimerkiksi Java-koodia. Kysymyksiä? 11