Предисловие редакторов русского издания
Вид материала | Документы |
СодержаниеЧто Java привносит в CORBA Inprise Visi Broker for Java Клиент/серверный Object Web |
- От редакторов русского издания, 12579.28kb.
- Предисловие переводчика и редактора русского издания, 173.31kb.
- Предисловие от редакторов, 3279.6kb.
- Крайон книга третья. Алхимия человеческого духа руководство по переходу человечества, 3416.54kb.
- Электронная библиотека студента Православного Гуманитарного Университета, 3857.93kb.
- Предисловие, 5158.35kb.
- Автор файла (январь 2009г.): Мухамеджан Мухамеджанов, 250.83kb.
- Предисловие ко второму изданию, 1366.96kb.
- Аллан Кардек спиритизм в самом простом его выражении содержание, 4227.55kb.
- Философия русского религиозного искусства XVI-XX вв. Антология, 6335.43kb.
Что 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 противопоставлены эти две эры технологий клиент/сервер.