systems for e-business

75
Systems for E-Business Integration and Optimization on the Web

Upload: alodie

Post on 14-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Systems for E-Business. Integration and Optimization on the Web. Major Issues. Majority of organizations are faced with a number of major issues: Address Web application development Address Web applications scalability and reliability Address Web applications integration - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Systems for E-Business

Systems for E-Business

Integration and Optimization on the Web

Page 2: Systems for E-Business

Major Issues Majority of organizations are faced with a number of major issues:

Address Web application development

Address Web applications scalability and reliability

Address Web applications integration

Provide framework for Web application integration

Integrate Web and back-end applications

Move from “Web-sites to Web applications to Web transactions”

Selecting the right enabling technologies for Web application development and Integration

CORBA, MTS/COM, Commercial Web Application Servers, Object Transaction Monitors, EJB etc

Enterprise Application Integration and Web Enterprise Application Integration are key

(W)EAI = Middleware?

Page 3: Systems for E-Business

Web Integration Requirements

Web Server Integration

Enterprise Middleware Integration

Application Development Integration

Integrating back-end databases

Intelligent Data Transformation

Leveraging legacy applications

Page 4: Systems for E-Business

Different Views on Database Integration on the Web

#1 DBMS/Web Integration: Integrate the relational database into the e-commerce/web architecture by providing a Web-interface to database access and supporting transactions on the Web

#2 Defragmentation: Integrate multiple different data sources and applications into the e-commerce architecture

#3 Function Extension: to create new interactive Composite Applications with a Web interface:

to the user the applications appears to be a new Web applications but behind the scenes, it may invoke one or more mainframe or UNIX/NT applications and databases

Out-of-Scope: Data Consistency Management: This is the ability to provide consistency of data stored in physically disparate databases. DBMS replication as well as message queuing middleware can be used to develop application-specific synchronization processes

Page 5: Systems for E-Business

Database Integration and Optimization

Prerequisites: CORBA and JEB

Page 6: Systems for E-Business

CORBA Architecture

Page 7: Systems for E-Business

Java Enterprise API’s

Page 8: Systems for E-Business

Client Protocols... HTTP

Hypertext Transfer Protocol

Intended for stateless text transfer

Applets, Active Server Pages

Some vendors put tags into the html stream

resolve at the server to calls to application code running under the application server.

RMI

Remote Method Invocation

Originally intended for Java-only application distribution

Java-to-Java

Objects passed by value

As an API over IIOP

Objects passed by reference

Page 9: Systems for E-Business

Client protocols ... IIOP

Internet Inter-Orb Protocol (OMG/CORBA)

Intended for CORBA-compliant application distribution

Page 10: Systems for E-Business

Database Integration and Optimization

E-architectures for Database Integration

Page 11: Systems for E-Business

Web Integration Technologies vs Web Integration Patterns

WebIntegration

Servers

Defragmentation“GUI-ification” User InterfaceRedesign

FunctionExtension

WebApplication

Servers

Middleware Web Ext .(at the client)

ObjectTransaction

Monitors

WebScreen

Scrapers

Web-EnabledMessageBrokers

High

Low

FunctionalComplexity

Web Enablement Pattern

WebTerminal

Emulators

Host WebServers

Source: Gartner Group, December 10, 1998

Page 12: Systems for E-Business

Web Integration(1) via Web Application Servers(WAS)

HTML

Web Browser

HTML

Web Browser

HTML

Web Browser

WAS

BusinessLogic Wrappers

Apps

Apps

Apps

RDBMS

Apps

Examples:

IBM WebPhereOracle Application ServerBEA WebLogicNetscape Application Server

Page 13: Systems for E-Business

WWW Middleware

Web Application Servers Fill the Gap

Web Servers

Web Application Servers

Firewalls/Security

Universal client Stateless No transactions Weak persistence Simple applications

TP Monitors CORBA OTM Messaging Database Integration Legacy Application

Integration ERP Integration

Page 14: Systems for E-Business

Web Application Servers Fill the Gap State/session management

Transaction management

Scalability and high performance

Robustness and manageability

Enhanced security

Persistence

Most important … provide necessary integration with back-end infrastructure

Page 15: Systems for E-Business

Web Application Servers Fill the Gap Web Application Servers (WAS) have to perform multiple roles

Host business logic

Make it accessible

Scalability, integrity, security, responsiveness

Integrated management

Comprehensive run-time

Well defined integration points

Provide a single and consolidated application

development environment

Foundation for EC

Page 16: Systems for E-Business

Web Application Server Provide Web Application Servers can host a variety of applications including

Java applications, C++ applications, Visual Basic etc.

Integration with back-end infrastructure and middleware

CORBA, MOM and other types of middleware

Enterprise Resource Planning Applications (Peoplesoft, SAP, Baan etc)

Legacy Applications

CICS, IMS, Legacy Databases

Page 17: Systems for E-Business

Generic Web Application Server Architecture

Group of Server Applications

Load Balancing

Sec

urit

yDispatcher Internet

Extranet

Intranet

HTML + Java

Java

HTTP

HTTP

IIOP

HTML

Packages (SAP, PeopleSoft)

Client/Server applications (C, C++)

Access Components

Management

Native SQLODBCJDBC

Firewall

Web Server

Client Component

CGI,NSAPI,ISAPI

Integrated Development Environment

IIOP

Legacy Applications via:CICS, IMS, MQSeries

Page 18: Systems for E-Business

WebLogic - Product Architecture

Java & MS COM

Client Apps

WebLogicServer

Page 19: Systems for E-Business

Common Application Server Components Web Server APIs

NSAPI, ISAPI, CGI, Servlets

Application Manager

Hosts Application Logic

Cgi-bin programs, Java objects, Java Servlets etc.

Manage application instances

Web “Transaction” Manager

Manage Web based “Transactions”

Database “Interaction” Manager

Database connection management

Database connection pooling

Results caching etc

Session/State Manager

Manages state/session information

Page 20: Systems for E-Business

Generic Web Application Server Functionality

StateMgmt.

SessionMgmt.

WorkloadMgmt.

ProcessMgmt.

RulesEngine

EnterpriseAdapters

Data storeAdapters

MiddlewareAdapters

Business Logic

Web Application Server

Web Server Presentation Logic, HTML Page Server

Web Browser

Page 21: Systems for E-Business

WAS Application Server Products

Secant: Extreme Server Bluestone: Sapphire/Web Gemstone J Sun: NetDynamics BEA: WebLogic Server Oracle Application Server Sybase: Enterprise Application Server Netscape Application Server IBM: WebSphere Silverstream Software: SilverStream Novera: Jbusiness Persistence: PowerTier Progress: Apptivity Inprise Application Server Forte: SynerJ Apple: WebObjects Information Builders: Parlay

Page 22: Systems for E-Business

Web Integration(2) via Web-Enabled Message Brokers

HTML

Web Browser

HTML

Web Browser

HTML

Web Browser

Flow Control

Transfor-mation

Manage-ment

Apps

Apps

Apps

RDBMS

Apps

Page 23: Systems for E-Business

Web Application Servers vs. OTMs

Web Application Server strength:

Integrated development tools for Web-based applications

Some provide rich set of classes / frameworks

Address specific requirements of Web-based applications (e.g. state & session management)

OTM strength:

Support for distributed transactions (ACID properties)

Proven scalability

24 x 7 availability

Most WAS vendors focus on Java/EJB - OTMs provide wider choice of language support and runtime environments

Page 24: Systems for E-Business

Combining Web Application Servers and OTMs

ServletsWeb

Browser:

Netscapeor

InternetExplorer

WAS

WASApp

NSAPI/ISAPI

ObjectTransaction

Monitor(OTM)

NetworkComputing (NC)

Clients

GUIClients

CGI

WebServer

Page 25: Systems for E-Business

Web Application Server vs. OTM Evolution

Java

Web Server Integration

HTML

State Management

Session Management

IIOP

Middleware Integration

Back-end Security

Scalability Failover/ Recovery

Transactions

Availability

Result Caching

Web Security

Auditing & Logging

WASWAS OTMOTM

Page 26: Systems for E-Business

Basic 3-tier CGI/HTTP Client/Server Architecture

RDBMS

HTML

Web Browser

Internet

HTTP

HTTPServer

HTTP

HTMLdocs

AppsSQLAPI

CGI/ISAPI

RDBMS

SQLAPI

Tier 1Tier 1

GUIGUI

Tier 2Tier 2

ApplicationApplicationLogicLogic

Tier 3Tier 3

DataData

Page 27: Systems for E-Business

Integrating Back-end Databases

Webbrowser

Webserver

WebServer-side

Gateway

staticcontent

documentreportspreadsheetimageaudiovideoanimation

Multi mediadata

CGINSAPIISAPI

dynamiccontent

DatabaseGateway

Universal data access

Universal and uniform access to diverse data sources

not just the popular relational databases

It is estimated that 65% of corporate data are not stored in relational databases

Page 28: Systems for E-Business

Basic 3-tier CGI/HTTP Architecture

Warehousedatabase

HTML

Web Browser

Internet

Orderpizza

HTTPServer

Orderpizza

HTMLdocs

Apps

Can order be fulfilled?CGI

Order/Entrydatabase

Orderpizza

Tier 1Tier 1 Tier 2Tier 2 Tier 3Tier 3

WorkforceSchedulingdatabase

When canpizza be

delivered?

Pizza can bedelivered @

19:15,but we’re out

of olives

Page 29: Systems for E-Business

Basic 3-tier CORBA/Java Client/Server Architecture

HTMLJava

Web Browser Internet

CORBAIIOP

WAS

Tier 1Tier 1

GUIGUI

Tier 2Tier 2

ApplicationApplicationLogicLogic

Tier 3Tier 3

DataData

CORBAORB

CORBAORB

ServerObjects

CORBAIIOP

RDBMS

CORBA

JDBC

Page 30: Systems for E-Business

Basic 3-tier CORBA/Java Client/Server Architecture

RDBMSType BHTML/

Java

Web Browser

HTTPServer

HTMLdocs

AppsSQLAPI

CGI/ISAPI

RDBMSType A

SQLAPI

Tier 1Tier 1

GUIGUI

Tier 2Tier 2

ApplicationApplicationLogicLogic

Tier 3Tier 3

DataData

CORBAORB

CORBAORB

ServerObjects

RDBMSType C

CORBA

CORBAServer

(5)CORBA

IIOP

(1) Get HTML Page

(2) Get Applet

(3)Load Applet

(4) Invoke CORBA

JDBC

Page 31: Systems for E-Business

Basic 3-tier CGI/HTTP and CORBA Client/Server Architecture

RDBMS

HTML

Web Browser

Internet

HTTP

CORBAServerwhich

interpretsHTTP

HTTP

HTMLdocs

AppsSQLAPI

CGI/ISAPI

RDBMS

SQLAPI

Tier 1Tier 1

GUIGUI

Tier 2Tier 2

ApplicationApplicationLogicLogic

Tier 3Tier 3

DataData

CORBAORB

CORBAORB

ServerObjects

RDBMS

CORBA

CORBAIIOP

HTML/Java

Web Browser

CORBAIIOP

JDBC

Page 32: Systems for E-Business

HTTP/CGI versus Java/CORBA ORB’s

Feature/function CORBA IIOP HTTP/CGI

Reliable communication Yes Yes, across TCP/IP

State across invocations Yes No

Parameter marshalling Yes - IDL stubs No, CGI program readsenvironment variables

Interface descriptions Yes - via IDL No

Dynamic discovery Yes No

Parameter data typing Yes - Language neutral format No

Performance Fast Slow

Transactions Yes No

Security Yes - via CORBA Yes - via SSL or S-HTTP

Page 33: Systems for E-Business

Predictions on Java/CORBA Integration

“More than 80 percent of large enterprises will use COM and some aspect of CORBA or IIOP somewhere in their enterprise applications by 2001 (0.8 probability)”

“COM will be functionally complete as an OTM by 1999 and mature enough to support demanding, mainstream, mission-critical applications by 2001 (0.7 probability)

“By 2002, the CORBA and Enterprise JavaBeans programming models will evolve into a common multilingual programming model: Enterprise Beans (0.8 probability)”

Page 34: Systems for E-Business

Database Integration and Optimization

Architectures for Database Middlware

Page 35: Systems for E-Business

SQL Middleware Models Single vendor option

Common SQL Interface option

Open SQL Gateway option

Federated Databases

Page 36: Systems for E-Business

Integrated Single Vendor

Server Object

OpenClient

Driver

Protocol

dblib

SybaseServer

Driver

Protocol

FAP

TCP/IP

HTML/Java

Web Browser

HTTPServer

CORBAServer

(5)CORBA

IIOP

(1) Get HTML Page

(2) Get Applet

(3)Load Applet

(4) Invoke CORBA

CORBAORB

CORBAORB

HTMLdocs

ServerObject

ServerObject

Page 37: Systems for E-Business

Middleware Solution#1: Common SQL Interface

ServerObject

JDBC / ODBC

Protocol

DbmsServer A

Driver A

Protocol

ServerObject

ServerObject

Driver A Driver B Driver C

DbmsServer C

Driver C

Protocol

FAP AFAP BFAP C

CORBAORB

HTML/Java

Web Browser

HTTPServer

CORBAServer

(5)CORBA

IIOP

(1) Get HTML Page

(2) Get Applet

(3)Load Applet

(4) Invoke CORBA

HTMLdocs

Page 38: Systems for E-Business

Middleware Solution #2: Open SQL Gateway

Common SQL API

Protocol

DbmsServer A

GatewayServer

Protocol

ServerObjects

ServerObjects Dbms

Server B

GatewayServer

Protocol

DbmsServer C

GatewayServer

Protocol

GatewayFAP

Gateway Driver

HTML/Java

Web Browser

HTTPServer

CORBAServer

(5)CORBA

IIOP

(1) Get HTML Page

(2) Get Applet

(3)Load Applet

(4) Invoke CORBA

HTMLdocs

CORBAORB

Page 39: Systems for E-Business

Middleware Solution #3: The Ideal World

Common SQL API

Protocol

DbmsServer A

Protocol

Appl Appl DbmsServer B

Protocol

DbmsServer C

Protocol

StandardSQLFAP

Global Query Control

Standard SQL Driver

HTML/Java

Web Browser

HTTPServer

CORBAServer

(5)CORBA

IIOP

(1) Get HTML Page

(2) Get Applet

(3)Load Applet

(4) Invoke CORBA

CORBAORB

Page 40: Systems for E-Business

ODBC Architecture

Appl

ODBC Driver Manager

TCP/IP

Appl Appl

SybaseDriver

OracleDriver

MS SQL Driver

ODBC API

Service provider API

DB2 Sybase Oracle

ESQL/DRDA NetLib SQL*Net

•ODBC is a Microsoft extension of the SQL Access Group’s CLI

•It provides the possibility for writing DBMS-independent C code

•A Driver Manager is used to ensure that the right DBMS-driver is loaded automatically at database connect time

•An ODBC driver must provide at the very least ANSI SQL89 functionality

•ODBC 2.0 defines 61 API calls divided into:

•Core (DB connection, execution, commit, rollback, results handling, exception handling)

•Level 1 (access to metadata, BLOB’s, driver specific functions)

•Level 2 (cursor support)

•ODBC is an example of a CLI that supports non-relational sources e.g. MS Excel spreadsheets.

•JDBC support transactions against a DBMS (

Key Points:

Page 41: Systems for E-Business

JDBC Architecture

JavaAppl

JDBC Driver Manager

Protocol

JavaAppl

JavaAppl

JDBC-ODBC Driver

Driver toSybase

Driver toOracle

ODBC Driver

JDBC API

Service provider API

MSSQL

ServerSybase Oracle

•JDBC is a SQL CLI written entirely in Java

•It provides the possibility for writing DBMS-independent Java code

•A Driver Manager is used to ensure that the right DBMS-driver is loaded automatically at database connect time

•JDBC drivers are ODBC-bridged or native

•A JDBS driver must provide at the very least ANSI SQL92 Emtry Level functionality

•JDBC Interfaces are divided into:

•JDBC Core

•Java Language Extensions

•Java Utility Extensions

•SQL Metadata

•JDBC support transactions against a DBMS (commit, rollback, auto commit)

•JDBC does not support 2-phase commit against multiple databases

Key Points:

NetLib SQL*Net

Page 42: Systems for E-Business

Database Integration and Optimization

JDBC Scenarios

Page 43: Systems for E-Business

JDBC Scenario 1: Invoking a SQL Query

Client

JDBCDriver

Manager

getConnectionConnection

Statement

executeQuery

createStatement

ResultSet

next

getInt

getString

close

close

Page 44: Systems for E-Business

JDBC Scenario 2: Invoking a Prepared Command

Client

getConnectionConnection

PreparedStatement

setAutoCommit

prepareStatement

setInt

setShort

executeUpdate

commit

close

DriverManager

close

Page 45: Systems for E-Business

JDBC Scenario 3: Invoking a Stored Procedure

Client

JDBCDriver

Manager

getConnectionConnection

CallableStatement

registerOutputParameter

prepareCall

registerOutputParameter

execute

getXXX

close

close

Page 46: Systems for E-Business

JDBC 2-tier

JDBCDriver Manager

Driver Driver

DbmsServer

DbmsServer

Tier 1Client

Tier 2DBMS

HTML

Page 47: Systems for E-Business

JDBC 3-tier (a)

HTML

DbmsServer

DbmsServer

ORBORB

ORBORB JDBC

Driver Manager

Driver

Driver

Tier 1Client

Tier 2JDBC Server

Tier 3DBMS

Page 48: Systems for E-Business

JDBC 3-tier (b)

HTML

DbmsServer

DbmsServer

ORBORB

ORBORB

JDBCDriver Manager

Driver

Driver

Tier 1Client

Tier 2Web Server

Tier 3DBMS

ServerObjects

Page 49: Systems for E-Business

Datbase Integration and Optimization

OTM Characteristics - Transactions on the Web

Page 50: Systems for E-Business

Object Management Architecture

CORBAServices

CommonFacilities

ApplicationObjects

LifecycleEventNamingPersistenceTransactionsConcurrency

ExternalizationSecurityLicensingRelationshipTraderMessagingNotifications

Compound DocsObject Linking

HorizontalInterfaces

Vertical Domain Interfaces

Object Request Broker

Page 51: Systems for E-Business

Interface Definition Language The Key Idea:

Separate Interface from Implementation

An Interface is a contract between a client and a server

What is CORBA client and CORBA Server?

The contract is specified in Interface Definition Language (IDL)

IDL is a specification language, NOT a programming language

IDL describes only interfaces, not implementations

IDL can be mapped to a variety of programming languages such as C++, JAVA, Smalltalk, C, Ada, Cobol, etc.

IDL also provides Standard Abstractions for Middleware Services

Page 52: Systems for E-Business

Focus On: Middleware Services

“Standard IDL based interfaces for Classic Middleware Services”Object Request Broker

Trading

Security

Lifecycle

Messaging

Naming

Events

Trans-actions

Page 53: Systems for E-Business

Interface Definition Language Interface Definition Language (IDL) is a contractual, declarative

language that specifies object interfaces.

IDL defines interfaces that object “speaks”

IDL is a description of the functionality that object has. It typically specifies the attributes and operations belonging to that interface, as well as their signatures.

Interfaces contain operations

An operation’s signature includes the type of “in” and “out” parameters, the type of return value, and exceptions that may be thrown by the operation.

Page 54: Systems for E-Business

Interface Definition Language IDL provides operating system and programming language

independent interfaces to all services and components that use CORBA.

NOT a programming language.

IDL is part of the design process.

IDL is part of the development process.

Page 55: Systems for E-Business

IDL - The Key to Integration

IDL interface

The key to the Software Bus

Implementation is Hidden

C++

Smalltalk

Ada

ActiveX

Java

“Service or Contract-oriented View”

C++ Smalltalk

Java

Page 56: Systems for E-Business

CORBA Interoperability

Solaris MVS HP-UX Alpha NT

NT JavaOS AIX IRIX

C++ COBOL S/Talk

IIOP

Ada

C++ C++JavaVC++

DAIS VisiBroker M3 Orbix

VisiBroker Component Broker Orbix

Page 57: Systems for E-Business

CORBA Interoperability Internet Inter-ORB Protocol

Provides on-the-wire interoperability between:

CORBA ORBs

Java programs using RMI

RMI over IIOP

Page 58: Systems for E-Business

CORBA and the Net

CalculationEngine object { CalculateYield Curve (…) CalculateSwap (…) }

CORBA Object C++

AIX

CalculateYield Curve (…) CalculateSwap (…)

Shared Object CNetscape Navigator

ORB

CORBA

Windows NT

ORB ORB

Calculation Engine Object

CalculateYield Curve (…) CalculateSwap (…)

Excel

IIOP

Page 59: Systems for E-Business

Web Application Development with CORBA

C++

Compile

Link

C++

Compile

Link

Stubs Skels

CORBA

Compile

IDL

Client Servants

Client Server

Write specification for each CORBA

object using IDL

Use the CORBA compiler to generate

Stubs and Skeletons

Write the client application code

Write the server objects code(i.e.

Servants)

Write a container( i.e. Main) that the

Servants can reside in

Compile and link the Server and the

client

Deploy

Run

Page 60: Systems for E-Business

Web Naming Web Naming is a URL based naming scheme that allows Object References

to be associated with URLs and use standard URL resolution to retrieve object references.

Leverages the ubiquity of the Web to bootstrap CORBA object location.

Can be used in conjunction with CORBA Naming

A Web Naming interface called Resolver provides the Web Naming functionality.

Web Naming powerful for CORBA-enabled Applets.

Server implementations register a IOR with a Web Server using the PUT HTTP method and store the IOR in the Web Servers document root.

Clients retrieve the IOR associated with a URL using HTTP.

Page 61: Systems for E-Business

Development Tools for Web and CORBA Symantec Visual Café’

Inprise JBuilder

IBM Visual Age

Page 62: Systems for E-Business

Commercial CORBA Products IONA Technologies Orbix and OrbixWeb

PeerLogic/ICL DAIS

Inprise VisiBroker for C++ and Java

BEA WebLogic Enterprise (formerly M3)

C++ and Java bindings are available

IONA Technologies OrbixOTM

PeerLogic/ICL DAIS

BEA WebLogic Enterprise

Inprise VisiBroker ITS

Page 63: Systems for E-Business

Support for CORBAServices

Trader

Naming

Security

Events

Orbix DAISWebLogic Enterprise VisiBroker

Events

Transactions

Notification

(Tuxedo based)

(Tuxedo based)(DCE based)

(Encina)

(Tuxedo based)

Page 64: Systems for E-Business

State and Session Management

Need to maintain state between multiple user interactions

Optimized customer interaction experience through site personalization

Web site tracking

Techniques available to maintain state include

Client-side storage of state

Server-side storage of state information

files or databases

Combination of both

cleanup synchronization issue

A “session-identifier” needs to passed between the browser and the server application

Page 65: Systems for E-Business

Web-Based Transactions Web based transactions should allow the grouping of HTTP requests

as part of one task.

URL range or specific pages

Web middleware should support Web transactions

Server-Based Transactions

Traditional ACID transactions

TP Monitor, DBMS

Object Transaction Service (OTS) vs. Enterprise Java Beans (EJB)

A legacy integration issue

Page 66: Systems for E-Business

Web transactions HTTP is stateless i.e. has no

memory of previous requests

Since HTTP makes it difficult to maintain context among different invocations of the database, other means for providing transactional context are required

Developers are using various approaches to overcome this problem (e.g. by passing cookies or hidden HTML fields containing the client’s sessions and transaction id’s back to the client, e.g. Oracle Application Server)

A client/server transaction is inherently a session in which the following occurs:

Start a session on the DBMS server by logging in with name and password

Issue a BEGIN TRANS command

Issue one or more SQL INSERT, DELETE or UPDATE statements

Issue a SQL COMMIT or ROLLBACK statement

End the session by logging out or disconnecting

Page 67: Systems for E-Business

X/Open Distributed Transaction Processing Model

Application(AP)

Application(AP)

ResourceManager

(RM)

ResourceManager

(RM)

RM API(JDBC)

TransactionManager

(TM)

TransactionManager

(TM)XA

(JavaTransaction

API)

CommuncationsResourceManager(CRM)

CommuncationsResourceManager(CRM)XA+

XATMI, TxRPC

TX(Java

TransactionService)

Page 68: Systems for E-Business

X/Open DTP and Java Services

Java servletJava servlet

X/OpenResourceManager

X/OpenResourceManager

JDBC

TransactionManager

(TM)

TransactionManager

(TM)Java

TransactionAPI

(JTA)

CommuncationsResourceManager(CRM)

CommuncationsResourceManager(CRM)XA+

XATMI, TxRPC

JavaTransaction

Service(JTS)

Page 69: Systems for E-Business

OMG Object Transaction Services (OTS)

Transactional ClientTransactional Client

RecoverableServer

RecoverableServer

RM API(SQL)

TransactionService

TransactionService

XA

CommuncationsResourceManager(CRM)

CommuncationsResourceManager(CRM)XA+

XATMI, TxRPCTX

Page 70: Systems for E-Business

Model Interoperability ~ OTS versus DTP

Transactional Application(AP)

ResourceManager

(RM)

JDBC

TransactionalServer

(Coordinator & Terminator)

XA(Java

Transaction API)

CommuncationsResourceManager(CRM)XA+

XATMI, TxRPC

TX(Object

TransactionServices)

Page 71: Systems for E-Business

Model Interoperability

TransactionalClient

TransactionalObject

X/OpenResourceManager

RM API

ORBORB

TransactionServices

X/OpenServer

TransactionManager

CM API

XA

New Application(Objects)

Exsiting Application(X/Open)

Page 72: Systems for E-Business

OTS versus X/Open TX Interfaces

tx_open( )

tx_close( )

tx_begin( )

tx_rollback( )

tx_commit( )

tx_set_transaction_control()

tx_set_transaction_timeout()

No equivalent

No equivalent

Current::begin()

Current::rollback()

Current::commit()

No equivalent

Current::set_timeout()

TX Interface OTS

Page 73: Systems for E-Business

OTS versus X/Open AX Interfaces xa_start( )

ax_reg( )

xa_end( )

ax_unreg( )

xa_prepare( )

xa_commit( )

xa_rollback( )

xa_recover( )

No equivalent

xa_forget( )

Receiver::received_request()

Current::resume()

Receiver::sending_reply()

Resource::prepare()

Resource::commit()

Resource::rollback()

No equivalent

Resource::forget()

Page 74: Systems for E-Business

Database Integration and Optimization

Optimising Techniques

Page 75: Systems for E-Business

Tuning JDBC Connection Pools - multiplexing clients on pre-allocated database

connections ~ (e.g. weblogic.Admin class’ create_pool method)

“Cached” connections - reuse database connections for clients

Caching results data in web server or in JDBC Server

Use of stored procedures or prepared commands

Let a transaction service handle transaction context on behalf of transactional client

Let a server object handle JDBC sessions on behalf of client ~ saves message overhead across firewalls and web servers