.NET and J2EE Interoperability
Download
Report
Transcript .NET and J2EE Interoperability
.NET and J2EE
Interoperability
Manoj Talagadadeevi
June 13, 2007
Presentation Outline
Motivation
J2EE Brief Introduction
J2EE Overview
Developing Web Services with J2EE
Microsoft .NET Introduction
Microsoft .NET Overview
Interoperability – Definition
Interoperability Strategies
Distributed Application Development
Web Services
Comparing .NET and J2EE
Conclusion
Motivation
J2EE/Java applications exist.
J2EE and .NET cover a great deal of
technologies and standards.
Design for Interoperability
Re-use legacy systems
Replacement (phased)
Pilot for adoption
Cost savings for developer Resources
B2B / EAI Scenarios
J2EE - Brief Introduction
Java 2 Platform, Enterprise Edition (J2EE)
It is an industry standard, NOT a product.
The J2EE architecture is based on the Java
programming language.
J2EE has recently been extended to include
support for building XML-based web services.
J2EE Overview
Java Server Page
connects the back end
functions with the front
end design
Java programs
are the building
blocks of J2EE
JSP
Java
XML
Extensible Markup
Language enables
the voice controlled
server
JDBC
Java Database
Connection
provides database
access
Developing Web Services with J2EE
Microsoft .NET Introduction
It is a product strategy.
It is largely a rewrite of Windows DNA.
A single .NET component can be written, for example,
partially in VB.NET, the .NET version of Visual Basic, and
C#, Microsoft's new object-oriented programming language.
How does this work?
First, source code is translated into Microsoft
Intermediate Language, sometimes abbreviated MSIL,
sometimes IL. This IL code is language-neutral, and is
analogous to Java bytecode.
Microsoft .NET Overview
Active Server Page .NET is a web
programming language mainly
associated with C# or VB.NET
Provides built-in class for ASP.NET
Provides a common environment
for compiling and executing .NET
applications
Both J2EE 1.4 and .NET supply APIs for accessing
diverse types of repositories.
For example, .NET employs ADO.NET to access SQL
Server data, whereas J2EE uses JDBC for storing and
retrieving data in Oracle, DB2, and other repositories.
Definition Of Interoperability
Interoperability:
The capability to communicate, execute programs, or
transfer data among various functional units in a manner
that requires the user to have little or no knowledge of
the unique characteristics of those units."
— ISO/IEC 2382 Information Technology Vocabulary
Interoperation Strategies
The diagram incorporates
a variety of application types (from .NET clients to
mainframe applications to J2EE middle-tier
applications),
technology classes (Web services, bridging,
Message-Oriented Middleware, workflow engines),
and products (Microsoft® SQL Server™, Microsoft
BizTalk®, IBM WebSphere® MQ, and so on.).
Three broad classes of Interoperability are:
* Message-Oriented Middleware
* XML Web services
* Direct application bridges
-----------------------------------------------------------------------------------------Message-Oriented Middleware (MOM) :
Encompasses solutions such as
Enterprise Application Integration (EAI) and messaging systems
available from third-party vendors
Third-party vendors, for instance,
{ IBM (WebSphere MQ, formerly MQSeries) and TIBCO
(Rendezvous). Microsoft's MSMQ is a member of this class of
products. }
XML Web Services :
Provides a common, platform-agnostic medium by which atomic
units of work (services) may be integrated, aggregated, and
orchestrated across vendors, systems, and organizational
boundaries.
Direct Application Bridges:
Bridging refers to a broad category of solutions that
encompasses approaches such as
- Mainframe integration,
- .NET/COM interoperability (as supported by the .NET
Framework),
- and third-party Java/COM or Java/.NET bridges
—as well as the extreme case of high-performance, applicationspecific, wire-level protocols.
Web Services
The direct linking of applications can be done easily using Web Services and
Interoperability is one of the great promises made by the Web services architecture.
Web services is a standardized way of integrating Web-based applications using the XML,
SOAP, WSDL and UDDI open standards over an Internet protocol backbone.
Three key issues to be addressed are :
* Internet Standards
HTTP and HTTPS must be the initial underlying protocols for Web services to succeed
but the technology should be flexible enough to allow any transport protocol to be used.
* Type definitions
Data types that were exposed by Web services must use strongly typed XML.
* Multiple language, platform and vendor support
Web services must not be tied to a particular platform, language or vendor
Web Services Overview
Web services are going to be the
mainstream for system
communications
SOAP
Simple Object Access Protocol allows
intersystem communications.
WSDL
Web Service Description Language
describes the functionalities and the
requirement of the web service
UDDI
Universal Discovery, Description and
Integration is the directory of all the web
services.
Comparing .NET and J2EE
.NET
J2EE
Web form controls
Programming languages support
Operating system support
Database system support
XML support
Coding consistency
= better
Technology Type
It’s a product strategy
It’s a standard
Market support and
promotion policy
Microsoft’s “A” Team at
More than 30 Vendors at
present.
present.
Tiered Architecture
N-tier support available
N-tier support available
Database access API
ADO.NET
JDBC 2.0
ASP.NET supported by
Internet Information Server
2000 (IIS)
Servlet and JSP supported
by all popular web servers.
Web Tier
Middleware
COM+ supported by Microsoft EJB supported by various
Transaction Server.
application servers from
different vendors.
Language Support
System software used
within the framework
VB.NET, C#, COBOL.NET etc
CLR (Common Language
Runtime) is available as an
Interpreter.
Java
JVM (Java Virtual Machine)
is available as an Interpreter,
which is embedded within all
commercial browser.
Problems with Interoperability
Using vendor tools to derive the Web services semantics in WSDL from
implementation code is convenient, but this approach ignores the design of the
message schemas which is central to Web services interoperability in
heterogeneous environments (J2EE technology versus .NET, for example).
The ease, flexibility, and familiarity of the popular RPC/encoded style makes it an
attractive choice for developers; however, the difficulty in synchronizing the
implementations of the abstract SOAP encoding data model among vendors
presents a difficult challenge for Web services interoperability.
Weakly-typed collection objects, arrays containing null elements, and certain
native data types all pose special problems for interoperability.
Specifically:
It is impossible for vendor tools to accurately interpret XML Schemas
representing weakly-typed collection objects and map them to the correct
native data types.
The XML representations of an array with null elements differ between .NET
and WebSphere.
Because native data types and XSD data types do not share a one-to-one
mapping, information or precision can be lost during the translation.
Continued..
Different naming conventions in .NET and Java technology can
result in namespace conflicts, as can the use of relative URI
references.
Neither XML or SOAP can effectively handle the binary formatting or
other requirements for tight, fine-grained integration needed by
many mission-critical applications.
Web services deployment also requires additional hardware and
software resources, increasing the cost (and sometimes the
complexity) of the integration solution.
While Web services are useful for connecting loosely coupled Webbased applications, neither the technology nor the standards are
always the most cost-effective or ideal way to solve key issues of
integration or interoperability.
Borland’s Janeva is a compiler and a set of libraries that allow
Microsoft .NET applications to connect to back-end J2EE or CORBA
applications.
Conclusion
• Microsoft .NET provides a language free environment, and its
features make web development easier.
• J2EE provides a platform free environment, and its features make
applications more robust.
• XML based web services are going to be the mainstream for data
transfer and server communications.
References
http://www.jaxmagazine.com/itr/online_artikel/psecom,id,676,nodeid,147.html
http://searchwebservices.techtarget.com/sDefinition/0,,sid26_gci214267,00.ht
ml
http://www.csharpcorner.com/UploadFile/pk_khuman/WebServices02122006222948PM/We
bServices.aspx?ArticleID=f54b7577-9240-4b0c-9f3c-d5b879d21ec4
http://www.theserverside.com/tt/articles/article.tss?l=J2EE-vs-DOTNET
Text Book : .NET & J2EE Interoperability By Dwight Peltzer
Thank you very much.
Presenter’s Contact Information:
Manoj Talagadadeevi
[email protected]