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

Post on 12-Aug-2019

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

10.10.08Slide 1 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

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

top related