PowerTier EJB in High-Performance Applications
description
Transcript of PowerTier EJB in High-Performance Applications
![Page 1: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/10.jpg)
DynamaiDynamai
Apache
ServletMillServletMill
PowerSyncPowerSync
PowerTier TransactionalPowerTier TransactionalApplication ServerApplication Server
The Persistence J2EE SolutionThe Persistence J2EE Solution
![Page 11: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/17.jpg)
Sample Product FeaturesSample Product Features
Optimistic lockingOptimistic locking
Transactional multi-threadingTransactional multi-threading
![Page 18: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/19.jpg)
Optimistic LockingOptimistic Locking
Server A
Server B
1 1
1
12
12
![Page 20: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/20.jpg)
Database
TxCache
SharedCache
TxCache
ObjectCache
Transactional MultithreadingTransactional Multithreading
PowerSync
![Page 21: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/21.jpg)
InstinetInstinet
Global Fixed Income Trading SystemGlobal Fixed Income Trading System
![Page 22: PowerTier EJB in High-Performance Applications](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081603/56813ac6550346895da2d990/html5/thumbnails/28.jpg)
Q & AQ & A