Предисловие редакторов русского издания

Вид материалаДокументы

Содержание


Что Java привносит в CORBA
Inprise Visi Broker for Java
Клиент/серверный Object Web
Подобный материал:
1   ...   8   9   10   11   12   13   14   15   16

Что Java привносит в CORBA


В известном смысле инфраструктура Java начинается там, где конча­ется CORBA. CORBA обеспечивает инфраструктуру распределенных i объектов, что позволяет приложениям распространяться через сети, языки, границы компонентов и операционные системы. Java обеспечи­вает инфраструктуру переносимых объектов, которые работают на всех основных операционных системах. CORBA дает независимость от сетей, a Java - независимость от реализации. Ниже приводится краткий список того, что Java делает для CORBA:

Java позволяет CORBA распространить интеллектуальное поведение повсюду. Мобильные коды Java позволяют вам динамически переме­щать интеллектуальность по межгалактической инфраструктуре CORBA туда, где она более всего необходима. Это позволяет как клиентам, так и серверам приобретать интеллектуальность динами­чески. Вы можете разбить приложение на этапе выполнения для ра­боты на клиентах и серверах без перекомпиляции.

Java дополняет сервисы CORBA сервисами Life Cicle (жизненного цик­ла) и Externalization (импорта/экспорта). Для CORBA ORB становит­ся возможным перемещать повсюду поведение объектов, так же как и их состояния.

Java делает CORBA повсеместным в Web. Объектный Web может сде­лать CORBA убийцей приложений. Например, Netscape встраивает Inprise Visi Broker for Java (CORBA-совместимый Java ORB) во все свои будущие навигаторы и серверы. Это делает CORBA ПОР моделью распределенных объектов и для Internet, и для Java. Netscape-навига­тор, возможно, наиболее популярное клиентское приложение из ныне существующих (с его 40 миллионами пользователей).

Java упрощает распространение кода в больших CORBA-системах. Java-код может поставляться и управляться централизованно, прямо с сервера. Вы модифицируете код только однажды на сервере и, за­тем, позволяете клиентам получить его там и тогда, когда это будет необходимо. Теоретически, это могло бы упростить вам управление инсталляцией больших систем клиент/сервер в intranet, поскольку

не требует вашего ручного вмешательства на каждой персональной станции или переносном компьютере (лаптопе, ноутбуке или чем-то еще более компактном, прим. ред.).

Java дополняет агентскую инфраструктуру CORBA. CORBA по опре­делению является агентской инфраструктурой для распределенных объектов. Эта инфраструктура позволяет мигрирующим объектам пе­ремещаться от узла к узлу по определенным вами правилам. Мигри­рующий объект в своем путешествии обычно поддерживает свое со­стояние, маршрут и поведение. Байт-код Java идеален для распрост­ранения поведения. Java становится повсеместной, следовательно, агенты могут безопасно предполагать, что виртуальная машина Java присутствует на любом узле, который они собираются посетить. Но, помните, что Java-апплеты в настоящее время лишены состояния. Следовательно, они нуждаются в поддержке агентской инфраструк­туры, подобной CORBA, которая позволит им переносить свое со­стояние вместе с поведением.

Java дополняет компонентные сервисы CORBA. Сервис составных документов CORBA, основанный на OpenDoc, определяет для ком­понентов визуальные контейнеры, а также контейнеры мобильного хранения. Java обеспечит переносимые «Beans», которые визуально функционируют в этих контейнерах. Структура мобильных контей­неров CORBA, основанная на OpenDoc Bento, идеальна для повсе­местного распространения коллекций JavaBeans и других компонен­тов. Теоретически, Bento также может использоваться как перено­симая память для повсеместного распространения Java-агентов. " Java — превосходный язык для написания объектов CORBA. Java - по­чти идеальный язык для создания как клиентских, так и серверных объектов. Встроенные в Java многопоточность, сборка мусора (garbage collection) и обработка ошибок(видимо, в данном контексте подра­зумевается поддержка на уровне языковых структур Java обработки исключительных ситуаций - exception handling, прим. ред.) суще­ственно упрощают создание устойчивых сетевых объектов. Объект­ная модель Java дополняет объектную модель CORBA, в них обоих используется концепция интерфейса для разделения определения объекта от его реализации.

В прошлом OMG дистанцировалась от проблем реализации и языка (за исключением вопросов связывания). Следовательно, CORBA - язы-ково-независимая объектная модель, и это — прекрасно. Однако Java решает некоторые тернистые проблемы, которые встают на пути разра­ботки истинно переносимых объектов. Это особенно справедливо в об­ласти компонентов и мигрирующих агентов. Мы полагаем, что OMG

должна трактовать Java как расширение проекта CORBA для обеспече­ния переносимости объектов. Java не просто еще один объектный язык, совместимый с CORBA, это еще и платформа мигрирующих объектов.

Клиент/серверный Object Web


Смысл состоит в том, что Java изначально является системой мо­бильного кода, в то время как CORBA - инфраструктура распределен­ных объектов. Java позволяет создавать переносимые приложения, кото­рые могут выполняться на любой машине во вселенной. CORBA обеспе­чивает межгалактическую инфраструктуру распределенных объектов через Internet. CORBA позволяет объектам Java взаимодействовать с любым другим объектом, где бы он ни находился. Таким образом, эти два про­екта хорошо дополняют друг друга.

В настоящее время большинство приложений Java представляют со­бой самостоятельные демонстрационные приложения, но истинное предназначение Java состоит в том, чтобы создавать переносимых кли­ентов для больших транзакционных систем. Вот здесь и выходит на сце­ну CORBA. Сегодня вы можете использовать CORBA и Java для создания удивительных клиент-серверных приложений . Связь между Java и CORBA будет только возрастать со временем, чтобы предоставить более разно­образные сервисы для Object Web. В другой нашей книге мы объясняем, что Объектный Web должен быть расширен структурой составных доку­ментов, которая позволяет вам распространять, кэшировать и визуали-зировать группы связанных компонентов. Мы называем эту технологию Shippable Places. В части 4 вы узнаете об этом больше.

Хорошая новость состоит в том, что если технология Object Web однажды стартует, то она включит в себя все другие формы технологий клиент/сервер, включая мониторы транзакций, БД и средства группо­вой работы (Groupware, например, Lotus Notes, прим. ред.). Распреде­ленные объекты и Web могут справиться со всем этим, и даже лучше. Объекты помогут нам разделить большие монолитные приложения на более управляемые компоненты разных производителей, которые мо­гут жить и сосуществовать в межгалактических сетях. Они - наша един­ственная надежда по управлению и распространению миллионов про­граммных единиц, которые будут жить в межгалактических сетях. Объек­тный Java-Web — убийца приложений, который принесет архитектуру CORBA в массы программистов для Internet и intranet.

Как и в наших предыдущих книгах, мы предлагаем рис. 2-4 в каче­стве нашего ответа на вопрос: Куда идут клиент/серверные технологии? Эра Ethernet архитектуры клиент/сервер представлена волной приложе­

ний, ориентированных на файлы (волна NetWare), за которой следует волна, ориентированная на базы данных (волна Oracle); мониторы тран­закций и средства групповой работы (Groupware) возбудили слабую рябь. Объектный Web — следующая огромная волна.



Этот новый отправной пункт знаменует начало перехода от эры Ethernet-архитектуры клиент/сервер к межгалактической архитектуре клиент/сервер. Центр тяжести сдвигается от единственного сервера, двух-звенной архитектуры, клиента и сервера локальной сети отдельного отдела к уникальной форме клиент/серверного взаимодействия. Здесь каждая машина в глобальной «информационной магистрали» может быть как клиентом, так и сервером. В таблице 2-3 противопоставлены эти две эры технологий клиент/сервер.