31.01.2015 Views

JAVA-OHJELMOINTI 3 op A274615

JAVA-OHJELMOINTI 3 op A274615

JAVA-OHJELMOINTI 3 op A274615

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>JAVA</strong>-<strong>OHJELMOINTI</strong> 3 <strong>op</strong><br />

<strong>A274615</strong><br />

J2EE – (todella) lyhyt katsaus<br />

Teemu Saarelainen<br />

teemu.saarelainen@kyamk.fi<br />

Lähteet:<br />

http://java.sun.com/docs/books/tutorial/<br />

Vesterholm, Kyppö: ”Java-ohjelmointi”, Talentum<br />

2004.<br />

Mikä ihmeen J2EE!!<br />

Karkea määrittely:<br />

J2EE on raskaiden palvelinsovellusten<br />

tekemiseen tarkoitettu teknologia.<br />

Nykyään on paljon sovelluksia, joilla on<br />

Usein web-käyttöliittymä<br />

Tyypillisesti useita tuhansia käyttäjiä<br />

<br />

<br />

Käyttäjäroolit vaihtelevat<br />

Päätelaitteet voivat olla erilaisia – puhelin,<br />

PDA, lapt<strong>op</strong>, PC, <br />

Tarvitaan uudelleenkäyttöä tukeva,<br />

komponenttiperustainen, turvallinen,<br />

skaalautuva, …, tapa tehdä järjestelmiä<br />

J2EE -tekniikat<br />

Kerrokset & J2EE<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Enterprise JavaBeans (EJB)<br />

Java Server Pages (JSP)<br />

Java Servlet<br />

Java Naming and Directory Interface (JNDI)<br />

Java Interface Definition Language (IDL)<br />

JDBC<br />

Java Message Service (JMS)<br />

Java Transaction API (JTA)<br />

Java Transaction Service (JTS)<br />

JavaMail<br />

Java Connector API (JCA)<br />

RMI-IIOP<br />

<br />

<br />

<br />

<br />

Client –kerros<br />

Asiakkaan koneella ajettavat<br />

ohjelmiston komponentit<br />

Erilliset sovellukset, webselain,<br />

appletit, JavaBeans<br />

(<strong>op</strong>t)<br />

Web –kerros<br />

Sisältöä luovat komponentit<br />

Servletit, JSP-sivut,<br />

JavaBeans (<strong>op</strong>t)<br />

Business –kerros<br />

Business-logiikan<br />

komponentit<br />

EJB – Enterprise JavaBeans<br />

EIS –kerros<br />

Olemassa olevat järjestelmät<br />

tai tietokannat<br />

Application<br />

JavaBeans<br />

Servlets<br />

JavaBeans<br />

Browser Applet<br />

Client -tier<br />

Web -tier<br />

JSP<br />

J2EE sovelluspalvelin<br />

EJB Business -tier<br />

EIS -tier<br />

DB<br />

…<br />

ERP


Kerrosarkkitehtuuri & MVC<br />

J2EE –säiliöt<br />

<br />

MVC-mallin avulla on kerrokset<br />

ehkä helpompi ymmärtää<br />

Model =<br />

liiketoimintakerros +<br />

talletuskerros<br />

Mallintaa sovelluksen<br />

kohdealueen eli liiketoiminnan<br />

View =<br />

esityskerros + liittymäkerros<br />

Esittää tiedon käyttäjälle eli<br />

tarjoaa näkymän<br />

Controller =<br />

sovelluskerros + palvelukerros<br />

Huolehtii vuorovaikutuksesta<br />

V<br />

C<br />

M<br />

Esitys- & liittymäkerros<br />

Sovelluskerros<br />

Palvelukerros<br />

Liiketoimintakerros<br />

Talletuskerros<br />

<br />

<br />

<br />

Ennen käyttöönottoa J2EE-komponentit täytyy pakata<br />

säiliöihin<br />

Säiliöt (container) tuovat J2EE-ohjelmointiin useita<br />

etuja, joita voi määrittää säiliön asetuksilla:<br />

Turvallisuus & käyttäjäoikeudet<br />

Transaktioiden hallinta<br />

JNDI – Java Naming & Directory Interface<br />

Etäkutsut asiakkaan ja EJB-komponenttien välillä<br />

Saman komponentin käyttäytyminen voi olla erilaista,<br />

j<strong>op</strong>a samassa sovelluksessa, jos ne ovat eri säiliössä<br />

J2EE-palvelimessa ajetaan<br />

Web-container<br />

JSP-sivut, servletit<br />

EJB-container<br />

Enterprise JavaBeanit<br />

Session Bean, Message Driven Bean (, Entity Bean – ei 1.5 )<br />

J2EE & Web Services<br />

Design Patterns<br />

<br />

<br />

<br />

<br />

<br />

<br />

Web Services = web-sovelluksia, jotka välittävät<br />

tietoa XML-formaattiin perustuen<br />

J2EE:ssä on XML –API, jolla voi käsitellä<br />

standardimuodossa olevaa dataa<br />

SOAP – Simple Object Access Protocol,<br />

järjestelmäriippumaton tapa viestiä<br />

SOAP:n avulla asiakkaat ja palvelinsovellukset<br />

voivat keskustella esim. HTTP-protokollan yli<br />

käyttäen XML:ää<br />

WSDL – Web Services Description Language,<br />

kuvaa tarjottavan palvelun (nimi, osoite,<br />

viestintätavat)<br />

Muita: UDDI ja ebXML<br />

Käyttöliittymäkerroksen suunnitteluun on<br />

useita malleja (Design Pattern)<br />

Tarkoituksena on saada aikaan joustava<br />

ja uudelleenkäytettävä<br />

käyttöliittymäkerros<br />

Malleja:<br />

Dispatcher<br />

Front Controller<br />

View Helper<br />

Intercepting Filter<br />

Service to Worker


Sovelluskehykset: Struts<br />

Idea: kootaan usein tarvittavia osia<br />

yhteen<br />

Voidaan käyttää helpommin<br />

samankaltaisissa projekteissa<br />

N<strong>op</strong>euttaa sovelluskehitystä<br />

Parantaa ylläpidettävyyttä<br />

Struts on eräs valmis sovelluskehys<br />

Apache Struts<br />

MVC vahvasti ajatusmallina<br />

Front Controller-servlet käsittelee lomakkeilta<br />

tulevat syötteet<br />

XML-formaattiin perustuva konfigurointi<br />

Milloin JSP, Servlets, EJB<br />

JSP, servletit<br />

Jos sovellus on yksinkertainen ja vaatii<br />

vain vähän dynaamista sisältöä<br />

N<strong>op</strong>eaa, yksinkertaista<br />

EJB<br />

Suuret sovellukset, paljon<br />

uudelleenkäytettävää koodia,<br />

asiakkaina myös sovelluksia<br />

Ei kovin n<strong>op</strong>eaa, vaikeaa…

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!