enterprise java beans - uio.no fileslide 1 10.10.08 reproduksjon forbudt uten tillatelse fra...
TRANSCRIPT
10.10.08Slide 1 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Enterprise Java Beans- in the enterprise
Harald Søvik, [email protected]
10.10.08Slide 2 Reproduksjon forbudt uten tillatelse fra Computas AS ©
About
M. Sc. Computer Science at NTNU 2006
Employed by Computas (2.5 years)
Technical developer
Technical project manager
10.10.08Slide 3 Reproduksjon forbudt uten tillatelse fra Computas AS ©
About contd.
Mattilsynet (Norwegian FDA)
• 20 developers, 20 domain experts
• 4 years of development
• ~500 simul. users, 50 000 total web users
• Integration with ~40 other systems• web services, file/ftp, file/email (!)
• Case management
• Workflow oriented
10.10.08Slide 4 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Outline
Enterprise applications
EJB components
EJB primary services
Examples
10.10.08Slide 5 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Enterprise applications
include:
• Online shopping
• Order/billing systems• pda/mobile/tablet
• Personel/payroll systems
• Case management and workflow -systems
10.10.08Slide 6 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Enterprise applications
exclude:
• Embedded systems
• Games (..)
• Operating systems
• Personal applications• Word processors
• Spread sheet
10.10.08Slide 7 Reproduksjon forbudt uten tillatelse fra Computas AS ©
2-tier architecture
10.10.08Slide 8 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Enterprise applications
Large database
• > 100 GB
Many simultaneous users
• > 1000
Integrations
• web services, file/ftp
10.10.08Slide 9 Reproduksjon forbudt uten tillatelse fra Computas AS ©
3-tier architecture
10.10.08Slide 10 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Problems
Security
• Clients with database-connection• No data validation
• Web clients • Injection
• «Client side security»• No such thing
10.10.08Slide 11 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Problems - contd.
Performance
• Connection pooling
• Network connectivity
Transactions
Scalability
Reliability
Integration
10.10.08Slide 12 Reproduksjon forbudt uten tillatelse fra Computas AS ©
EJB Components
Entites• Persistence – save data
Session beans
• Stateful• Client sessions – process data
• Stateless• One-shot method invocation, webservice – process data,
receive data
Message driven beans• Asynchroneous – receive data
10.10.08Slide 13 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Entities
High-level abstraction of JDBC
Maps tables to objects
• Object to Relational Mapping (ORM)
Plain Old Java Objects (POJOs)
EntityManager
E.g. Person
10.10.08Slide 14 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Session beans
Remotely accessible methods
• Resides on the server Isolates business logic
• Client: view and edit data
• Server: process and save data Coarse grained methods
• High cohesion, low coupling Two kinds
• stateless and stateless
10.10.08Slide 15 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Stateful session beans
Models actions across time
• business processes, workflow, taskflow
• maintains conversational state
E.g. PersonRegister
• .initApplication(..)
• .registerDetails(..)
• .calculateRisk(..)
10.10.08Slide 16 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Stateless session beans
Models instant actions
• Disposable, pooled instances
• RMI invocation
• WebService invocation
E.g. SearchManager
• search(..)
10.10.08Slide 17 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Message Driven Beans
Models reception of messages
• Asynchroneous
• Envelope + letter
• Listen to Queue or Topic
• Can gurantee delivery
E.g. RegisterUpdatesMDB
• onMessage()
10.10.08Slide 18 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Message Driven Beans contd.
The Java Message Service (JMS) API is a messaging standard
allows application components based on the Java 2 Platform, Enterprise Edition (J2EE) to create, send, receive, and read messages. It enables distributed communication
is loosely coupled, reliable, and asynchronous.
may be integrated with the application server using the J2EE Connector Architecture.
10.10.08Slide 19 Reproduksjon forbudt uten tillatelse fra Computas AS ©
The Container
Manages the beans
• «deploy»
• pool
• activate
• passivate
• destroy
10.10.08Slide 20 Reproduksjon forbudt uten tillatelse fra Computas AS ©
The Container contd.
JBoss
IBM WebSphere
BEA WebLogic
Oracle Application Server (OC4J)
Sun Glassfish
.. and your beans are portable !
10.10.08Slide 21 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Primary Services
Concurrency Transactions Persistence Distributed Objects Asynchronous Messaging Timer Service Naming Security
10.10.08Slide 22 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Examples
goto vim