Java, app servers and oracle application grid


Published on

prelegent:Roger Freixa-Oracle

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Flow:We have acquired SUN and thus the Java platformJava is strategically important to us – we will continue to invest in it. We’ll briefly describe our strategy here.Java is the foundation of our Application Server and Application Grid strategy - we’ll explain what these are and why they’re importantWe’ll discuss how to architecturally begin to adopt a more flexible, scalable computing platform (AppGrid) through consolidationWe’ll have a quick look to the future and Appgrid’s evolution within the context of Cloud Computing
  • This is our standard disclaimer--we will touch on some visionary things in this talk that should not be used for contractual purposes.
  • One of the ways that the IT industry is dealing with the need to support more complex demands but with greater simplicity is to be really focused in where they spend custom development efforts. IT managers, architects, and developers are being much more judicious in avoiding reinventing the wheel and using off-the-shelf technologies and components wherever possible. This reserves high-value custom development efforts for aspects of IT that truly differentiate the business.
  • First, just to put things in perspective, Java *is* the single most widely used development language in the world today, with over 9 million developers saying they spend at least some of their time developing in Java, according to a recent Evans Data study. That’s out of a world population of about 14 million developers.Oracle realises the importance of Java and has done for some time. Our entire FMW platform is built on Java and the Java platform in the foundation for all of our applications.
  • Enterprise Java has evolved in an amazing way since its emergence in 1998 with Enterprise Java Beans 1.0. The development of EJBs along with technologies such as JMS, Web services standards, JSF, and so on, along with many technologies not part of Java EE per se but complementary to it such as BPEL and SCA, has brought about the most comprehensive platform for enterprise software development ever.Oracle has been closely involved in the Java Community Process since the mid-1990s, leading many JSRs and leading execution of the JCP. Oracle’s major contribution to Java’s open source projects was TopLink (Object-relational mapping software acquired from WebGain in 2002).JDK downloads = ~7M per annum. We are currently working on JDK7 – to be released in 2010.840M Java Runtimes installed on desktops worldwide.
  • Oracle’ s strategy for Java is to:Enhance and extend the reach of the Java Programming ModelIntegrate and simplify the Java platformInvest in the Java Community Process and make it more participative.
  • So what is Java? I don’t expect you to be able to read all the individual items in this architecture diagram of Java SE, but let’s walk through the macrol-level pieces and calibrate a sense of what all is in here. [click] First is the Java language itself. [click] Complementing that you have basic tools such as the compiler that turns Java code into the byte codes executed by the Java Virtual Machine. [click] You have deployment tools such as those supporting WebStart and browser plugins. [click] you have UI libraries such as Swing, [click] base libraries such as math and I/O, and [click] then of course the JVM. [click] All together this is a platform for extremely productive development, highly tuned runtime, ongoing innovation, and supported by a community process.JavaME: 85% of phones worldwide run on JavaME. 100,000+ mobile applications built for JavaME platform.Evolution of mobile computing (iPhone, Blackberry) means we will invest significantly in Java ME and optimise its performance – make WORA a reality for new devices. Oracle is going to unify the APIs of SE and ME for the first time so that applications can be built more quickly and are more portable across the platform.Optimise performance of Java ME. Ensure portability across IPTV, BlueRay etc.JavaFX – ability to build rich, design-based applications had been lagging behind. Those wanting to develop a design-oriented site / apps and want to do it visually can now use JavaFX with drag and drop assembly functionality and cinematic experience.Oracle is going to eliminate the lines between Java, JavaScript and DHTML to make interoperability easier.Ensure portability across to JavaTV, mobile devices etc.Combine with ADF and ADF mobile.
  • Oracle’s strategy is to continue to invest and develop in Java. Java SE7 is the next platform release: Oracle will focus on modularity and performance. Jrockit and Hotspot are strategic JVMs that will be able to run natively on hypervisors.
  • JavaEE – a vibrant community. Java EE 6 released from JCP December 14th 2009.Bedrock of application server implementations. Oracle strategy:GlassFish remains reference implementation for Java EE and WLS is strategic Enterprise appserver.Evolve the Java EE 6 reference implementation to include modularity with profiles – simplify
  • So what is an application server? In short, it is an implementation of the Java EE standard we just reviewed. But if Java EE is an industry standard that anyone can implement, what is there to differentiate between different implementations of the spec? As long as they pass the compatibility test, aren’t all Java EE implementations the same? [click] First and foremost, different implementations that are all “compatible” will have very different performance and reliability characteristics, and these translate directly into your business’s competitiveness. Run your code on an app server that is slow or crashes a lot, and you lose customers. [click] Beyond what’s specified in the standard, application server vendors do different things in the way of clustering, integration, and management. These are directly related to scalability, flexibility, and how easy it is to manage not just a single application server instance, but you infrastructure in aggregate. These things are important to the business’s bottom line with their impact on efficiency.
  • Main point: the BEA integration is done, and both WebLogic and OC4J customers in the audience should be happyAs we mentioned earlier, WebLogic Server 11g represents a phenomenal 12-month development exercise in converging the world’s leading application server technologies. Let’s look at this in more detail.At a macro level, the converged container includes modules from both roots, such as WebLogic Server’s clustering and OC4J’s RAC integration and diagnostics capabilities. <click> On top of this application server is certified the rest of the Oracle middleware stack, and note that WebLogic Server 11g includes the OC4J support for Forms, Reports, Portal, etc. as well as SOA, BPM, WebCenter, Identity Management, etc. <click> Finally note that this the platform of choice for both custom apps and packaged apps; in particular it is the platform for the forthcoming Oracle Fusion Applications.
  • Important also to note is that both the Java EE standard and its implementation as an application server need to bridge two very different worlds: that of the developer, who is concerned with productivity and agility in areas such as installation, startup, and update, and that of the operations department, which is concerned with dependability, performance, scalability, ease of management, resource utilization, etc. What we’re building up to here is that the Java EE standard is the best standard for this in the world, and Oracle’s implementation, particularly in WebLogic Server, is the best implementation of that is WLS - strategic enterprise platform/designed for enterprise Java apps, FMW and Fusion Apps". Here is GlassFish - a great product - developer friendly, widely adopted, and we continue to invest in it both due the industry obligation  - the Java EE RI - and because we want to keep the customers and developer community.   If you want the higher end features of WLS or FMW/FMW Apps, WLS is your choice. If you want GF and like its capabilities and focus, its a great product
  • A term we hear a lot these days is shared services. The notion of resource sharing occurs at different levels of the stack, whether you’re talking at the macro level about enterprise departments sharing centralized IT services or at a deeper technical level were you’re talking about different applications sharing a physical server. The notion of resource pooling and sharing is at the core of the application grid approach.
  • So that brings us to “application grid”. What is it? You have a number of applications and services you need to support and a set of resources to run them. Traditionally there has been a highly siloed, dedicated stack approach to associated apps with resources. The application grid approach is about breaking down those silos sharing and pooling resources instead. By dynamically and automatically adjusting the allocation of resources across needs, you can get much higher utilization out of hardware because you’re not provisioning each application for its own worst case. You get higher reliability through the multiplicity of resources, and higher performance through parallelization.
  • From this you address <click> efficiency with lower operational costs, competitiveness by enabling your business to outperform competitors with responsiveness and innovation, and <click> simplification by consolidating to a consistent foundation that has many synergies with the rest of the stack—particularly the Oracle stack.
  • The first thing to do is to take advantage of technology you likely already have running in your data center. Nothing new to buy for this step—it’s a matter of using application servers and related technologies in ways you may not have already been doing. First,[click] Use application server clustering for scale-out[click] Consolidate to WebLogic Server. This means a few things – converting a potentially heterogeneous set of app server technologies to WebLogic Server, and then also consolidating workloads onto the right number of clusters and nodes per cluster for your applications.[click] Use scripting to automate scaling[click] You now have a foundation for application grid, with some level of course-grained dynamic resource adjustment
  • Once you’re taking fuller advantage of your application server clustering for course-grained dynamic resource adjustment, an additional step you may want to take is to improve scalability and performance. Oracle’s Coherence in-memory data grid is just the technology for this.[click] you can add Coherence in-memory data grid nodes to existing machines (such that each server is running both application server nodes and Coherence nodes)[click] you can also add machines dedicated to the in-memory data grid, creating a tiered caching architecture, depending on the needs of your applications.[click] third, you can improve the performance of your application grid even more by swapping in the JRockit Real Time JVM in the places in your grid that require very low latency with predictable performance.
  • The third major step in your consolidation effort toward creating an application grid is to automate more aspects of the grid operation.[click] a first step would be to add Oracle Enterprise Manager and use it as a centralized console and control element from which to manage your application servers, Coherence data grid nodes, and other application grid components.[click] second is to set up grid-wide SLA’s, policies, etc. within Enterprise Manager’s policy mechanism[click] taking this further is to have policies that automate grid behaviors, such as having a node added to a WebLogic Server cluster when the application running on the cluster nears a responsiveness threshold.
  • So let’s take a look at a few customer cases and see where they are on their respective paths to implementing an application grid architecture and practices.First is a large computer hardware manufacturer, who centralized their application server infrastructure on WebLogic Server. They have 200 different applications including PeopleSoft running on WebLogic Server clusters totaling 2000 nodes. Their consolidation effort cut admin resource by a factor of 10 and deployment costs by a factor of 4.Our second example is a top European Telecom, who went a step further than in the previous example in not just consolidating but actually creating a centralized platform with shared components, with an explicit mandate to create “middleware as a service”. The automated the provisioning of a standard WebLogic Server build environment and are well on their way to reducing administration to a ratio of hundreds of apps per staff member.Our third example is a top [European] global investment bank, who went even further with consolidation, shared service, and reusable components in a platform. They also federated security, bring value even beyond the 7:1 server consolidation and 20% reduction in operating costs to enable the security governance required in the banking industry to be uncompromised while allowing changes in days instead of months.
  • Let’s start with the big picture of cloud computing and how Oracle Fusion Middleware fits into it. First there is the distinction between public and private cloud. You’re probably more familiar with public cloud, whether it’s applications offered over the Web as a service such as or infrastructure offered as a service such as Amazon’s EC2. Oracle Fusion Middleware, including WebLogic Server, is very well set up to be run on public cloud infrastructure. On the other hand is private cloud, the idea of setting up a cloud internal to your enterprise, gaining cloud’s deployment agility, resource efficiency, and elastic capacity while enabling that integration and control over quality of service and security that deter many enterprises from using public clouds. Again, Fusion Middleware, with application grid in particular, is an important enabler for setting up private clouds.
  • If we look in more detail at the scenario where Oracle Fusion Middleware is used as the basis for a platform-as-a-service private cloud [click] we see that application grid’s enablement of resource sharing with automated dynamic capacity adjustment and support for fast deployment that we’ve been talking about throughout this presentation are important enablers. Why would one want to set up a private cloud? [click] increased operational efficiency, deployment agility, and high quality of service. And why Oracle for these components? Highest performance, and probably more importantly, the most automated and dynamic capacity adjustment.
  • Moving up the stack, there’s an exciting new innovation in Oracle Fusion Middleware that allows you to get even more out of server virtualization: WebLogic Server Virtual Edition. WebLogic Server Virtual Edition is a variant of WebLogic Server designed to run directly on a virtualized server with no operating system. This is significant because, not only does it greatly improve the performance of Java apps running in virtualized environments, it makes the appliances themselves substantially smaller given the absence of the OS. WebLogic Server Virtual Edition appliances are thus faster and easer to create since there’s no OS to configure, faster to deploy since a much smaller appliance image is being transmitted to and started on the virtual server, and faster to live-migrate, since again there are fewer bits to transfer. These appliances are also easer to administer since there is no OS to patch and upgrade, and more secure since there is no OS presenting opportunities for breech.
  • Now, let’s take this whole concept of prepackaging components with exposed extension points to the next level. As nice as an appliance is, the reality of typical enterprise applications is that they are not self-contained, single-element entities but rather comprise multiple distributed elements that are connected together. [click] Each element might be an appliance, but the application overall consists of multiple appliances connected in a certain way. Here’s where we introduce the notion of an assembly, a sort of “meta appliance” that consists of multiple appliances plus information about how to connect them. [click] Oracle Assembly Builder is a tool that takes such a multi-tier, distributed application and packages it up into an assembly that can be reused in a way similar to the way appliances are used. [click] the assembly, like an appliance virtual image, is essentially a file that contains the images of the constituent appliances as well as metadata about how those appliances get configured, connected, and started up.
  • Java, app servers and oracle application grid

    1. 1.
    2. 2. Java, Application Servers, and Application Grid: The Rock-Solid Foundation for Enterprise Software<br />Roger Freixa<br />EMEA FMW Principal Product Manager – Application Grid<br />
    3. 3. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.<br />The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.<br />©2010 Oracle Corporation <br />3<br />
    4. 4. The Way Enterprises Use IT is Changing<br />©2010 Oracle Corporation <br />4<br />Use more off-the-shelf functionality for aspects of IT that are not differentiating to the business<br />Focus custom development on truly differentiating functions—and demand much more of it! (richer options, faster to develop, faster to change)<br />
    5. 5. Java Strategy<br />
    6. 6. JavaWorld’s Most Popular Programming Platform<br />
    7. 7. Oracle and JavaA shared history of success<br />©2010 Oracle Corporation <br />7<br />Oracle WebLogic Server: #1 Java EE Application Server<br />TopLink to Open Source<br />Oracle Fusion Middleware<br />2010<br />Java in Oracle Database<br />2005<br />Java EE 6<br />Oracle JDeveloper<br />Java EE 5<br />2000<br />J2EE 1.4<br />J2EE 1.3<br />1995<br />J2EE 1.2<br />EJB 1.0<br />Servlet 2.1<br />Java<br /><ul><li>Enthusiastic participant from the beginning
    8. 8. Executive Committee member of the Java Community Process
    9. 9. Participating in over 80 Java Specification Requests (JSRs) – leading nearly 20</li></li></ul><li>Customer SuccessJava – World’s Most Popular and Ubiquitous Runtime<br />5.5 Billion Cards<br />2.6 Billion Phones<br />840 Million+ PCs <br />730 Million Downloads per year<br />40 Million TVs and Blu-ray Devices<br />9 Million+ Developers worldwide<br />2 Million+ Downloads per day<br />100+ Hardware platforms<br />Used by 100 of Fortune 100<br />
    10. 10. Java Strategy<br />Enhance and Extend reach of the Java Programming Model to emerging Application Development Paradigms<br />Integrate and Simplify the Java Platform optimizing it for a variety of existing and new Deployment Architectures <br />Invest in and revitalize the Java Developer Community with best of breed Java Technology<br />
    11. 11. Java PlatformComplete. Open. Integrated.<br />Mobile<br />Desktops<br />TV<br />Cards<br />Servers<br />JavaFX<br />Java EE<br />Embedded<br />APIs<br />Java SE<br />Java ME<br />Java Card<br />Java TV<br />VMs<br />Server JVM<br />Client JVM<br />Mobile JVMs<br />CardJVM<br />TV JVM<br />Language<br />Java Language<br />10<br />
    12. 12. Java RuntimeJava SE<br />Rapidly deliver Java SE 7 with many new features<br />Modularization<br />Developer productivity<br />Multiple languages<br />Higher performance<br />Support for Multi-Core Processors<br />HotSpot and JRockit are strategic JVMs<br />Converge best features of HotSpot and JRockit<br />Management and Real-time Monitoring<br />Run natively on Hypervisors <br />Optimize/Remove Permgen<br />Thread Local, Server Class Garbage Collection<br />NUMA Compiler Optimization for Multi-Cores<br />Continued support for all leading OSs<br />
    13. 13. Java Application ServerJava EE<br />Evolve current Java EE RI to further address key initiatives<br />Modularity with Open Standards<br />New Lightweight Server Profiles<br />UI and Rich Internet Applications<br />Scripting and Dynamic Languages<br />Optimized Web Services Stack<br />Glassfish and WebLogic are strategic Application Servers<br />Glassfish remains Java EE Reference Implementation<br />WebLogic remains strategic Enterprise Application Server<br />No change in support timelines or distribution model for Glassfish<br />
    14. 14. Javaand the Application Grid<br />
    15. 15. The Importance of the Application Server<br />©2010 Oracle Corporation <br />Performance<br />Reliability<br />Competitiveness<br />Application Server<br />Application<br />Java EE APIs<br />Clustering, Integration, Management<br />Scalability<br />Flexibility<br />Manageability<br />WebLogic Server<br />Efficiency<br />Oracle App Server<br />14<br />
    16. 16. 11g: Convergence Ultimate App Server<br />©2009 Oracle Corporation <br />15<br />Custom Apps<br />Packaged Apps<br />Other Oracle Fusion Middleware<br />Forms<br />Portal<br />Reports<br />Discoverer<br />WebLogic Server 11g<br />Clustering<br />Configuration<br />Diagnostics<br />TopLink<br />Messaging<br />Transactions<br />Security<br />RAC Integration<br />Runtime<br />WebLogic Server<br />Oracle App Server<br />
    17. 17. Design Time and Run TimeNeeds of two very different worlds to reconcile<br />©2010 Oracle Corporation <br />16<br /><ul><li>High productivity and agility for development
    18. 18. Modular download, install
    19. 19. Lightweight configuration, startup
    20. 20. Fast, incremental update
    21. 21. Instrumentation for tuning
    22. 22. Easy transition to production
    23. 23. Enterprise dependability and responsiveness for production
    24. 24. Industry-leading reliability, availability, scalability
    25. 25. Performance
    26. 26. Management instrumentation and automation
    27. 27. Architecture for dynamic resourcing and cloud</li></li></ul><li>©2010 Oracle Corporation <br />17<br />
    28. 28. Application Servers and Application Grid<br />©2010 Oracle Corporation <br />18<br />App<br />App<br />App Server <br />App<br />App Server<br />App Server<br />App<br />App Server<br />Traditional World<br /><ul><li>Dedicated stacks
    29. 29. No scale-out
    30. 30. Expensive, slow capacity expansion/adjustment
    31. 31. Inefficient utilization</li></ul>Application Grid<br /><ul><li>Pooled, shared HW
    32. 32. Scale-out with app server clustering
    33. 33. Automated, instant adjustment
    34. 34. Efficient utilization, optimized across data center</li></li></ul><li>Application GridThe architecture for the future<br />©2010 Oracle Corporation <br />Custom App<br />Packaged App<br />SOA Service<br />C/C++/ COBOL<br />Legacy<br />Automated, dynamic adjustment<br />Application Grid<br />Pooling and sharing of resources<br />Lowest operational costs<br />Best foundation for entire software stack<br />Outperform with speed and flexibility<br />19<br />
    35. 35. Oracle Application GridProduct Strategy<br />EfficiencyLowest operational costs<br />SimplificationBest foundation for entire software stack<br />Competitiveness<br />Outperform with speed and flexibility<br />
    36. 36. Consolidate for Application Grid adoption<br />
    37. 37. WLS<br />WLS<br />WLS<br />WLS<br />WLS<br />WLS<br />WLS<br />WLS<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />Consolidation: Leverage Application ServerBuild foundation for efficiency and flexibility<br />©2010 Oracle Corporation <br />22<br /><ul><li>Use application server clustering for scale-out</li></ul>Value: More Efficient to Operate<br /><ul><li>Consolidate to WebLogic Server
    38. 38. Automate scaling</li></ul>You now have a foundation for application grid!<br />
    39. 39. Consolidation: Enhance Scalability and PerformanceMake your grid more dynamic and resilient<br />Coherence<br />Coherence<br />JRockit<br />JRockit<br />Coherence<br />Coherence<br />©2010 Oracle Corporation <br />23<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br /><ul><li>Add Coherence in-memory data grid to existing machines</li></ul>Value: Higher Performance<br /><ul><li>Add additional Coherence nodes
    40. 40. Add JRockit Real Time JVM</li></li></ul><li>Consolidation: Add/Enhance Grid ManagementAttain higher automation and optimization<br />©2010 Oracle Corporation <br />24<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />App Svr<br />Enterprise Manager<br />Value: Foundation for Entire Stack<br /><ul><li>Add Enterprise Manager
    41. 41. Set up grid-wide SLAs and policies
    42. 42. Automate scaling of application server and data grid clusters</li></li></ul><li>The Value of Consolidation<br />©2010 Oracle Corporation <br />25<br /><ul><li>200 apps including PeopleSoft HR on 2,000 instances of WebLogic Server
    43. 43. Admin resources reduced from 50 to 5
    44. 44. 4x reduction in application infrastructure deployment costs
    45. 45. Centralized, shared application server infrastructure
    46. 46. In the process of creating a standardized, shared middleware infrastructure including Oracle WebLogic and SOA
    47. 47. Automated provisioning of a standard build environment
    48. 48. Goal to have <10 admins manage hundreds of apps
    49. 49. “Middleware as a Service” with reusable components
    50. 50. Centralized deployment of 200 applications
    51. 51. Consolidated from 2800 to 400 servers
    52. 52. Reduced operational expense by 10-20%
    53. 53. Security governance changes implemented in 2 nights instead of 3 months
    54. 54. Centralized Java application platform with federated security</li></li></ul><li>Cloud Computing and the Evolution of Application Grid<br />
    55. 55. Oracle Fusion Middleware and Private Cloud<br />©2010 Oracle Corporation <br />27<br />Enablerfor private cloud<br />Enabled for public cloud<br />Public Cloud:<br /><ul><li>Lower upfront costs
    56. 56. No infrastructure setup
    57. 57. Minimal management</li></ul>Private Cloud:<br /><ul><li>Lower total costs
    58. 58. Easier integration
    59. 59. Greater control
    60. 60. Quality of service
    61. 61. Security</li></ul>Public and Private:<br /><ul><li>Deployment agility
    62. 62. Resource efficiency
    63. 63. Elastic capacity</li></li></ul><li>Application Grid as Enabler for Cloud<br />©2010 Oracle Corporation <br />28<br />Application Grid<br />Key Benefits<br /><ul><li>Operational efficiency
    64. 64. Deployment agility
    65. 65. High quality of service</li></ul>Why Oracle<br /><ul><li>Highest performance
    66. 66. Most dynamic</li></ul>Cloud Enabling Capabilities<br /><ul><li>Resource sharing
    67. 67. Automation
    68. 68. Dynamic capacity adjustment
    69. 69. Fast deployment</li></li></ul><li>Introducing WebLogic Server Virtual OptionEliminate the OS from Appliances for Even Greater Agility<br />Standard Virtual Machine Image Appliances<br />WebLogic Server Virtual Edition Appliances<br />Application<br />Appliance<br />WebLogic Server VE<br />Middleware<br />Appliance<br />OS<br /><ul><li>Smaller appliances
    70. 70. Faster deployment
    71. 71. Higher utilization
    72. 72. More secure
    73. 73. Higher performance
    74. 74. Faster live migration</li></ul>OS<br />OVM<br />OVM<br />OVM<br />© 2010 Oracle Corporation<br />29<br />
    75. 75. The Next Level: AssembliesApplications Are Often Multi-Tier And Distributed<br />Web<br />Web<br />Web Tier<br />Assembly<br />AppTier<br />OVM<br />OVM<br />WL<br />WL<br />SOA Svc<br />OVM<br />OVM<br />Metadata<br />RAC<br />RAC<br />Oracle Assembly Builder<br />Assembly = appliances + metadata describing:<br /><ul><li>Configuration
    76. 76. Connections
    77. 77. Startup sequence</li></ul>Database Tier<br />© 2010 Oracle Corporation<br />30<br />
    78. 78. Take-Aways<br />©2010 Oracle Corporation <br />A Java and Java EE-based infrastructure implemented using Oracle Fusion Middleware provides a future-proof, rock-solid foundation for your applications<br /><ul><li>Fundamental Enablers:
    79. 79. Right language
    80. 80. Right platform
    81. 81. Right architecture
    82. 82. Right environment
    83. 83. Key Benefits:
    84. 84. Richest set of possibilities
    85. 85. Fastest/easiest exploitation of possibilities
    86. 86. All on enterprise-class foundation
    87. 87. Oracle:
    88. 88. #1 Java EE application server
    89. 89. Best platform for centralization and consolidation
    90. 90. Best platform for shared services, grid, and cloud</li></ul>31<br />