Transcript narra
By:
PHANIDEEP NARRA
OVERVIEW
Definition
Motivation
.NET and J2EE Architectures
Interoperability Problems
Interoperability Technologies
Conclusion and future works
Questions
DEFINITION
What is interoperability?
“ Ability of two or more systems to communicate,
transfer data among various functional units and use
the transferred data”
MOTIVATION
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
Basics of .NET for J2EE Developers
Microsoft .NET is a designation that reflects
Microsoft’s realignment towards Internet operation
and distributed applications.
Microsoft .NET consists of three main components:
.NET Framework
2. Visual Studio.NET
3. Windows Server System
1.
Basics 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
2. J2EE
3. J2ME
1.
Major Differences
Three Major differences
Operating System Support - J2EE supports many
OS, whereas .NET does not.
2. Language support – .NET supports many languages,
whereas J2EE does not.
3. Execution Method - .NET produces MSIL, whereas
JAVA produces BYTECODE.
1.
.NET ARCHITECTURE
J2EE ARCHITECTURE
INTEROPERABILITY PROBLEMS
When implementing a .NET and J2EE interoperability
project, you confront three main data exchange
challenges
The Three challenges are:
1. Primitive Data type Mappings - System.String in
.NET and java.lang.string in JAVA are not the same.
2. Non-Existent Data types – data types which exist in
one that do not exist in the other.
3. Complex Data types – Ex: nested primitive datatypes.
INTEROPERABILITY PROBLEMS
There are few solutions to type compatibility
Using Serialization: Two Types of serialization
Binary Serialization: Converts data type to binary
stream
2. 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.
1.
INTEROPERABILITY 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
INTEROPERABILITY PROBLEMS
Data Exchange recommendations are provided for
different interoperability scenarios.
There are three interoperability scenarios
Linking two or more new applications
2. Linking a new application to an existing application
3. Linking two existing applications
1.
INTEROPERABILITY 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.
INTEROPERABILITY 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 application’s platform.
Follow the recommendations from the first scenario.
INTEROPERABILITY PROBLEMS
Recommendations for linking two existing apps.
Solution is to use a common format and a single
adapter:
1. Select one application’s 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.
INTEROPERABILITY TECHNOLOGIES
There are several technologies used for J2EE and .NET
interoperability.
Two most common technologies used are:
.NET Remoting
2. XML Web Services
1.
INTEROPERABILITY 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.
INTEROPERABILITY 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.
INTEROPERABILITY
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.
CONCLUSION & 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.
THANK YOU