Skip to main content

Interoperability between Java and .NET

We will talk abour interoperability between .Net components Remoting and Java using the IIOP protocol. you can call an EJB from .Net client using the IIOP protocol.In this article we will make a presentation of IIOP.NET.

What is the role of IIOP.NET project?



Of all the alternative projects of .NET, the marriage of .NET Remoting and CORBA is certainly one of the most exciting. The only idea that CORBA or Enterprise JavaBeans can interact with .NET Remoting client component awakens in us a rare excitement (and yes we need some;-)).It is already possible you say? Yes, but most of these solutions suffer from gaps more or less important.Take the case of WebServices. WebServices can integrate heterogeneous systems, but they have their limitations:
-They do not allow you to manage operations as trivial as callbacks or distributed transactions.
- Connections in asynchronously mode and not "connected" mode. "Conneted mode" is the crux of the problem. In fact, except their closed nature and often incompatible with Internet firewalls, connection-oriented protocols are the solution to trade within a single application.
-They have no support for remote object references.
-They are stateless and closer to the RPC (remote procedure call) as a distributed object system

Moreover,SOAP and XML are verbose and uncompressed exchange formats (heavy in terms of network and CPU processing).
.NET and JEE are two similar worlds but distinct , they can only interact with each other using Web services. .NET Remoting and Java RMI are two mechanisms for implementation of distributed objects.Unfortunately, they are based on incompatible standards. Despite of this, .NET Remoting is highly configurable, and as we have seen above it is possible to create trainers for serializing and deserializing objects on different communication channels (tcp, http ...). It is on this possibility of interoperability that the open source project IIOP.NET fits itself.
IIOP.NET is a remoting channel of .NET based on IIOP(Internet Inter-Orb Protocol) .

As a reminder, connections and data transfers are performed in RMI by Java over TCP / IP using a proprietary protocol (JRMP, Java Remote Method Protocol) on port 1099. From Java 2 version 1.3, communication between client and server is done through RMI-IIOP (Internet Inter-Orb Protocol), a protocol standardized by the OMG (Object Management Group) and used in the CORBA architecture.
IIOP.NET acts as an ORB (CORBA object request broker), it converts the types of .NET into CORBA type, allowing objects defined in your application to be accessed by other ORBs.
RMI / IIOP implements a subset of the functionality of a CORBA ORB (due to some limitations of Java) and provides the same features than IIOP . NET for platform J2EE.

The use of IIOP.NET is almost as simple as using remoting integrated framework. IIOP.NET is an open source project hosted on sourceforge (http://iiop-net.sourceforge.net/).

Comments

Popular posts from this blog

Creating package in Oracle Database using Toad For Oracle

What are Packages in Oracle Database A package is  a group   of procedures, functions,  variables   and  SQL statements   created as a single unit. It is used to store together related objects. A package has two parts, Package  Specification  and Package Body.

Resolving 'Setup Account Privileges' error while installing SQL Server

A new installation of Microsoft SQL Server 2012 or Microsoft SQL Server 2008 R2 fails You see the following error message when you try to install a new instance of SQL Server 2012 or SQL Server 2008 R2: Rule "Setup account privileges" failed.

Creating Oracle stored Procedures using TOAD for Oracle

In a database management system, a  stored procedure  is a set of Structured Query Language (SQL) statements with an assigned name that's stored in the database in compiled form so that it can be shared by a number of programs. The use of  stored procedures  can be helpful in controlling  access to data, preserving  data integrity  and  improving  productivity.