Title: .NET and J2EE INTEROPERABILLITY
1.NET and J2EE INTEROPERABILLITY
2OVERVIEW
- Definition
- Motivation
- .NET and J2EE Architectures
- Interoperability Problems
- Interoperability Technologies
- Conclusion and future works
- Questions
3DEFINITION
- What is interoperability?
- Ability of two or more systems to
communicate, transfer data among various
functional units and use the transferred data
4MOTIVATION
- Achieving reuse of existing systems
- - usually highest on the list of considerations
- Implementing Proof of concept studies
- - for a new interface with existing environment
- Migration to microsoft.net
- - to migrate from J2EE to .NET
- Achieving lower project costs
- - .NET has the potential to deliver lower
project costs
5Basics of .NET for J2EE Developers
- Microsoft .NET is a designation that reflects
Microsofts realignment towards Internet
operation and distributed applications. -
- Microsoft .NET consists of three main components
- .NET Framework
- Visual Studio.NET
- Windows Server System
6Basics of J2EE for .NET Developers
- Sun Microsystems developed Java as both a
platform and a programming language. - There are currently three editions of the Java
platform - J2SE
- J2EE
- J2ME
7Major Differences
- Three Major differences
- Operating System Support - J2EE supports many
OS, whereas .NET does not.
- Language support .NET supports many languages,
whereas J2EE does not. - Execution Method - .NET produces MSIL, whereas
JAVA produces BYTECODE.
8.NET ARCHITECTURE
9J2EE ARCHITECTURE
10INTEROPERABILITY PROBLEMS
- When implementing a .NET and J2EE
interoperability project, you confront three main
data exchange challenges - The Three challenges are
- Primitive Data type Mappings - System.String in
.NET and java.lang.string in JAVA are not the
same. - Non-Existent Data types data types which exist
in one that do not exist in the other. - Complex Data types Ex nested primitive
datatypes.
11INTEROPERABILITY PROBLEMS
- There are few solutions to type compatibility
- Using Serialization Two Types of serialization
- Binary Serialization Converts data type to
binary stream - XML Serialization Converts data type to XML
stream which is then converted to XML document. - De-Serialization can be done at the other end to
get a type compatible data type for that
environment. - Using XML Schemas is a more reliable solution.
12INTEROPERABILITY PROBLEMS
- When you use XML serialization you generate an
XML document. - Ensure that this document generated at one
platform is compatible with the other platform. - The XML Schema Solution Provides the
interoperability contract that specifies the
format for XML documents - XML Schema provides the template for successfully
linking .NET and JAVA
13INTEROPERABILITY PROBLEMS
- Data Exchange recommendations are provided for
different interoperability scenarios. - There are three interoperability scenarios
- Linking two or more new applications
- Linking a new application to an existing
application - Linking two existing applications
14INTEROPERABILITY PROBLEMS
- Recommendations for linking new applications
- Use XSD to define common or shared types and then
generate platform-specific code from those shared
types. - Create a central XSD repository for your
development teams to provide for consistency in
generating types across applications. - Avoid exposing elements that XSD does not define
always use types that are published in XSD. - Test data types with test utilities before
writing your application.
15INTEROPERABILITY PROBLEMS
- Recommendations for linking new with existing
apps. - Generate XSDs from the data types that the
existing application exposes. - Use these XSDs to generate corresponding data
type classes in the new applications platform. - Follow the recommendations from the first
scenario.
16INTEROPERABILITY PROBLEMS
- Recommendations for linking two existing apps.
- Solution is to use a common format and a single
adapter - 1. Select one applications data type as a
common format for exchanging data. - 2. Implement an adapter layer on the other
application to convert its data type to the
common format.
17INTEROPERABILITY TECHNOLOGIES
- There are several technologies used for J2EE and
.NET interoperability. - Two most common technologies used are
- .NET Remoting
- XML Web Services
18INTEROPERABILITY TECHNOLOGIES
- .NET Remoting
- Has the advantage of greater performance and easy
implementation in .NET framework - However, JAVA Applications cannot directly
connect using .NET remoting. - They require runtime bridges Ja.NET and
JNBridgePro.
19INTEROPERABILITY TECHNOLOGIES
- A simple .NET remoting implementation consists of
the following items - A remotable application object or server
component. - A host application that listens for client
requests to the remotable application component. - A client application component that makes
requests to the remotable application component.
20INTEROPERABILITY TECHNOLOGIES
- Implementing .NET Remoting involves the following
phases - ? Determining the host application or
environment. - ? Creating the server component.
- ? Creating the client.
- ? Editing the configuration files.
21CONCLUSION FUTURE WORK
- There are many other technologies which can be
used for J2EE and .NET interoperability. - CORBA and Web Services are major among them.
- .NET is a product and J2EE is a standard
- If you use web services, .NET is nice but JAVA is
scalable.
22THANK YOU