Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
WebObjects
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software|nombre=WebObjects|autor=[[NeXT|NeXT Software Inc.]]|desarrollador=[[Apple Inc.]]|licencia=[[Proprietary software|Proprietary]]|última_versión=5.4.3|fecha_última_versión={{Start date and age|2008|09|15}}|lenguaje programación=[[Java (programming language)|Java]]|sistema_operativo=[[macOS|OS X]]}}'''WebObjects''' es un [[Servidor de aplicaciones|servidor web de aplicaciones]] [[Plataforma Java|Java]] y un [[Framework para aplicaciones web|marco de aplicaciones web]] basado en un servidor desarrollado originalmente por [[NeXT|NeXT Software, Inc.]] Desde 2009, el software ha sido mantenido de forma independiente por voluntarios. Las características distintivas de WebObject son su [[Programación orientada a objetos|orientación a objetos]], conectividad con base de datos y herramientas de creación de prototipos. Las aplicaciones creadas con WebObjects se pueden implementar como sitios web, aplicaciones de escritorio y / o [[Servicio web|servicios web]] basados en estándares. El [[Sistema en tiempo de ejecución|tiempo de ejecución de la]] implementación es puramente Java , lo que permite a los desarrolladores implementar aplicaciones WebObjects en plataformas compatibles con Java. Se puede utilizar WebObjects [[Java SE]] como servidor de aplicaciones(incluido) o implementar servidores de aplicaciones [[Java EE]] de terceros como [[WildFly|JBoss]], [[Tomcat|Apache Tomcat]], [[Oracle WebLogic|WebLogic Server]] o IBM [[WebSphere (software)|WebSphere]] . == Historia == WebObjects fue creado por [[NeXT|NeXT Software, Inc.]], se mostró públicamente por primera vez en la conferencia Object World de1995 y se lanzó al público en marzo de 1996. Los beneficios de tiempo y coste del desarrollo rápido orientado a objetos atrajeron a las principales corporaciones a WebObjects en los primeros días del [[comercio electrónico]], con clientes como la [[BBC News]], [[Dell|Dell Computer]], [[The Walt Disney Company|Disney]], [[DreamWorks|DreamWorks SKG]], [[Fannie Mae]], GE Capital, [[Merrill Lynch]] y [[Motorola, Inc.|Motorola]] . Sin embargo, tras la fusión de [[NeXT]] con [[Apple|Apple Inc.]] en 1997, el perfil público de WebObjects languideció. Muchos de los primeros usuarios cambiaron posteriormente a tecnologías alternativas, y actualmente Apple sigue siendo el mayor cliente del software, confiando en él para impulsar partes de la [[Apple Store]] y [[iTunes Store]], la implementación de más alto nivel de WebObjects. WebObjects formaba parte de la estrategia de Apple de utilizar software para impulsar las ventas de hardware, y en el 2000 el precio se redujo de 50.000 dólares (licencia de implementación completa) a 699 dólares. Desde mayo de 2001, WebObjects se incluyó con [[MacOS Server|Mac OS X Server]] y ya no requería un clave de licencia para desarrollo o 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 marcos de desarrollo, que anteriormente se vendían por 699 dólares estadounidenses, se incluían en el [[Entorno de desarrollo integrado|IDE]] de [[Xcode]] de Apple. El soporte para [[Microsoft Windows|Windows]] fue interrumpido más tarde. Apple dijo que integraría aún más las herramientas de desarrollo de WebObjects con Xcode en versiones futuras. Esto incluía un nuevo plugin EOModeler para Xcode. Sin embargo, esta estrategia no se siguió adelante. En 2006, Apple anunció que el puente Cocoa-Java de MacOS X quedaría obsolto con el lanzamiento de Xcode 2.4 en la Conferencia Mundial de Desarrolladores de agosto de 2006, y con todas las características dependientes, incluida 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 tiempo de ejecución de WebObjects, dejando la responsabilidad de las aplicaciones de desarrollo en la comunidad de código abierto. La principal alternativa de código abierto: el [[Eclipse (software)|Eclipse IDE]] con el conjunto de complementos WOLips, maduró hasta tal punto que sus capacidades habían superado, en muchas áreas, las de las propias herramientas de Apple, que no habían tenido 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,<ref>[http://lists.apple.com/archives/webobjects-dev/2006/Aug/msg01144.html Lista de mensajería de Apple: RE: Xcode 2.4 Anuncios de baja] {{Wayback|url=http://lists.apple.com/archives/webobjects-dev/2006/Aug/msg01144.html |date=20210614190308 }} by Daryl Lee</ref> 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: * Mejora del rendimiento, la capacidad de gestión y el cumplimiento de los estándares * 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 envió con [[Mac OS X Leopard]] en octubre de 2007, eliminó el requisito de la clave de licencia para el desarrollo y la implementación de aplicaciones WebObjects en todas las plataformas. Todos los métodos para verificar las limitaciones de la licencia quedaron obsoletos. En 2009, Apple dejó de publicar nuevas versiones de WebObjects fuera de Apple. La comunidad decidió continuar con el desarrollo con Project Wonder, un marco de código abierto construido sobre los marcos principales de WebObjects y extenderlo. Por ejemplo, Project Wonder ha actualizado las herramientas de desarrollo y proporciona un marco [[Transferencia de Estado Representacional|REST]] que no formaba parte del paquete WebObjects original. Aunque una vez se incluyó en la instalación predeterminada de Mac OS X Server, WebObjects ya no se instaló de forma predeterminada a partir de [[Mac OS X Snow Leopard]] Server y poco después, Apple dejó de promover o vender WebObjects. A partir de 2016, WebObjects cuenta con el apoyo activo de su desarrollador comunidad, la "WOCommunity Association", ampliando los marcos centrales y proporcionando correcciones con Project Wonder. La organización celebró por última vez una Conferencia mundial de desarrolladores de WebObjects, WOWODC, en 2013.<ref>[http://WOCommunity.org Asociación de la comunidad de WebObjects] (WOCommunity) (sitio oficial).</ref><ref>[http://www.wocommunity.org/wowodc12/](WOWODC '12) sitio oficial.</ref> En mayo de 2016, Apple confirmó que WebObjects había sido interrumpido.<ref>{{Cita web|url=http://www.businessinsider.com/apple-officially-discontinues-webobjects-2016-5|título=Apple acaba con con uno de los proyectos favoritos de Steve Jobs|fechaacceso=5 May 2016|autor=Leswing|nombre=Kif|sitioweb=Business Insider|editorial=Business Insider}}</ref> == Herramientas == A partir de 2016, la mayoría de los arquitectos e ingenieros de WebObjects están utilizando las herramientas que está desarrollando 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 de WebObjects para su implementación se logra normalmente mediante el conjunto de herramientas WOProject para [[Apache Ant]] o [[Maven|Apache Maven]], que se distribuyen con WOLips. == Marcos básicos == Una aplicación WebObjects es esencialmente un ejecutable en el lado del servidor, creado mediante la combinación de objetos de marco de aplicación prediseñados con el propio código personalizado del desarrollador. Los marcos de WebObjects se pueden dividir en tres partes principales: * '''WebObjects Framework (WOF)''' se encuentra en el nivel más alto del sistema. Es responsable de la interfaz de usuario de la aplicación y la administración del estado. Utiliza un enfoque basado en plantillas para tomar ese gráfico de objetos y convertirlo en [[HTML]] u otro tipo de etiqueta. Estándares de visualización de información, como [[Extensible Markup Language|XML]] o [[SMIL]]. Proporciona un entorno donde poder utilizar 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. Se utiliza WebObjects Builder para crear las plantillas HTML y crea el enlace de archivos .wod, por ejemplo, un objeto de cadena Java a objetos de interfaz como un campo de entrada en un [[formulario web]]. * '''Enterprise Objects Framework (EOF)''' es, quizás, la característica distintiva de WebObjects. EOF se comunica con [[Base de datos relacional|bases de datos relacionales]] y convierte las filas de la base de datos en un gráfico de objetos. Con 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 Java Enterprise Objects (EO) desde su lógica de negocios. Después de eso, EOF administra los EO y crea automáticamente el código [[SQL]] requerido para confirmar los cambios en la base de datos. * '''Java Foundation'''. Tanto Enterprise Objects como WebObjects se basan en las clases de Java Foundation con el nombre adecuado. Este marco contiene las implementaciones de la [[estructura de datos]] fundamentales y las utilidades que se utilizan en el resto de WebObjects. Los ejemplos incluyen clases de valor y colección básicas, como [[Vector (informática)|arrays]], diccionarios . Java Foundation es similar al marco Foundation contenido en la API Cocoa de Apple para aplicaciones de escritorio macOS, sin embargo, Java Foundation está escrito en Java puro en lugar de Objective-C de Cocoa (con su contenedor de tiempo de ejecución de puente de Java ). Las clases Foundation tienen el prefijo "NS" (una referencia a su herencia del sistema operativo [[NEXTSTEP|NeXTSTEP]]). Desde la transición de WebObjects a Java en 2000, la funcionalidad de muchas de las clases Java Foundation de Apple se ha replicado en el propio [[Java Development Kit|JDK]] de Sun. Sin embargo, persisten en gran parte por razones de compatibilidad con versiones anteriores y los desarrolladores son libres de utilizar los marcos que prefieran. == Desarrollo rápido de aplicaciones basado en reglas (RBRAD) == WebObjects presenta un conjunto de tecnologías de desarrollo rápido que pueden crear automáticamente una aplicación web sin la necesidad de escribir ningún código [[Java (lenguaje de programación)|Java]]. Dado un archivo modelo para una base de datos, WebObjects creará una interfaz que admite nueve tareas comunes de la base de datos, incluidas consultas, edición y listado. Estas aplicaciones son útiles para la creación de prototipos o de otra manera una base de datos, quizás para verificar [[Modelo relacional|relaciones]] o para sembrar la base de datos con datos. La interfaz de usuario se genera dinámicamente, sobre la marcha en tiempo de ejecución usando un sistema basado en reglas, no se genera código. Por lo tanto, se puede modificar la configuración de una aplicación en tiempo de ejecución (usando un programa asistente) sin recompilar o relanzar la aplicación. Los desarrolladores pueden utilizar una de las tres tecnologías diferentes, según el 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 [[Swing (biblioteca gráfica)|Java Swing]] . Una ventaja de las aplicaciones de cliente Java es que pueden aprovechar la potencia de procesamiento de la computadora cliente para realizar operaciones tales como ordenar una lista de elementos recibidos del servidor. * '''Direct To Web Services''' permite a los desarrolladores desarrollar rápidamente aplicaciones basadas en servicios web que brindan acceso a un [[almacén de datos]]. === Ventajas de RBRAD === * Tiempo de desarrollo y depuración muy reducido; * Mayor estabilidad mediante el uso de código altamente ejercitado; * 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, tendría que escribir código para evitar tales situaciones y manejar errores generados por datos incorrectos. * Utiliza completamente los servicios de validación proporcionados por WebObjects y Enterprise Objects. == Java Compatibilidad == WebObjects es un producto 100% Java con las siguientes funciones basadas en Java: * '''Implementación:''' las aplicaciones se pueden implementar en cualquier sistema operativo que tenga Java 1.3 o posterior. Muchos desarrolladores se han implementado con éxito en [[Microsoft Windows|Windows]] y varios sistemas [[Linux]] como [[Red Hat Linux]], [[Debian GNU/Linux|Debian]] y [[SUSE Linux|SUSE]] . Las aplicaciones también se pueden alojar en cualquier servidor de aplicaciones compatible con [[Java EE]], como [[WildFly|JBoss]] . * '''Integración de Java EE:''' las aplicaciones de WebObjects se pueden empaquetar en un solo directorio (un archivo .war expandido) que facilita la implementación en un contenedor de [[Java Servlet|servlets de]] [[Java EE]] . * '''JDBC:''' Dado que WebObjects usa [[Java Database Connectivity|JDBC]] para la conectividad de la base de datos, cualquier [[Base de datos|DBMS]] que tenga un controlador JDBC se puede usar dentro de WebObjects. * '''Interfaz Swing: las''' aplicaciones WebObjects se pueden entregar al usuario como una "aplicación de cliente Java" o como un subprograma Java. == Historial de versiones == WebObjects fue lanzado originalmente por [[NeXT|NeXT Computer]] en marzo de 1996, pero fue adquirido por [[Apple|Apple Inc.]] con la adquisición de NeXT en diciembre de ese año. == WOWODC == Desde 2007, la comunidad ha celebrado una conferencia anual para desarrolladores de WebObjects, WOWODC. En 2007 y 2008, la conferencia se llevó a cabo 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 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 llevó a cabo en Montreal el 30 de junio, 1 y 2 de julio de 2012. WOWODC 2013 se celebró en Montreal. WOWODC 2014 se llevó a cabo 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 open-source == El interés en las alternativas de código abierto a los WebObjects que utilizan el lenguaje [[Objective-C]] creció con el cambio 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,<ref name="sope3">[http://sope.opengroupware.org/ Frameworks SOPE para Objective-C]</ref> que se ha utilizado como base del servidor de software colaborativo 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, AJRDatabase, GDL2).<ref>[http://sourceforge.net/projects/ajrdatabase/ AJRDatabase]</ref><ref>[http://www.gnustep.org/experience/GDL2.html GDL2]</ref> También hay alternativas basadas en Java: * '''Wotonomy''' es un proyecto, alojado en [[SourceForge|Sourceforge]], que implementa una versión de código abierto de sala limpia del sistema WebObjects 5.x.<ref>[http://wotonomy.sourceforge.net/ Proyecto Wotonomy]</ref> Proporciona una implementación casi completa del marco web MVC, así como implementaciones parciales de Foundation, Control, capas de datos y otras características. Es lo suficientemente funcional para aplicaciones de base de datos de fuente única y de bajo volumen de transacciones. Mientras que la estructura del proyecto se reorganizó en 2006 en torno a una infraestructura de compilación Apache Maven<ref>[http://sourceforge.net/forum/forum.php?forum_id=541649 Wotonomy se muda a Maven] {{Wayback|url=http://sourceforge.net/forum/forum.php?forum_id=541649 |date=20090216232858 }} - Christian Gruber</ref> y se migró al sistema de control de revisiones [[Subversion (software)|Subversion]],<ref>[http://sourceforge.net/forum/forum.php?forum_id=550278 Wotonomy desplaza Subversion] {{Wayback|url=http://sourceforge.net/forum/forum.php?forum_id=550278 |date=20090217045143 }} - Christian Gruber</ref> no ha habido ninguna actualización sustancial del código base desde 2003. * [[Apache Tapestry]] tiene un diseño y una filosofía similares a los de WebObjects.<ref>Tapestry en acción - Preface ({{ISBN|9781932394115}})</ref> Tapestry se combina frecuentemente con [[Apache Cayenne]], un marco de persistencia inspirado en EOF. * '''GETobjects''' es otro marco<ref>[http://www.getobjects.org/ GETobjects]</ref> con una API similar a WebObjects 5.x relacionada con SOPE.<ref name="sope">[http://sope.opengroupware.org/ Frameworks SOPE para Objetive-C]</ref> Un intento de hacer una versión [[Swift (lenguaje de programación)|Swift]] basada en SOPE / GETobjects está disponible como SwiftObjects.<ref>[http://www.swiftobjects.org SwiftObjects]</ref> La implementación para Swift 4 está limitada debido a las capacidades de reflexión de esa versión Swift. == Referencias == {{Listaref|2}} == Enlaces externos == * [https://web.archive.org/web/20090423021619/http://developer.apple.com/tools/webobjects/ WebObjects en Apple Developer] (Archivado desde [https://developer.apple.com/webobjects el original] ) * [http://www.wocommunity.org/ Sitio web oficial de la comunidad de WebObjects] {{Control de autoridades}} [[Categoría:Frameworks para aplicaciones web]] [[Categoría:Java EE]] [[Categoría:Software de Apple Inc.]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
WebObjects
»
Añadir idiomas
Añadir tema