En los medios ya inicia el oleaje de noticias acerca .NET (DotNet) la nueva iniciativa de Microsoft, sin embargo, los conceptos y descripciones de este Software son confusos; en lo que coinciden los diversos artículos es que .NET (DotNet) es competencia de Java y hasta esto no es del todo exacto, la competencia de Java es C# también desarrollado por Microsoft, .NET es rival de J2EE para ser más exactos; el siguiente documento esta hecho con la intención de clarificar esta madeja de términos y productos de una manera objetiva, las conclusiones finales las tendrá usted.
.NET (DotNet) es una "plataforma de Software", en este sentido se define como un ambiente donde pueden interoperar diversos componentes independientemente del lenguaje, esto es, en lugar de escribir componentes para una combinación Hardware/Sistema Operativo será escrito para .NET (DotNet). Ahora bien, .NET (DotNet) es el nombre asignado por Microsoft a diversos productos y servicios, en este caso productos como VisualStudio.NET y Windows.NETServer, mientras los Servicios incluyen Passport y Hailstorm que pretenden ofrecer una manera universal de accesar recursos en Internet.
En el mundo Java esta "plataforma de Software" es denominada J2EE , sin embargo, a diferencia de .NET (DotNet) que es un concepto global, J2EE es un grupo de especificaciones que forman lo que es denominado Java Application Server , la principal ventaja que J2EE este basado en especificaciones es libertad de elección sobre vendedores, esto es, los componentes escritos en Java son interoperables entre productos J2EE desarrollados por IBM, HP, Sun, BEA.. a diferencia de .NET (DotNet) donde todo gira alrededor un solo vendedor: Microsoft.
Aunque C# es el lenguaje nuevo de Microsoft, no forma parte medular de .NET (DotNet), inclusive la única ventaja de C# es la interfase más directa hacia .NET (DotNet).... interfase ?
Este componente es el que aporta la mayor funcionalidad a .NET (DotNet), a través de este Software es posible ejecutar e interoperar diversos fragmentos de código escritos en distintos lenguajes, esto es, si usted trabaja en COBOL, C++ o VisualBasic todos estos lenguajes serán convertidos al lenguaje intermediario MSIL("Microsoft Intermediate Language") a través de un compilador determinado , este lenguaje intermediario es el que ejecuta el .Net Framework, de esta manera su código escrito en más de 20 lenguajes podrá interoperar!; aunque esto suene como una verdadera maravilla, las complejidades estriban precisamente en el mapeo que debe existir entre los diversos lenguajes y MSIL, como bien sabe existen muchos paradigmas que no aplican para todos los lenguajes y esto hace complejo la interoperabilidad prometida por MSIL; como se mencionó en el párrafo anterior C# es quien ofrece una interfase directa hacia MSIL/.NET (DotNet), es esta interfase/mapeo a la que deben llevarse los distintos lenguajes.
La respuesta: "Web Services" ( XMLRPC y SOAP ) , porque ? A esta Tecnología le están apostando diversas empresas en la Industria, la razón ? Independencia de sistema, si bien J2EE y .NET (DotNet) ofrecen interoperabilidad de sistemas, XMLRPC/SOAP va un paso más allá debido a que esta basado en XML , (más detalles en XMLRPC y SOAP ), inclusive un paso en la evolución tanto de J2EE así como .NET (DotNet) es y seguirá siendo "Web Services" (XMLRPC/SOAP) el cual va llegar a ofrecer un puente entre esta rivalidad (J2EE/.NET DotNet) en un futuro no muy lejano.
Links: