HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15
Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h) 5. Soketit (3h) 6. RMI (2h) 7. RPC ja Corba (2h) 8. Protokollista, XML (2h) 9. WWW-sovellustekniikoista (2h) 10. Pilvialustat (2h) 11. Haja-aiheita (1h) 99. Kertausluento (2h) + 1h pelivaraa HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.2/15
Luvun rakenne J2EE Mistä se oikein koostuu? EJB = Enterprise JavaBeans Mitä? Miksi? Miten? EJB vs RMI Istuntopapu, entiteettipapu, esimerkkiä SOAP = Simple Object Access Protocol Web services, Service-Oriented Architecture (SOA).NET Remoting MPI, D-Bus, ExecutorService (Java), J2ME,... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.3/15
Yleistysten tie Soketit RPC: viestit proseduurien kutsuiksi alkeellisia palveluita RMI & CORBA: oliometodien kutsuja palvelu järjestyy paremmin tiedon ympärille J2EE-teknologia: pavut funktionaalisia tai tietoon liittyviä palveluita; mahdollista käyttää monella tavalla Webservices: alustariippumaton XML-pohjainen rajapinta palveluiden käyttämiseksi (SOAP & WSDL) SOA: jotain vielä yleisempää... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.4/15
J2EE, Enterprise Edition J2EE edustaa Javan palvelinpään komponenttiteknologiaa. J2EE:llä sovellukset jaetaan neljään osaan: Asiakaspää: Java-sovellus / WWW-sivusto. Web-kerros: JSP-sivusto, servletit Liiketoimintakerros: EJB Tietokantakerros. J2EE perustuu voimakkaasti XML:n käyttöön web:n ja ohjelmien välisessä rajapinnassa. Paljon liittyviä asioita: JSP, JAX-RPC, SOAP,... HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.5/15
J2EE Sovellus 1 Sovellus 2 Itsenainen sovellus Dynaamiset HTML sivut asiakaskerros asiakas JSP sivusto web kerros J2EE palvelin EJB pavut EJB pavut liiketoiminta kerros Tietokanta Tietokanta tietokerros tietokanta palvelin HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.6/15
EJB HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.7/15
EJB: Mitä? Miksi? Miten? J2EE:ssä on mahdollista määritellä Javalla tehty palvelinpuolen EBJ-papu, joka tavallaan vastaa RMI:n etäoliota. EJB:n toteutus perustuu RMI:hin. Beans: Session Bean tai Entity Bean. Istuntopapu: perusideana mallintaa liiketoiminta logiikkaa (palveluita; tilaton tai tilallinen). Entiteettipapu: mallintaa tietoa (voi olla pysyvää, voidaan tallettaa tietokantaan). Pavut konfiguroidaan J2EE-palvelimen yhteyteen ja niitä voidaan käyttää niiden nimen perusteella (asiakassovelluksista). HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.8/15
Miten tehdä EJB-papuja? Tehdään etärajapinta (remote interface) periyttämällä luokasta javax.ejb.ejbobject. Tehdään etäkotirajapinta (remote home interface) periyttämällä luokasta javax.ejb.ejbhome. Tehdään varsinainen papuluokka periyttämällä luokasta javax.ejb.sessionbean tai javax.ejb.entitybean. Tallettamista varten pitää mahdollisesti myös toteuttaa primääriavain (sarjoittuva). Etärajapinta, etäkotirajapinta ja varsinainen papu liitetään toisiinsa konfigurointityökalulla! HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.9/15
Esimerkki Katsotaan Deitel & Deitel -kirjan esimerkkiä. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.10/15
SOAP HTTP:n päällä toimiva protokolla kutsujen tekemiseksi. Käyttää XML-koodausta (vrt. RMI, RPC ja Corba). RPC-kutsuja. SOAP = Simple Object Access Protocol (XML-pohjainen) (Protokolla RPC-kutsujen tekemiseen vastaa CORBAn IIOP:tä.) Web service:n toteuttamiseen. http://www.w3.org/2000/xp/group/ Versio 1.2 uusi ei erityisesti vain olioiden kutsumiseksi Corban tapaan yleisemmin. W3C (mutta Microsoft ollut keskeinen taustavaikuttaja). HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.11/15
Web services Tarjotaan palvelurekisteri: UDDI (Universal Description, Discovery, and Integration) Palvelut kuvataan WSDL-kielellä Asiakas kohdistaa web service-palvelimeen SOAP-kutsun, joka on palvelun kuvauksen mukainen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.12/15
Web service kuvana WSDL UDDI WSDL julkaisu haku Web services palvelu Kutsu (SOAP) Asiakas sovellus HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.13/15
Esimerkki Katsotaan Michael Maierin gradusta esimerkki WSDL-kuvauksesta + SOAP-viesteistä. Deitel&Deitel-kirjasta SOAP RPC-esimerkki. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.14/15
.NET Remoting Ei käsitellä kurssissa (katsotaan esimerkkiä kirjasta). Korvaa DCOM:n. Hyvin samanlainen toteutusrakenne kuin RMI:ssä ja Corbassa. Käsitteet ovat pitkälti samoja. Mahdollistaa olioiden etäkutsumisen. Parametrit ja tulokset: sarjallistaminen. Mahdollistaa myös tapahtumien (vrt. GUI) kuljettamisen verkon yli. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.15/15