28
PowerTier EJB PowerTier EJB in High-Performance in High-Performance Applications Applications John Killoran John Killoran European Technical Services European Technical Services Manager Manager Persistence Software Persistence Software

PowerTier EJB in High-Performance Applications

  • Upload
    liko

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

PowerTier EJB in High-Performance Applications. John Killoran European Technical Services Manager Persistence Software. Agenda. The need for a new approach PowerTier architecture & benefits Implementation example Q & A. The need for a new approach. Time-to-Market Developer productivity - PowerPoint PPT Presentation

Citation preview

Page 1: PowerTier EJB in High-Performance Applications

PowerTier EJBPowerTier EJBin High-Performance Applicationsin High-Performance ApplicationsJohn KilloranJohn KilloranEuropean Technical Services ManagerEuropean Technical Services ManagerPersistence SoftwarePersistence Software

Page 2: PowerTier EJB in High-Performance Applications

AgendaAgenda

The need for a new approachThe need for a new approach

PowerTier architecture & benefitsPowerTier architecture & benefits

Implementation exampleImplementation example

Q & AQ & A

Page 3: PowerTier EJB in High-Performance Applications

The The need for a new approachneed for a new approach

Time-to-MarketTime-to-Market– Developer productivityDeveloper productivity– ComplexityComplexity– Skills shortageSkills shortage– CostsCosts

Performance & ScalabilityPerformance & Scalability– Good response timesGood response times– Huge scalabilityHuge scalability– Realistic hardware platformRealistic hardware platform– CostsCosts

Page 4: PowerTier EJB in High-Performance Applications

PowerTier ProductivityPowerTier Productivity

True True Object-Oriented approachObject-Oriented approach– Manage complexity through modellingManage complexity through modelling

• CASE tool integrationsCASE tool integrations– Easier maintenanceEasier maintenance

Code GenerationCode Generation– Code generation & re-generationCode generation & re-generation– Container managed persistenceContainer managed persistence

Increased QualityIncreased Quality– Reduced testingReduced testing

Page 5: PowerTier EJB in High-Performance Applications

Code Generation

Object Model

Server

Container

EJB Bean/C++ Object

EJB Bean/C++ Object

Object Builder

PowerTier provides much of the required application and infrastructure code automatically

Servlet Engine

JSP JSP JSPPowerPage

Builder

EJB Bean/C++ Object

EJB Bean/C++ Object

DatabaseSchema

Automating DevelopmentAutomating Development

Page 6: PowerTier EJB in High-Performance Applications

Source: Reuters Equities benchmark

Time required to implement auction benchmark

2 weeks - 426 lines of code

PowerTier Automated Coding

Competing Approach Hand Coding

1 day - 20 lines of code

Developer EfficiencyDeveloper Efficiency

Page 7: PowerTier EJB in High-Performance Applications

Scalability BottleneckScalability Bottleneck• Growing numbers of users Growing numbers of users • Increasing need for common data Increasing need for common data

& processes& processes• Real-time response challengeReal-time response challenge

The Need for a New ArchitectureThe Need for a New Architecture

Transactions and Transactions and DocumentsDocuments

Page 8: PowerTier EJB in High-Performance Applications

The Need for a New ArchitectureThe Need for a New Architecture

100%100%WriteWrite

100%100%ReadRead

OLTP

Client/Server

eCommerce

Page 9: PowerTier EJB in High-Performance Applications

PersistencePersistence

Content Cache

Web Server

Java Servlet Engine

Application Server

Real-Time ServerSynchronisation

Object Caching

The Persistence J2EE SolutionThe Persistence J2EE Solution

Page 10: PowerTier EJB in High-Performance Applications

DynamaiDynamai

Apache

ServletMillServletMill

PowerSyncPowerSync

PowerTier TransactionalPowerTier TransactionalApplication ServerApplication Server

The Persistence J2EE SolutionThe Persistence J2EE Solution

Page 11: PowerTier EJB in High-Performance Applications

Performance & ScalabilityPerformance & Scalability

Performance & scalability are similar - but not Performance & scalability are similar - but not the same!the same!

PerformancePerformance– That which affects the response time of your

system to requests from a single user at a time

ScalabilityScalability– The ability of your system to maintain the

same response times as the number of users increase

Page 12: PowerTier EJB in High-Performance Applications

Data SourcesData SourcesServlet EnginesServlet Engines& App Servers& App Servers

ServletEngine

EJBServer ca

che

ServletEngine

EJBServer ca

che

ServletEngine

EJBServer ca

che

LoadBalance

CacheSync

Web ServersWeb Servers

WebServer

WebServer

WebServer

DynamaiDynamaiCachesCaches

cach

eca

che

cach

e

Database

LegacySystems

ERPApplications

Scalable N-Tier ArchitectureScalable N-Tier Architecture

Page 13: PowerTier EJB in High-Performance Applications

Component ArchitectureComponent Architecture

PowerTier EJB ServerPowerTier EJB Server

PowerTier Servlet EnginePowerTier Servlet Engine

PSE plug-inPSE plug-in

Apache Web ServerApache Web Server

Dynamai Dynamic Web CacheDynamai Dynamic Web Cache

HTTPHTTP

HTTP or PSE native protocolHTTP or PSE native protocol

Native DB protocol or JDBCNative DB protocol or JDBC

DatabaseDatabase

• Dynamai protects against peak loads even for dynamically generated web pages.

• PSE plug-in provides load balancing and transparent failover support for SE requests

• Servlet Engine and EJB Server run in the same process to reduce communication lag

• Efficient native connections to databases

Page 14: PowerTier EJB in High-Performance Applications

432.36

10.78

172.9

3.312.680.020

50

100

150

200

250

300

350

400

450

Avg

Wai

t per

Use

r (m

illis

ecs)

1 100 250

Number of Users

Persistence

Alternative

Source: Morgan Stanley OO-Fin Benchmark

Customer BenchmarkCustomer Benchmark

Page 15: PowerTier EJB in High-Performance Applications

Multi-User ScalabilityMulti-User Scalability

Number of Simultaneous Requests

Access Time Per Request(ms)

Source: Morgan Stanley OO-Fin Benchmark

PowerTier is orders of magnitude more

scalable than a stateless application server

= PowerTier

Legend

= Stateless Server

0

100

200

300

400

500

100 2501

Page 16: PowerTier EJB in High-Performance Applications

Web Transactions Web Transactions

Source: Persistence caching benchmark

Read transactions per second

58,000 TPS

308 TPS

PowerTier Shared Caching

Competing Approach using standard JDBC drivers

Page 17: PowerTier EJB in High-Performance Applications

Sample Product FeaturesSample Product Features

Optimistic lockingOptimistic locking

Transactional multi-threadingTransactional multi-threading

Page 18: PowerTier EJB in High-Performance Applications

Optimistic LockingOptimistic Locking

Automated feature of PowerTierAutomated feature of PowerTier

Object VersioningObject Versioning

Optimistic ControlOptimistic Control– Version number (Integer, Long)Version number (Integer, Long)– Timestamp (datetime)Timestamp (datetime)

Automated runtime behaviourAutomated runtime behaviour– Checking on commitChecking on commit– IncrementIncrement

Page 19: PowerTier EJB in High-Performance Applications

Optimistic LockingOptimistic Locking

Server A

Server B

1 1

1

12

12

Page 20: PowerTier EJB in High-Performance Applications

Database

TxCache

SharedCache

TxCache

ObjectCache

Transactional MultithreadingTransactional Multithreading

PowerSync

Page 21: PowerTier EJB in High-Performance Applications

InstinetInstinet

Global Fixed Income Trading SystemGlobal Fixed Income Trading System

Page 22: PowerTier EJB in High-Performance Applications

Business BackgroundBusiness Background

Instinet CorporationInstinet Corporation– Reuters subsidiary since 1987Reuters subsidiary since 1987– Founded 1969Founded 1969– Brokerage services in 30+ countriesBrokerage services in 30+ countries– Global customer baseGlobal customer base

StrategyStrategy– Innovative application of advanced ITInnovative application of advanced IT– Agency broker - therefore neutralAgency broker - therefore neutral

Fixed Income TradingFixed Income Trading– Fixed income securities; esp. Euro bondsFixed income securities; esp. Euro bonds– New market for InstinetNew market for Instinet

Page 23: PowerTier EJB in High-Performance Applications

Business RequirementsBusiness Requirements

Global tradingGlobal trading

Fair playFair play– ““Level playing field”Level playing field”– Anonymous tradesAnonymous trades

Time to marketTime to market– Ready in 9 monthsReady in 9 months

Future proofFuture proof

Market shareMarket share– Dominant market share through superior technologyDominant market share through superior technology

Page 24: PowerTier EJB in High-Performance Applications

Technical RequirementsTechnical Requirements

PerformancePerformance– ~1000 transactions/sec~1000 transactions/sec

Developer productivityDeveloper productivity– Nine month development cycleNine month development cycle

Highly distributedHighly distributed– Service 1000s clients distributed globallyService 1000s clients distributed globally

Flexible architectureFlexible architecture– Future proofingFuture proofing

AvailabilityAvailability– Very high availabilityVery high availability

SecuritySecurity– Anonymity & restricted accessAnonymity & restricted access

Page 25: PowerTier EJB in High-Performance Applications

Core Ring

Remote Ring

DBCore Core

Core

Core

Core

Core

Core

Core

Gateway

GW

Remote Site

(Java clients)

GWApp

GW

App

Systems Architecture Systems Architecture

GWApp

App

Page 26: PowerTier EJB in High-Performance Applications

London

DBCore Core

Core

Core

Core

Core

Core

Core

GWAppDBCore Core

Core

Core

Core

Core

Core

Core

New York

Global Systems ArchitectureGlobal Systems Architecture

GW

AppGW

App

GW

AppGW

App

GW

App

Page 27: PowerTier EJB in High-Performance Applications

Architectural FeaturesArchitectural Features

Based on Async MessagingBased on Async Messaging– Load balancingLoad balancing

Cache SynchronisationCache Synchronisation– Certified messagingCertified messaging– Remote cachesRemote caches

Hierarchical CachesHierarchical Caches– PowerTier “OpenAgent”PowerTier “OpenAgent”– EJB Entity BeansEJB Entity Beans

• Permanent storage is transparent to the Permanent storage is transparent to the application logicapplication logic

Page 28: PowerTier EJB in High-Performance Applications

Q & AQ & A