beantransactions top level application server for ejb anton vorsamer fujitsu-siemens computers tel:...
TRANSCRIPT
BeanTransactionsTop Level Application Server for
EJB
Anton VorsamerFujitsu-Siemens Computers
Tel: +49 89 636 47524Email: [email protected]
FSC EP LP TP SA / A. VorsamerSlide 2
© Fujitsu Siemens Computers 2001
Applicationserver Scenario
Applicationserver Scenario
HTTP+
XML
HTTP
external Server
Web Server
Web Client
Host Systems
ApplicationServer
DB ServerPC Client
external Server,ERP Systems
FSC EP LP TP SA / A. VorsamerSlide 3
© Fujitsu Siemens Computers 2001
What does an Application Server ?
What does an Application Server ?
Support of asynchronous messaging services (Workflow, XML, ...)
Support of integration services(Connectivity, ... )
Integration ASIntegration AS
Central provision of services for many users(scalability, robustness, .... )
Single user programming model for the developer(state management, optimized resource management ... )
Support of standards(Java, EJB, J2EE, distributed OO concepts, ... )
Standard AS Standard AS
FSC EP LP TP SA / A. VorsamerSlide 4
© Fujitsu Siemens Computers 2001
What is Enterprise Java Beans ?
What is Enterprise Java Beans ?
Enterprise Java Beans (EJB) is a model (framework) for server side components in a distributed multi tier architecture
EJB is a specification (API) not a product
A product that supports EJB is called an application server
FSC EP LP TP SA / A. VorsamerSlide 5
© Fujitsu Siemens Computers 2001
Real Life Component Technology
Real Life Component Technology
Components have different functions and properties.
Core “interfaces” of the components are standardized.
Base boards provide the infrastructure for building “systems”.
FSC EP LP TP SA / A. VorsamerSlide 6
© Fujitsu Siemens Computers 2001
EJBContainer
Transaction
Security
StateManagment
Activation/Passivation
EJB
Client
Java VM only orWeb-Server orDB-Server orCORBA-Server or
TP-Monitor
MetadataTransactionSecurityResources...
DeclarativeProgramming
EJB Component Technology
EJB Component Technology
EJBC
om
mu
nic
atio
n
Application Server
FSC EP LP TP SA / A. VorsamerSlide 7
© Fujitsu Siemens Computers 2001
EJB Environment
EJB Environment
Without EJB= multi client view
Developers build• Threading & process control• Distributed execution control• Transactional control• State management• Resource management• Security• Interfaces• Business Logic
Developers build• Interfaces• Business Logic
EJB Framework supplies
• Threading & process control• Distributed execution control• Transactional control• State management• Resource management• Security
Using EJB= single client view
FSC EP LP TP SA / A. VorsamerSlide 8
© Fujitsu Siemens Computers 2001
Session Beans
Session Beans
Shared by clients• Can service multiple clients• No state across methods or
transactions• Each instance identical upon
creation• Touches persistent data
• Conversational state (if necessary) managed by client
Owned by one client• Holds state for client’s
sessionacross method calls
• Assigned to one client for lifetime
• Can touch and modify persistent data
• Non-persistent• Short-lived (client, timeout,
server crash)
Stateful Stateless
FSC EP LP TP SA / A. VorsamerSlide 9
© Fujitsu Siemens Computers 2001
Entity Bean Persistence
Entity Bean Persistence
Developer writes persistency code
DeveloperDetermines data to persistInitializes dataWrites data mappingWrites data access coding
ContainerSynchronizes stateManages pool of beansManages lifecycle
Developer focuses on data use only
DeveloperSpecifies data to persistInitializes attributes
ContainerGenerates data access codingMaps dataSynchronizes stateManages pool of beansManages lifecycle
BeanManaged
ContainerManaged
FSC EP LP TP SA / A. VorsamerSlide 10
© Fujitsu Siemens Computers 2001
openUTM OLTP Server
openUTM OLTP Server
OSI-TP LU6.1 LU6.2 TCP/IP IIOP
Interoperability openUTM IBM CICS, IMS/DC, MQSeries OSI-TP Applications TCP/IP Applications SAP R/3 ...
C, C++
Web-Client
Standard Web Browser
Standard Web Server
SuiteSpot
Windows PC
UNIXWorkstation
Application
Terminal
Communications
Acc
es
s C
on
tro
l /
Tra
nsa
cti
on
al
Se
cu
rity
Application Server
Cobol
DBMSJAVA Client
BS2000OSD
UNIX
WindowsNT
FSC EP LP TP SA / A. VorsamerSlide 11
© Fujitsu Siemens Computers 2001
Proven, robust, scalable application server ( multi-tier architecture ) Synchronous communication (Request/Reply, Conversations) Reliable asynchronous communication (Message Queueing) Support of distributed transactions in heterogeneous environments
XA Interface to Resource Managers (RDBMS, Reliable MQ Systems) X/Open DTP Protocol OSI-TP
Transactional interoperability with Legacy Applications Protocols for Connectivity: TCP/IP, SNA LU6.1, LU6.2
Rich Client Support Transactional and non transactional Clients JAVA Client, VB Client, Integration with MS Office
OO-based Component-Technology, platform independent for C/S & Web Container for easy to implement and to deploy Business Components JAVA Technology
Key Features of a High End Applicationserver
Key Features of a High End Applicationserver
==> Enterprise JavaBeans including JTA, JDBC, JNDI, JMS
FSC EP LP TP SA / A. VorsamerSlide 12
© Fujitsu Siemens Computers 2001
BeanTA Application Server
BeanTA Application Server
OSI-TP LU6.1 LU6.2 TCP/IP IIOP
Interoperability openUTM IBM CICS, IMS/DC, MQSeries OSI-TP Applications TCP/IP Applications SAP R/3 ...
C, C++
Web-Client
Standard Web Browser
Standard Web Server
SuiteSpot
Windows PC
UNIXWorkstation
Application
Terminal
Communications
Acc
es
s C
on
tro
l /
Tra
nsa
cti
on
al
Se
cu
rity
Application Server
Cobol
DBMS
JAVA Client
BS2000OSD
UNIX
WindowsNT
FSC EP LP TP SA / A. VorsamerSlide 13
© Fujitsu Siemens Computers 2001
openUTM and BeanTransactions
openUTM and BeanTransactions
OSI-TP LU6.1 LU6.2 TCP/IP IIOP
Interoperability openUTM IBM CICS, IMS/DC, MQSeries OSI-TP Applications TCP/IP Applications SAP R/3 ...
C, C++
Web-Client
Standard Web Browser
Standard Web Server
SuiteSpot
Windows PC
UNIXWorkstation
Application
Terminal
Communications
Acc
es
s C
on
tro
l /
Tra
nsa
cti
on
al
Se
cu
rity
Application Server
EnterpriseJavaBeansComponent
BS2000OSD
UNIX
WindowsNT
Cobol
DBMS
JAVA Client
FSC EP LP TP SA / A. VorsamerSlide 14
© Fujitsu Siemens Computers 2001
BeanTransactions V2.0
BeanTransactions V2.0
Support of Recoverable Session Beans
State of Recoverable Session Beans is transactional - consistent state after rollback - recovery of state after server crash
Transactional Integration of Legacy Applications (openUTM, CICS, IMS)
Support of Entity Beans (Database Mapping)Persistency Framework MPF/J
PlatformsWindows NT/2000, Unix, BS2000
Integration of BeanTA specific Tools in Developmenttools (e.g. Borland JBuilder)
Graphical Administration Tools
FSC EP LP TP SA / A. VorsamerSlide 15
© Fujitsu Siemens Computers 2001
BeanTransactions(Core Functionality)
BeanTransactions(Core Functionality)
State Managment = Recoverable Session Beans
Connectivity = Legacy Integration
Persistency = Database Mapping
Transactions
Security
Resource Pooling
....
FSC EP LP TP SA / A. VorsamerSlide 16
© Fujitsu Siemens Computers 2001
JVMJVM
client contexts
UTM shared memory
Request Queue
UTM server processes
BeanTransactions(State Management)
BeanTransactions(State Management)
FSC EP LP TP SA / A. VorsamerSlide 17
© Fujitsu Siemens Computers 2001
JVMJVM
client contexts
serialized EJB
serialization/deserializationUTM shared memory
Ouput Queue
UTM server processes
BeanTransactions(State Management)
BeanTransactions(State Management)
client contexts
transactionalfile
FSC EP LP TP SA / A. VorsamerSlide 18
© Fujitsu Siemens Computers 2001
JVMJVM
transactionalfile
serialized EJBs
serialization/deserializationUTM shared memory
Request Queue
UTM server processes
BeanTransactions(State Management)
BeanTransactions(State Management)
FSC EP LP TP SA / A. VorsamerSlide 19
© Fujitsu Siemens Computers 2001
Recoverable Session Bean
Recoverable Session Bean
Normal (first) Access:
...home = lookup(“.....”);session = home.create(...);
Access for Recovery: ...home = lookup(“.....”);Enumeration sessions = (UtmEjbSessionHome)home.findAll();session = sessions. nextElement();
FSC EP LP TP SA / A. VorsamerSlide 20
© Fujitsu Siemens Computers 2001
BeanTransactions(Connectivity)
BeanTransactions(Connectivity)
ApplicationServer
FSC / BS2000
IBM / MVS
other e.g..Unisys over OSI-TP
FSC EP LP TP SA / A. VorsamerSlide 21
© Fujitsu Siemens Computers 2001
openUTM-Applicationserver
Transaction Synchronisation / Commmunication
Acc
ess
Co
ntr
ol EJBComponentEJB
ComponentEJBComponentEJB
Component
EJB Container
BeanTransactions(EJB Integration Application Server)
BeanTransactions(EJB Integration Application Server)
Connectors
LU6 & OSI-TPsynchronous andasynchronous Messaging
CICS / IMS
OLTPService
openUTM
OLTPService
OSI-TP System
OLTPServiceTransactions
FSC EP LP TP SA / A. VorsamerSlide 22
© Fujitsu Siemens Computers 2001
// Business Methodspublic class openUTMBean implements SessionBean{ private openUTMConnectivity utm; private openUTMConnectivitySource utmserver;
// EJB Methods public void ejbCreate() { naming = new InitialContext(); utmserver = naming.lookup(" java:comp/env/legacy/myUTM"); utm = utmserver.getConnectivity(); }
// Business Methods public String callUTM( String input ) { return utm.Call(input); } }
Connector Beans
Connector Beans
FSC EP LP TP SA / A. VorsamerSlide 23
© Fujitsu Siemens Computers 2001
BeanTransactions(Persistency)
BeanTransactions(Persistency)
Acc
ess
Co
ntr
ol
Applicationserver
JavaClient
EJBComponent
EJBNaming
JDBC
XA
JNDI
Transaction Synchronisation / Commmunication
EJB Container
MPF/
J
Clear separation of application server core and persistency manager
FSC EP LP TP SA / A. VorsamerSlide 24
© Fujitsu Siemens Computers 2001
public class AccountBean implements EntityBean{ public int acctnr; // persistent field public float balance; // persistent field public String cust; // persistent field // EJB Methods..... // Business Methods public void deposit( float amount ) { balance = balance + amount; } public float getBalance() { return (balance); }}
Container Managed Entity Bean
Container Managed Entity Bean
FSC EP LP TP SA / A. VorsamerSlide 25
© Fujitsu Siemens Computers 2001
J2EE ArchitectureJ2EE Architecture
JMS
EJBContainer
EJB
EJB
WebContainer :
HTML/XML
Servlets+
JSPs
EnterpriseInformationSystems :
Legacy Applications
ERP Systems
Client
Client
Client
Client
Client
Client Tier Middle Tier EIS Tier
Relational Databases
JDBC
MD
BConnectors
new
FSC EP LP TP SA / A. VorsamerSlide 26
© Fujitsu Siemens Computers 2001
BeanTransactions
BeanTransactions
EJB Specification V2.0
Messaging Support (JMS, Message Driven Beans)
Connector Support
BeanTransactions = EJB V2.0+
Asynchronous transactional bidirectional Messaging
to Legacy Applications based on JMS (openUTM, CICS, IMS)
Synchronous transactional bidirectional Messaging to
Legacy Applications (openUTM, CICS, IMS)
FSC EP LP TP SA / A. VorsamerSlide 27
© Fujitsu Siemens Computers 2001
J2EE Architecture & BeanTransactionsJ2EE Architecture & BeanTransactions
JMS
EJBContainer
EJB
EJB
WebContainer :
HTML/XML
Servlets+
JSPs
EnterpriseInformationSystems :
Legacy Applications
ERP Systems
Client
Client
Client
Client
Client
Client Tier Middle Tier EIS Tier
openUTM MQ
JDBCRelational Databases
ConnectorsM
DB
Connectors
FSC EP LP TP SA / A. VorsamerSlide 28
© Fujitsu Siemens Computers 2001
From the Application Server to the Integration Platform ...
From the Application Server to the Integration Platform ...
An Integration Platform has to to create a business workflow from business services
i.e. macro services from micro servicesi.e. business process objects from business objects
should work declarative, rules bases without the need of programming
must allow integration of heterogeneous technology (JAVA, COM, XML ...)
macro service in Sun ONE = business process object in openSEASEJB = micro service in Sun ONE = business object in openSEAS
openSEASbest in class
implementation of these requirements
FSC EP LP TP SA / A. VorsamerSlide 29
© Fujitsu Siemens Computers 2001
WebTransactions
openSEAS Integration Architecture
openSEAS Integration Architecture
HeterogeneousClients
Standard-Appl,e.g. R/3
Standard-Appl,e.g. R/3
BS2000/OSDopenUTM, OS/390,...Appl.
BS2000/OSDopenUTM, OS/390,...Appl.
Business Object in Standard Technology
Business Process Objectsin Standard Technology
BOBO BPOBPO
Windows NT/2000 UNIXWindows NT/2000 UNIX
BS2000/OSDopenUTM, OS/390,...Appl.
BS2000/OSDopenUTM, OS/390,...Appl.
CC Connectorin EJB Technology
BizTransactions
BPOBPO
BPOBPO
AdapterAdapter
BOBO
AdapterAdapter
BOBO
FutureTechnologiesXML ....
FutureTechnologiesXML ....
BOBO
BeanTransactionsEJB container
EJBComponent
EJBComponent
CC CCCC
BOBO
BOBO BOBO
CC
FSC EP LP TP SA / A. VorsamerSlide 30
© Fujitsu Siemens Computers 2001
State of the Art TechnologyState of the Art TechnologyState of the Art TechnologyState of the Art Technology