The claim to fame of the J2EE application server market was the ability to define a standard platform for running business applications, and then have multiple vendors competing on providing the best implementation of that standard. Oracle's acquisition of BEA marks an end of an era in that regard. Let's face it, there is no real open market out there. Both Oracle and IBM are now trying to push their bloated solution packages, which have very little in common with each other.
So what does it mean?
First I'd like to start with an interesting analysis (A MUST READ) by VAUHINI VARA and BEN WORTHEN As Software Firms Merge, Synergy Is Elusive about software acquisition strategy:
"As the big software companies flesh out their integration plans internally, customers on the outside are left with unanswered questions about their future. It often takes years for software makers to integrate all the products they have bought -- if they manage to at all -- making it hard for customers to decide what to buy in the meantime. Some customers worry about losing negotiating power in the long run as the number of product choices dwindles. And all the dealmaking can crimp a CIO's ability to plan, since it's unclear which software makers will survive."
In this specific case, Oracle and BEA have a lot of overlap in their product portfolios. I expect that it's going to take some time until all this huge merger will shape up.
But who needs J2EE application servers anyway?
We can't ignore the fact that this acquisition comes at a very interesting time. A time in which people are actually moving away from J2EE application servers, so an investment in an application server that is already mature and has a hard time to keep up with market trends as is more of an investment in the *past* and is going to further slow down any new development. In turn, this uncertainty will accelerate the trend for moving away from WebLogic. To understand this, see what John Matelski, Chairman of the International Oracle User Council wrote in an op-ed that is posted on Oracle’s own website:
Oracle’s dual commitment to Oracle Applications Unlimited and Oracle Fusion has always given fodder to the grassy-knoll folks. They point to the existence of both as proof of a lack of commitment to either, theorizing that trying to fund both initiatives will inevitably lead to a dilution of resources and, ultimately, a delay of Oracle Fusion or nominal support of Applications Unlimited. And they already announced a significant delay in Fusion Apps to 2009.
So what are the alternatives?
The good news is that the alternatives are not just IBM or to a lesser degree JBoss, the alternatives is based on open source and new platforms geared for SaaS, a-la-SalesForce, Amazon and Google as noted in another analysis here:
One wild card for Oracle is open source software, a movement that has seen growing traction and has expanded from the lower operating-system level to business software. Open-source software is freely available, collaboratively developed and often sold in the form of service subscriptions. It poses a long-term threat to the proprietary software at the heart of Oracle's business.
The open source movement has created an interesting alternative stack based on frameoworks such as Spring, Hibernate and Tomact, as well as new frameworks that are growing in popularity in the SOA world, such as Mule. Web 2.0 has generated innovation, such as Haddop (open source framework for parallel file search), Lucene (index server for search engines) and Compass (equivalent of Hibernate for Lucene) -- and lots of AJAX frameworks. Amazon and Google are gaining rapid adoption of their innovative SaaS platforms, which offer a cost effective alternative to IBM and Oracle.
Where does GigaSpaces fit in?
For GigaSpaces this announcement has great timing. Many organization are already building their own open middleware stack as a strategy – we basically help them to go all the way with that strategy by complementing those frameworks with runtime capabilities that address scalability, high-availability, performance, latency, deployment management, monitoring and more.
The combination of GigaSpaces and the open frameworks, creates and Open Application Server alternative that is compatible, but independent from, the existing application servers. It is not necessarily bounded to a specific standard, but is still compatible with different platforms that support those same open frameworks, thus avoiding vendor lock-in. Specifically, users that build their business logic using Spring would be able to run that same application on top of WebLogic or GigaSpaces.
At the end of the day, GigaSpaces' value is measured on our ability to improve performance, scalability and simplicity, not on the API itself.
What makes GigaSpaces different than alternative application servers?
The vision is to be able to plug-in GigaSpaces to any existing development framework and give it a boost without touching the application. This is very similar to how storage works today: our application can access the storage device in a similar way to how it accesses local disk. This is achieved through virtualization, which abstracts the application from the underlying physical instances it actually utilizes.
We're already making headway through the Spring support we added, and more recently, Mule and Lucene. Other frameworks will soon follow. To reach that goal we developed a unique approach for integrating these open frameworks. Instead of just bundling them together as separate tiers, we developed a virtual middleware framework, which provides data virtualization as a Data Grid, as well as Messaging virtualization and Services Virtualization, using a common runtime and clustering framework.
This way, applications that run on GigaSpaces can run across a compute cloud and scale dynamically when needed, while keeping the application code abstracted from the fact that it runs over a cloud. In addition to middleware virtualization, we also provide deployment virtualization through our SLA-driven container. This enables to abstract the application from the physical deployment environment.
Applications are deployed based on requirements such as hardware specifications (machine type, memory capacity, etc.), or software specifications (JVM version, OS, etc.). It also adds self-healing capabilities to automate the behavior in case of failure or a scaling event. As a result, developing and running an application over the cloud is as simple as running on a single machine. Testing also becomes extremely simple, because you can easily run the code on a single machine, and without changing anything, run it on the cloud to perform system testing; true agile development.
On top of that, we designed our platform to support Java, .Net and C++ out-of-the-box, and provide interoperability at the binary level, without compromising performance.
What does it mean for you?
If you're using WebLogic today, and wondering what should be your next step: the Open Application Server framework helps you to avoid making any strategic decisions today on a particular platform. You can write your application using Spring/Hibernate/Tomact, knowing that many vendors already support it. You don't have to wait until the big vendors will figure out what to do with their bloated stacks. There are alternatives out there, and obviously I believe GigaSpaces is one of them, that enable you to maintain compatibility with WebLogic or WebSphere, without being dependent on them. This way, you can achieve all of the benefits that GigaSpaces and the like can offer in terms of clustering, scaling, latency etc. with little risk.
What if I'm already using another caching product such as Coherence or Terracotta?
That's fine – as both Coherence and Terracotta support Spring, it's easy to plug them into our existing platform and enhance them with our messaging capabilities, as well as our SLA-driven containers and deployment capabilities. In fact, this combination would work much better than running them within WebLogic for many reasons. The main one is our "tier-less" approach and virtualization capabilities. The fact that we can rely purely on memory for high-availability makes our platform extremely efficient compared to the alternative. In addition, it was designed from the ground up for the scale-out architecture model, which helps get more out of the data grid/caching products. Our native support for Spring makes the integration and configuration extremely simple.
Will it help me to reduce costs?
We conducted a benchmark that compares an Order Management System based on WebLogic/Spring vs. the SAME code running on GigaSpaces/Spring. It shows that by running on top of GigaSpaces you can reduce the total cost of ownership significantly due to the following factors:
- Increased server throughput which reduces the amount of servers and software licenses required to handle the same volumes
- Shorten time-to-market of new software products and services by:
- Reduce deployment complexity – there are no moving parts, just a single “cloud”
- Cut down testing and tuning cycles – to scale, simply drop in more processing resources with no code changes
- Avoid development complexity – no need for complex J2EE application server configurations
- Increased reliability through better testability and self-healing capabilities
- Lower maintenance overhead through better manageability
- Utilize a single platform for Java, .Net and C++
- Utilize the same platform across various application types: transactional, web, real time analytics
The benchmark shows that cost-savings grow exponentially as the scaling requirement grows, due to the fact that the alternative cannot linearly scale.
Oracle's acquisition of BEA is the kiss of death to J2EE Application Server platforms. History shows that this type of move takes a lot of time to mature, and in many cases, fails. It comes at an interesting time when many people are moving away from WebLogic and the likes. It looks like this move is going to push oracle even more to support legacy applications, while the market is moving in a totally different direction.
I wouldn't be surprised if the year of delay that with Fusion would repeat itself. Instead of developing yet another application server, we decided to focus on enhancing the open development frameworks in a seamless fashion, and through that, create an alternative Open Application Server platfrom. This approach not just saves you the need to make a strategic decision today, but it also takes you a step toward the next wave of application development: scale without re-architecting your system, and make it simple to develop,test and deploy.