enterprise java beans - uio.no fileslide 1 10.10.08 reproduksjon forbudt uten tillatelse fra...

22
10.10.08 Slide 1 Reproduksjon forbudt uten tillatelse fra Computas AS © Enterprise Java Beans - in the enterprise Harald Søvik, [email protected]

Upload: vuhanh

Post on 12-Aug-2019

217 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10.10.08Slide 22 Reproduksjon forbudt uten tillatelse fra Computas AS ©

Examples

goto vim