Articulo de referencia

Objetos web

WebObjects es un servidor de aplicaciones web Java descontinuado y un marco de trabajo para aplicaciones web basado en servidor, desarrollado originalmente por NeXT Software, In...

WebObjects es un servidor de aplicaciones web Java descontinuado y un marco de trabajo para aplicaciones web basado en servidor, desarrollado originalmente por NeXT Software, Inc.

Las características distintivas de WebObject son su orientación a objetos , la conectividad con bases de datos y las herramientas de creación de prototipos. Las aplicaciones creadas con WebObject se pueden implementar como sitios web, aplicaciones de escritorio Java WebStart o servicios web basados ​​en estándares .

El entorno de ejecución de despliegue está escrito completamente en Java, lo que permite a los desarrolladores desplegar aplicaciones WebObjects en plataformas compatibles con Java. Se puede utilizar el servidor de aplicaciones WebObjects Java SE incluido o desplegar en servidores de aplicaciones Java EE de terceros, como JBoss , Apache Tomcat , WebLogic Server o IBM WebSphere .

WebObjects fue mantenido por Apple hasta su descontinuación oficial en 2016. [ 1 ] Sin embargo, debido a que Apple dejó de mantener el software, ahora es mantenido por una comunidad en línea de voluntarios. Esta comunidad lo llama "Proyecto Wonder".

Historia

NeXT crea objetos web

WebObjects fue creado por NeXT Software, Inc. , se presentó públicamente por primera vez en la conferencia Object World en 1995 y se lanzó al público en marzo de 1996. Las ventajas en tiempo y costes del desarrollo rápido y orientado a objetos atrajeron a grandes corporaciones a WebObjects en los inicios del comercio electrónico , con clientes como BBC News , Dell Computer , Disney , DreamWorks SKG , Fannie Mae , GE Capital , Merrill Lynch y Motorola .

Apple adquiere NeXT y continúa manteniendo el software.

Tras la fusión de NeXT con Apple Inc. en 1997, la popularidad de WebObjects decayó. Muchos de sus primeros usuarios optaron posteriormente por tecnologías alternativas, incluida Apple, que había sido el último gran cliente del software y dependía de él para el funcionamiento de partes de su tienda online Apple Store y la iTunes Store , que en aquel momento representaba la implementación más destacada de WebObjects. 

WebObjects formaba parte de la estrategia de Apple de utilizar software para impulsar las ventas de hardware, y en el año 2000 el precio se redujo de 50 000 dólares (para la licencia de implementación completa) a 699 dólares. A partir de mayo de 2001, WebObjects se incluyó con Mac OS X Server y ya no requería una clave de licencia para el desarrollo o la implementación.

WebObjects pasó de ser un producto independiente a formar parte de Mac OS X con el lanzamiento de la versión 5.3 en junio de 2005. Las herramientas y los marcos de desarrollo, que anteriormente se vendían por 699 dólares estadounidenses, se incluyeron con el IDE Xcode de Apple . Posteriormente, se suspendió el soporte para otras plataformas, como Windows . Apple anunció que integraría aún más las herramientas de desarrollo de WebObjects con Xcode en futuras versiones. Esto incluía un nuevo complemento EOModeler para Xcode. Sin embargo, esta estrategia no se llevó a cabo.

En 2006, Apple anunció la descontinuación del puente Cocoa-Java de Mac OS X con el lanzamiento de Xcode 2.4 en la Conferencia Mundial de Desarrolladores (WWDC) de agosto de 2006, y con ello todas las funciones dependientes, incluyendo el conjunto completo de aplicaciones para desarrolladores de WebObjects: EOModeler, EOModeler Plugin, WebObjects Builder, WebServices Assistant, RuleEditor y WOALauncher. Apple había decidido concentrar sus recursos de ingeniería en el motor de ejecución de WebObjects, dejando la responsabilidad futura de las aplicaciones para desarrolladores a la comunidad de código abierto. La principal alternativa de código abierto —el IDE Eclipse con el conjunto de complementos WOLips— había madurado hasta tal punto que sus capacidades habían superado, en muchas áreas, las de las propias herramientas de Apple, que no habían recibido actualizaciones significativas durante varios años.  

Apple prometió brindar asistencia a la comunidad en sus esfuerzos por extender dichas herramientas y desarrollar otras nuevas. En una publicación en la lista de correo webobjects-dev, [ 2 ] Daryl Lee, del equipo de WebObjects de Apple, reveló públicamente la nueva estrategia de la compañía para WebObjects. Esta prometía "convertir a WebObjects en el mejor entorno de ejecución del lado del servidor" mediante:

  • Mejorar el rendimiento, la capacidad de gestión y el cumplimiento de las normas.
  • Cómo hacer que WebObjects funcione bien con Ant y los IDE más populares, incluidos Xcode y Eclipse.
  • Abrir y hacer públicos todos los estándares y formatos de los que depende WebObjects

WebObjects 5.4, que se incluyó en Mac OS X Leopard en octubre de 2007, eliminó el requisito de clave de licencia tanto para el desarrollo como para la implementación de aplicaciones WebObjects en todas las plataformas. Todos los métodos para comprobar las limitaciones de la licencia quedaron obsoletos.

El fin de WebObjects y el comienzo del Proyecto Wonder

En 2009, Apple dejó de publicar nuevas versiones de WebObjects fuera de su plataforma. La comunidad decidió continuar el desarrollo con Project Wonder, un framework de código abierto basado en los frameworks principales de WebObjects, al que amplía. Por ejemplo, Project Wonder ha actualizado las herramientas de desarrollo y proporciona un framework REST que no formaba parte del paquete original de WebObjects.

Aunque en su momento se incluyó en la instalación predeterminada de Mac OS X Server, WebObjects dejó de instalarse por defecto a partir de Mac OS X Snow Leopard Server y, poco después, Apple dejó de promocionarlo y venderlo. Desde 2016, WebObjects cuenta con el apoyo activo de su comunidad de desarrolladores, la "WOCommunity Association", que amplía los marcos principales y proporciona correcciones con Project Wonder. La última Conferencia Mundial de Desarrolladores de WebObjects (WOWODC) de la organización tuvo lugar en 2013. [ 3 ] [ 4 ]

En mayo de 2016, Apple confirmó que WebObjects había sido descontinuado. [ 1 ]

Herramientas

En 2016, la mayoría de los arquitectos e ingenieros de WebObjects utilizaban las herramientas desarrolladas por la comunidad de WebObjects. Estas herramientas se ejecutan dentro del IDE Eclipse y son de código abierto. Los complementos de WebObjects para Eclipse se conocen como WOLips .

La creación de frameworks y aplicaciones WebObjects para su implementación se suele realizar utilizando el conjunto de herramientas WOProject para Apache Ant o Apache Maven . Estas herramientas se distribuyen con WOLips.

Marcos de referencia principales

Una aplicación WebObjects es esencialmente un ejecutable del lado del servidor, creado mediante la combinación de objetos de marco de aplicación preconstruidos con el código personalizado del desarrollador. Los marcos de WebObjects se pueden dividir en tres partes principales:

  • El WebObjects Framework (WOF) se encuentra en el nivel más alto del sistema. Es responsable de la interfaz de usuario y la gestión del estado de la aplicación. Utiliza un enfoque basado en plantillas para convertir el grafo de objetos en HTML u otros estándares de visualización de información basados ​​en etiquetas, como XML o SMIL . Proporciona un entorno donde se pueden usar y crear componentes reutilizables. Los componentes son fragmentos de presentación (HTML) y funcionalidad (código Java), a menudo con una lista de parámetros para mejorar la reutilización. WebObjects Builder se utiliza para crear las plantillas HTML y el archivo .wod , que vincula, por ejemplo, un objeto String de Java con objetos de interfaz como un campo de entrada en un formulario web.
  • El Enterprise Objects Framework (EOF) es, quizás, la característica distintiva de WebObjects. EOF se comunica con bases de datos relacionales y transforma las filas de la base de datos en un grafo de objetos. Mediante EOModeler, el desarrollador puede crear una abstracción de la base de datos en forma de objetos Java. Para acceder o insertar información en la base de datos, el desarrollador simplemente accede a los objetos empresariales Java (EO) desde su lógica de negocio. Posteriormente, EOF gestiona los objetos empresariales y genera automáticamente el código SQL necesario para confirmar los cambios en la base de datos.
  • Java Foundation . Tanto Enterprise Objects como WebObjects se basan en las clases Java Foundation, cuyo nombre es muy apropiado. Este marco de trabajo contiene las implementaciones de estructuras de datos fundamentales y las utilidades utilizadas en todo WebObjects. Algunos ejemplos incluyen clases básicas de valores y colecciones, como matrices , diccionarios (objetos que contienen pares clave-valor) y clases de formato. Java Foundation es similar al marco de trabajo Foundation incluido en la API Cocoa de Apple para aplicaciones de escritorio macOS ; sin embargo, Java Foundation está escrito en Java puro, a diferencia de Objective-C de Cocoa (con su entorno de ejecución Java Bridge). Las clases Foundation tienen el prefijo "NS" (una referencia a su herencia del sistema operativo NeXTSTEP ). Desde la transición de WebObjects a Java en el año 2000, la funcionalidad de muchas de las clases Java Foundation de Apple se ha replicado en el JDK de Sun. No obstante, se mantienen principalmente por razones de retrocompatibilidad, y los desarrolladores pueden usar los marcos de trabajo que prefieran.

Desarrollo rápido de aplicaciones basado en reglas (RBRAD)

WebObjects ofrece un conjunto de tecnologías de desarrollo rápido que permiten crear automáticamente una aplicación web sin necesidad de escribir código Java . A partir de un archivo modelo para una base de datos, WebObjects crea una interfaz compatible con nueve tareas comunes de base de datos, como consultas, edición y listado. Estas aplicaciones son útiles para prototipar o administrar una base de datos, por ejemplo, para verificar relaciones o para insertar datos en ella.

La interfaz de usuario se genera dinámicamente, sobre la marcha y en tiempo de ejecución, mediante un sistema basado en reglas ; no se genera código. Por consiguiente, es posible modificar la configuración de una aplicación en tiempo de ejecución (mediante un programa auxiliar) sin necesidad de recompilarla ni reiniciarla. 

Los desarrolladores pueden utilizar una de tres tecnologías diferentes, dependiendo del tipo de interfaz que deseen emplear:

  • Direct To Web (D2W) permite a los desarrolladores crear rápidamente una aplicación web basada en HTML que accede a una base de datos.
  • Direct To Java Client permite a los desarrolladores crear rápidamente una aplicación de escritorio cliente utilizando el kit de herramientas Java Swing . Una ventaja de las aplicaciones Java Client es que pueden aprovechar la potencia de procesamiento del ordenador cliente para realizar operaciones como ordenar una lista de elementos recibidos del servidor.
  • La función Direct To Web Services permite a los desarrolladores crear rápidamente aplicaciones basadas en servicios web que proporcionan acceso a un almacén de datos.

Ventajas de RBRAD

  • Tiempo de desarrollo y depuración considerablemente reducido;
  • Mayor estabilidad gracias al uso de código sometido a pruebas exhaustivas;
  • Al utilizar la información contenida en el archivo del modelo de datos, las aplicaciones no violarán la integridad de la base de datos. Normalmente, habría que escribir código para evitar tales situaciones y manejar los errores generados por datos incorrectos;
  • Utiliza plenamente los servicios de validación proporcionados por WebObjects y Enterprise Objects.

Compatibilidad con Java

WebObjects es un producto 100% Java con las siguientes características basadas en Java:

  • Implementación: Las aplicaciones se pueden implementar en cualquier sistema operativo que tenga Java 1.3 o posterior. Muchos desarrolladores las han implementado con éxito en Windows y en varios sistemas Linux , como Red Hat Linux , Debian y SUSE . Las aplicaciones también se pueden alojar en cualquier servidor de aplicaciones compatible con Java EE, como JBoss .
  • Integración con Java EE: Las aplicaciones WebObjects se pueden empaquetar en un único directorio (un archivo .war descomprimido), lo que facilita su implementación en un contenedor de servlets Java EE .
  • JDBC: Dado que WebObjects utiliza JDBC para la conectividad con la base de datos, se puede utilizar cualquier sistema de gestión de bases de datos (DBMS) que tenga un controlador JDBC dentro de WebObjects.
  • Interfaz Swing: Las aplicaciones WebObjects se pueden entregar al usuario como una "aplicación cliente Java" o como un applet Java.

Historial de versiones

WebObjects fue lanzado originalmente por NeXT Computer en marzo de 1996, pero fue adquirido por Apple Inc. con la adquisición de NeXT en diciembre de ese mismo año.

1.0 28 de marzo de 1996  
  • Lanzamiento debut.
2.0 25 de junio de 1996  
  • Versión preliminar de la aplicación WebObjects Builder.
3.0 Noviembre de 1996 
3.1
  • Admite un subconjunto de las API de Java (solo NT).
3.5 Diciembre de 1997  
  • Compatibilidad mejorada con Java (solo para NT): todos los objetos y componentes pueden trabajarse como un conjunto de API de Java basadas en una implementación completa del JDK 1.1.3.
4.0 Septiembre de 1998  
  • Primera versión de WebObjects que se ejecuta en la plataforma Mac , concretamente en Mac OS X Server 1.0 (una versión pública del sistema operativo beta anteriormente conocido con el nombre en clave ' Rhapsody '). 
  • El sistema operativo OPENSTEP 4.2 ya no es compatible; Windows NT ahora utiliza una nueva versión de la base de bibliotecas y soporte binario de OpenStep llamada Yellow Box.
  • Se han introducido acciones directas que permiten enviar acciones directamente a un objeto capaz de procesarlas, lo que posibilita el uso de URL estáticas más sencillas.
  • Se ha presentado un asistente de desarrollo web sin necesidad de código.
  • WebObjects y Enterprise Objects Framework ofrecen API seguras para subprocesos. Esto significa que ahora se puede desarrollar una aplicación WebObjects multiproceso, algo que antes no era posible. Esto permite crear aplicaciones que ofrecen retroalimentación al usuario para solicitudes de larga duración.
  • Mejores herramientas para gestionar, configurar y probar la escalabilidad de las aplicaciones.
  • Las capacidades de Java han mejorado notablemente con respecto a la versión anterior; sin embargo, el código Objective-C compilado sigue siendo de dos a tres veces más rápido.
  • Es posible crear un cliente Java completamente funcional, ya sea como una aplicación independiente o como un applet con Interface Builder; en las paletas de IB hay todo tipo de componentes Swing y Java Bean disponibles para su conexión.
  • Ahora los desarrolladores pueden depurar aplicaciones en una máquina que no tenga un servidor web instalado.
  • EOF 3.0 añade compatibilidad con una nueva base de datos, OpenBase Lite, que se incluye con EOF 3.0 como una versión de demostración sin soporte.
  • EOF 3.0 introduce una nueva API, principalmente en EOUtilities, para facilitar las tareas de programación comunes.
  • EOModeler añade compatibilidad con atributos de prototipo y la capacidad de crear y almacenar consultas complejas (o EOFetchSpecifications).
4.5 Marzo de 2000  
  • Soporte XML integrado mediante el analizador alphaWorks de IBM.
  • Nueva interfaz de WebObjects Builder, específicamente en la barra de herramientas de la ventana principal, la interfaz de usuario para asignar teclas y la interfaz de usuario para editar tablas. Se han añadido una vista de ruta, un editor de API y la validación de componentes.
  • Herramientas de análisis de rendimiento de aplicaciones.
  • EOF 4.5 incluye un nuevo adaptador de muestra: el adaptador LDAP.
  • La función Direct to Web ahora te permite crear tu propio estilo visual y expone una gran cantidad de nuevas API.
  • Java Client se ha ampliado considerablemente, incluyendo una nueva capa de generación de interfaz de usuario, Direct to Java Client.
4.5.1
  • Primera versión compatible con Mac OS X 10.x y Windows 2000.
  • Última versión compatible con HP-UX y Mac OS X Server 1.0 .
  • Última versión compatible con la API de Objective-C.
5.0 [ 5 ] Mayo de 2001  
5.1 [ 6 ] 10 de enero de 2002  
  • Cree e implemente Enterprise JavaBeans utilizando el contenedor integrado basado en OpenEJB .
  • Implemente aplicaciones WebObjects como JSPs o Servlets sobre servidores de aplicaciones de terceros.
  • Acceder y manipular datos almacenados en servicios de directorio JNDI o LDAP .
  • Genera automáticamente aplicaciones cliente de escritorio en Java con interfaces de usuario ricas e interactivas.
  • Utilice el motor de plantillas WebObjects y la asignación objeto-relacional para una mensajería XML fluida .
5.1.2 [ 7 ] 7 de mayo de 2002  
  • Contiene correcciones generales de errores para WebObjects 5.1 en todas las plataformas.
5.1.3 [ 8 ] 7 de junio de 2002  
  • Contiene correcciones de errores específicas para WebObjects 5.1 en todas las plataformas.
5.1.4 [ 9 ] 22 de agosto de 2002  
  • Compatibilidad con Mac OS X 10.2.
5.2 [ 10 ] 12 de noviembre de 2002  
  • Soporte de servicios web.
  • Mejoras en la integración de Java EE
  • Compatibilidad con Java Web Start.
  • Mejoras en la robustez y estabilidad de los objetos empresariales.
  • Las importantes correcciones de errores llevaron a muchos desarrolladores a considerar esta como la primera versión estable 5.x de WebObjects.
5.2.1 [ 11 ] 21 de marzo de 2003  
  • Se han solucionado algunas incompatibilidades con la última implementación de Java 1.4.1 para Mac OS X.
5.2.2 [ 12 ] 22 de octubre de 2003  
  • Compatibilidad con Mac OS X 10.3 Panther y el entorno de desarrollo integrado (IDE) Xcode .
  • Certificación de JBoss en Panther Server.
  • Compatible con Java 1.4.1.
  • Correcciones para el tiempo de ejecución de EOF y WOFileUpload.
5.2.3 [ 13 ] 16 de marzo de 2004  
  • Actualización de rendimiento y estabilidad que soluciona problemas con los estados CLOSE_WAIT en la implementación mediante JavaMonitor y wotaskd, así como problemas relacionados con EOF bajo alta carga.
  • Compatible con Java 1.4.2.
5.2.4 [ 14 ] 2 de mayo de 2005  
5.3 (desarrollador) para Mac OS X 10.4 [ 15 ] 6 de junio de 2005  
  • Las herramientas para desarrolladores de WebObjects se incluyen de forma gratuita con el IDE Xcode (v2.1).
  • El desarrollo y la implementación en plataformas distintas a Mac OS X ya no cuentan con el soporte de Apple.
  • Los EOModels se pueden crear y editar dentro de Xcode con un nuevo complemento EOModeler que se integra con las herramientas de modelado de CoreData .
  • WebObjects Builder incluye mejoras en la interfaz de usuario y genera código HTML 4.0.1.
  • El entorno de ejecución de WebObjects ahora es compatible con HTML 4.0.1.
  • NSArray, NSDictionary y NSSet ahora implementan las java.util.Collectioninterfaces.
  • Axis 1.1 integrado con la función Direct To WebServices.
  • WebObjects está cualificado para Oracle 10g utilizando los controladores JDBC 10.1.0.2; Microsoft SQL Server 2000 8.00.194; MySQL 4.1.10a; OpenBase 8.0; Oracle 9i Enterprise Edition Sybase ASE 12.5
5.3 (implementación) para Mac OS X Server 10.4 23 de junio de 2005  
  • El instalador actualiza los componentes del servidor de aplicaciones en Mac OS X Server 10.4 a WebObjects 5.3.
5.3.1 [ 16 ] 10 de noviembre de 2005  
  • Soluciona problemas de incompatibilidad con las herramientas para desarrolladores de Xcode 2.2 en Mac OS X 10.4.
  • Agrega una licencia de herramientas para desarrolladores modificada que permite implementar aplicaciones WebObjects desarrolladas con Xcode 2.2 en cualquier plataforma compatible. La licencia estará disponible en /System/Library/Frameworks/JavaWebObjects.framework/Resources/License.key después de la instalación.
  • Mejora la generación de SQL en la herramienta de diseño del complemento EOModeler en Xcode.
  • Mejoras en la creación de FetchSpecification en la herramienta de diseño de plugins EOModeler en Xcode.
  • Agrega una ventana de "componentes y elementos" para mejorar el flujo de trabajo en WebObjects Builder.
  • Corrección de errores.
5.3.2 [ 17 ] 7 de agosto de 2006  
  • Soluciona problemas de incompatibilidad con las herramientas para desarrolladores de Xcode 2.4 en Mac OS X 10.4.
  • Mejoras de seguridad.
  • Otras mejoras.
  • Como parte del lanzamiento simultáneo de Xcode 2.4, el puente Cocoa Java queda obsoleto junto con las siguientes aplicaciones WebObjects: EOModeler, EOModeler Plugin, WebObjects Builder, WebServices Assistant, RuleEditor y WOALauncher.
5.3.3 [ 18 ] 15 de febrero de 2007  
  • Actualización de WebObjects para el horario de verano: Actualiza los sistemas WebObjects 5.3 para que tengan en cuenta los cambios del horario de verano (DST) que entraron en vigor en marzo de 2007 en muchos países, incluidos Estados Unidos y Canadá. Utiliza la información más reciente sobre el horario de verano y las zonas horarias disponible al 8 de enero de 2007.
5.4 [ 19 ] 26 de octubre de 2007  
  • La clave de licencia ya no es necesaria ni compatible.
  • Desuso de funciones: Aplicaciones basadas en Java Client Nib, Aplicaciones basadas en Direct to JavaClient, Aplicaciones basadas en EOCocoaClient, OpenBase ya no es una base de datos de ejemplo, Herramientas (EOModeler, WebObjects Builder, Editor de reglas)
  • Analizador de plantillas de componentes combinados que reduce componentes .wo a archivos .html individuales.
  • Generación de páginas compatibles con XHTML
  • Controlador de solicitudes AJAX para mejorar el almacenamiento en caché de páginas.
  • Se agregó compatibilidad con la generación de URL seguras.
  • Soporte de monitorización JMX
  • Gestión del índice de entidades en el modelo
  • Se mejoró la sincronización con la base de datos.
  • Se agregó soporte para la generación de índices.
  • Compatibilidad con enumeraciones en la conversión de atributos
  • Soporte mejorado para prototipos específicos de proveedores (EOJDBCOraclePrototype, EOJDBCFrontBasePrototype, etc.)
  • Soporte Derby (base de datos integrada)
  • Apoyo a los medicamentos genéricos
  • Actualización de servicios web (Axis 1.4)
  • Compatibilidad total con los archivos plist XML de Apple (lectura y escritura).
  • Soporte de compilación de Ant
  • Especificaciones abiertas
5.4.1 [ 20 ] 11 de febrero de 2008  
  • "WebObjects 5.4.1 es una actualización para la versión de WebObjects incluida en las herramientas de Mac OS X Leopard. Esta versión corrige varios errores en áreas como la serialización de servicios web, las herramientas de implementación y la compatibilidad con bases de datos, entre otras. Esta actualización se puede instalar en Mac OS X 10.5 Leopard."
  • Se corrigieron errores en la serialización, el despliegue y las bases de datos de los servicios web.
5.4.2 [ 21 ] 11 de julio de 2008  
  • Soluciona problemas del analizador WOComponent
  • Incluye tipos de datos de servicios web y cambios en la API.
  • Incluye correcciones para la generación de SQL de EOF.
  • Resuelve problemas adicionales
5.4.3 [ 22 ] 15 de septiembre de 2008  
  • La instantánea de la base de datos EOF no se está actualizando.
  • Asistente web no está disponible para las aplicaciones D2W.
  • Excepciones al usar WOTextField con formateadores
  • Claves primarias duplicadas generadas por el adaptador JDBC de FrontBase bajo carga
  • Correcciones de problemas adicionales

WOWODC

Desde 2007, la comunidad ha celebrado una conferencia anual para desarrolladores de WebObjects, WOWODC. En 2007 y 2008, la conferencia se celebró el fin de semana anterior a la WWDC, y en 2009, la comunidad promovió dos conferencias: WOWODC West en San Francisco los días 6 y 7 de junio, justo antes de la WWDC, y WOWODC East en Montreal los días 29 y 30 de agosto. WOWODC 2010 se celebró en Montreal los días 27, 28 y 29 de agosto de 2010. WOWODC 2011 se celebró en Montreal los días 1, 2 y 3 de julio de 2011. WOWODC 2012 se celebró en Montreal los días 30 de junio, 1 y 2 de julio de 2012. WOWODC 2013 se celebró en Montreal. WOWODC 2014 se celebró en Montreal (12, 13 y 14 de abril). WOWODC 2015 se celebró en Hamburgo los días 25, 26 y 27 de abril. WOWODC 2016 se celebró en Montreal los días 24, 25 y 26 de junio.

Alternativas de código abierto

El interés por las alternativas de código abierto a WebObjects que utilizan el lenguaje Objective-C creció con la transición de WebObjects de Objective-C (última versión WO 4.5.1) a Java (primera versión WO 5.0). Los dos frameworks disponibles son SOPE, [ 23 ] que se ha utilizado como base del servidor de software colaborativo OpenGroupware.org durante aproximadamente ocho años, y GNUstepWeb , que forma parte del proyecto GNUstep . También existen reescrituras de código abierto de los frameworks EOF (AJRDatabase, GDL2). [ 24 ] [ 25 ]

También existen alternativas basadas en Java:

  • Wotonomy es un proyecto, alojado en SourceForge , que implementa una versión de código abierto y completamente nueva del sistema WebObjects 5.x. [ 26 ] Proporciona una implementación casi completa del marco web MVC, así como implementaciones parciales de las capas Foundation, Control y Data, y otras características. Es suficientemente funcional para aplicaciones de bases de datos de una sola fuente con bajo volumen de transacciones. Si bien la estructura del proyecto se reorganizó en 2006 en torno a una infraestructura de compilación Apache Maven [ 27 ] y se migró al sistema de control de versiones Subversion , [ 28 ] no ha habido ninguna actualización sustancial del código fuente desde 2003. [ 29 ]
  • Apache Tapestry tiene un diseño y una filosofía similares a los de WebObjects. [ 30 ] Tapestry se combina frecuentemente con Apache Cayenne , un marco de persistencia inspirado en EOF .
  • GETobjects es otro framework [ 31 ] con una API similar a WebObjects 5.x que está relacionado con SOPE. [ 23 ]

Existe un intento de crear una versión Swift basada en SOPE / GETobjects, disponible como SwiftObjects. [ 32 ] La implementación para Swift 4 es limitada debido a las capacidades de reflexión de esa versión de Swift.

Véase también

Referencias

  1. 1 2 Leswing, Kif. "Apple mató oficialmente uno de los proyectos favoritos de Steve Jobs" . Business Insider . Consultado el 5 de mayo de 2016 .
  2. "Listas de correo de Apple: RE: Anuncios de descontinuación de Xcode 2.4" . Archivado del original el 14 de junio de 2021.Por Daryl Lee
  3. "Asociación de la Comunidad WebObjects" .(WOCommunity) (sitio web oficial)
  4. "Sitio web oficial de WOWODC '12" .
  5. "Notas de la versión 5.0 de WebObjects" . Archivado del original el 26 de junio de 2009.
  6. "Notas de la versión 5.1 de WebObjects" . Archivado del original el 22 de junio de 2004.
  7. "WebObjects 5.1.2: Resumen de la actualización" . Archivado del original el 2 de febrero de 2003.
  8. "WebObjects 5.1.3: Resumen de la actualización" . Archivado del original el 19 de junio de 2002.
  9. "WebObjects 5.1.4: Resumen de la actualización" . Archivado del original el 2 de febrero de 2003.
  10. "Notas de la versión 5.2 de WebObjects" . Archivado del original el 25 de julio de 2008.
  11. "WebObjects 5.2.1: Resumen de la actualización" . Archivado del original el 25 de marzo de 2003.
  12. "WebObjects 5.2.2: Resumen de la actualización" . Archivado del original el 2 de febrero de 2008.
  13. "WebObjects 5.2.3: Resumen de la actualización" . Archivado del original el 12 de agosto de 2007.
  14. "WebObjects 5.2.4: Resumen de la actualización" . Archivado del original el 26 de abril de 2006.
  15. "Notas de la versión 5.3 de WebObjects" .
  16. "WebObjects 5.3.1: Resumen de la actualización" . Archivado del original el 13 de agosto de 2007.
  17. "WebObjects 5.3.2: Resumen de la actualización" . Archivado del original el 15 de diciembre de 2007.
  18. "WebObjects 5.3.3: Resumen de la actualización" . Archivado del original el 13 de abril de 2008.
  19. "WebObjects 5.4: Actualización en Leopard Server" . Archivado del original el 22 de enero de 2008.
  20. "5.4.1: Actualización en Leopard Client" . Archivado del original el 16 de diciembre de 2008.
  21. "Acerca de la actualización 5.4.2 de WebObjects" . Archivado del original el 11 de octubre de 2008.
  22. "Acerca de la actualización 5.4.3 de WebObjects" . Archivado del original el 23 de diciembre de 2008.
  23. 1 2 "Entorno de publicación de objetos SKYRiX" . sope.opengroupware.org .
  24. «Base de datos AJR» . 7 de agosto de 2015.
  25. "GDL2" .
  26. "Proyecto Wotonomy" .
  27. "Wotonomy se pasa a Maven y elimina el software no libre" .- Cristiano Gruber
  28. "La wotonomy impulsa la subversión" .- Cristiano Gruber
  29. "La red de Wootonomy se está uniendo" .- Michael Powers
  30. Tapestry In Action - Prefacio ( ISBN) 9781932394115)
  31. "OBTENER objetos" .
  32. "SwiftObjects" .
  • WebObjects en Apple Developer (Archivado del original )
  • Sitio web oficial de la comunidad WebObjects