by: phanideep narra. overview definition motivation.net and j2ee architectures interoperability...
Post on 04-Jan-2016
Embed Size (px)
OVERVIEWDefinition Motivation.NET and J2EE ArchitecturesInteroperability ProblemsInteroperability TechnologiesConclusion and future worksQuestions
DEFINITIONWhat is interoperability?
Ability of two or more systems to communicate, transfer data among various functional units and use the transferred data
MOTIVATIONAchieving reuse of existing systems- usually highest on the list of considerationsImplementing Proof of concept studies- for a new interface with existing environmentMigration to microsoft.net- to migrate from J2EE to .NETAchieving lower project costs- .NET has the potential to deliver lower project costs
Basics of .NET for J2EE DevelopersMicrosoft .NET is a designation that reflects Microsofts realignment towards Internet operation and distributed applications. Microsoft .NET consists of three main components:.NET FrameworkVisual Studio.NETWindows Server System
Basics of J2EE for .NET DevelopersSun Microsystems developed Java as both a platform and a programming language.
There are currently three editions of the Java platform:J2SEJ2EEJ2ME
Major DifferencesThree 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.
INTEROPERABILITY PROBLEMSWhen implementing a .NET and J2EE interoperability project, you confront three main data exchange challengesThe 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.
INTEROPERABILITY PROBLEMSThere are few solutions to type compatibilityUsing Serialization: Two Types of serializationBinary Serialization: Converts data type to binary streamXML 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.
INTEROPERABILITY PROBLEMSWhen 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 PROBLEMSData Exchange recommendations are provided for different interoperability scenarios.
There are three interoperability scenariosLinking two or more new applicationsLinking a new application to an existing applicationLinking two existing applications
INTEROPERABILITY PROBLEMSRecommendations for linking new applicationsUse 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 PROBLEMSRecommendations 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.
INTEROPERABILITY PROBLEMSRecommendations 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.
INTEROPERABILITY TECHNOLOGIESThere are several technologies used for J2EE and .NET interoperability.
Two most common technologies used are:.NET RemotingXML Web Services
INTEROPERABILITY TECHNOLOGIES.NET Remoting:
Has the advantage of greater performance and easy implementation in .NET frameworkHowever, JAVA Applications cannot directly connect using .NET remoting.They require runtime bridges: Ja.NET and JNBridgePro.
INTEROPERABILITY TECHNOLOGIESA 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 TECHNOLOGIESImplementing .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 WORKThere 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 standardIf you use web services, .NET is nice but JAVA is scalable.