Введение
бывший Северо-Восточный Уэльский институт высшего образования (NEWI). Newi – это акроним от NEw World Infrastructure, архитектура программного обеспечения для компонентного программирования, наиболее известная как Newi Business Objects, которая и ввела термин «бизнес-объект». Newi был разработан Оливером Симсом в компании Integrated Object Systems, занимающейся разработкой программного обеспечения, в Англии. Это была одна из первых реализованных архитектур для программных компонентов.
Newi is an acronym for NEw World Infrastructure, a software architecture for software componentry, mostly known as Newi Business Objects which coined the term business object. Newi was developed by Oliver Sims at the software engineering company Integrated Object Systems, England. It was one of the first implemented architectures for software components.
Обзор
Newi был тем, что сегодня называют контейнером компонентов. Концепции, лежащие в основе промежуточного ПО Newi, можно найти в книге Оливера Симса «Business Objects», McGraw Hill, 1994 год. Несмотря на название, книга была посвящена программным компонентам. Компоненты Newi были языково-независимыми. То есть, компонент Newi мог быть написан на одном из множества языков, поддерживаемых Newi. В период расцвета Newi поддерживал программные компоненты, написанные на Cobol, Ada, C, C++, Rexx и Java. Поддерживаемые платформы включали Windows 3.1, Win95, WinNT, три варианта Unix, а также прототип, поддерживающий компоненты, написанные на RPG, работал на AS400. Компоненты Newi предназначались для реализации концепции "крупных объектов". Существовала форма суб- и супертипирования, реализованная инфраструктурой посредством интеллектуального механизма делегирования. Например, компонент, написанный на C, мог быть "подтипом" компонента, написанного на Cobol. Имена компонентов (или типы?) были отделены от модуля реализации кода. Сообщения (синхронные и асинхронные) передавались с использованием запатентованной формы "данных с метками" (концепция, схожая с современным XML). Также существовала служба уведомлений. Различные системные сервисы (включая фреймворк графического интерфейса и подсистемы связи) были реализованы как компоненты Newi. На протяжении всей разработки уделялось особое внимание максимальному упрощению программирования прикладных компонентов, при этом Newi обеспечивал множество уровней прозрачности. Изначально Newi был ориентирован как на клиентские системы с графическим интерфейсом, так и на серверные системы. Фронтенд-версия имела среду выполнения графического интерфейса, реализованную в виде компонентов. Концепция компонента очень хорошо сочеталась с объектно-ориентированным пользовательским интерфейсом. Таким образом, разработчик мог использовать одну и ту же техническую структуру кода для реализации как фронтенда, так и бэкенда бизнес-логики.
История
Первоначальная концепция Newi возникла в 1989 году, когда Оливер Симс, работавший в IBM, увидел потребность в инфраструктуре, позволяющей реализовать конкретную бизнес-концепцию из реального мира (процесс или сущность) в виде программного модуля, который можно было бы подключать к работающей системе. Приложения создавались бы путем компоновки соответствующего набора модулей. IBM UK финансировала разработку концепции в сотрудничестве с Softwright, британской компанией, специализирующейся на разработке программного обеспечения по индивидуальному заказу. После нескольких успешных прототипов и ранней производственной версии для AS400, в 1993 году было создано совместное предприятие под названием Integrated Object Systems (IOS) для коммерциализации этой концепции. Первая версия Newi была анонсирована и выпущена в 1994 году. В начале 1996 года IOS была приобретена компанией SSA (System Software Associates, Inc.), которая увидела в Newi значительный потенциал. Программное обеспечение было значительно доработано в SSA, особенно в части серверной логики, а также его базовая функция связи была перенесена на коммерческий продукт Corba, обеспечивающий канал связи, при этом сохранялась модель программирования Newi и слабосвязанное взаимодействие компонентов. Инструментарий также был значительно расширен. SSA также представила раннюю и проприетарную форму веб-сервисов, основанную на переработанном Newi, под названием "Semantic Message Gateways" или SMG. В 1998 году, по причинам, не связанным с технологической базой, SSA была вынуждена резко сократить масштабы деятельности; разработка Newi была приостановлена, а затем и вовсе прекращена, а команда разработчиков (около сорока человек в Великобритании и США) была расформирована.