Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
.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]