`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Sun ONE -- одно решение многих проблем

0 
 

Прошло то время, когда нужно было объяснять, что такое WWW, перечислять достоинства, убеждать в преимуществе использования. Всемирная Паутина становится частью жизни для многих людей, а Web-программирование -- по сути основным направлением в разработке ПО. Причем если раньше Web-программы были относительно простыми, то теперь они практически не уступают традиционным приложениям.
В отличие от классического ПО, которое используется главным образом только в рамках того офиса, где оно развернуто, и только в обычное рабочее время, Web-программы, по крайней мере по своему замыслу, должны функционировать круглосуточно и одновременно обслуживать очень большое число пользователей, намерения которых далеко не всегда можно назвать добрыми. Поэтому, помимо надежности, ПО, работающему в Internet, необходимо иметь высокий уровень защиты от несанкционированного доступа.

Есть и еще одно "отягчающее обстоятельство" -- за прошедшие годы худо-бедно было создано огромное количество "не-Web"-программ, от которых нельзя враз отказаться. В Украине в этом плане, конечно, проблем значительно меньше, но за рубежом даже сегодня многие крупные компании используют в своей работе "тяжелое" сложное ПО, написанное так давно, что уже ни авторов, ни исходных текстов найти просто невозможно. Американцы называют эти закрытые монолитные программы "silos" (силосные башни). Они все еще в ходу, поэтому их нужно как-то интегрировать в современную Internet-ориентированную действительность -- создавать всякого рода прослойки, оболочки, адаптеры, переходники, которые бы позволили общаться с ними, используя Web-протоколы.

Перечисленные проблемы перехода к Web-технологиям связаны между собой, и для их эффективного преодоления нужны комплексные решения, учитывающие все факторы. На сегодняшний день можно выделить два подобных подхода. Это .NET компании Microsoft и Open Net Environment (ONE) от Sun Microsystems. Тема Microsoft .NET уже затрагивалась в наших публикациях, в данной же статье мы рассмотрим, что в этом плане предлагает Sun.


Сервисы, сервисы...

Sun ONE -- одно решение многих проблем
Общая схема архитектуры Sun ONE
Стоит сказать, что, несмотря на извечную конкуренцию компаний--разработчиков программного обеспечения, практически все ведущие участники этого рынка сегодня сходятся в том, что перспективы разработки ПО для Web связаны с двумя открытыми стандартами -- XML и Web-сервисами (Web Services). Компания Sun в этом отношении -- не исключение. Если просмотреть публикуемые ею в течение последнего года материалы, то будет видно, что Web-сервисы занимают в стратегии Sun одно из ключевых мест. Однако если обратиться к более далекому прошлому, то можно заметить интересные факты.

С одной стороны, такие понятия, как Service Driven Network (сеть, управляемая сервисами), присутствуют в материалах Sun уже года три и по концепции вполне соответствуют всему тому, что сейчас связано с Web-сервисами. Собственно, и язык XML был разработан при непосредственном участии Sun сравнительно давно, еще тогда, когда с началом повсеместного использования Internet появилась реальная возможность связать между собой информационные ресурсы и приложения, которые до этого были разделены.

С другой стороны, понятие Web-сервиса, по сути, определяется тремя спецификациями, описывающими язык WSDL (Web Services Description Language), протокол SOAP (Simple Object Access Protocol) и бизнес-реестр UDDI (Universal Description, Discovery and Integration). Фирма Sun не принимала участия в их создании -- WSDL и UDDI были разработаны компаниями Ariba, IBM и Microsoft, а SOAP -- компаниями DevelopMentor, IBM, Lotus, Microsoft и Userland.

Новая технология сразу же была очень широко поддержана, поэтому Sun, дабы сохранить лидерство в этом сегменте, подключилась к работе над новыми версиями спецификаций, встроила поддержку Web-сервисов в свои продукты и в начале 2001 года предложила концепцию открытой сетевой среды Sun Open Net Environment (Sun ONE). Это новая стратегия компании, в которой заключены философия, архитектура, программная платформа и опыт разработки и продвижения сервисов, предоставляемых по требованию (services on demand).

Понятие "сервисы, предоставляемые по требованию" -- ключевое в концепции Sun ONE и не определяется какой-то спецификацией. Оно включает в себя Web-приложения, собственно Web-сервисы и другие произвольные формы серверного ПО, которое обслуживает запросы, поступающие от некоторой клиентской аудитории. Как видите, ничего революционно нового за этим понятием не стоит. Просто другое название для вполне привычных вещей. По большому счету, вся платформа Sun ONE "зонтичная" и объединяет под одной маркой давно существующие продукты: многие из входящих в Sun ONE компонентов имеют версии 3, 7 или даже 9.

Ядром, из которого "выросла" архитектура Sun ONE, является Java 2 Enterprise Edition (J2EE) -- открытая спецификация, принятая множеством разработчиков, проверенная временем, для которой написано немалое количество приложений. Все это ("старое") ПО должно работать в рамках Sun ONE, стремление сохранить инвестиции своих пользователей -- одно из основных в стратегическом плане развития компании. К тому же многие продукты, входящие в Sun ONE, функционируют на нескольких операционных платформах -- Sun Solaris, Microsoft Windows, Linux, Hewlett-Packard HP-UX, Compaq Tru64 Unix.


Архитектура и платформа

Sun ONE предлагает на любую информационную систему смотреть как на сочетание четырех составляющих -- данных, приложений, отчетов и транзакций (модель DART -- Data, Applications, Reports, Transactions). Разбив систему на такие элементы, необходимо выяснить, какими сервисами они должны быть представлены и в каких архитектурных компонентах их необходимо реализовывать.

Под архитектурой Sun ONE понимаются стандарты и спецификации, которые определяют структурный состав сетевой среды и правила взаимодействия структурных единиц между собой. Реализацию этой архитектуры и называют платформой Sun ONE. Поскольку стандарты и спецификации, на которых построена Sun ONE, являются открытыми, это позволяет в принципе любому разработчику ПО создать свой собственный вариант, скажем, сервера приложений или Web-сервера, или даже всей платформы Sun ONE. При этом, если все сделано в точном соответствии с документацией, решения от разных поставщиков вполне можно комбинировать.

Компания Sun, естественно, имеет свою собственную версию платформы, полностью составленную из ее продуктов. В нее входят операционная система Solaris, линейка серверных продуктов iPlanet (созданных совместно с Netscape), средства разработки Forte Tools и офисный пакет StarOffice. Около месяца назад -- в середине апреля -- Sun унифицировала наименования почти всех программных продуктов, чтобы сильнее подчеркнуть их отношение к Sun ONE: например iPlanet Web Server теперь называется Sun ONE Web Server, а Forte Tools for Java -- Sun ONE Studio. Прежние названия пока остались только у ОС Solaris и StarOffice (хотя последний в некоторых документах уже упоминается как Sun ONE Office, не исключено, что в будущем его название изменится).

Рассмотрим основные подсистемы, из которых состоит архитектура Sun ONE (см. рисунок).

Directory Server хранит регистрационную информацию о пользователях, информационных ресурсах и выполняет функции аутентификации и авторизации, т. е. определяет, зарегистрирован ли данный пользователь и какими правами он обладает. В настоящее время для взаимодействия с другими подсистемами Directory Server должен использовать открытый протокол LDAP (Lightweight Directory Access Protocol). В будущем, когда будут готовы технические спецификации по проекту Project Liberty (по заявлениям Sun, это произойдет в августе сего года), Sun ONE будет поддерживать унифицированный способ идентификации пользователей на основе федеративной модели. Это позволит, к примеру, осуществить возможность однократного ввода имени пользователя и пароля (Single Sign-On) для получения доступа ко всем Web-ресурсам, построенным на базе Sun ONE.

Portal Server обеспечивает доставку персонализированной информации и сервисов на основании ролевой группы, к которой относится каждый пользователь, и его личных настроек, т. е. реализует именно то, что мы все привыкли вкладывать в понятие Web-портала.

Integration Server решает по сути две задачи -- обеспечение взаимодействия посредством Internet с другими организациями, которые участвуют в общем бизнес-процессе (Integration Server B2B Edition), и интеграция с разнообразными приложениями, используемыми внутри компании (Integration Server EAI Edition). Он скрывает различия в архитектуре, протоколах и форматах данных всего "чужеродного" ПО, с которым так или иначе должны работать все остальные подсистемы Sun ONE. Например, устаревшая программа, которая ничего не знает о Sun ONE, а выполняется, скажем, в консоли и оперирует файлами, с помощью Integration Server может быть представлена как Web-сервис, понимающий запросы в XML по протоколу SOAP.

Application Server является платформой для выполнения пользовательских J2EE-программ: Web-приложений (JavaServer Pages и Java Servlets), Web-сервисов, объектов бизнес-логики (Enterprise JavaBeans), и поддерживает такие стандарты, как XML, CORBA, SOAP, LDAP, которые позволяют приложениям обращаться к другим подсистемам Sun ONE. Предусмотрено также взаимодействие с базами данных через JDBC, автоматическое отображение в структуры БД объектов entity beans, однако, как ни странно, сам сервер баз данных в архитектуре Sun ONE отсутствует! Выглядит это не вполне естественно, поскольку ни одна серьезная информационная система без СУБД обойтись не может. Единственным логичным объяснением этого обстоятельства является то, что у Sun нет своего сервера баз данных, поэтому, включив его в архитектуру, компания просто не смогла бы составить платформу только из собственных программных продуктов.

Web Server обеспечивает пользовательский интерфейс для всей платформы Sun ONE, поддерживает все стандартные протоколы, такие, как HTTP, WAP, SSL, IPv6, LDAP, SNMP. В него также может встраиваться поддержка ASP-страниц с помощью Sun ONE Active Server Pages (ранее этот пакет назывался Chili!Soft ASP). Web Server может использоваться в сочетании с пакетом Web Proxy Server, который занимается кэшированием, фильтрацией URL и повышает общую безопасность системы.

Communication Services -- это общее название таких продуктов, как Messaging Server, Calendar Server, SunForum, которые позволяют пользователям посредством Web-интерфейса организовывать свою работу, "виртуальные" встречи, обмениваться сообщениями, проводить телеконференции с использованием средств мультимедиа.

Commerce Services -- это решение для электронной коммерции, включающее такие продукты, как BuyerXpert, SellerXpert, BillerXpert, ECXpert, Market Maker.

Офисные продукты Sun ONE Office (StarOffice и вспомогательные утилиты) в составе Sun ONE появились относительно недавно. Это исключительно клиентское ПО, поэтому оно вносит некоторую дисгармонию в серверную по своей природе архитектуру. Вполне возможно, Sun намеревается реализовать выполнение традиционных офисных задач в виде сервисов, предоставляемых по запросам пользователей. В определенных ситуациях такой подход мог бы оказаться предпочтительнее закупки и развертывания традиционных офисных пакетов на клиентских компьютерах, не случайно подобные же планы развития своего офисного ПО вынашивает и Microsoft.

Операционная система Solaris в особом представлении не нуждается. Это одна из самых распространенных Unix-ОС для аппаратной платформы Sun SPARC.

Под Sun ONE Studio в первую очередь подразумевается интегрированная среда разработки Forte for Java Enterprise Edition. С ее помощью можно создавать любые Java-программы для работы на платформе Sun ONE. Имеющиеся шаблоны проектов облегчают написание Web-приложений на JavaServer Pages и Java Servlets, Web-сервисов, Enterprise JavaBeans. Усеченная версия (Community Edition) больше подходит для разработки настольных GUI-приложений. У Sun есть также компиляторы для других языков, таких, как C, C++, Fortran, но их отношение к архитектуре Sun ONE скорее номинальное, поскольку по структурной схеме вся пользовательская бизнес-логика должна работать в рамках Application Server, который предназначен только для выполнения Java-программ.


Поддержка пользователей

Даже из нашего очень краткого обзора Sun ONE должно быть понятно, что архитектура платформы достаточно сложна. Документы и спецификации, в которых она описывается, содержат сотни страниц. Кроме того, число продуктов, так или иначе относящихся к платформе Sun ONE, составляет около полусотни, а количество их различных конфигураций и сочетаний просто огромно. Безусловно, те, кто уже использовал технологии компании Sun раньше, обнаружат в Sun ONE много знакомого и, вполне возможно, смогут самостоятельно применить ее для решения своих проблем. Что же касается всех, кто только планирует следовать этой новой стратегии, то им, вероятно, понадобится определенная помощь.

Для получения такой поддержки Sun Microsystems рекомендует обращаться в подразделение Sun Professional Services, офисы которого расположены в разных странах. В настоящее время из числа типовых услуг, которые предоставляет Sun Professional Services, к Sun ONE относятся четыре. Это услуги быстрого развертывания (Quick Start) стандартных версий Application Server, Directory Server, Messaging Server и Portal Server. Каждая такая услуга включает установку, конфигурирование и начальное тестирование соответствующего продукта у заказчика. Кроме этого, Sun проводит обучение специалистов по более чем 70 курсам, охватывающим различные аспекты Sun ONE: Java-технологии, инфраструктура Sun ONE, средства разработки, XML, операционное окружение Solaris.

Предусмотрена также программа поддержки компаний, которые сами хотят создавать внутрикорпоративные бизнес-приложения на платформе Sun ONE. Для таких организаций Sun предлагает услуги через свою сеть Java Centers.


ONE или .NET?

Спешим разочаровать -- ответа на этот вопрос мы давать не будем. Просто наш обзор стратегии Sun был бы неполным без проведения некоторых параллелей с подходом Microsoft. Слишком много у них общего. По большому счету, практически все задачи, которые можно решить на одной платформе, решаются и на другой. Сходство прослеживается во всем -- в архитектуре, построенной на использовании абстрагированной от физического процессора виртуальной машине; в спектре программных продуктов, которые можно почти точно соотнести между собой; даже в таких мелочах, как именование составных частей: Microsoft постепенно вносит в названия фактически всего ПО слово ".NET", а Sun -- "ONE". Поэтому гораздо интереснее выделить те пункты, в которых Microsoft .NET и Sun ONE расходятся принципиально. Наиболее существенными из них на наш взгляд, являются следующие.

Во-первых, это зрелость. Первая версия ядра Microsoft .NET, а именно исполнительной среды Common Language Runtime и библиотеки базовых классов, появилась в январе текущего года, а через два месяца уже вышел первый пакет исправлений. Все еще не готова операционная система Windows .NET Server, в которой поддержка .NET была бы встроена. Ядро же платформы Sun ONE составляет технология Java, за пять лет испытанная на достаточно сложных проектах. Другие компоненты инфраструктуры в обоих продуктах вполне сравнимы по времени выпуска.

Во-вторых, наличие альтернативных реализаций. Платформа .NET пока целиком реализована только самой компанией Microsoft и только под Windows. На стадии бета-версии находится Shared Source-версия .NET под FreeBSD, выполненная компанией Corel; есть Open Source-проект Mono, возглавляемый компанией Ximian, по переносу .NET под Linux -- однако пока о каких-то реальных результатах говорить рано. Sun ONE состоит из компонентов, для которых, помимо стандартной реализации от Sun, реально существуют и другие, пользующиеся порой не меньшей популярностью. Например, Web-сервер Apache (альтернатива Sun ONE Web Server), серверы приложений BEA WebLogic, IBM WebSphere (Sun ONE Application Server), Borland JBuilder (Sun ONE Studio).

И в-третьих, язык. Microsoft .NET создана независимой от языков программирования. На сегодня имеются компиляторы в Microsoft Intermediate Language (MSIL) для более чем 20 различных языков, включая C++, Visual Basic, C#, ECMAScript, Perl, COBOL и даже Java. Для Sun ONE приложения нужно писать только на Java.

Конечно, существуют и другие отличия, например в подходах к разработке Web-приложений, способах работы с базами данных, поддержке мобильных устройств -- телефонов и карманных ПК. Для разных людей эти факторы могут иметь совершенно различное значение, но нужно иметь в виду, что и Microsoft .NET, и Sun ONE являются развивающимися платформами, в которых наверняка произойдет еще немало изменений, поэтому окончательный итог подводить пока рано.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT