PowerTier EJB in High-Performance Applications John Killoran European Technical Services Manager Persistence Software
Agenda l The need for a new approach l PowerTier architecture & benefits l Implementation example l Q & A
The need for a new approach l Time-to-Market – Developer productivity – Complexity – Skills shortage – Costs l Performance & Scalability – Good response times – Huge scalability – Realistic hardware platform – Costs
PowerTier Productivity l True Object-Oriented approach – Manage complexity through modelling CASE tool integrations CASE tool integrations – Easier maintenance l Code Generation – Code generation & re-generation – Container managed persistence l Increased Quality – Reduced testing
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 PowerPage Builder EJB Bean/ C ++ Object EJB Bean/ C ++ Object Database Schema Automating Development
Source: Reuters Equities benchmark Time required to implement auction benchmark 2 weeks lines of code PowerTier Automated Coding Competing Approach Hand Coding 1 day - 20 lines of code Developer Efficiency
Scalability Bottleneck Growing numbers of usersGrowing numbers of users Increasing need for common data & processesIncreasing need for common data & processes Real-time response challengeReal-time response challenge The Need for a New Architecture Transactions and Documents
The Need for a New Architecture 100%Write100%Read OLTP Client/Server eCommerce
Persistence Content Cache Web Server Java Servlet Engine Application Server Real-Time Server Synchronisation Object Caching The Persistence J2EE Solution
Dynamai Apache ServletMill PowerSync PowerTier Transactional Application Server The Persistence J2EE Solution
Performance & Scalability l Performance & scalability are similar - but not the same! l Performance – – That which affects the response time of your system to requests from a single user at a time l Scalability – – The ability of your system to maintain the same response times as the number of users increase
Data Sources Servlet Engines & App Servers Servlet Engine EJB Server cache Servlet Engine EJB Server cache Servlet Engine EJB Server cache Load Balance Cache Sync Web Servers Web Server Web Server Web Server DynamaiCaches cache Database Legacy Systems ERP Applications Scalable N-Tier Architecture
Component Architecture PowerTier EJB Server PowerTier Servlet Engine PSE plug-in PSE plug-in Apache Web Server Dynamai Dynamic Web Cache HTTP HTTP or PSE native protocol Native DB protocol or JDBC Database 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
Source: Morgan Stanley OO-Fin Benchmark Customer Benchmark
Multi-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
Web Transactions Source: Persistence caching benchmark Read transactions per second 58,000 TPS 308 TPS PowerTier Shared Caching Competing Approach using standard JDBC drivers
Sample Product Features l Optimistic locking l Transactional multi-threading
Optimistic Locking l Automated feature of PowerTier l Object Versioning l Optimistic Control – Version number (Integer, Long) – Timestamp (datetime) l Automated runtime behaviour – Checking on commit – Increment
Optimistic Locking Server A Server B
Databa se Tx Cache Shared Cache Tx Cache Object Cache Transactional Multithreading Power Sync
Instinet Global Fixed Income Trading System
Business Background l Instinet Corporation – Reuters subsidiary since 1987 – Founded 1969 – Brokerage services in 30+ countries – Global customer base l Strategy – Innovative application of advanced IT – Agency broker - therefore neutral l Fixed Income Trading – Fixed income securities; esp. Euro bonds – New market for Instinet
Business Requirements l Global trading l Fair play – “Level playing field” – Anonymous trades l Time to market – Ready in 9 months l Future proof l Market share – Dominant market share through superior technology
Technical Requirements l Performance – ~1000 transactions/sec l Developer productivity – Nine month development cycle l Highly distributed – Service 1000s clients distributed globally l Flexible architecture – Future proofing l Availability – Very high availability l Security – Anonymity & restricted access
Core Ring Remote Ring DB Core Gateway GW Remote Site (Java clients) GW App GW App Systems Architecture GW App
London DB Core GW App DB Core New York Global Systems Architecture GW App GW App GW App GW App GW App
Architectural Features l Based on Async Messaging – Load balancing l Cache Synchronisation – Certified messaging – Remote caches l Hierarchical Caches – PowerTier “OpenAgent” – EJB Entity Beans Permanent storage is transparent to the application logic Permanent storage is transparent to the application logic
Q & A