By now it should be obvious that despite the massive onslaught of security attacks against Windows systems, the global Web-services stage will have to be shared by Java and .NET over the coming years . While larger corporations will continue to gravitate toward Java initiatives because of security concerns, as well as their need for larger, mission-critical servers, small enterprises and individuals, thanks to inertia, will persevere with Windows. Microsoft s desktop monopoly alone is such that even if Microsoft stopped marketing Windows in the near future (given the security flaws), it would still take quite a few years for any other system to make a perceptible dent in market share. But let s face it, despite the ignominy of the Blaster and LovSan worms, which showed more than ever that the secure by design Windows 2003 Server is vulnerable, Microsoft is not going to abandon its holy cash cow.
Java and .NET will thus continue to have a ying-and-yang role when it comes to Web services even if it is just at the intranet or extranet level. Consequently, one cannot rule out scenarios that involve Java applications running on UNIX servers invoking .NET Web services running on Windows 2000 servers, or that of .NET applications running on Windows 2003 servers invoking Java Web services deployed on an IBM mainframe. As discussed in Chapter 3, an enterprise that discovers that the exact functionality it seeks is available only as a .NET Web service may elect to acquire or license that Web service and run it on a secure, stand-alone Windows server behind its firewall rather than trying to rewrite it in Java or C++.
Hence, one should not jump to the conclusion that there will always be a clear demarcation between Java and .NET based on the size of an enterprise, with the large enterprises standardizing on a Java-only strategy. The flip side of this is that a relatively small company having only Windows 2000 servers may acquire an application (e.g., e-commerce or SCM) that relies on Web services (e.g., credit authorization, shipment status, or tax calculation) invoked across the Web that are in fact Java based and running on high-end, UNIX servers.
At this juncture it is also salutary to note that despite Microsoft s antagonism toward Java, it is still eminently possible to have Java Web services or applications running on a Windows platform, either by using a free download from the Java Web site (e.g., reference implementation), a free Java server (e.g., Sun ONE Platform Edition or JBoss), or a commercial application server. However, just running a Java platform on a Windows machine does not by itself obviate security, scalability, and reliability issues. For a start, and most disturbingly, the underlying Windows machine could continue to be vulnerable to attacks that intercept, modify, or destroy data or files on that machine even if the Java portion of the system continues to be above reproach. In addition, the extra processing and resource consumption involved with running the feature-rich Java platform on top of Windows could potentially exacerbate performance and scalability issues. Consequently, Java on top of Windows, though this will continue to be a popular permutation, is not a panacea for the security, availability, and scalability issues that currently beset Windows solutions.
Java s irrefutable strengths are that of software portability across multiple platforms and its open -source status. On the other hand, Windows is ubiquitous and this makes it attractive to small enterprises and individuals who want to actively participate in the coming Web-services phenomenon . It would be shortsighted and unrealistic to write off this segment of potential Web-services creators just because of their dependence on Windows since, given the numbers involved, the chances are high that this group will develop some much-sought-after Web services.
The best way to put all of this into proper perspective is to quote Steve Ballmer, Microsoft s CEO, who had this to say on September 15, 2003, in a speech at the Churchill Club, a Silicon Valley business networking group: Windows (operating system) is the most popular platform in the world, so every security incident with it is just magnified and magnified and magnified across so many more systems than with any other platform. We know that the bad guys are going to keep writing viruses; we know that. Our goal has to be to block them before they can ever get onto those PCs.
Linux is the wild card in all of this. IBM is already a huge Linux fan and supports Linux on all of its hardware platforms, whether they be mainframes, UNIX servers, iSeries mini-computers, or Intel machines. Sun, trying to exploit the security-induced vulnerability of Windows, has jumped on the bandwagon with the open-source, Linux-based Java Desktop System, which sets out to be an alternative to Windows desktops, Microsoft Office applications, and even Internet Explorer (IE). Figure 6.16 shows a screen shot, provided by Sun, of the Java Desktop System. While Sun and others will have to go a long way and do so for a long time to displace Windows from the corporate desktop, initiatives such as this will indubitably garner some market share as enterprises and individuals despair of continually being in the cross-hairs when it comes to worms, viruses, and system takeover threats.
Rather than just compare the pros and cons of Java and .NET, what is more germane at this stage of the game is to do what is referred to as SWOT analysis of these two technologies ”where a SWOT analysis looks at the strengths, weaknesses, opportunities, and threats of a particular technology or enterprise. A SWOT analysis for Java is shown in Table 6.1 and for .NET in Table 6.2. These tables sum up the whole story as to how these two methodologies will continue to stack up against each other in the light of current developments.
Strengths: | Weaknesses: |
---|---|
|
|
Opportunities: | Threats: |
|
|
Strengths: | Weaknesses: |
---|---|
|
|
Opportunities: | Threats: |
|
|