stringtranslate.com

Objetos web

WebObjects es un servidor de aplicaciones web Java discontinuado y un marco de 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 WebObjects se pueden implementar como sitios web, aplicaciones de escritorio Java WebStart y/o servicios web basados ​​en estándares .

El entorno de ejecución de implementación es Java puro, lo que permite a los desarrolladores implementar aplicaciones WebObjects en plataformas que admiten Java. Se puede utilizar el servidor de aplicaciones WebObjects Java SE incluido o implementar en servidores de aplicaciones Java EE de terceros , como JBoss , Apache Tomcat , WebLogic Server o IBM WebSphere .

WebObjects fue mantenido por Apple durante bastante tiempo. Sin embargo, debido a que Apple dejó de mantener el software, ahora lo mantiene una comunidad en línea de voluntarios. Esta comunidad lo llama "Project Wonder".

Historia

NeXT crea WebObjects

WebObjects fue creado por NeXT Software, Inc. , se demostró públicamente por primera vez en la conferencia Object World en 1995 y se lanzó al público en marzo de 1996. Los beneficios de tiempo y costo del desarrollo rápido y orientado a objetos atrajeron a importantes corporaciones a WebObjects en los primeros días del comercio electrónico , con clientes que incluían a BBC News , Dell Computer , Disney , DreamWorks SKG , Fannie Mae , GE Capital , Merrill Lynch y Motorola .

Apple adquiere NeXT y sigue manteniendo el software

Tras la fusión de NeXT con Apple Inc. en 1997, el perfil público de WebObjects languideció. Muchos de los primeros usuarios pasaron más tarde a tecnologías alternativas, incluida Apple, que había sido el último gran cliente restante del software, y dependían de él para impulsar partes de su Apple Store en línea y la iTunes Store , que era la implementación de mayor perfil de WebObjects en ese momento.

WebObjects fue parte de la estrategia de Apple de usar software para impulsar las ventas de hardware y en 2000 el precio se redujo de $50,000 (para la licencia de implementación completa) a $699. 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 ser 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 incluían en el IDE Xcode de Apple . A partir de entonces se interrumpió el soporte para otras plataformas, como Windows . Apple afirmó que seguiría integrando 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 siguió aplicando.

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 de agosto de 2006, y con él todas las características dependientes, incluyendo la suite completa 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 tiempo de ejecución de WebObjects, dejando la futura responsabilidad de las aplicaciones para desarrolladores a la comunidad de código abierto. La principal alternativa de código abierto —el IDE Eclipse con la suite de complementos WOLips— había madurado hasta tal punto que sus capacidades habían, en muchas áreas, superado las de las propias herramientas de Apple, que no habían visto actualizaciones significativas durante varios años.

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

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 verificar 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 Apple. La comunidad decidió continuar el desarrollo con Project Wonder, un marco de código abierto que se basa en los marcos básicos de WebObjects y los amplía. Por ejemplo, Project Wonder ha actualizado las herramientas de desarrollo y proporciona un marco REST que no formaba parte del paquete WebObjects original.

Aunque en su día se incluyó en la instalación predeterminada de Mac OS X Server, WebObjects dejó de instalarse de forma predeterminada a partir de Mac OS X Snow Leopard Server y, poco después, Apple dejó de promocionar o vender WebObjects. A partir de 2016, WebObjects cuenta con el apoyo activo de su comunidad de desarrolladores, la "WOCommunity Association", que amplía los marcos básicos y proporciona correcciones con Project Wonder. La última vez que la organización celebró una Conferencia Mundial de Desarrolladores de WebObjects, WOWODC, fue en 2013. [2] [3]

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

Herramientas

A partir de 2016, la mayoría de los arquitectos e ingenieros de WebObjects utilizan las herramientas que desarrolla la comunidad de WebObjects. Estas herramientas se ejecutan dentro del IDE de Eclipse y son de código abierto. Los complementos de WebObjects para Eclipse se conocen como WOLips.

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

Marcos básicos

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

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

WebObjects incluye un conjunto de tecnologías de desarrollo rápido que pueden crear automáticamente una aplicación web sin necesidad de escribir código Java . Dado un archivo de modelo para una base de datos, WebObjects creará una interfaz que admita nueve tareas comunes de bases de datos, incluidas las consultas, la edición y la creación de listas. Estas aplicaciones son útiles para crear prototipos o administrar una base de datos, tal vez para comprobar relaciones o para cargar la base de datos con datos.

La interfaz de usuario se genera de forma dinámica, sobre la marcha, durante la ejecución mediante un sistema basado en reglas; no se genera ningún código. Por lo tanto, se puede modificar la configuración de una aplicación durante la ejecución (mediante un programa asistente) sin tener que volver a compilar o reiniciar la aplicación.

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

Ventajas de RBRAD

Compatibilidad con Java

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

Historial de versiones

WebObjects fue lanzado originalmente por NeXT Computer en marzo de 1996, pero fue adquirido por Apple Inc. con su adquisición de NeXT en diciembre de ese 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 (sólo NT).
3.5 — Diciembre de 1997
  • Soporte mejorado para Java (sólo NT): todos los objetos y componentes se pueden trabajar 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, específicamente Mac OS X Server 1.0 (una versión pública del sistema operativo beta anteriormente llamado " 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 introdujeron acciones directas mediante las cuales las acciones se pueden enviar directamente a un objeto que puede manejarlas, lo que permite URL estáticas y más simples.
  • Se presenta un asistente de desarrollo sin código directo para la Web.
  • WebObjects y Enterprise Objects Framework proporcionan API seguras para subprocesos. Esto significa que puede escribir una aplicación WebObjects multiproceso donde antes no podía hacerlo. Esto permite que las aplicaciones puedan proporcionar comentarios de los usuarios para solicitudes de larga duración.
  • Mejores herramientas para gestionar, configurar y probar la escalabilidad de las aplicaciones.
  • Las capacidades de Java han mejorado mucho con respecto a la versión anterior, sin embargo, Objective-C compilado sigue siendo dos o tres veces más rápido;
  • Es posible crear un cliente Java totalmente funcional, ya sea como una aplicación independiente o como un subprograma con Interface Builder: todo tipo de componentes Swing y Java Bean se encuentran en paletas IB para su conexión.
  • Los desarrolladores ahora pueden depurar aplicaciones en una máquina que no tenga un servidor web presente.
  • EOF 3.0 agrega soporte para una nueva base de datos, OpenBase Lite, que se envía con EOF 3.0 como una demostración sin soporte.
  • EOF 3.0 introduce una nueva API, principalmente en EOUtilities, para facilitar las tareas de programación comunes.
  • EOModeler agrega soporte para 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 vincular claves y la interfaz de usuario para editar tablas. Se han agregado una vista de rutas, un editor de API y validación de componentes.
  • Herramientas de creación de perfiles de aplicaciones.
  • EOF 4.5 viene con un nuevo adaptador de muestra: el adaptador LDAP.
  • Direct to Web ahora te permite crear tu propio estilo visual y expone una gran cantidad de API nuevas.
  • El Cliente Java 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 que soporta la API 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 JSP o servlets en servidores de aplicaciones de terceros.
  • Acceder y manipular datos almacenados en servicios de directorio JNDI o LDAP .
  • Genere automáticamente aplicaciones cliente Java de escritorio con interfaces de usuario ricas e interactivas.
  • Utilice el motor de plantillas WebObjects y el mapeo relacional de objetos para una mensajería XML fluida .
5.1.2 [7] — 7 de mayo de 2002
  • Contiene correcciones de errores generales 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 correcciones de errores importantes llevaron a muchos desarrolladores a aclamar esta como la primera versión 5.x estable de WebObjects.
5.2.1 [11] — 21 de marzo de 2003
  • Se resolvieron 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 IDE Xcode .
  • Calificación de JBoss en Panther Server.
  • Calificado para 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 aborda problemas con estados CLOSE_WAIT en la implementación mediante JavaMonitor y wotaskd y problemas relacionados con EOF bajo alta carga.
  • Calificado para 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
  • Herramientas para desarrolladores de WebObjects incluidas de forma gratuita con el IDE Xcode (v2.1).
  • Desarrollo e implementación en plataformas distintas a Mac OS X que ya no son compatibles con Apple.
  • Los EOModels se pueden crear y editar dentro de Xcode con un nuevo complemento EOModeler que se integra con las herramientas de modelado CoreData .
  • WebObjects Builder tiene mejoras de interfaz de usuario y genera código HTML 4.0.1.
  • El entorno de ejecución de WebObjects ahora admite 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á calificado 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 incompatibilidades 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 que las aplicaciones WebObjects desarrolladas con Xcode 2.2 se implementen en cualquier plataforma compatible. La licencia está disponible en /System/Library/Frameworks/JavaWebObjects.framework/Resources/License.key después de la instalación.
  • Agrega una mejor generación de SQL en la herramienta de diseño del complemento EOModeler en Xcode.
  • Se mejoró la creación de FetchSpecification en la herramienta de diseño del complemento 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 incompatibilidades 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 del horario de verano de WebObjects": actualiza los sistemas WebObjects 5.3 para que respeten los cambios en el horario de verano (DST) que entrarán 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 la zona horaria disponible al 8 de enero de 2007.
5.4 [19] — 26 de octubre de 2007
  • La clave de licencia ya no es necesaria o no es compatible
  • Desusos: 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 los componentes .wo a archivos .html individuales
  • Generación de páginas compatibles con XHTML
  • Controlador de solicitudes AJAX para un mejor almacenamiento en caché de páginas
  • Se agregó soporte para la generación segura de URL
  • Soporte de monitoreo JMX
  • Gestión de índices 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 de Derby (base de datos integrada)
  • Soporte para genéricos
  • Actualización de WebServices (Eje ​​1.4)
  • Soporte completo para plist XML de Apple (lectura y escritura)
  • Soporte de construcción de hormigas
  • Especificaciones abiertas
5.4.1 [20] — 11 de febrero de 2008
  • "WebObjects 5.4.1 es una versión de 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, herramientas de implementación y 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, implementación y bases de datos de servicios web.
5.4.2 [21] — 11 de julio de 2008
  • Soluciona problemas del analizador WOComponent
  • Incluye tipos de datos de WebServices y cambios de API
  • Incluye correcciones de generación de SQL EOF
  • Resuelve problemas adicionales
5.4.3 [22] — 15 de septiembre de 2008
  • La instantánea de la base de datos EOF no se actualiza
  • Webassistant no está disponible para aplicaciones D2W
  • Excepciones al utilizar 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 el 6 y 7 de junio, inmediatamente antes de la WWDC, y WOWODC East en Montreal el 29 y 30 de agosto. WOWODC 2010 se celebró en Montreal el 27, 28 y 29 de agosto de 2010. WOWODC 2011 se celebró en Montreal el 1, 2 y 3 de julio de 2011. WOWODC 2012 se celebró en Montreal el 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 el paso de WebObjects de Objective-C (última versión WO 4.5.1) a Java (primera versión WO 5.0). Los dos marcos disponibles son SOPE, [23] que se ha utilizado como base del servidor de groupware OpenGroupware.org durante unos ocho años, y GNUstepWeb , que forma parte del proyecto GNUstep . También existen reescrituras de código abierto de los marcos EOF (AJRDatabase, GDL2). [24] [25]

También existen alternativas basadas en Java:

Un intento de hacer una versión de Swift basada en SOPE/GETobjects está 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. ^ Listas de correo de Apple: RE: Anuncios de desuso de Xcode 2.4 por Daryl Lee
  2. ^ WebObjects Community Association (WOCommunity) (sitio web oficial).
  3. ^ [1](WOWODC '12) sitio web oficial.
  4. ^ Leswing, Kif. "Apple oficialmente eliminó uno de los proyectos favoritos de Steve Jobs". Business Insider . Business Insider . Consultado el 5 de mayo de 2016 .
  5. ^ Notas de la versión de WebObjects 5.0
  6. ^ Notas de la versión de WebObjects 5.1
  7. ^ WebObjects 5.1.2: Descripción general de la actualización
  8. ^ WebObjects 5.1.3: Descripción general de la actualización
  9. ^ WebObjects 5.1.4: Descripción general de la actualización
  10. ^ Notas de la versión de WebObjects 5.2
  11. ^ WebObjects 5.2.1: Descripción general de la actualización
  12. ^ WebObjects 5.2.2: Descripción general de la actualización
  13. ^ WebObjects 5.2.3: Descripción general de la actualización
  14. ^ WebObjects 5.2.4: Descripción general de la actualización
  15. ^ Notas de la versión de WebObjects 5.3
  16. ^ WebObjects 5.3.1: Descripción general de la actualización
  17. ^ WebObjects 5.3.2: Descripción general de la actualización
  18. ^ WebObjects 5.3.3: Descripción general de la actualización
  19. ^ WebObjects 5.4: Actualización en el servidor Leopard
  20. ^ 5.4.1: Actualización en el cliente Leopard
  21. ^ Acerca de la actualización de WebObjects 5.4.2
  22. ^ Acerca de la actualización de WebObjects 5.4.3
  23. ^ ab Marcos SOPE para Objective-C
  24. ^ Base de datos AJR
  25. ^ GDL2
  26. ^ Proyecto Wotonomy
  27. ^ "Wotonomy se pasa a Maven y elimina el software no libre" - Christian Gruber
  28. ^ "La Wotonomy promueve la subversión" - Christian Gruber
  29. ^ "La web de Wotonomy se está consolidando" - Michael Powers
  30. ^ Tapiz en acción - Prefacio ( ISBN 9781932394115
  31. ^ Obtener objetos
  32. ^ Objetos Swift

Enlaces externos