Служба новостей IDG, Нью-Йорк
Ведущие производители поддерживают модель программирования систем в рамках сервис-ориентированной архитектуры
Ряд производителей программного обеспечения рассчитывают на то, что новая спецификация заинтересует компании, которые планируют упростить разработку приложений в рамках сервис-ориентированной архитектуры (Service-Oriented Architecture, SOA).
Сервисно-компонентная архитектура (Service Component Architecture, SCA) предназначена для создания еще одного уровня, который отделяет бизнес-логику ИТ-инфраструктуры от базовых приложений и программного обеспечения промежуточного слоя. Билл Рот из BEA Systems, ведущий корпоративный блог для разработчиков, характеризует SCA как «дескриптор развертывания на стероидах», который будет работать с любым языком программирования, а не только с Java.
К числу сторонников SCA относятся такие компании, как BEA, IBM, SAP, Oracle и Siebel Systems. Основным компонентом SCA является спецификация Service Data Objects (SDO), проект, разработанный IBM и BEA несколько лет назад и уже добавленный в часть программного обеспечения этих компаний. С помощью SDO программисты могут работать с данными, получаемыми из гетерогенных источников, в том числе из реляционных баз данных, хранилищ XML-документов и корпоративных приложений.
«О Web-сервисах много говорят, но методика программирования, необходимая для использования этих технологий, до сих пор была очень примитивной, — заметил Эд Кобб, вице-президент BEA по стандартам и архитектуре. — Одна из целей, которые мы ставили в отношении SCA, заключалась в том, чтобы упростить создание реальных сервисов в таких языках, как Java и C++».
Спецификацию SCA поддерживает значительное число производителей, в частности все ведущие производители ERP-приложений, а также известные компании, выпускающие программное обеспечение промежуточного слоя, такие как IBM и BEA. В связи с этим более чем заметным стало отсутствие корпорации Sun Microsystems в списке спонсоров SCA. Однако специалисты, принимавшие участие в создании спецификации, рассчитывают на то, что Sun все же примет участие в разработке SCA.
«Мы уже прошли тот этап, когда компании могли себе позволить роскошь решать, поддерживать или не поддерживать SOA, — заметил аналитик компании ZapThink Рон Шмелцер. — Совершенно очевидно, что в данном направлении будут двигаться все эти производители».
SOA — это подход к проектированию, направленный на упрощение решения проблем интеграции приложений и данных за счет использования для связи программных компонентов, основанных на стандартах Web-сервисов. По оценкам Forrester Research, 77% крупных предприятий уже к началу 2006 года будут активно внедрять решения, основанные на идеях SOA.
Для иллюстрации того, как SCA поможет компаниям улучшить работу SOA, Кобб предложил следующий пример. Фирма, продающая полисы личного страхования, решила приобрести другую организацию, занимающуюся автострахованием. Первая фирма пишет свои приложения на Java, использует для их работы реляционную базу данных, а поиск новых клиентов ведется через центры телефонного обслуживания и сеть агентов прямых продаж. Фирма, специализирующаяся на автостраховании, предпочитает писать на C++, продает свои полисы через Web и использует хранилище XML-данных. Интегрировать две такие разнородные ИТ-среды крайне сложно, но благодаря сервисному подходу каждая компания может по-прежнему работать со своими системами.
«Вы получаете сервисы от каждой системы, используя SCA для их объединения, а SDO служит для обмена данными между двумя системами, — пояснил Кобб. — В результате вы получаете более многофункциональную систему».
Сторонники SCA планируют в конечном итоге передать эту спецификацию в организацию по стандартам, хотя, по-видимому, до этого еще далеко, поскольку, как заметил вице-президент IBM по программным стандартам Карл Норсвоти, SCA — это относительно новая спецификация и сейчас существует лишь предварительный ее вариант. Пока же сторонники SCA планируют активно ее развивать. По словам Норсвоти, в ближайшие несколько недель IBM на своем Web-сайте предложит разработчикам код SCA для экспериментов.