Предисловие редакторов русского издания
Вид материала | Документы |
СодержаниеТрехзвенный Объектный Web Клиент/серверные взаимодействия в Object Web 4. Аплет вызывает серверные объекты CORBA. |
- От редакторов русского издания, 12579.28kb.
- Предисловие переводчика и редактора русского издания, 173.31kb.
- Предисловие от редакторов, 3279.6kb.
- Крайон книга третья. Алхимия человеческого духа руководство по переходу человечества, 3416.54kb.
- Электронная библиотека студента Православного Гуманитарного Университета, 3857.93kb.
- Предисловие, 5158.35kb.
- Автор файла (январь 2009г.): Мухамеджан Мухамеджанов, 250.83kb.
- Предисловие ко второму изданию, 1366.96kb.
- Аллан Кардек спиритизм в самом простом его выражении содержание, 4227.55kb.
- Философия русского религиозного искусства XVI-XX вв. Антология, 6335.43kb.
Трехзвенный Объектный Web
В результате всей этой работы родилась новая модель Объектного Web. Она отражена на рис. 2-2, который демонстрирует трехзвенную (3-tier) модель приложений клиент/сервер. Как обычно, первое звено принадлежит клиенту. В данном случае клиент относится к браузеру и может являться клиентским Java-приложением или аплетом. Второе звено обеспечивается любым сервером, который может обслуживать как HTTP, так и CORBA-клиентов. Третье звено является традиционным сервером.
Комбинация промежуточного звена CORBA/HTTP поддерживается почти всеми серверными платформами, включая Unix, NT, OS/2, NetWare, MacOS, OS/400, MVS, Tandem NonStop Kernel. Объекты CORBA функционируют как серверы приложений промежуточного звена и инкапсулируют прикладную логику. Они взаимодействуют с компонентами клиента посредством Java ОРВлетов (ORBlet) или каких-либо обычных CORBA ORB, которые могут обеспечить ПОР через Internet. Конечно, объекты CORBA на сервере могут взаимодействовать и друг с другом, используя CORBA ORB. Они могут также общаться с существующими серверными приложениями третьего звена, используя SQL (в данном случае подразумевается SQL-ориентированный механизм лос-rvna к базам данных, прим. ред.) или любую npvrvro форму middlewar Второе звено должно обеспечивать координатор (или объектный монитор транзакций — Object TP Monitor) компонентов на серверной стороне. Мы знаем два главных проекта, которые создают мониторы транзакций на основе CORBA: IBM Business Object Server Solution (BOSS) и ВЕА Systems ObjectWare, основанный на Tuxedo (указанные системы являются адаптацией обычных мониторов транзакций к миру CORBA; в 1998 году на рынке появились и изначально ориентированные на CORBA средства обработки объектных транзакций - реализация Transaction Service компании lona и VisiBroker ITS — Integrated Transaction Services от Inprise, уже лицензированный такими компаниями, как Sun и Hitachi, прим. ред.). Но что же такое серверный компонент. Это серверный объект CORBA, который, к тому же, реализует минимальный набор компонентных сервисов. Хорошим примером являются картриджи Orac\e(Cartridges). Это именованные объекты CORBA, которые являются также транзакционными, защищенными и способными генерировать события.
Кроме того серверный компонент должен быть настраиваемым (в оригинале звучит как buildable, однако, смысловая нагрузка этого термина более близка к настраиваемому, прим. ред.). Это означает, что он должен предоставить «настраиваемый» интерфейс, который можно будет конфигурировать с помощью визуальных средств Например, объект может определить пиктограмму, которая будет его представлять в визуальном средстве. При щелчке на этой пиктограмме объект выдаст список своих методов и генерируемых им событий CORBA, (все это делает
ся благодаря возможности "самоанализа" - introspection). Таким образом, вы сможете создавать целые ансамбли объектов, "стыкуя" выходные события с входными методами. (В настоящее время такие визуальные инструменты называются средствами быстрой разработки приложений или RAD - Rapid Application Development; среди существующих RAD-систем, CORBA поддерживается в Borland C++Builder, JBuilder и Delphi, включающих Inprise VisiBroker и ряд дополнительных инструментов для создания CORBA-систем на языках C++, Java и Object Pascal, соответственно, прим. ред.).
Третье звено - это практически все, к чему CORBA может иметь доступ. Сюда входят процедурные мониторы транзакций (TP Monitors), MOM (Message-Oriented Middleware - промежуточное программное обеспечение, ориентированное на обмен сообщениями, прим. ред.), СУБД (DBMS), ОСУБД (ODBMS - объектные СУБД), Lotus Notes и электронная почта (e-mail). Таким образом, прикладные объекты CORBA вытесняют приложения CGI из промежуточного звена, и это -хорошо.
В дополнение ко всему, Java-клиент может непосредственно взаимодействовать. с объектом CORBA, используя Java ORB. Это означает, что CORBA замещает HTTP/CGI в качестве уровня промежуточного программного обеспечения, обеспечивая взаимодействие между объектами (object-to-object), что опять же очень хорошо. Подобно HTTP, CORBA HOP использует Internet в качестве коммуникационной шины (backbone). Это означает, что как НОР, так и HTTP могут функционировать в одних и тех же сетях. HTTP используется для загрузки Web-страниц, аплетов и графики, CORBA используется для Java-коммуникаций клиент-сервер.
Клиент/серверные взаимодействия в Object Web
На рис. 2-3 показано, как типичный клиент Web взаимодействует со своим сервером в объектном Web:
1. Web-браузер загружает HTML-страницу. В этом случае страница содержит ссылки на встроенные аппреты Java.
2. Web- браузер ищет Java-аплет на HTML-сервере. HTML-сервер находит аплет и загружает его в браузер в форме байт-кода.
3. Web- браузер загружает аплет. Аплет сначала проходит через систему безопасности реального времени Java и затем загружается в память.
4. Аплет вызывает серверные объекты CORBA. Java-аплет может включать IDL-сгенерированный клиентский стаб, который позволяет вызывать объекты сервера ORB. С другой стороны, аплет может использовать интерфейс динамических вызовов CORBA (DII — Dynamic Invocation Interface) для генерации запроса к серверу «на лету». Сеанс связи между
Java-аплетом и серверными объектами CORBA будет существовать до тех пор, пока одна из сторон не решит отсоединиться.
В данном примере Java-клиент представляет собой загружаемый ап-лет. Конечно, клиент может быть и обычным приложением Java. Разница состоит в том, что вам не требуется загружать приложение Java через Internet, что исключает издержки загрузки HTTP. Но возможность динамически загружать клиента по требованию является большим преимуществом. Сегодняшние Java ORB поддерживают оба подхода. Таким образом, вы получаете эволюционное решение, которое не подрывает позиции Web-приложений.