Which is best suitable for SOA: .NET or J2EE? - Web Services
This article describes the concept of SOA (Service Oriented Architecture), its benefits, SOA with Web Services, choosing a platform to implement SOA and other related topics. The author recommends implementing SOA right now to survive in this competitive world.
This is the most complicated question among many people. Microsoft claims that its architecture is great; similar claims come from Sun also. None of them could beat each other in any of its technologies. No one can give an immediate decision or solution to any of such questions.
Although the rivalry between .NET and J2EE continues, neither platform is expected to dominate business-application development in the near term. Instead, their roughly equal capabilities will win roughly equal market share for .NET and J2EE. That means the two technologies will be used in 80 to 90 percent of business-application development over the next five years.
Both .NET and J2EE are good platforms for developing and hosting business applications. Both support n-tier architectures via client- and server-side component models for assembling enterprise applications. This allows for use of either fat or thin user interfaces with both platforms.
However, .NET and J2EE are far from identical, and each platform has distinct strengths. The primary strength of .NET is its use of multiple programming languages running on a single platform. This eliminates the programming language as a barrier for adoption. Further .NET strengths include ease of use and speed of development as programmers might be transitioning from COBOL or C. (In contrast, transitioning to Java usually takes greater skill in object orientation.)
J2EE takes .NET's multiple programming-language/single-platform paradigm and turns it around: The primary strength of J2EE is its use of a single programming language capable of running on multiple platforms. This eliminates the platform as a barrier for adoption. Further J2EE strengths include vendor neutrality and the active involvement of a large, open-source community.
From an integration standpoint, JDBC is actually more promising than J2CA. This API provides access to virtually any data source, from relational databases to spreadsheets and flat files. With a JDBC driver, all corporate data can be connected, even in a heterogeneous environment. In addition to its support for actual relational databases, JDBC can also support emulated relational models based on legacy information sources. But to do this, JDBC requires an integration product that can map the legacy-application functions to emulate a relational database model. The .NET platform, with its dependence on Microsoft BizTalk Server, has the same drawbacks for legacy-application integration as it does for packaged-application integration. So, despite the very real integration potential of .NET and J2EE, both platforms have their associated limitations. And when it comes to legacy-application integration, neither platform can complete the job on its own.
Although Web services were not conceived as an integration technology, they can be effective in the application-integration process. Web services provide a standard way to expose application interfaces through XML (Extensible Markup Language) and WSDL (Web Services Description Language). They also use a standard way to communicate, via SOAP (Simple Object Access Protocol). These features help reduce the cost and complexity of integration, as well as the cost and complexity of building new applications. Web services are made even more interesting by the fact that they are supported by both .NET and J2EE, and run equally well on both platforms. Therefore, Web services are ideal for bridging the two platforms.
Only large businesses are in a position to adopt both .NET and J2EE, due to two circumstances: 1) they have sufficient resources to train their development staff on both platforms, and 2) they have the capacity to develop best practices for managing environments that include elements from both platforms. Unlike very larger counterparts, small and midsize organizations won't have the luxury of supporting both platforms simultaneously. Due to limited resources, they will probably be forced to choose between .NET and J2EE. And because Microsoft has established a strong presence in small and midsize businesses, .NET can reasonably be expected to prevail in this market.