enterprise java beans - uio.no fileslide 1 10.10.08 reproduksjon forbudt uten tillatelse fra...
TRANSCRIPT
![Page 1: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/1.jpg)
10.10.08Slide 1 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Enterprise Java Beans- in the enterprise
Harald Søvik, [email protected]
![Page 2: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/2.jpg)
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
![Page 3: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/3.jpg)
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
![Page 4: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/4.jpg)
10.10.08Slide 4 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Outline
Enterprise applications
EJB components
EJB primary services
Examples
![Page 5: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/5.jpg)
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
![Page 6: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/6.jpg)
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
![Page 7: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/7.jpg)
10.10.08Slide 7 Reproduksjon forbudt uten tillatelse fra Computas AS ©
2-tier architecture
![Page 8: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/8.jpg)
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
![Page 9: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/9.jpg)
10.10.08Slide 9 Reproduksjon forbudt uten tillatelse fra Computas AS ©
3-tier architecture
![Page 10: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/10.jpg)
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
![Page 11: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/11.jpg)
10.10.08Slide 11 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Problems - contd.
Performance
• Connection pooling
• Network connectivity
Transactions
Scalability
Reliability
Integration
![Page 12: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/12.jpg)
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
![Page 13: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/13.jpg)
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
![Page 14: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/14.jpg)
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
![Page 15: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/15.jpg)
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(..)
![Page 16: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/16.jpg)
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(..)
![Page 17: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/17.jpg)
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()
![Page 18: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/18.jpg)
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.
![Page 19: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/19.jpg)
10.10.08Slide 19 Reproduksjon forbudt uten tillatelse fra Computas AS ©
The Container
Manages the beans
• «deploy»
• pool
• activate
• passivate
• destroy
![Page 20: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/20.jpg)
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 !
![Page 21: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/21.jpg)
10.10.08Slide 21 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Primary Services
Concurrency Transactions Persistence Distributed Objects Asynchronous Messaging Timer Service Naming Security
![Page 22: Enterprise Java Beans - uio.no fileSlide 1 10.10.08 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, hso@computas.com](https://reader030.vdocuments.mx/reader030/viewer/2022041203/5d50766888c9931d228b82a9/html5/thumbnails/22.jpg)
10.10.08Slide 22 Reproduksjon forbudt uten tillatelse fra Computas AS ©
Examples
goto vim