java & components · >api design work started recently. •early draft review planned for...
TRANSCRIPT
![Page 1: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/1.jpg)
Timo JalonenLead Architect (SW)Enterprise Web Services - FinlandSun Client Solutions
Email: [email protected]
Java & Components
![Page 2: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/2.jpg)
2
Aiheita
• Java yleistä• Eri komponenttimallit• (JEE 5.0)• (SOA)
![Page 3: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/3.jpg)
3
Yleistä
![Page 4: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/4.jpg)
4
Java - maisema
Java APIs
Java Programming
Language
Java Virtual Machine
JAINTM
Shared DataToolkit
JiniTM
Java DMK
JXTA
Java WebStart
JMI
JavaSpacesTM
OSS/J
![Page 5: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/5.jpg)
5
Virtuaalikone
• (J)VM = (Java) Virtual Machine• Javalla kirjoitetut ohjelmat käännetään
välikielelle• Välikieli on kaikissa toteutuksissa sama• Virtuaalikone on ajoympäristöön
toteutettu ohjelma, joka suorittaa välikieltä
![Page 6: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/6.jpg)
6
APIt
• “Luokkakirjasto”• Joukko pakkauksia, joissa olevat luokat
tarjoavat yleisimmän perustoiminnallisuuden
• Eri painoksissa eri kokoelma luokkia• java.lang katsotaan “kuuluvaksi kieleen”
> ei tarvitse erikseen ottaa mukaan käännökseen
![Page 7: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/7.jpg)
7
”Painokset”
High-EndServer
Java TechnologyEnabled Desktop
WorkgroupServer
Java TechnologyEnabled Devices
![Page 8: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/8.jpg)
8
Painosten erot
Java HotSpot™ Java Virtual Machine (JVM) KVM Card VM
Java Language
J2EE
Core APIs J2SE
Core APIs J2ME Core APIs
server
communicator
PDA
pager
Jokaiselle alustalle oma sopiva JVM ja APIt
![Page 9: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/9.jpg)
9
JavaBeans• Javan komponenttimalli• Usein, muttei välttämättä, visuaalisia
kompenentteja• Perusominaisuudet:
> Introspection - kehitysvälineet saavat selville komponentin ominaisuudet
> Customization - ominaisuuksia voidaan muuttaa suunnitteluvaiheessa
> Events - eventtipohjainen kommunikointi> Properties - komponentin ominaisuudet näkyvät ja
niitä voidaan muuttaa ajonaikaisesti > Persistence - kustomoidut ominaisuudet voidaan
säilyttää• Yksinkertainen ohjelmointimalli
![Page 10: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/10.jpg)
10
Appletit
• Selaimessa ajettavia Java-sovelluksia• Periytyvät java.applet.Applet-luokasta• Applet-luokan määrittelemä rajapinta
> Appletin kontrolloimiseen> Tarjoaa myös appletille mahdollisuuden saada
tietoa ympäristöstään
• Sama luokka voi toimia sekä itsenäisenä sovelluksena, että applettina
![Page 11: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/11.jpg)
11
Java 2 Micro Edition• JavaOne 1999: KVM (Palm Pilot V)• Vahvasti optimoitu runtime• Kaksi virtuaalikonetta: KVM ja JVM• Sama tavukoodisetti ja luokkaformaatti kuin
J2SE:ssä
![Page 12: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/12.jpg)
12
J2ME
• Konfiguraatiot (CDC ja CLDC) määrittelevät minimivaatimukset joita sovelluskehittäjä voi odottaa java-kirjastoilta ja virtuaalikoneelta tietyn konfiguraation laitteilta
• Profiilit lisäävät laiteryhmäkohtaisia ominaisuuksia tiettyyn konfiguraatioon
Mobile Information
Device Profile
KVM
DSP chip(esim. ARM)
J2ME core APIs
Midlet
![Page 13: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/13.jpg)
13
J2ME komponentit = Midlet• J2ME:n komponentit ovat midlettejä• Erittäin analoginen Appletin kanssa, mutta
ajoympäristönä ei ole selain, vaan esim. puhelin
• Ei kuitenkaan sovellusten koostamisen väline
![Page 14: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/14.jpg)
14
J2ME – Sovellusten lataus
Web Page
JAM lataa
sovelluksen
Käyttäjä
valitsee
sovelluksen
Sovelluksen
mainonta
webbisivulla
Network Transfer Java Application
Manager
(Name,
Version,
Size,
…)
Jar File
Descriptor
File
![Page 15: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/15.jpg)
15
MSA Technical Approach
• MSA will:1)Choose the base set of Component APIs that
will be available on all next-generation JavaME devices.
2)Define clarifications that will define the proper behaviorof the Component APIs
3)Define roadmap for the future versions of the platform.
• Guiding principles:> Reduce fragmentation.> Minimize optional features.> Focus on the needs of mass-market handsets.
![Page 16: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/16.jpg)
16
MSA/CLDC 1.0 Platform
CLDC 1.1 (JSR 139)
MM
AP
I 1.1
(JS
R 1
35)
WM
A 2
.0 (
JSR
205
)
Blu
etoo
th/O
bex
(JS
R 8
2)
J2ME MSA/CLDC Platform 1.0 (JSR 248)P
DA
OP
(JS
R 7
5)
Web
Ser
vice
s (J
SR
172
)
SA
TS
A (
JSR
177
)
Loca
tion
(JS
R 1
79)
MI1
8N (
JSR
238
)
CH
AP
I (JS
R 2
11)
SV
G (
JSR
226
)
Adv
. m
edia
(JS
R 2
34)
3DG
raph
ics
(JS
R 1
84)
SIP
(JS
R 1
80)
Pay
men
t A
PI (
JSR
229
)
MIDP 2.0 (JSR 118)
![Page 17: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/17.jpg)
17
MSA Status• MSA/CLDC 1.0 Specification Public Review
was completed in October 2005.• Final Review and Final Release expected
in spring 2006.• Devices expected to ship in mid-to-late
2006.
![Page 18: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/18.jpg)
18
MIDP3 Overview• MIDP3 (JSR 271) will define a new version of the
highly popular Mobile Information Device Profile standard.
• Main goals:> Maintain and enhance the role of MIDP as the
leading mobile application environment.> Add functionality requested by the developer
community.> Maintain backwards compatibility with MIDP 2.0.> Maintain focus on high-volume mobile handsets.> Reduce ambiguity & tighten specification in all
areas.
![Page 19: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/19.jpg)
19
MIDP3 Feature Highlights• Multitasking (MVM) support:• Shared libraries for MIDlets (LIBlets)• UI enhancements• Secure/Removable/Remote RMS stores• Networking enhancements: Multiple
network interfaces – IPv6, VPN, IPSEC, MobileIP (to be decided)
![Page 20: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/20.jpg)
20
MIDP3 Status
• MIDP3 is still in an early stage.> Expert group work was started in May 2005.> Use case analysis completed in Sep/Oct 2005.> Requirements work is nearly complete.> API design work started recently.
• Early Draft Review planned for Spring 2006.
• Public Review by JavaOne 2006 (?)• Final Release by the end of year 2006.
![Page 21: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/21.jpg)
21
J2EE ja sen komponenttimallit
![Page 22: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/22.jpg)
22
Java 2 Enterprise Edition
• Laajojen hajautettujen sovellusten kehitykseen
• Joukko API-laajennoksia• Sovelluskehitysmalli• Referenssitoteutus• Yhteensopivuustestit
![Page 23: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/23.jpg)
23
J2EE-tuotteet
• Toisin kuin perusversiossa, Sun ei tarjoa valmista ympäristöä, vaan määrittelyt
• Viitetoteutus on toimiva ympäristö, mutta ei tarkoitettu tuotantokäyttöön
• Lukuisia kaupallisia ja avoimen lähdekoodin tuotteita saatavilla
![Page 24: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/24.jpg)
24
J2EE Arkkitehtuuri
DBMS
ERP
CMS
EJB
EJB
Servlet
JSP
Web Container EJB Container
Server-SidePresentation
Server-SideBusiness Logic
EISClient-SidePresentation
XHTML/WML
MIDP Devices
HTML/XML
RMI/IIOPRich Clients
Browsers
J2CA
CORBA
JDBC
JMS
J2EE Application Server
XML/HTTP
SOAP/HTTPB2B Application
SOAP/HTTP
SOAP
![Page 25: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/25.jpg)
25
J2EE komponentit eri tasoilla
![Page 26: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/26.jpg)
26
Komponenttien tehtävät
J2EE säiliöt ja komponentit
• Rinnakkaisuus• Tietoturva• Saatavuus• Skaalatuvuus• Pysyvyys• Tapahtumat• Elinkaari• Hallinta
• Esitys• Liiketoimintalogiikka• (Tietovarastoyhteydet)
Säiliöiden tehtävät
![Page 27: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/27.jpg)
27
J2EE komponentit
• Servlet• JSP• EJB
![Page 28: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/28.jpg)
28
J2EE - Servlet
• WWW-palvelinkontekstissa ajettava ohjelma, joka ottaa vastaan pyyntöjä ja lähettää vastauksia
• Ohjelmoija toteuttaa minimissään muutaman yksinkertaisen funktion, joita palvelin osaa kutsua
• Tarjoaa myös ohjelmoijalle joukon luokkia helpottamaan tehtävää
![Page 29: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/29.jpg)
29
J2EE - JavaServer Pages
• Tekstitiedosto (esim. HTML-sivu), johon kirjoitetaan laajennuselementtejä:> ohjelmakoodia> JSP-tagejä> Itse tehtyjä tageja
• Ajoympäristö kääntää sivusta Servlet-ohjelman
![Page 30: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/30.jpg)
30
J2EE - Enterprise JavaBeans
• Hajautettu komponenttimalli• Kolme päätyyppiä: Session, Entity ja
Message Driven> Session Bean voi olla tilallinen tai tilaton> Entity Bean voi hallita pysyvyytensä itse tai
jättää sen säiliön huoleksi> Message Driven Beania kutsutaan kun
sovelluspalvelin saa määritellyn viestin• Transaktionaalisia
![Page 31: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/31.jpg)
31
J2EE - EJB
• Komponenteilla on:> Home/LocalHome-rajapinta (luonti, haku,
tuhoaminen)> Local/Remote-rajapinta (toiminnallisuus)> Toteutus> Käyttöönottokuvain
![Page 32: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/32.jpg)
32
EJB Arkkitehtuuri
![Page 33: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/33.jpg)
33
Muita J2EE-ominaisuuksia• J2EE Connectors
• J2EE Deployment API
• J2EE Management
• Enterprise JavaBeans to CORBA Mapping
• Java API for XML Processing
• Java API for XML Registries
• Java API for XML-based RPC
• Java Naming and Directory Interface
• Java Message Service
• Java Transaction API / Java Transaction Service
• JavaMail API
• SOAP with Attachments API for Java ....
![Page 34: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/34.jpg)
34
Sovelluksen paketointi
![Page 35: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/35.jpg)
35
Creation Assembly Deployment
Created by Component Developer
Assembledand Augmentedby Application
Assembler
Processed by Deployer
Deploy
EnterpriseComponents
J2EE Container
J2EE APPJ2EE Modules
J2EE sovellusten kokoamisprosessi
![Page 36: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/36.jpg)
36
JEE 5.0
![Page 37: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/37.jpg)
37
JavaTM EE 5Introduction
• Theme: “Ease of Development”● Simplified EJB models: EJB 3.0 ● Java Technology Object Persistence● Extensive use of annotations: ● Common Annotations ● Web Services Annotations
● Java API for XML Binding (JAXB) 2.0:
● But also...● Streaming API for XML (StaX) ● Asynchronous Web Services (JAX-WS 2.0)● JavaServer™ Faces technology ● Updates to servlets, JavaServer Pages™ (JSP™),
JavaMail™ APIs, etc.
![Page 38: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/38.jpg)
38
The J2EETM Challenge
• J2EE is enormously powerful> The industry standard for robust enterprise
apps
• But that power sometimes gets in the way> Too difficult to get started> Even simple apps need boring boilerplate
• Can we keep the power, but make typical development tasks simpler?
• YES: and that is the focus of Java EE 5!
![Page 39: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/39.jpg)
39
JavaTM EE 5 Major Features
• Greatly simplified EJBTM development• New persistence API• Easy web applications with JavaServerTM
Faces• Simplified web services support• More web service standards support
![Page 40: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/40.jpg)
40
EJB 2.1 • Very powerful, but complex to use
> Too many classes, interfaces > Java Naming and Directory Interface™
(JNDI) API lookups> javax.ejb interfaces> Awkward programming model> Deployment descriptors> Entity bean anti-patterns> ...
![Page 41: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/41.jpg)
41
Ease of Development in EJB 3.0● Makes EJB technology easier to learn and use
> Extensive use of annotations> Fewer classes and interfaces> Dependency injection> Simple lookups> No required container interfaces> No required deployment descriptor> Simplified persistence> Object/relational mapping
● Improves developer productivity> Designed to draw new developers to J2EE platform
![Page 42: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/42.jpg)
42
Simplification of EJB Bean Types• Elimination of requirement for EJB
component interfaces> Business interfaces are plain Java interfaces
• Elimination of requirements for Home interfaces> Only need business interface, not home
• Elimination of requirements for javax.ejb.EnterpriseBean interfaces> Annotations for (optional) callbacks
• Elimination of need for use of JNDI API> Use dependency injection, simple lookup
method
![Page 43: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/43.jpg)
43
Simplified Client View
• Session beans have plain Java language business interface > No more EJB(Local)Home interface > No more EJB(Local)Object interface
• Bean class implements interface> Looks like normal Java class to bean developer
• Looks like normal Java language interface to client (POJI)
![Page 44: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/44.jpg)
44
EJB 2.1 Bean Examplepublic class PayrollBean implements javax.ejb.SessionBean {
SessionContext ctx;
DataSource empDB;
public void setSessionContext(SessionContext ctx) {
this.ctx = ctx;
}
public void ejbCreate() {
Context initialContext = new InitialContext();
empDB = (DataSource)initialContext.lookup(“java:comp/env/jdbc/empDB”);
}
public void ejbActivate() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void setBenefitsDeduction (int empId, double deduction) {
Connection conn = empDB.getConnection();
}
}
![Page 45: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/45.jpg)
45
EJB 2.1 DD Example<session>
<ejb-name>PayrollBean</ejb-name>
<local-home>PayrollHome</local-home>
<local>Payroll</local>
<ejb-class>com.example.PayrollBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<resource-ref>
<res-ref-name>jdbc/empDB</res-ref-name>
<res-ref-type>javax.sql.DataSource</res-ref-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
...
<assembly-descriptor>
...
</assembly-descriptor>
![Page 46: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/46.jpg)
46
EJB 3.0 Example@Remote public interface Payroll {
public void setBenefitsDeduction(int empId, double deduction);
}
@Stateless public class PayrollBean implements Payroll {
@Resource DataSource empDB;
public void setBenefitsDeduction(int empId, double deduction){
Connection conn = empDB.getConnection();
...
return;
}
}
![Page 47: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/47.jpg)
47
EJB 2.1 Client Example
...
Context initialContext = new InitialContext();
ShoppingCartHome myCartHome =
(ShoppingCartHome)initialContext.lookup(“java:comp/env/ejb/cart”);
ShoppingCart myCart= myCartHome.create();
//Use the bean
Collection widgets = myCart.startToShop(“widgets”)
...
// Don't forget code to handle javax.ejb.CreateException
...
![Page 48: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/48.jpg)
48
EJB 3.0 Client Example@EJB ShoppingCart myCart;
...
Collection widgets = myCart.startToShop(“widgets”);
...
![Page 49: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/49.jpg)
49
Persistence Model in EJB 3.0
• Entities are simple Java classes> Concrete classes—support use of new> Getter/setter “property” methods or persistent
instance variables> No required bean interfaces> No required callback interfaces
• Usable as “detached” objects in other application tiers> No more need for DTOs (Data Transfer Objects)
![Page 50: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/50.jpg)
50
EntityManager
• EntityManager serves as untyped “home” for entity operations> Methods for lifecycle operations
> Persist, remove, merge, flush, refresh, etc.
> Similar in functionality to Hibernate Session, JDO PersistenceManager, etc.
> Manages persistence context
![Page 51: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/51.jpg)
51
JavaServer™ Faces (JSF) Framework Is…
A server side user interface (UI) component framework for Java™ technology-based web applications.
Drag-and-drop UI components to build a web Application.
![Page 52: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/52.jpg)
52
JSF Architecture
HTML RenderKit
AppBackend
DesktopBrowser
Phone
Frontctrl
JSF Page
JSF Page
WML
HTML
Server
WML RenderKit
![Page 53: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/53.jpg)
53
JavaTM EE 5 Status
• All Specs available for review now• Specs at Proposed Final Draft stage – Q3 2005• Java EE 5 SDK Beta release – Q4 2005• Java EE 5 Final release – Q1 2006
![Page 54: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/54.jpg)
54
SOA
![Page 55: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/55.jpg)
55
What is SOA? (the obligatory definition slide)
• SOA is an architectural style that emphasizes loosely coupled, coarse-grained, shareable, secure, network based services to enable business flexibility in an interoperable technology agnostic manner.
• SOA is a business & technical strategy to expose business functionality & data within and between enterprises
• SOA is a design paradigm for the creation of applications via the orchestration of stateless services that interact through a variety of standards based interfaces
• SOA is an integrated software infrastructure and design approach based on best practices
![Page 56: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/56.jpg)
56
Accidental Architecture?Silo Oriented Architecture
• Rigid• Complex• Expensive• Slow to Market• Monolithic• Hard to Integrate
Mature information systems grow old disgracefully as successive waves of hacking result in accidental architectures which resist the reflection of on-going business process change.- Anthony Lauder & Stuart Kent; University of Kent. (2000)
![Page 57: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/57.jpg)
57
Promise of SOA
• Interoperability• Federation• Dynamic Discovery• Loose Coupling• Reuse and Composition• Evolution, not Revolution• Wrap and Reuse; Not Rip and Replace• Standards based approach• Alignment of Business and Technology
![Page 58: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/58.jpg)
58
SOA Conceptual Model
![Page 59: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/59.jpg)
59
Layering Principle
• Shared Network-based Layered Services
Process Layer
Access Layer
Service Layer
Resource Layer
![Page 60: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/60.jpg)
60
Pragmatic SOA: What It Is Not
• SOA Products
• SOA Middleware
• SOA Software
• SOA Enterprise Service Bus
• SOA Web Services
• SOA ...
![Page 61: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/61.jpg)
61
LayeredModular &Autonomous Service Reuse Interoperable
Coarse-GrainedBusiness Services
Composable Stateless XML Doc-Based Asynchronous Conversational
Reliable Messaging Secure Policy-Driven Described Orchestrated
SOA Big Rules – Eye Chart
Registered & Discovered Loosely Coupled Versioned Self HealingChoreographed
![Page 62: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/62.jpg)
62
Composite Application
• Set of reusable services composed into a new application
• Consumes existing services• Exposes new service interfaces• Encapsulates business
processes/collaboration• Unit of deployment for services• May or May not expose a user interface
![Page 63: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/63.jpg)
63
The “Move” to Service Orientation
AccidentalRigid
Silo-Oriented
LayeredExtensible
Service-Oriented
![Page 64: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/64.jpg)
64
IT Silo
CheckCustomer Status
Determine ProductAvailability
CheckCustomer Status
Determine ProductAvailability
VerifyCustomer Credit
Order Status
CalculateShipping Charges
Order Status
VerifyCustomer Credit
DataRepository
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
MonolithicApplications
AccountsManagement
OrderProcessing
FieldService
Scheduling
![Page 65: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/65.jpg)
65
IT Silo
CheckCustomer Status
Determine ProductAvailability
Order Status
CalculateShipping Charges
Verify
Customer Credit
DataRepository
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
MonolithicApplications
AccountsManagement
OrderProcessing
FieldService
Scheduling
CheckCustomer Status
Determine ProductAvailability Order Status
Verify
Customer Credit
![Page 66: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/66.jpg)
66
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
Reuse Services Via Re-composition
ElementalBusinessServices
AccountsManagement
OrderProcessing
FieldService
Scheduling
DataRepository
CheckCustomer Status
CheckCredit
CheckInventory
CheckOrder Status
CreateInvoice
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
![Page 67: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/67.jpg)
67
Reuse Services Via Re-composition
AccountsManagement
OrderProcessing
FieldService
Scheduling
DataRepository
ComposedBusinessProcessesInstallation Scheduling Process Customer Order Bill Presentment/Payment
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
ElementalBusinessServices
CheckCredit
CheckOrder Status
CreateInvoice
CheckCustomer Status
CheckInventory
Installation Scheduling
CheckCustomer Status
CheckInventory
![Page 68: Java & Components · >API design work started recently. •Early Draft Review planned for Spring 2006. •Public Review by JavaOne 2006 (?) •Final Release by the end of year 2006](https://reader033.vdocuments.us/reader033/viewer/2022050120/5f503201e972b4774c7da433/html5/thumbnails/68.jpg)
68
ElementalBusinessServices
DataRepository
ExternalTradingPartner
AnotherBusiness
Unit
Red PrairieWarehouse
Mgmt. System
SAPFinanceSystem
OracleCRM
System
AS400Sales
System
CustomMarketing
System
Business Processes Are Composed Hierarchicallyto Create Composite Applications
AccountsManagement
OrderProcessing
FieldService
Scheduling CompositeApps
CheckCustomer Status
CheckCredit
CheckInventory
CheckOrder Status
CreateInvoice