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