Java is

Transcription

Java is
O racl
e 9 iAS Te ch nicalO ve rvie w
Management &
Security
e-Business
Integration
Portals
J2EE &
Web Services
Sandor Nie uw e nh uijs
M anh -Kie t Yap
9 iAS EM EA Product
M anage m e nt
O racl
e Corporation
Age nda
Business
Intelligence
Wireless
Performance
& Caching
O racl
e 9 iA S D e ve l
opm e nt
Ÿ 9 iAS Te ch nicalPl
atform O ve rvie w
Ÿ O racl
e Containe rs for Java (O C4J)
A rch ite cture and supporte d Standard
A PIs ;W e b Se rvice s
Ÿ Ins tal
l
ation/Configuration;
M anaging th e 9 iAS Environm e nt
Ÿ RAS - Re l
iabil
ity, A vail
abil
ity and
Scal
abil
ity
Web Services
J2EE
Integration
Business
Intelligence
Portals
Wireless
Ÿ Pe rform ance , cach ing;
Se curity
Oracle Corporation
1
O racl
e 9 iAS Depl
oym e nt
Indus try Tre nds
Ÿ M iddl
e w are Grow ing in Com pl
e xity
Caching
– Incom
pl
e te offe rings
ing Cos t of O w ne rs h ip
– Inte gration of com pone nts
– Grow
Performance
Scalability
Systems
Management
Ÿ Appl
ications D ifficul
t to D e ve l
op
– Re gre s s ion
– Tool
s catch
Availability
Security
from 4GLto 3GL
ing up
Ÿ Appl
ications D ifficul
t to D e pl
oy
– Scal
abil
ity,
Re l
iabil
ity, Manage abil
ity Probl
ems
Ÿ Appl
ication Se rve rs Reduce Com pl
e xity
– Footprint Broade ning
Th e M ark e ting Vis ion
O racl
e 9 i Appl
ication Se rve r v2
Major Update
Run Your
Applications
Manage
Your Data
Ÿ Most Productive Development
–
–
–
Ÿ Most Reliable Deployment
Open Standards
Devices
–
–
–
Clients
Oracle Corporation
Complete J2EE, Web Services
Better Portal, Wireless, Integration, Caching
New Personalization, Clickstream, BI,
Personal Information Management
Oracle9i
Application
Server
Oracle9i
Database
Server
Performance,
Reliability, Availability, Scalability, Clustering
Manageability, Security
Ÿ 100% Standards Compliant
2
Tool
s & Te ch nol
ogy Partne rs
Java is...
• a language
O racl
e 9 iAS Arch ite cture
Java is...
Browser
Oracle DB
Non-Oracle
Wireless
Packaged
Apps
Web
Services
Oracle Corporation
• a language
• a runtime
architecture
• Platform-independent,
portable code & bytecode
• Focus on networking
• Focus on security
B2B Apps
3
Java is...
• a language
• a runtime
architecture
• a standard
• created by SUN
• adopted by all: Oracle, IBM, …
• now driven by the Java Community
Process (jcp.org)
•
participates in 60+ JSRs
Java is...
• a language
• a runtime
architecture
• a standard
• 3 editions : 3 platforms
J2EE Appl
ication A rch ite cture
Java is...
Firewall
Client
• a language
• a runtime
architecture
• a standard
• 3 editions : 3 platforms
EJB
Container
EJB
Client
Client
Client
HTTP
Client
EJB
JSP/
Servlet
Enterprise
Information
Systems (EIS):
Relational-Database,
Legacy Applications,
ERP Systems
XML
J2EE Application
Server
Client Tier
Oracle Corporation
RMI
/ IIOP
Other Services:
JDBC, JMS,
JCA, JavaMail
Middle Tier
EIS Tier
4
J2EE Appl
ication A rch ite cture
J2EE Appl
ication A rch ite cture
J2EE com ponents : appl
et
J2EE com ponents : Ente rpris e JavaBe ans
EJB Container
URL in the Browser
(J2EE) EJB Spec / Container
provides
? remote access
Gui
? transactions
? security
? standardized packaging /
deployment (-ejb.jar)
? database persistence
(entity beans)
? messaging integration
(message-driven beans)
HTTP
HTTP
Applet in the Browser
Client Tier
Middle Tier
Employee
Employee
Database
SelfService
PayRoll
Deployment
Descriptor
PayRoll
Database
EIS Tier
J2EE Appl
ication A rch ite cture
EJB: Program m ing M ode l
s
J2EE com ponents : Se rvl
e ts
ŸState l
e s s Se s s ion Be ans (EJB 1.0)
URL in the Browser
HTTP
HTTP
HTML in the Browser
Client Tier
Oracle Corporation
(J2EE) Servlet spec / container
provides
• session management
• declarative security
• standardized packaging /
deployment (.war)
Servlet
Java Server Pages
Middle Tier
EIS Tier
ŸState fulSe s s ion Be ans (EJB 1.0)
ŸEntity Be ans
–Be an
M anage d Pe rs is te nce (EJB 1.1)
Pe rs is te nce (EJB
1.1/2.0)
–Containe r M anage r Re l
ations h ips (EJB 2.0)
–Containe r M anage d
ŸM e s s age D rive n Be ans (EJB 2.0)
5
J2EE Appl
ication A rch ite cture
J2EE Appl
ication A rch ite cture
J2EE com ponents : Ente rpris e JavaBe ans
J2EE com ponents : Ente rpris e JavaBe ans
EJB Types
EJB Types
Session Beans
? Entity Beans
? Message-driven Beans
?
Session Beans
Entity Beans
? Message-driven Beans
?
?
Server-side objects that expose
remote methods and can persist their
attributes in a database automatically
(CMP) or not (BMP)
J2EE Appl
ication A rch ite cture
J2EE Appl
ication A rch ite cture
J2EE com ponents : Ente rpris e JavaBe ans
J2EE com ponents : Ente rpris e JavaBe ans
EJB Types
EJB
Types
public
class
Session Beans
? Entity Beans
? Message-driven Beans
?
?
Server-side objects that expose
remote methods:
• stateless session beans
and keep their session state :
• stateful session beans
Oracle Corporation
EmployeeBean implements EntityBean
{
Session
Beans
public Integer employeeId ;
? Entity
Beans
public
String employeeName ;
public Adress Beans
employeeAddress ;
? Message-driven
Server-side objects that expose
// some code
remote methods and can persist their
}
attributes in a database automatically
(CMP) or not (BMP)
6
J2EE Appl
ication A rch ite cture
J2EE Appl
ication A rch ite cture
J2EE com ponents : Ente rpris e JavaBe ans
<entity>
<description>CMP Entity Bean</description>
public class EmployeeBean
implements EntityBean-name>
<display -name>Employee</display
{
<ejb-name>Employee</ ejb-name>
? Session Beans
public Integer<home>employee.
EmpoyeeId ;
EmployeeHome </home>
? Entity
Beans
public
String <remote>employee.Employee</remote>
EmpoyeeName ;
public Adress Beans
<ejb-class>employee.
EmployeeAddress ; EmployeeBean </ejb-class>
? Message-driven
<persistence -type>Container</persistence
-type>
Server-side objects that expose
// some code
<primkey -field> employeeId </primkey -field>
remote methods and can persist
its
}
<prim -key-class>java.lang.Integer</prim
-key-class>
<reentrant>False</reentrant>
attributes in a database automatically
<cmp-field>
(CMP)
or not
(BMP)
<field -name>
employeeId
</field
-name>
</cmp -field>
<cmp-field>
<field -name> employeeName </field -name>
</cmp -field>
<cmp-field>
<field -name> employeeAddress </field -name>
</cmp -field>
</entity>
EJB Types
J2EE Appl
ication A rch ite cture
J2EE com ponents : Ente rpris e JavaBe ans
J2EE com ponents : Ente rpris e JavaBe ans
EJB Types
Session Beans
Entity Beans
? Message-driven Beans
?
?
sends
receives
EJB: M e s s age D rive n Be ans
ŸM D Bs h ave no conve rs ationals tate
EJB Types
–
Session Beans
? Entity Beans
? Message-driven Beans
–
?
New in EJB 2.0
–
Container-managed relations
EJB Query Language (EQL)
ŸM D Bs are anonym ous
–
–
–
–
Oracle Corporation
Sim il
ar to State l
e s s Se s s ion Be ans
Al
lins tance s of m e s s age drive n be ans are
ide ntical
Any m e s s age drive n be an can s e rvice any
re q ue s t
M D Bs don’
t h ave a Re m ote Inte rface
M D Bs don’
t h ave busine s s m e th ods
Cl
ie nts can not acce s s th e m using H om e
Inte rface s
Cl
ie nts just s e nd m e s s age s to a q ue ue or topic
7
J2EE Conne ctor A rch ite cture (J2C)
EJB: Proce s s ing M e s s age s us ing
M D Bs
Message
Sends
Message
Destination
Queue
Receives
Client
ŸAn arch ite cture to provide a
s tandard m e ans for inte grating a
J2EE appl
ication s e rve r and
Ente rpris e Inform ation Sys te m s
(EISs )
Message Driven
Bean
ŸJ2EE Conne ctor Arch ite cture is part
of J2EE 1.3 s pe cification
Message Driven
Bean Pool
EJB
Container
ŸJ2C can be us e d in th e fol
l
ow ing
s ce narios
The EJB Container maintains a pool
of MDBs that service requests from the Queue
–Appl
ication
to A ppl
ication Inte gration
(A2A)
–Bus ine s s to Bus ine s s Inte gration (B2B)
J2EE Appl
ication A rch ite cture
J2C: Be ne fits
J2EE com ponents : J2EE Conne ctor A rch ite cture (J2C)
ŸTh e conne ctor arch ite cture re duce s th e
inte gration e ffort from an (m *n)probl
em
to an (m + n)probl
e m , w h e re ‘
m ’is th e
num be r of appl
ication s e rve rs and ‘
n’th e
num be r of EISs to be inte grate d.
JNDI
EJB Container
Client
Session
Bean
Entity
Bean
Connector
EIS
Session
Bean
Entity
Bean
Connector
EIS
Webserver
Servlet
JSP
ŸJ2C de fine s a s tandard s e t of s y s te m -l
e ve l
contracts b e tw e e n a J2EE appl
ication
s e rve r and an EIS. Th e EIS s ide of th e
contract is im pl
e m e nte d by a re s ource
EIS
adapte r. EIS
AS
AS
J2C
m*n
Oracle Corporation
m+n
8
Java is...
Java is...
•specifies the runtime architecture and building blocks for
• a language
developing and deploying distributed applications
• a runtime•standardizes packaging and deployment (.ear),
means portability and scalability by design
architecture
• a standard•documents best practices (J2EE blueprints)
so all J2EE application servers are the same ?
• J2EE
• a language
• a runtime
architecture
• a standard
• J2EE
Not really !
J2EE application servers (vendors) agree on the specification,
compete on the implementation
Java is...
Servlets
EJBs
(Session
Session,, Entity
Entity,, MDBs
MDBs))
W h at are W e b Se rvice s ?
JAAS
JCA
JDBC
Java Mail
JMS
JNDI
RMI-over-IIOP
JSP
JTA
• a language
http Apache
(9iAS)
• a runtime Browser
RMI
architecture Client
EJB
• a standard
CORBA
Client
• J2EE
Database
J2EE Container
JDK Java VM
9iAS
Oracle Corporation
9
Web Services are Business
Applications or Business Processes
that ...
Expose and D e s cribe Th e m s e l
ve s
Al
l
ow Cl
ie nt Appl
ications to Locate Th e m on
Inte rne t
Can Be Invok e d and Re s pond ove r Standard
Protocol
Simple Web Services are Applications
that Communicate ...
Point-to-Point, Re q ue s t-Re s ponse , Tigh tl
y Coupl
ed
Appl
ications Expose XM L Inte rface s (W SD L)
W SD L Inte rface s Publ
is h e d to Re gis try (UD D I)
Cl
ie nts l
ook up UD D I and Invok e ove r XM LProtocol
(SO A P)
Th e W e b Se rvice s M ode l
Web Services are Different...
UNIX RPC - Re q uire s b inary-com patibl
e Unix
im pl
e m e ntation at both e nds
CO RBA -Re q uire s com patibl
e O RBs
RM I-Re q uire s Java at e ach e ndpoint
D CO M -re q uire s W indow s at e ach e ndpoint
W e b Se rvice s are pl
atform and l
anguage ne utral
Client Application
2. Find
XML Interface (WSDL) 3. Find
Web Services
Directory
4. Invoke (XML
Protocol - SOAP)
(UDDI)
Publish
2.1.Publish
XML Interface (WSDL)
1. Generate
Application
Web Service
Oracle Corporation
10
Bus ine s s Cas e : M e dicalCl
aim s
Proce s s ing
Be fore : Pape r invoice s (cl
aim s )
INVOICE 1
date: 1 nov 2002
amount € 250
INVOICE 2
date: 1 nov 2002
amount € 100
Healthcare
provider
INVOICE 3
date: 1 nov 2002
amount € 450
Insurance
companies
INVOICE 4
date: 1 nov 2002
amount € 50
INVOICE 5
date: 1 nov 2002
amount € 750
Infomedics
http://www.infomedics.nl
INVOICE 6
date: 1 nov 2002
amount € 35
Th e D utch h e al
th care s e ctor
produce s 380 m il
l
ion cl
aim s
annual
l
y
Dutch healthcare spending
EUR billion
National Insurance Fund
Covering Long Term
Care (“’AWBZ”)
11.8
13.7
5.9
Healthcare
Insurers
(“Particuliere
Ziektekosten”)
Oracle Corporation
Now : El
e ctronic cl
aim s via th e Inte rne t
Share in spending Healthcare Providers
(non AWBZ)
National
Health
Insurance
Fund
(“Ziekenfonds”)
Hospitals
Pharmacists
19.6%
Specialists
GP’s
Claims Processing
8.1%
Insurance
companies
5.9%
Paramedical
4.8%
Auxiliaries
4.7%
Dental care
Healthcare
provider
47.3%
4.5%
Transport
2.0%
Midwives
1.5%
Other
1.5%
Total of
380 million
claims
11
A rch ite cture
Management &
Security
e-Business
Integration
Portals
J2EE &
Web Services
Business
Intelligence
Oracle Corporation
Wireless
Performance
& Caching
12

Similar documents