Distributed Objects Everywhere ( DOE ) fue un proyecto de Sun Microsystems de larga duración para construir un entorno informático distribuido basado en el sistema CORBA en el "back-end" y OpenStep como interfaz de usuario. Comenzó en 1990 y se anunció poco después, siguió siendo vaporware durante muchos años antes de que finalmente se lanzara como NEO en 1995. Se vendió solo por un corto período antes de ser eliminado (junto con OpenStep) en 1996. En su lugar está lo que es hoy conocido como Enterprise JavaBeans .
Fondo
A principios de la década de 1990, la "próxima gran novedad" en la informática fue utilizar microcomputadoras de escritorio para mostrar y editar los datos que proporcionaban los mainframes y las minicomputadoras . Aunque ya existían varios métodos para este tipo de acceso, la división del trabajo no era en absoluto uniforme. Por ejemplo, SQL requería que la estación de trabajo descargara grandes conjuntos de datos y luego los procesara localmente, mientras que el uso de emuladores de terminal dejaba todo el trabajo al servidor y no proporcionaba GUI .
Parecía que la división adecuada de tareas sería tener un conjunto cooperativo de objetos, siendo la estación de trabajo responsable de la visualización y la interacción del usuario, con procesamiento en el servidor. En el camino de este tipo de solución se encontraban las enormes diferencias en los sistemas operativos y lenguajes de programación entre plataformas. Si bien es posible construir un sistema de este tipo que funcione en cualquier combinación de estación de trabajo y servidor, la misma solución no funcionaría en ningún otro sistema.
Curiosamente, las diferencias entre dos lenguajes de programación en una sola plataforma eran casi tan grandes. Cada idioma tenía su propio formato para pasar parámetros a las llamadas a procedimientos , los formatos de archivo que generaban a menudo eran bastante diferentes. En términos generales, no siempre fue posible escribir diferentes partes de un programa en diferentes idiomas, aunque hacerlo a menudo tiene una utilidad real. El problema no era tan grave en miniordenadores y mainframes, donde el proveedor a menudo especificaba estándares para sus bibliotecas, pero en los microcomputadoras, los sistemas de programación generalmente los entregaban una variedad de empresas de terceros sin interés en la estandarización.
Sin embargo, este problema se estaba abordando a principios de la década de 1990 mediante la introducción de varios sistemas de bibliotecas compartidas . En realidad, estos estaban destinados a facilitar el uso de recursos en plataformas más pequeñas, al permitir que varios programas que usan un recurso común, como la GUI, compartan una sola copia de código en lugar de cargar cada uno una copia separada en la memoria. Como efecto secundario de poder ser llamado desde muchos programas, estos sistemas también definieron una forma estándar de llamarlos, usando un lenguaje de definición de interfaz , o IDL, para permitir que cualquier lenguaje en la plataforma entienda el código dentro de la biblioteca.
La ampliación de estos sistemas para admitir llamadas a procedimientos remotos entre bastidores se consideró una evolución natural, proporcionando una solución al problema de programación cliente / servidor. En el momento hubo una serie de grandes proyectos para ofrecer un sistema de este tipo, incluyendo IBM 's Sistema Modelo de objetos (SOM / DSOM), NeXT ' s portátiles objetos distribuidos , Microsoft 's Component Object Model (COM / DCOM) y muchos CORBA sabores. Sun, al intentar posicionarse como el futuro IBM en términos de soporte de backoffice, sintió que también tenía que atacar este mercado.
Primavera, DOE, OpenStep, NEO
La solución de Sun se basó en el trabajo en su sistema operativo Spring , que utilizaba objetos que se comunicaban entre sí para casi todas las tareas de programación. Modificar esto para que funcione bajo un Unix 'tradicional' como Solaris no fue tan difícil, aunque Unix asume que todos los programas se ejecutan localmente y que se tuvo que agregar una interfaz para acceso remoto. Para esto, el DOE agregó un intermediario de solicitud de objetos (ORB) que se ejecutaba en los servidores de backoffice, escuchaba las solicitudes del DOE y las entregaba al programa adecuado para su manejo. Durante el desarrollo, CORBA se convirtió en una palabra clave de moda en la industria. Esto provocó un retraso mientras el ORB se rediseñaba para admitir CORBA. Bajo el modelo CORBA, diferentes objetos, como los de DOE o SOM, podrían interactuar compartiendo una interfaz común.
Un problema mayor para Sun es que no tenían una solución de programación de objetos de escritorio integrada. Aunque las bibliotecas de objetos C ++ se estaban volviendo comunes en algunas plataformas, su propio sistema operativo SunOS (más tarde conocido como Solaris ) y los sistemas de ventanas SunView y X asociados estaban basados en 'C simple', mientras que su nuevo entorno de ventanas NeWS se basaba en un objeto extensible en red. dialecto orientado de PostScript .
Con el fin de ofrecer una solución de programación de objetos completa y flexible, Sun recurrió a NeXT y los dos desarrollaron OpenStep . La idea era que los programas OpenStep llamaran a los objetos DOE en los servidores Sun, proporcionando una solución de backoffice a frontoffice en las máquinas Sun. OpenStep no se lanzó hasta 1993, lo que retrasó aún más el proyecto.
Para cuando DOE, ahora conocido como NEO, fue lanzado en 1995, [1] Sun ya se había trasladado a Java como su próxima gran novedad. Java era ahora la GUI preferida para las aplicaciones del lado del cliente, y los planes de OpenStep de Sun se abandonaron silenciosamente (consulte Lighthouse Design ). NEO se reposicionó como un sistema Java con la introducción del marco "Joe", [2] pero tuvo poco uso. Los componentes de NEO y Joe finalmente se incluyeron en Enterprise JavaBeans . [3]
Aunque los objetos distribuidos, y CORBA en particular, fueron la "próxima gran novedad" a principios de la década de 1990, en la segunda mitad de la década el interés por ellos prácticamente había desaparecido. [ editorializando ] Las aplicaciones web que se ejecutan completamente en el servidor se convirtieron en la nueva "gran novedad", y la necesidad de un sistema de visualización potente en el lado del cliente se desvaneció, reemplazada en gran parte por GUI ligeras basadas en HTML y JavaScript (" Interfaces de usuario del navegador ").
Referencias
- ^ "SunSoft presenta NEO, el primer entorno informático de objetos en red completo de la industria" (Comunicado de prensa). Sun Microsystems, Inc. 20 de septiembre de 1995. Archivado desde el original el 11 de marzo de 2007 . Consultado el 13 de diciembre de 2006 .
- ^ "Sun anuncia un producto que conecta Java con aplicaciones empresariales" (comunicado de prensa). Sun Microsystems, Inc. 26 de marzo de 1996. Archivado desde el original el 20 de marzo de 2007 . Consultado el 13 de diciembre de 2006 .
- ^ Robert McMillan; Niall McKay (14 de noviembre de 1997). "Adiós NEO, hola Enterprise Java Beans" . SunWorld . Consultado el 1 de mayo de 2013 .
enlaces externos
- Shah, Rawn (1 de junio de 1996). "Computación de objetos distribuidos con Joe y NEO" . JavaWorld . Consultado el 15 de julio de 2020 .