Your SlideShare is downloading. ×
0
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Rogue Wave Presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Rogue Wave Presentation

915

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
915
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Rogue Wave technology leverages proven expertise and long history of C++ language optimization – native code that excels compared to Java and other message types in many memory resizing operations and in rapid navigation of documents - maximizing performance and through-put capabilities. Rigorous testing performed by scholars at the Carnegie Mellon Software Engineering Institute* demonstrated that Rogue Wave® tools outperformed competitors in numerous performance categories. The most proven, trusted foundation for building enterprise C++ applications in the industry, Rogue Wave® components are used by New York's 15 largest investment companies to help power their mission-critical business systems.* Designed with one goal in mind – to facilitate the efficient delivery of C++ applications on time, on budget and exactly to specification. Rogue Wave® tools support over 45 platform combinations and 14 database variations.
  • I remember back when “high performance” meant squeezing another 20% out of a system, or supporting 50 to 100 concurrent users. Not anymore, as business is driving us at a furious pace. Business growth, both in current and new business models, is driving huge volume increases in message flow. Companies are becoming ever-more dependent on data as well – in fact for many organizations such as those many of you work in, data is the commodity you deal with. I’ve had executives tell me that they had to pass up on some highly lucrative business ideas, because systems couldn’t keep pace. Or worse, when the systems were developed, they didn’t perform well enough to provide the competitive edge needed for success. This situation is driving new levels of scalability requirements, unheard of just a few years ago. We’ve seen demands for 2X, 10X, I even had a customer tell me they need a 50X improvement over current levels of throughput. If this weren’t challenging enough, add SOA to the mix. An architecture founded primarily on the idea of “loose-coupling” of software services, using Web services are the primary integration point – highly flexible in concept, but clearly not designed for performance. Now it just got a lot harder to accomplish the goal.
  • The traditional approach to parallel computing has been the Compute-Grid. This is ideal for huge computational problems, ones that are very large and very predictable. Its simple in concept – divide the problem into dozens or hundreds of “chunks”, dole the work out to numerous CPUS, let them crunch away, and then recompile the results. Its often referred to as the “embarrassingly parallel” problem, because there is no liability in performing all the individual pieces at the same time – in other words there are no serial requirements. This style of grid computing came from the scientific community, to solve problems like computing the human genome, or searching for extra-terrestrial life. No doubt grid computing is great for things like a Monte Carlo simulation, or the huge permutations that your actuaries need to perform. But what about business transaction applications? How many of your applications really fall into this predictable Data crunching paradigm? What about things like generating more orders, commissions or trading volume? In other words, what about the other 97% that are choking our data centers? In the majority of real-world applications, we have lots of transactions, not one big computational problem. And the workload is anything but predictable, with huge peaks and valleys driven by business users and fast-paced market dynamics. Even the transactions themselves are unpredictable, with small, medium and large message sizes, processing times and so on. Also, business apps routinely require explicit order control, such as FIFO and priority – concepts that are almost diametrically opposed to parallel processing. I’ve often been asked this question: Why hasn’t grid taken hold more broadly? It has taken hold in the scientific computing world, and business analytics. What about all those boring but absolutely critical things that are the life blood of business? Things like complex billing apps, overnight batch processing, trading systems. How do you parallelize those apps? That’s the key question, how do we meet the needs of our business requirements – in other words, how do we accomplish parallel processing for business ?
  • Now let’s look at a real example, a trading service. The fundamental business requirement for this application is very simple: a cancellation of any single trade cannot be processed before the original trade order is complete. I’ve heard that’s its bad thing if that happens. Here we’re looking at handling the problem with a single. It guarantees that each trading transaction is complete before the next one is processed. It absolutely guarantees order of processing, but obviously it won’t scale very well. Let’s look at how we can apply Pipelines to the problem to improve performance.
  • Here we are running the same service, but with 3 pipelines. One for Stocks, one for bonds, and one for options. We can do this, and still preserve our business rule, because we’d never cancel a stock trade with a bond trade. And you can see that this solution allows us to process 3 trades at the same time, so it should perform about 3 times as fast. But can we do better than this?
  • The answer is yes, using Pipelines we can do a lot better. In this example, we’ve split it up into almost any number of pipelines, limited only by available processing resources. We’re dividing the transactions based on name of issue, giving us a very fine granularity of transactions for each pipeline. Again, we still preserve our order, because for example, you’d never cancel a trade of IBM shares with those of Coca Cola (or “Worldcom with one from Enron”). As you can see, this gives us almost unlimited ability to scale, while still maintaining critical business requirements.
  • This is where you start the CCS process. A good way to describe what Hydra is, would be to go through some use cases for it. #1: We have a customer that has a complex system that runs overnight to produce data needed in the morning. They are currently barely finishing the work within the window required. They attempted to fix the problem by purchasing millions of dollars of new top-end hardware. Unfortunately they saw a very minor increase in application throughput since the architecture was not designed to be scalable with the hardware. Do you have a system that processes large amounts of data overnight? #2: We have a top Wall Street financial services customer that has a large scale SOA framework they have written themselves completely in Java. This framework is meeting all the needs it was designed for, except that they also have millions of lines of C++ code that they don’t have a good way to integrate. They want to have a way to integrate their C++ code, maintain performance, while also adhering to SOA standards. Do you want to integrate Java and C++ in a high performance, standardized way? #3: We have another top Wall Street financial services customer that currently has a very scalable, high performance framework. Their framework is running their equities trading system, and is meeting the needs of the business. All but one need actually. It turns out that their system is so flexible, and so dynamic, that they don’t know what happens to a trade once it enters the system. This causes major issues when a trade doesn’t come out the other end, or when they need to show how a trade was processed to meet SOX requirements. They needed visibility and traceability into their trading application, while maintaining the flexibility and performance that it currently holds. Do you need visibility into how your application operates?
  • Z:quovadxprojectspresentationshydraMasterflashFilesagentFlowagentFlow.swf
  • Transcript

    1. Achieving High Performance in a Service Oriented Architecture (SOA) Patrick Leonard Vice President Product Development Rogue Wave Software
    2. Agenda <ul><li>Business Drivers for SOA </li></ul><ul><li>Performance Challenges for SOA </li></ul><ul><li>Practical Approaches </li></ul><ul><li>Results </li></ul>
    3. <ul><li> Rogue Wave Software provides reusable software components and services to professional developers enabling the creation of enterprise-class applications. </li></ul><ul><li>Wall Street-Proven Quality </li></ul><ul><ul><li>Most proven, trusted foundation for building enterprise C++ applications </li></ul></ul><ul><ul><li>Rogue Wave® components are used by each of New York's 15 largest investment companies to power mission-critical business systems** </li></ul></ul><ul><li>Mind Bending Performance </li></ul><ul><ul><li>Rigorous testing performed by the Carnegie Mellon Software Engineering Institute shows Rogue Wave® tools outperform the competition* </li></ul></ul><ul><li>Unparalleled Flexibility </li></ul><ul><ul><li>50 platforms, 14 database combinations – in each release! </li></ul></ul><ul><ul><li>Interoperable with XML, Web services, and major message busses </li></ul></ul><ul><ul><li>Source code included with many products </li></ul></ul>Rogue Wave Software Serving the Professional Developer for 15 years *Hari, L., Midha, A., Singh, R. (2005). “Rapid Integration Tools for Rapid Application Development.” Carnegie Mellon Software Engineering Institute **Crain’s New York Business, Book of Lists 2005
    4. Common Business Goals for SOA <ul><li>Growth </li></ul><ul><ul><ul><li>M&A, new products and markets </li></ul></ul></ul><ul><li>Agility </li></ul><ul><ul><ul><li>Outmaneuver competition, dazzle customers </li></ul></ul></ul><ul><li>Reuse / Productivity </li></ul><ul><ul><ul><li>Cost and time savings </li></ul></ul></ul>Business requirements are driving SOA adoption
    5. 2x 10x EVEN 50x Increase in Data Dependency and Volume Performance Demand Business Growth SOA THE CHALLENGE
    6. Applications <ul><li>Performance </li></ul><ul><ul><ul><li>Low-latency applications </li></ul></ul></ul><ul><ul><ul><li>High throughput / volume </li></ul></ul></ul><ul><ul><ul><li>Batch to Real-time </li></ul></ul></ul><ul><li>Flexibility / Agility </li></ul><ul><ul><ul><li>Migration from legacy applications </li></ul></ul></ul><ul><ul><ul><li>Combine multiple disparate systems </li></ul></ul></ul><ul><ul><ul><li>Application abstraction </li></ul></ul></ul><ul><ul><ul><li>Consistent data services layer </li></ul></ul></ul>
    7. <ul><li>“ For SOA implementations with large numbers of users, Services, or traffic, however, maintaining the necessary performance levels presents a substantial challenge…” </li></ul><ul><ul><li>Jason Bloomberg, Zapthink </li></ul></ul><ul><ul><li>http:// www.zapthink.com/report.html?id =ZAPFLASH-2006920 </li></ul></ul>
    8. Does SOA hurt Performance? <ul><li>It doesn’t have to, but… </li></ul><ul><li>Common performance challenges </li></ul><ul><ul><ul><li>Tightly coupled  Loosely coupled </li></ul></ul></ul><ul><ul><ul><li>XML use (10-15x increase in doc size) </li></ul></ul></ul><ul><ul><ul><li>Central bus architectures </li></ul></ul></ul><ul><ul><ul><li>Asynchronous communication </li></ul></ul></ul>How do you combine the agility of SOA with High Performance?
    9. High Performance: 2 Dimensions <ul><li>Scale out – “Scalability” </li></ul><ul><ul><ul><li>The total throughput of the system </li></ul></ul></ul><ul><ul><ul><li>“Can I add more servers to help?” </li></ul></ul></ul><ul><li>Scale up – “Performance” </li></ul><ul><ul><ul><li>The time a single message take to flow through </li></ul></ul></ul><ul><ul><ul><li>“How quickly does the system respond to a request?” </li></ul></ul></ul>
    10. Combining High Performance and SOA – Practical Approaches <ul><li>Scalability: </li></ul><ul><li>Do more than one thing at a time </li></ul><ul><ul><li>Parallel with Order guarantee for massive scale out (“Software Pipelines” ) </li></ul></ul><ul><li>Distributed Data </li></ul><ul><ul><li>Put the data close to where it’s needed (“Distributed SDO”) </li></ul></ul>
    11. Software Pipelines <ul><li>Pipelines is a paradigm of software development and new approach to architecture </li></ul><ul><li>Pipelines is a technology and methodology that exploits parallel processing from a software perspective… </li></ul><ul><li>Software Pipelines allow for… </li></ul><ul><ul><li>Finite, granular control for execution of tasks at local level </li></ul></ul><ul><ul><li>Re-shuffling of tasks within a process, without rewriting code </li></ul></ul><ul><ul><li>Analysis of data content to decipher process inefficiencies and areas for segmentation for parallel processing </li></ul></ul><ul><ul><li>Exploit multi-core architectures </li></ul></ul>
    12. Combining High Performance and SOA – Practical Approaches <ul><li>Performance: </li></ul><ul><li>Fast processing of XML </li></ul><ul><ul><li>Fast parsing, avoid parsing, fast access, fast modification, distributed </li></ul></ul><ul><li>Low latency environment </li></ul><ul><ul><li>Use an optimized infrastructure - native code speeds things along </li></ul></ul><ul><li>Native services and Web services </li></ul><ul><ul><li>There’s no “W” in SOA </li></ul></ul>
    13. Services – Web and Native
    14. Results <ul><li>Can reduce memory footprint by 1/2 - 2/3 compared with traditional approaches* </li></ul><ul><li>Parsing speed can be 2-4x* </li></ul><ul><li>“ Pipelines” can bring 10x throughput gain ** </li></ul><ul><li>Latency in the range of 15ms or less </li></ul>* Based on internal benchmark testing with several commonly used products ** Compared with the same application running in serial YMMV, but the answer is “Yes, you can combine SOA and High Performance.”
    15. Rogue Wave® Hydra <ul><li>Questions? </li></ul><ul><li>[email_address] </li></ul>
    16. Financial Services Use case – Financial POC <ul><li>The Need : Scalability and flexibility in processing equity trades </li></ul><ul><li>Customer : Business tripled in last 3 years, expected to triple in the next three. Need flexibility to support new types and strategies for trades. </li></ul><ul><li>Process : Existing customers, evaluated several competitors, selected RW for POC </li></ul><ul><li>Why RW : High-performance C++ framework, peer-to-peer distribution, Java/C++ interoperability </li></ul>
    17. High Performance – Traditional Approaches <ul><li>Hardware : </li></ul><ul><ul><li>CPU performance improvements </li></ul></ul><ul><ul><li>Dual / Multi-Core CPUs </li></ul></ul><ul><li>SMP & Clustering </li></ul><ul><li>Network Routing – ‘Round Robin’ </li></ul><ul><li>Grid Computing </li></ul>
    18. SCA – Service Component Architecture <ul><li>Next major enterprise architecture spec for SOA </li></ul><ul><ul><li>Comparable to Microsoft WCF </li></ul></ul><ul><li>Hydra is the first product to support SCA concepts with high performance </li></ul><ul><ul><li>Rogue Wave has been planning for SCA-compatible capabilities for some time </li></ul></ul><ul><li>Hydra SCA will complement and improve runtimes from major vendors: </li></ul><ul><ul><li>Pipelines for ultra-scalability and parallelization </li></ul></ul><ul><ul><li>Cross-language Service Data Objects (SDO) with integrated Java/C++ memory model </li></ul></ul>
    19. <ul><li>“ Rogue Wave Software… has carved out a new top-end niche in SOA.” </li></ul><ul><ul><li>Dana Gardner, Interarbor Solutions </li></ul></ul><ul><ul><ul><li>http://blogs.zdnet.com/Gardner/index.php?p=2270 </li></ul></ul></ul><ul><li>“ SCA Is a Winner in the Quest to Establish a Common Notation for SOA” </li></ul><ul><ul><li>Jess Thompson, VP, Gartner Group </li></ul></ul>Industry Leadership
    20. PARALLEL PROCESSING FOR BUSINESS Compute-Grid Real-World
    21. TRADING SERVICE – SINGLE PIPELINE
    22. TRADING SERVICE – THREE PIPELINES
    23. TRADING SERVICE – “n” PIPELINES
    24. Introducing Rogue Wave ® Hydra The next-generation SOA product suite with a focus on performance and scalability, meeting the most challenging demands of growth-oriented enterprises.
    25. HydraAgent…
    26. Eclipse-based tools…
    27. <ul><li>Service Data Objects </li></ul><ul><ul><li>An IBM/BEA SOA specification for accessing different data formats in a consistent manner </li></ul></ul><ul><ul><li>Now supported in version 2.0 by Oracle, SAP, Iona, Siebel, Sybase as part of Service Component Architect (SCA) </li></ul></ul><ul><ul><li>XML style API in both Java and C++ </li></ul></ul><ul><li>HydraSDO implementation </li></ul><ul><ul><li>Lightweight and distributed for high-performance </li></ul></ul><ul><ul><li>Optimized for Shared Memory Access (SMA) between Java/C++ </li></ul></ul>Introducing HydraSDO ™
    28. <ul><li>Data Access Service (DAS) for parsing data and populating a DataGraph consisting of DataObjects and a Change Summary </li></ul><ul><li>Application retrieves DataGraph using the SDO API, modifies the data graph as required, and applies any changes back through DAS </li></ul><ul><li>The data is parsed just once, after which it can be navigated using XPath expressions </li></ul>SDO in Action
    29. Java and C++ APIs
    30. Customer Examples
    31. ISV / OEM / SI / ASP <ul><li>Sell fairly complex products </li></ul><ul><ul><li>BMC, BO, Avaya, hardware solutions </li></ul></ul><ul><li>Focus on immediate value </li></ul><ul><ul><li>More throughput = sell to big accounts </li></ul></ul><ul><ul><li>Easy to embed, less complexity </li></ul></ul><ul><ul><li>Available source code </li></ul></ul><ul><ul><li>Controlled costs up front and ongoing </li></ul></ul><ul><li>Significant future marketing </li></ul>
    32. ISV / OEM / SI / ASP Use case – Customer Relationship vendor <ul><li>The Need: Customer data in batch nightly, they are out of batch window, overall IT cost is 15% of revenue and 40% is Oracle license </li></ul><ul><li>Customer: Reduce Oracle dependency, improve performance 10x to 20x, increase batch to grow business and increase revenue </li></ul><ul><li>Process: Executive champion with former relationship with Quovadx team leveraged </li></ul><ul><li>Why RW: Scalability, flexibility, cost-effectiveness – practical approach </li></ul>
    33. Healthcare <ul><li>Providers & Payers have new IT/ business requirements for interoperability </li></ul><ul><ul><li>Heterogeneous environment with multiple core systems and applications </li></ul></ul><ul><li>Growing trend toward consumer-driven healthcare </li></ul><ul><ul><li>Millions of healthcare consumers, billions of transactions, highly data-intensive </li></ul></ul><ul><li>Vendor lock-in is high </li></ul>
    34. Healthcare Use case – Healthcare POC <ul><li>The Need: Many 3 rd party technologies & components, need flexibility to accommodate dynamic business rules, existing preferred application is handling only 5% (consumer driven healthcare) of their business volume today </li></ul><ul><li>Customer : Claims volume expected to grow by 20 to 40 times in the next 24 months </li></ul><ul><li>Process: Existing QUOVADX relationship, existing vendor presented proprietary offering </li></ul><ul><li>Why RW: Avoid vendor lock-in due to multiple technology support, parallel processing performance capabilities, business process flexibility </li></ul>

    ×