A major challenge facing organizational enterprise is to assess its investment in IBM mainframe system software and the Oracle database platform in terms of:
1. Database scalability, performance, security, and cost.
2. Distributing processing and web server integration with the IBM mainframe.
3. Developing infrastructure clouds and integration with FOSS: Free Open Source Software.
4. SOA: Service Oriented Architecture framework for application and platform migration.
5. New application development.
Leading Web Server Platforms
According to the Gartner Worldwide Application Server Market Share Report, Oracle Corporation and IBM Corporation are the leaders in the worldwide application
server market segment based on total software revenue. Industry benchmarks use Java operations per second and Java operations per second per processor cores to assess JEE application performance and the components that make up an application environment.
Based upon these standards, IBM WebSphere offers the best overall performance.
Oracle versus IBM
Oracle Corporation has two commercial application servers: the Oracle Application Server and WLS: WebLogic Server. WLS is an established server technology that has transcended past ownership changes to remain a leader in the marketplace. It
has been rebranded as Oracle WebLogic Application Server. Oracle's strategy is to make WebLogic its preferred application server. The challenge for Oracle will be managing two different application server environments and addressing technical issues which arise in its software roadmap.
Historically, BEA previous owner of WebLogic has been the leader in protocol adoption with WLS. It remains to be seen whether Oracle Corporation will continue the BEA
product life cycle policy.
Oracle’s Coherence uses a two-phase commit transaction protocol that lets all nodes in a distributed system agree to commit a transaction. The protocol results in either all nodes committing the transaction or aborting, even in the
case of network failures or node failures. The disadvantage associated with a two-phase commit is that a node will block while it is waiting for a message. This means that other processes competing for resource locks held by the blocked
processes will have to wait for the locks to be released. Coherence also uses synchronous replication support;
this can slow down the system and affect recovery times. In both cases, this inhibits performance.
WAS: WebSphere Application Server is a JEE compliant platform for assembling, deploying, and managing applications that are part of an SOA environment. WAS is the foundation of the IBM WebSphere software platform.
There are Feature Packs and complementary management technologies including WebSphere Virtual Enterprise, WebSphere Extended Deployment Compute Grid, and WebSphere eXtreme Scale.
The IBM WAS products have a shared architecture and are built on the same code base; this translates into developer investments in applications which can be repurposed across the commercial WAS offerings. Applications originally written for and deployed on a WAS Express for Windows server can be moved without any coding changes to any other WAS server.
The WebSphere product also offers support for both synchronous and asynchronous replication. Asynchronous replication allows for system activity to continue in the background to increase application responsiveness, accelerate data intensive applications, and provide high availability and fault tolerance. IBM eXtreme Scale uses a one-phase commit to offer better performance and scalability.
Oracle Coherence is an in-memory data grid which provides replicated and distributed partitioned data management and caching services with a scalable peer-to-peer clustering protocol. Scalability is achieved through clustering technology, cross-domain management, and diagnostic tooling. Wide support is provided for programming models.
IBM WebSphere eXtreme Scale functions as an in-memory data grid which dynamically caches, partitions, replicates, and manages application data and business logic across multiple servers. It
also can process high-transaction volumes efficiently with linear scalability, while offering support for higher-level programming models.
Application Infrastructure Virtualization
In order to achieve a level of AIV: Application Infrastructure Virtualization, multiple Oracle Corporation software products will need to be deployed together including 1- VMware ESX Server, MS Windows, or Linux-variant
operating system, 2- LiquidVM, 3- BEA WLS Virtual Edition. Oracle WebLogic Operations Control and WLS Virtual Edition provide management and resource control of VMware server virtual machines and support Service
Level Agreements with calculations for a variety of statistics.
IBM’s WVE: WebSphere Virtual Enterprise provides prioritization and flexibility for deployment of applications using pooled resources. WVE provides application server functionality comparable to a server hypervisor. It is application aware and provides
a wide range of services for workload and transaction management, as well as service level agreements, beyond what the Oracle and BEA solution can address.
Unlike WebLogic Operations Control, which only supports BEA products, IBM’s WVE supports other application servers including WLS and JBoss. IBM WVE provides lower cost of operations, greater
flexibility and agility, and better health management using application infrastructure virtualization and server consolidation.
The combination of three discrete Oracle products does not offer the same level of application management and quality of service as WVE.
Best Practices and Guidelines
Oracle WebLogic Server
JMS can be used in WebLogic to perform message processing; the implementation of messaging will be specific to the application. In most situations, point-to-point style messaging should use queues; publish-and-subscribe style messaging should use topics.
Multiple execute queues in WebLogic Server can be used for optimizing or throttling an application's access to execute threads. However, unused threads represent wasted resources in a Weblogic Server system and there are potential drawbacks. Thread configured execute queues can go unused, while tasks in other queues idle waiting for threads to become available.
Additional queues can be configured to optimize the performance of critical applications, throttle the performance of nonessential applications, and address deadlocked thread usage.
IBM WebSphere Application Server
WebSphere Application Server provides connection pooling to expedite database access and application processing. Connection pooling is the process of creating a predefined number of database connections to a single data source. Connections can be shared without incurring the overhead of connecting and disconnecting from the database.
EJB isolation levels can be used to optimize the storage and retrieval of persistence data. The isolation levels restrict resource access by concurrent transactions. Carefully define access intent. The access intent attribute is either read or update; the default setting is update. For methods that are going to be READ ONLY, setting access intent to READ will improve data access performance.