JAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615
JAVA-OHJELMOINTI 3 op A274615
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…