Service Oriented Architecture (SOA) - Which is best suitable for SOA: .NET or J2EE?
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 to finish of 2007 eyar , because mono-project goes on scene. 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.