As we work with our expanding list of clients, some questions seem to come up again and again. Additionally, between conferences and internet activity, other questions seem to be on many minds as the pace of Enterprise Software evolution picks up velocity.
This space will include as many of these questions as possible. They will be subset by category initially and be search-able in the longer term.
See also our BLOG for the latest updates
Most Recent Postings
Microsoft is threatened by increasing acceptance of Open Source, particularly where their lucrative (to say the very least...it's GREAT to be a monopoly!) Windows operating system is concerned. Microsoft essentially owns the desktop world wide, and their server business has been increasingly adopted in major IT organizations...particularly where light weight, horizontally scaled, SOA services are being created.
RedHat Linux is arguably the poster-child for commercial success utilizing Open Source development and distribution models. RedHat's Red Hat Enterprise Linux is highly successful in the data center and is probably the largest threat to the Windows Server now that Microsoft has effectively throttled Novell. RedHat has also been making a lot of noise about Red Hat Enterprise Linux 5 Desktop recently, which might be seen as a potential threat to the Windows desktop.
Thus, Microsoft continues their proven competitive business model that the best defense is a hugely aggressive offense. In this case, that's by raising the patent specter against Redhat. Interestingly, Microsoft has not chosen to attack much larger and wealthier Linux targets such as IBM and HP. Vast reserves of patents help a lot in any negotiations and Microsoft has tons...RedHat very few.
Software patents will continue to be an unresolved mess for a LONG time, particularly since the patent office is overwhelmed and is totally unequipped to deal with the unsuitability of the patent process for software in the first place and the complexity of software patents in the second place. So, the battle amounts to who has the biggest legion of lawyers and pockets deep enough to prevail in court.
Completely unanswered in all of this is whether Linux does in fact violate Microsoft patents. Given the number of completely bogus software patents issued in the past couple of decades, the answer is undoubtedly yes. The reason is simple...Microsoft, together with many other huge software companies, invests in patenting everything possible, while Open Source communities don't. Technology developed for Open Source projects rarely has a "patent umbrella", which leaves commercial companies patenting lots of things that exist in prior art, much of which is unknown to patent examiners.
In most recent patent battles, the patent office has overturned a significant number of issued patents after more through analysis, but as mentioned above, that process takes tons of lawyers and vast $$$. Microsoft has legions and riches, RedHat has not, which makes the battle a bit one sided.
Another significant factor is the difference in Business Models. Microsoft sells licenses (mostly) and Redhat sells Subscriptions. This is a whole additional topic, but with IT customers strongly favoring the Subscription model for lots of good reasons and the likes of IBM, Oracle, SAP, Microsoft, etc, all experimenting with the Subscription model, RedHat's proven ability to make that model work makes them a threat to the traditional commercial software vendors.
Interestingly, at this weeks Gartner IT Symposia, Gartner analysts David Mitchel and Tom Austin expressed the opinion "Gartner reckons that Office 2007 will be last release of its kind with its current pricing and packaging. Office will use automatic upgrades and rentals from this point on." So, the Subscription Business Model RedHat has perfected is even threatening Microsoft's desktop license business.
What's an Application Server?
There are many answers to this question, but basically an application server is a piece of middle-ware software that provides a useful collection of services that enable creating, deploying, and maintaining applications. "Application Server" is frequently a term for products implementing the JEE standards, for example IBM WebSphere and Geronimo, BEA Weblogic, Oracle AS, and RedHat jBoss…but there is absolutely no reason that an Application Server be based on or utilize JAVA.
For example, the combination of a Microsoft OS (which embeds a huge number of application services) and any of the Visual development tools creates a rich and widely used “Application Server”.
No. You don’t. There is absolutely nothing in an application server
that you can’t do yourself, or potentially piece together out of Open
Source, etc. On the other hand, this also means you are trying to replicate
all of the required services, together with RASP and fit/finish, that the
Application Server vendors have spent literally developer centuries
creating. Where the question gets fuzzier is that most new application development is SOA.
By the nature of SOA, services are each fairly small and require small
subsets of the services embedded in a WAS/WLS/AS or even MS middleware.
This means that taking advantage of the recognized RASP and fit/finish
benefits of these products costs a HUGE amount in server overheads…not
to mention very high acquisition costs. So, while you DO really need some of the characteristics of an Application
Server for anything important to your business (if it’s not important,
then why are you writing it in the first place???), you don’t
need/want the huge/complex/expensive solution. Fortunately, there are
emerging alternatives, notably jBoss and Geronimo. Neither of these currently exhibits anything like the RASP and fit/finish of the major commercial products, but Geronimo (Apache.org) is highly driven by IBM (as a huge Professional Services vendor, perhaps they gain by the lack of fit/finish???) and jBoss is now part of RedHat, who has legitimized "commercial Open Source and is investing significantly in jBoss. Both of these Open Source projects will undoubtedly continue to improve. Emergence of Light Weight (Tomcat Based) "Application Servers" One exciting trend that addresses the needs of IT organizations transitioning from monolythic mega-blob applications to horizontally scalable services based applications is the emergence of several "enterprise ready" products based on the Apache Tomcat project. Tomcat is undoubtedly the most widely used JAVA container, but falls short of commercial application servers in several areas. Tomcat implements a subset of the JEE standards, which leaves application developers searching for open source or commercial modules that fill in the gaps. Beyond that, the managability of Tomcat falls way short of even the weakest JEE application servers...or at lest it has in the past. We now see multiple vendors adopting Tomcat, and encapsulating it in management frameworks as well as providing solutions for the missing services. Some of these vendors have also provided either performance or managability enhancements to Tomcat, but not all of those have seen fit to provide those back to the community. jBoss- Arguably the first company to build a "light weight" application server utilizing Tomcat was jBoss, although it's not clear they realized that was the primary benefit of their architecture (and, clearly RedHat doesn't "get it") when they chose to build a completely modular/pluggable JEE server. With something over 80% of all JEE application servers making no use what-so-ever of EJB, what's was primarily used was the servlet container and a collection of valuable application services, integrated thru a micro-kernal. MuleSoft- Another company leveraging Tomcat and building a server around it is MuleSoft. They start with "100% Tomcat", add a management and monitoring capability based on an OEM'd version of LambdaProbe. More recently, they added one of the missing services by announcing the availability of messaging, which is based on Nirvana. SpringSource- Spring, now a division of VMware, has also taken 100% Tomcat, added some optional management extensions, and a management console based on an OEM version of Hyperic. More recently, Spring acquired Hyperic (wonder where this leaves jBoss???) and is basing their tc Server product on Hyperic + Tomcat + enhancements. There are also rumors of Spring moving aggressively to add other application services around tc Server, which would certainly make sense.
jBoss added improvements to Tomcat and a management console based on an OEM'd version of Hyperic. Both of these were valuable, but stopped well short of the functionality found in WLS/WAS/Oracle, etc.
Spring has some unique advantages in this space.
- Spring Framework- Widely used (most of the global 500), and isolates the developer from the details of underlying services. The Spring framework was also the motivation for many of the critical changes in EJB3, which one SUN architect characterized as "we're finally getting this right".
- Hyperic- Hyperic is a rich management fabric, with plugins for almost all application infrastructure environments. Additions for application configuration and management turn this into a competitive management structure compared to WAS and SUN, although not quite up to the BEA (Oracle) level.
- Tomcat Community- Of these vendors, Spring has by far the strongest participation in the Tomcat community, with jBoss a distant second. That's key to both providing support for tc Server and for improving Tomcat.