Введение

Java web-приложение и фреймворк, первоначально разработанный NeXT Software.

WebObjects — это прекращенный Java web-приложение и веб-фреймворк, работающий на сервере, первоначально разработанный NeXT Software, Inc.

Отличительными особенностями WebObjects являются объектно-ориентированный подход, возможности подключения к базам данных и инструменты прототипирования. Приложения, созданные с помощью WebObjects, могут быть развернуты как веб-сайты, настольные приложения Java WebStart и/или веб-сервисы, соответствующие стандартам. Среда выполнения развертывания написана на чистом Java, что позволяет разработчикам развертывать приложения WebObjects на платформах, поддерживающих Java. Можно использовать встроенный в WebObjects Java SE-сервер приложений или развернуть приложения на сторонних Java EE-серверах приложений, таких как JBoss, Apache Tomcat, WebLogic Server или IBM WebSphere. WebObjects долгое время поддерживался компанией Apple. Однако, поскольку Apple прекратила поддержку программного обеспечения, в настоящее время его поддерживает онлайн-сообщество добровольцев, называющее себя "Project Wonder".

NeXT создает WebObjects

WebObjects был создан компанией NeXT Software, Inc., впервые публично продемонстрирован на конференции Object World в 1995 году и выпущен в общий доступ в марте 1996 года. Преимущества в скорости и экономии, обеспечиваемые быстрой объектно-ориентированной разработкой, привлекли крупные корпорации к WebObjects на заре развития электронной коммерции, среди клиентов были BBC News, Dell Computer, Disney, DreamWorks SKG, Fannie Mae, GE Capital, Merrill Lynch и Motorola.

Конец WebObjects и начало проекта Wonder

В 2009 году Apple прекратила выпуск новых версий WebObjects для внешних пользователей. Сообщество решило продолжить разработку с помощью Project Wonder – фреймворка с открытым исходным кодом, построенного на основе основных фреймворков WebObjects и расширяющего их функциональность. Например, Project Wonder предлагает обновленные инструменты разработки и REST-фреймворк, который не входил в исходный пакет WebObjects. Хотя WebObjects ранее поставлялся в комплекте с Mac OS X Server, начиная с Mac OS X Snow Leopard Server он перестал устанавливаться по умолчанию, а вскоре после этого Apple прекратила его продвижение и продажу. По состоянию на 2016 год WebObjects активно поддерживается сообществом разработчиков, "WOCommunity Association", путем расширения основных фреймворков и предоставления исправлений через Project Wonder. Организация в последний раз проводила Всемирную конференцию разработчиков WebObjects (WOWODC) в 2013 году. В мае 2016 года Apple официально подтвердила прекращение разработки WebObjects.

Инструменты

С 2016 года большинство архитекторов и инженеров WebObjects используют инструменты, разрабатываемые сообществом WebObjects. Эти инструменты работают в среде разработки Eclipse и имеют открытый исходный код. Плагины WebObjects для Eclipse известны как WOLips. Разработка фреймворков и приложений WebObjects для развертывания обычно осуществляется с помощью набора инструментов WOProject для Apache Ant или Apache Maven. Эти инструменты распространяются вместе с WOLips.

Основные рамки

Приложение WebObjects – это, по сути, исполняемый файл на стороне сервера, созданный путем объединения предварительно созданных объектов фреймворка приложений с пользовательским кодом разработчика. Фреймворки WebObjects можно разделить на три основные части: WebObjects Framework (WOF) находится на самом высоком уровне системы. Он отвечает за пользовательский интерфейс приложения и управление состоянием. Он использует шаблонный подход для преобразования графа объектов в HTML или другие стандарты отображения информации на основе тегов, такие как XML или SMIL. Он предоставляет среду, в которой можно использовать и создавать многократно используемые компоненты. Компоненты – это фрагменты представления (HTML) и функциональности (код Java), часто с набором параметров для повышения повторного использования. WebObjects Builder используется для создания HTML-шаблонов и установления связей, например, между объектом Java String и элементами интерфейса, такими как поле ввода в веб-форме. Enterprise Objects Framework (EOF) – это, пожалуй, визитная карточка WebObjects. EOF взаимодействует с реляционными базами данных и преобразует строки базы данных в граф объектов. С помощью EOModeler разработчик может создать абстракцию базы данных в виде объектов Java. Для доступа к информации или ее добавления в базу данных разработчик просто обращается к Java Enterprise Objects (EO) из своей бизнес-логики. После этого EOF управляет объектами Enterprise и автоматически генерирует необходимый SQL-код для сохранения изменений в базе данных. Java Foundation. И Enterprise Objects, и WebObjects основаны на классах Java Foundation, что вполне закономерно. Этот фреймворк содержит фундаментальные реализации структур данных и утилиты, используемые во всем WebObjects. Примеры включают базовые классы значений и коллекций, такие как массивы, словари (объекты, содержащие пары ключ-значение) и классы форматирования. Java Foundation аналогичен фреймворку Foundation, содержащемуся в API Cocoa от Apple для настольных приложений macOS, однако Java Foundation написан на чистом Java, в отличие от Objective-C Cocoa (с его оберткой Java bridge). Классы Foundation имеют префикс "NS" (отсылка к их происхождению из операционной системы NeXTSTEP). С момента перехода WebObjects на Java в 2000 году функциональность многих классов Apple Java Foundation была воспроизведена в собственном JDK от Sun. Однако они сохраняются в основном для обеспечения обратной совместимости, и разработчики могут свободно использовать любой фреймворк по своему усмотрению.

WOWODC

С 2007 года сообщество проводит ежегодную конференцию для разработчиков WebObjects, WOWODC. В 2007 и 2008 годах конференция проходила в выходные дни перед WWDC, а в 2009 году сообщество организовало две конференции: WOWODC West в Сан-Франциско 6 и 7 июня, непосредственно перед WWDC, и WOWODC East в Монреале 29 и 30 августа. WOWODC 2010 проходила в Монреале 27, 28 и 29 августа 2010 года. WOWODC 2011 проходила в Монреале 1, 2 и 3 июля 2011 года. WOWODC 2012 проходила в Монреале 30 июня, 1 и 2 июля 2012 года. WOWODC 2013 состоялась в Монреале. WOWODC 2014 проходила в Монреале (12, 13 и 14 апреля). WOWODC 2015 проходила в Гамбурге 25, 26 и 27 апреля. WOWODC 2016 проходила в Монреале 24, 25 и 26 июня.