GeoSELECT.ru



Компьютеры / Реферат: Java-технологии, обзор инструментальных разработок и анализ рыночной ситуации (Компьютеры)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Java-технологии, обзор инструментальных разработок и анализ рыночной ситуации (Компьютеры)


Уфимский государственный авиационный технический университет



Факультет ИРТ
Кафедра ПСИ



Реферат.
Тема:
Java-технологии. Обзор инструментальных разработок. Анализ рыночной
ситуации.



Проверила Кизина И.Д.
Выполнила Булатова Р.М.
Гр. САПР-506



Уфа-98

Рынок средств разработки программ со времени своего возникновения,
наверное, никогда не испытывал кризиса - и вряд ли испытает его когда-
нибудь в будущем. Но сие не значит, что работать на этом рынке легко.
Быстро меняющаяся ситуация заставляет столь же быстро переориентироваться.
Новое поколение инструментальных средств разработки на языке Java
уверенно движется на корпоративный рынок, становясь в один ряд с привычными
коммерческими продуктами. Вместе с тем Java не собирается утрачивать
присущий ему колорит.

Приоритеты развития Java

Отправной точкой при создании очередного поколения программного
инструментария разработки на Java послужило представление в конце 1996г. и
окончательный выпуск компанией JavaSoft в начале февраля 1997г. новой
версии 1.1 базового средства – комплекта JDK (Java Development Kit). Этот
своего рода манифест партии Ява содержал обновлённую версию языка, которая
должна была упростить составление надёжных распределённых программ.
Основными новшествами в JDK 1.1 по сравнению с предыдущей версией оказались
средства работы с национальными кодировками, улучшенный оконный интерфейс,
интерфейс для взаимодействия с базами данными, средства связи с другими
языками и библиотека механизмов защиты. Названные усовершенствования, как
мы увидим далее, стали и указателями на приоритеты развития инструментов
Java.
Если, как это уже принято, разделить Java-разработчиков на Web-
мастеров, в основном использующих апплеты, и создателей профессиональных
программ на данном языке, то 1997 год принес больше новостей именно
последним. Уже в апреле на конференции JavaOne, своего рода съезде
сторонников Java, SunSoft анонсировала платформу Java Platform for
Enterprise, куда, помимо JDK 1.1, должны были войти ряд корпоративных
программных интерфейсов, а также расширенная специально для программ уровня
предприятия компонентная модель JaveBeans (под названием Enterprise Java
Beans). Кстати, ряд программных интерфейсов успел появиться в течение 1997
года. Концепция Java Beans как ключевой технологии многократного
использования кода при разработке полноценных программ на Java уделялось,
куда большее внимание, чем в 1996 году. Ведь именно эта концепция, а не
сам язык Java составляет конкуренцию знаменитой объектной концепции ActiveX
корпорации Microsoft. Летом 1997 года фирма Sunsoft представила первую
реализацию следующей версии JavaBeans под кодовым названием Glasgow. Данная
версия, также её прямая наследница - 3 версия, известная в настоящее время
как Edinburgh, по мнению экспертов, должны быть развиты до уровня модели
COM корпорации Microsoft.
Ещё один принципиальный вопрос, касающийся развития Java-технологий,- это
проблема «частной собственности » на Java. В целом резонные требования
Microsoft о передаче всех спецификаций независимой организации для
дальнейшего развития Java стали одной из причин очень серьёзного конфликта
между Sun и Microsoft, так или иначе затронувшего всех разработчиков. В
ноябре 1997г. страны – члены международной организации по стандартизации
(ISO), на плечи которой, по некоторым предположениям, и должна была лечь
дальнейшая забота о Java, проголосовали за предоставление компании JavaSoft
эксклюзивного контроля над Java.


Обзор конкретных инструментов


Поговорим о конкретных инструментах. Первое, что бросается
в глаза: практически весь инструментарий – это системы графического
программирования класса RAD. Указанная тенденция, наметившаяся ещё в 1996г.
с выходом Visual Cafe для Windows 95 и Windows NT, стала доминировать
абсолютно. Java, таким образом оказался значительно более RAD-восприимчивым
, чем его знаменитый прародитель С++. К числу лидеров в результате
субъективного анализа публикаций можно, скорее всего, отнести Visual J++,
Visual Cafe для Windows и Java Workshop для платформы Solaris. Кроме того,
по результатам исследования рынка, предпринятого Microsoft и
опубликованного в газете Computer Reseller News в апреле 1997г., из почти
400 тыс. человек, программирующих на Java (для сравнения: на С++
программируют около 1, млн., на Visual Basic – более 3 млн. человек), 27%
используют Java Workshop, 25% используют Visual J++ и 18% - Visual Cafe.
Заметной тенденцией 1997 г. вполне можно считать выпуск целой серии
специализированных продуктов, обеспечивающих доступ из Java-программ к
базам данных, что стало прямым следствием включением в JDK1.1 спецификации
JDBC. Характерно, что над соответствующими интерфейсами работали как
известные производители самих баз данных, так и фирмы, традиционно
занимающиеся созданием программного инструментария. Прежде всего, обратим
внимание на то, что все представленные инструменты в той или иной степени
содержат средства для работы с базами данных. К апрелю 1997 г. фирма Oracle
вместе с IBM и Tandem подготовили предварительную спецификацию J/SQL
ориентированную на достижение совместимости с языком структурированных
запросов SQL в программах для баз данных. Тем временем Informix
разрабатывала собственный API-интерфейс Universal Java, чтобы включить его
в свой инструментарий 4-го поколения под названием New Era, а также в
JWorks – новое ПО разработки на Java.
Вместе с тем содержащий достаточно мощные средства работы с БД пакет
Visual Cafe Pro, первые поставки которого относятся к началу 1997 г., к
осени вышел в новой редакции – Visual Cafe for Database Development
Edition, предназначенный для Java-программ реляционных баз данных. К числу
явно ориентированных на работу с БД Java-программ можно отнести и систему
Fresco фирмы Infoscape, к бета тестированию которой приступили в начале
1997 г. Наконец, в сентябре 1997 г. Sun анонсировала продукт Java Blend для
доступа к реляционным и объектно-ориентированным БД из Java-программ без
использования специальных языков типа SQL.
Однако наиболее существенным событием стало появление развитых
возможностей графического программирования доступа к БД в средствах
разработки, изначально ориентированных на создание крупных корпоративных
программ. К последним относятся Vibe Enterprise 1.0 фирмы Visix Software
или Apptivity Developer фирмы Apptivity, появившиеся в первой половине 1997
г. Оба продукта ценой в пределах нескольких тысячах долларов явно
свидетельствует об относительной зрелости Java-технологий уже на этот
момент. К «корпоративному» классу принадлежат также Visual Age for Java и,
конечно же, JBuilder.
Внимание, уделённое в спецификации JDK 1.1 безопасности при
построении коммерческих Java-программ, также не осталось без для
разработчиков формальным призывом. Многие компании откликнулись на него,
понимая, что ограничение записи на диск клиентской машины, заложенное в
саму идею построения Java, не есть решение проблемы. В марте 1997 г.
компания Data Security Dynamics предложила JSAFE – одно из первых средств
защищённых Java-программ в Интернете, использующие алгоритмы шифрования
данных с открытым ключом при передаче их по каналам Интернета. Средство
цифровой подписи, гарантирующее целостность данных при передаче, было
включено в Visual J++1.1. Наконец, на конференции JavaOne в апреле 1997г.
JavaSoft объявила о планах выпуска системы Cripto Toolkit, позволяющей с
помощью единого API строить защищённые программы. Кстати говоря, в
следующей версии JDK1.2 основное внимание, по утверждению JavaSoft, будет
уделено именно вопросам безопасности.
С решением проблемы построения пользовательского интерфейса
средствами высокого уровня, затронутой в спецификации JDK1.1, оказались
связаны две библиотеки Java-классов, выпущенные соответственно корпорацией
Microsoft и фирмой Sun в содружестве с Netscape Communications. Достаточно
лишь назвать эти компании, чтобы сразу стало понятным, что названные
инфраструктурные дополнения к средствам разработки, по всей видимости,
должны сыграть определяющую роль не только в технологическом, но и в
политическом противостоянии конкурентов, на примирение, которых пока нет
даже слабого намёка. Библиотека AFC, о готовности которой MicroSoft
сообщила весной 1997г. на выставке Software Developer West, содержит
средства, облегчающие создание профессионально оформленного графического
интерфейса пользователя и работу со средствами мультимедиа. По утверждению
Microsoft, эта библиотека полностью подготовлена на Java и способна
исполняться на любой платформе.
Ответом Sun и Netscape был выпуск осенью 1997 г. аналогичной
библиотеки JFC, вобравшей в себя достоинства соответствующих наборов Java-
классов IFC (Internet Foundation Classes) и AWT (Abstract Windows Toolkit),
уже имевшихся в арсенале двух фирм. Несмотря на то, что представители Sun
подчёркивают не стратегическое, а чисто утилитарное значение JFC, масса
аналитиков не без оснований отводит данной библиотеке решающую роль в битве
за контроль над Java-разработками. Microsoft уже успела заявить, что JFC не
поставляется и не будет поставляться вместе с Internet Explorer (IE) 4.0. А
это значит, что, хотя во многих продуктах 1997г. и предусмотрены средства
работы с AFC и JFC, могут возникнуть проблемы с выполнением распределённых
многоплатформных программ, составленных с использованием JFC.
Не которые фирмы начинают поставлять Java-инструментарий в комплексе
со средствами разработки на других языках под общей крышей единой
интегрированной среды. Классические примеры – главный инструментальный
пакет фирмы Microsoft 1997 г. Visual Studio 97, где с Java объединились
С++, Visual Basic 5.0, Fox Pro и некоторые другие продукты, а также пакет
CodeWarrior Gold 11 компании Metrowerks, в котором инструментальные
средства, по мнению некоторых пользователей ещё сильней интегрированы.
Примеры оказались заразительными. Осенью об аналогичном намерении объявила
Powersoft, имеющая теперь в своём арсенале, помимо Java-инструмента PowerJ,
прекрасно зарекомендовавший себя классический инструментарий. Примерно в то
же время фирма Haht Software приступила к бета-тестированию средства
разработки Hahtside, позволяющего работать с Java и Visual Basic в единой
среде.
Если для 1996г. было характерно появление Java-компиляторов для
различных платформ, то 1997г. ознаменовался выпуском всевозможных
конверторов исходного текста программ и специальных технологий, позволяющих
использовать в Java-программах наработки, составленные на других языках. В
качестве примера , Visual J++1.1 оснащён конвертором для преобразования
апплет в компоненты ActivX. На не раз уже упоминавшейся конференции JavaOne
были представлены по крайней мере два продукта, дающие разработчикам на
Visual Basic возможность переносить свои программы на язык Java. Было
объявлено, что средства конвертирования Applet Designer Visual Basic-to-
Java фирмы Tvobject, согласно договору с фирмой Asymetrix, будут
предлагаться в качестве дополнения к среде SuperCede Java/ ActivX Edition и
DataBase Edition. Фирма Halcyon сообщила о намерении выпустить продукт под
названием VBIX для преобразования программ на Visual Basic в двоичный Java-
код. На той же конференции фирма Roug Wave Software представила две
библиотеки – Serialize.h++1.0 и Jtools2.0 – C++ и Java-классов
соответственно. Они позволяют организовать двунаправленный обмен
вызовами из программ, составленных на С++ и Java. Ещё один заметный
продукт TwinPeaks, представленный совместно фирмами Sun и Ilog Software,
реализует технологию С++ Bridging, дающую разработчикам серверного ПО на
языке Java возможность использовать программы на С++, не переписывая
текста. Наконец, компания Futjitsu Software предложила разработчикам
компилятор NetCobol, автоматически транслирующий программы на Коболе в Java-
апплеты и приложения. По мнению специалистов, появлению таких продуктов
приведёт к скорейшей ассимиляции Java в сообществе программистов.

«Банда четырёх» против Microsoft

Средства разработки как таковые составляют лишь чисто техническое
наполнение программной индустрии, будучи необходимым инструментом, но уж
никак не определяющим фактором при оценке рыночных перспектив готовых
продуктов.
Наиболее важным событием 1997г. в политическом смысле стало
образование в марте на конференции Internet World альянса четырёх фирм –
IBM, Oracle, Netscape и Sun, назвавших себя «бандой четырёх» (The Gang of
Four). Компании объявили о совместной поддержке протокола Internet InterORB-
Protocol (IIOP), составляющего часть CORBA, в своих инструментальных
средствах разработки. Эта инициатива должна облегчить реселлерам построение
единых распределённых объектно- ориентированных программ инструментальными
средствами четырёх компаний. Ело в том, что, согласно заявлению JavaSoft, в
планируемом к выпуску в 1998 г. комплекте JDK1.2 низкоуровневый механизм
дистанционного вызова отдельных функций Java (под названием RMI – Remote
Method Invocation), включённый в ныне действующую спецификацию JDK1.1 будет
реализован поверх протокола CORBA/IIOP. Это означает, что JavaSoft
полностью отказывается от собственного метода создания посредника запросов
к объектам, на основе которого в настоящее время строится RMI, а будущие
распределённые Java-программы должны соответствовать спецификации
взаимодействия сетевых объектов CORBA. Данное объединение,
«антимайкрософтовской» направленности которого никто не скрывал, стало
планомерным и организованным выступлением против объектной технологии DCOM
корпорации Microsoft, что для 1996 г. было как раз нехарактерно. В 1997 г.
намеченные альянсом планы частично были выполнены.
Компания Oracle в 1997 г. превратилась, можно сказать, из нейтральной
по отношению к Java в его активную сторонницу. Одним из этапов её движения
в сторону Java стало лицензирование технологии Builder, включающей языком
С++ и Java, у фирмы Borland, причём решающий выбор именно в пользу Builder
был сделан якобы именно по причине её более полного соответствия концепции
JavaBeans. На конференции JavaOne фирма Oracle продемонстрировала пакет
Developer/2000 1.4, способный конвертировать разработанные в нём программы
в Java-апплеты. Сразу же после этого в начале мая 1997 г. она выпустила Web
Application Server, совместимый с протоколами CORBA и IIOP, - наиболее
важный компонент её межплатформенной архитектуры NCA (Networking Computing
Architecture). Позже на конференции Open World Oracle представила стратегию
выпуска средств разработки сетевых программ для Java. Эта стратегия, по
словам представителей фирмы, должна затронуть следующие версии
Developer/2000 и Designer/2000, а также некий новый инструмент,
предназначенный исключительно для разработки Java-программ и построенный
как раз на основе вышеупомянутой лицензии.
Самый крупный поставщик программного обеспечения на мировом рынке –
корпорация IBM, наиболее ревностно взявшаяся за поддержку Java ещё в1996
г., в течение 1997г. сохранила приверженность ему. В июле IBM выпустила на
рынок коммерческую версию пакета Visual Age for Java с мощными средствами
реализации JavaBeans, как раз и нацеленную на разработку будущих программ
на базе открытых стандартов, за которые так ратует союз четырёх. Кстати
говоря, уже в сентябре 1997 г. отделение IBM Восточная Европа/Азия начало
весьма активную работу по продвижению этого продукта на российский рынок.
Что касается весьма амбициозного проекта (San Francisco) формирования
библиотек Java-классов для самых разнообразных программ деловой сферы, над
которым IBM работает в союзе с несколькими десятками других фирм, то
информация о ходе его выполнения в течение 1997 г. была весьма скудной.
Однако известно, что работа над проектом продолжается.
Компания Netscape, тоже на конференции JavaOne, выступила в не совсем
привычной для себя роли, представив набор средств разработки, позволяющий
работать с апплетами Java, компонентами JavaBeans, объектами CORBA и
сценариями JavaScript.
Фирма Sun в начале 1997 г. выпустила Internet WorkShop – среду
разработки программ клиент- сервер для Интернета – и основанную на CORBA
среду подготовки распределённых объектов и управления ими NEO2.0. В
Internet Workshop входят, в частности, Java WorkShop и Visual WorkShop C++.
Весь этот инструментарий также служит вкладом в общее дело, затеянное
«бандой четырёх». Речь пока не идет о классических средствах разработки, но
может случиться так, что Sun, Netscape, IBM и Oracle действительно образуют
боевое каре и, шагая в ногу, начнут организованное наступление на
Microsoft.
Нельзя обойти вниманием и ещё две очень известные фирмы, вовлечённые
в Java-лихорадку в 1997 г. Это Powersoft и, в особенности, Borland. В 1996
г. они не принимали сколь-нибудь заметного участия в развитии данного
сектора рынка, если не считать выпуска небольшого расширения для Java-
программирования в Borland C++5.0. Зато в 1997 г. не только были выпущены
две версии JBuilder (Standard и Professional) , но и стало известно, что
данный продукт в дальнейшем будет объединен с вышеупомянутым проектом San
Francisco. Фирма Borland, лицензировала технологию Builder компании Oracle
и, в свою очередь, в начале 1997 г. приобрела лицензию на программу
посредник запросов к объектам VisiBroker for Java фирмы Visigenic (а в
ноябре и саму фирму), что позволит разработчикам Jbuilder связывать объекты
распределённых программ, используя протокол IIOP. Всё это свидетельствует,
что испытывающая трудности, но в то же время очень авторитетная компания,
специализирующаяся исключительно на средствах разработки, оказалась в 1998
г. в значительной степени привязана к идеологии построения программ,
проповедуемой «великолепной четвёркой».

Действия Microsoft
Ещё в декабре 1996 г. SunSoft заявила, что виртуальная машина Java,
разработанная Microsoft для Windows, не удовлетворяет соответствующей
спецификации. Выпуск Visual J++ в марте 1997г. в составе пакета Visual
Studio 97 в некотором роде усугубил ситуацию. Широко разрекламированная
способность данного продукта интегрировать технологии JavaBeans и ActiveX,
имеющаяся, казалось бы, и в других средствах разработки, была воспринята
основной частью компьютерного сообщества, как попытка искусственно
привязать Java к платформе Windows. Иными словами, получалось, получалось,
что Microsoft мошенничает, выпуская суррогат для Java, принимающий облик
Java лишь на платформе Windows. Ничего не подозревающие разработчики для
Windows, коих в мире множество должны были по замыслу Microsoft, создать
большое количество соответствующих программ, используя «фиктивный » Java,
прежде чем вскроются проблемы с его переносимостью на другие платформы.
Субъективное недоверие, сидящее в крови у многих профессионалов
компьютерного бизнеса, подкреплялось и объективными факторами.
Дело в том, что компания Билла Гейтса на протяжении 1997 г. так и не
присоединилась к программе сертификации 100% Pure Java фирмы JavaSoft,
позволяющей, по утверждению самой JavaSoft, гарантировать полную
межплатформенную переносимость. В интервью, данном одним из ведущих
менеджеров корпорации Microsoft журналу Communication Week ещё в начале
1997 г., говорилось, что все средства разработки, в том числе и JVM для
Windows, успешно прошли все тесты Sun на совместимость с Java. Было также
заявлено, что Microsoft просто не пригласили к участию в инициативе 100%
Pure Java, а отказ от участия в ней – выдумка Sun. Вместе с тем директор по
маркетингу продукции фирмы JavaSoft Дэвид Спенхофф на страницах газеты
LanTimes, назвав небезызвестную библиотеку классов AFC несоответствующей
Java-спецификации, недвусмысленно призывал Microsoft представить её на
тестирование по программе 100% Pure Java. Позже, однако, ответственные
работники Microsoft на страницах других изданий декларировали невозможность
присоединиться к Pure Java из-за того, что эта программа, целиком
контролируемая Sun, не может быть истинным стандартом.
В следующие месяцы ситуация не улучшалась. Объявленная в апреле 1997
г. предварительная 4-ая версия Java-машины никак не повлияла на развитие
конфликта. Летом Microsoft представила новую технологию J/Direct как
добавление к виртуальной машине Java, поставляемой вместе с IE4.0. данная
технология даёт возможность получать доступ из Java-программ напрямую к
функциям программного интерфейса Windows. Microsoft трактует её как некое
расширение, позволяющее свободно манипулировать вызовами функций, которые в
настоящее время отсутствуют в Java. Таким образом, если схематично
представить виртуальную машину в виде некоторого изолирующего слоя, то
J/Direct – не что иное, как дыра в этой изоляции.
Компьютерная пресса, ещё в начале года публиковавшая весьма
положительные отзывы о том же Visual J++, все чаще и откровенно начала
называть J/Direct и прочие приобретения Microsoft в отношении Java опасным
искушением для разработчиков. Редакция американские газеты PCWeek во второй
половине года весьма недвусмысленно призвала разработчиков никогда не
использовать различные расширения Java, предлагаемые Microsoft для Windows.
Тем временем конфликт усугубился и зашёл настолько далеко, насколько
это вообще возможно. Осенью 1997 г. Sun подала на Microsoft в суд.
Официальная претензия состояла в том, что IE4.0 не прошёл тестов на
совместимость, а следовательно, Microsoft не имеет никакого права на
использование логотипа Java/.
Тактической победой Microsoft в перманентной борьбе против
конкурентов в 1997 г. стало превращение день ото дня крепнущей компании
Apple в своего союзника. Ещё на конференции JavaOne в апреле фирмы
Microsoft и Metrowerks объявили о создании виртуальной Java-машины для
MacOS. Соглашение между двумя компаниями, состоявшееся в августе, помимо
покупки корпорацией Microsoft акций Apple на 150 млн. долл.,
предусматривало принятие последней IE в качестве стандартного броузера на
Macintosh, а также тесное сотрудничество в области Java-технологий,
предполагающее, в частности, поддержку библиотеки AFC для Macintosh/
соглашение, по мнению экспертов, вывело Apple из лагеря, руководимого Sun и
Netscape.
Тем не менее, не смотря на такие факторы, как возникшая и уже утихшая
эйфория по поводу Java, выпуск инструментария, успевшего менее чем за два
года выйти на самый «крутой » корпоративный уровень, способность этого
языка всколыхнуть самые высшие эшелоны компьютерного рынка, многие по
прежнему без всякой формальной оговорки называют Java – технологией во
младенчестве. Значит, надо полагать, что основные события впереди.
Основные средства разработки для Java, выпущенные в 1997 г.

|Продукт |Фирма-изгото|Платформа |Ключевые особенности |Месяц |Примерна|
| |витель |разработки | |выпуска |я цена |
|Visual J++ |Microsoft |Windows |Объединенная среда |Март |100$ |
| | | |разработки с Visual | | |
| | | |C++ 5.0 | | |
|Jbuilder |Borland |Windows |Мастер-функции для |Март, |100$ |
| | | |построения |ноябрь |800$ |
| | | |компонентов JavaBeans| |2500$ |
| | | | | | |
| | | |Мощные средства | | |
| | | |работы с БД | | |
|PowerJ |Sybase |Windows |Среда разработки |Сентябрь|2000$ |
| | | |унаследована от | | |
| | | |Optima ++ Возможность| | |
| | | |встраивания в | | |
| | | |программы компонентов| | |
| | | |JavaBeans и ActiveX | | |
|SuperCedeJava|Asymetrix |Windows |Возможность отладки |Январь |100$ |
| | | |программ без | | |
| | | |повторной компиляции | | |
|SuperCedeJava|Asymetrix |Windows |Конвертер Java-кода |Май |200$ |
|/ActiveX | | |Использование | | |
| | | |компонентов ActiveX | | |
|Visual Age |IBM |Windows, |Визуальный |Июль |1500$ |
|for Java | |OS/2 |построитель логики | |100$ |
| | | |программ | | |
| | | |Среда групповой | | |
| | | |разработки | | |
|Visual Cafe |Symantec |Macintosh |Мощная визуальная |Январь |200$ |
|for Macintosh| | |среда разработки. | | |
| | | |Среда drag-and-drop | | |
|Visual Cafe |Symantec |Windows |Мощные средства |Сентябрь|500$ |
|DataBase | | |работы с БД | | |
|Developer | | | | | |
|Edition | | | | | |
|Parts for |Object Share|Windows |Средства |Апрель |100$ |
|Java 2.0 | | |drag-and-drop и | | |
| | | |совместимость с | | |
| | | |технологией Cobra | | |
|Java WorkShop|Sun |Windows, |Мощные средства |Март |100$ |
|2.0 | |Solaris, |компиляции и | | |
| | |HP-UX, |оптимизации кода | | |
| | |UnixWare | | | |



Литература

1. PC Magazin/Russian Edition, 3/98
2. PC Magazin/ Russian Edition, 2/98
3. PCWeek/Russian Edition, 19/27
4. ComputerWeekly, 33/98




Реферат на тему: Java99: Архитектура и интерфейсы

Java:
архитектура и интерфейсы
Многим наверняка уже известно, что язык Java был разработан фирмой
Sun, как платформенно-независимый, переносимый, объектно-ориентированный
язык для Internet и Intranet. Я не вижу особого смысла перечислять
преимущества языка, его отличия от C++ - это уже описано в десятках книг и
сотнях публикаций, как за рубежом, так и в нашей стране. Здесь мы
остановимся на том, что представляет собой платформа Java сегодня, из каких
компонентов она состоит и какие средства, доступны для разработчиков. Таким
образом, по завершении данного цикла вы должны будете получить достаточно
четкое представление о том, что предлагает фирма Sun, какими средствами
разработки можно пользоваться, какие существуют компоненты и средства для
их создания и как с помощью Java можно создавать корпоративные решения.
Технология Java
Технология Java обеспечивает разработчиков основой для создания решений,
при разработке которых не нужно задумываться об операционной системе и
аппаратной платформе, на которых эти решения будут функционировать. Часто
используемое выражение "Написано однажды – работает везде" лучшим образом
характеризует основное назначение этой технологии. Независимость от
платформы достигается за счет того, что уникальные характеристики каждой из
поддерживаемых Java 2 платформ, реализованы в виде оболочки, называемой
Java Runtime Environment (JRE). Во время создания приложения разработчик
пишет код на языке Java так, как если бы в мире была бы всего одна
программно/аппаратная платформа. Компилятор языка Java преобразует код в
последовательность байт-кодов, которая будет выполняться на одной из
платформ в рамках JRE.
Java Runtime Environment содержит специальные средства проверки кода,
обеспечивающие надежность и защищенность программ, загрузчик классов,
который динамически загружает классы в процессе выполнения и виртуальную
машину Java (Java VM), которая выполняет последовательность байт-кодов,
взаимодействую с конкретной операционной системой. Такой подходт
освобождает разработчика от необходимости обращать внимания на специфику
какой-то конкретной операционной системы и позволяет внедрять Java-
приложения на более чем одной платформе. Компоненты JavaRuntime Environment
показаны на следующей диаграмме.
[pic]

То, что язык Java за короткое время стал одним из самых популярных
коммерческих объектно-ориентированных языков программирования, помогает
распространению технологии Java и подтверждается тем, что в настоящее время
этот язык использует около 1 млн. разработчиков (80% из них создает кросс-
платформенные приложения), продукты для Java выпускают сотни фирм, а число
копий JDK, загруженных с сайта фирмы Sun, превысило 2.5 млн.
Платформа Java 2
Платформа Java 2 (Java Development Kit 1.2), объявленная фирмой Sun в
декабре 1998 года, представляет собой физическую реализацию технологии
Java. Собственно говоря, она заключена в небольшом по объему файле и
состоит из следующих основных компонентов:
. Средства разработки на Java – редактор, компилятор, отладчик и средство
для документации Java API
. Богатый набор Java-библиотек и базовых классов (foundation classes),
которые используются для создания графических интерфейсов, доступа к
базам данных, реализации сетевых функций, разработки приложений,
работающих с несколькими языками и т.п.
. Java 2 Runtime Environment – средство для динамической загрузки Java-
классов, их проверки и выполнения Java-байт-кода.
Архитектура платформы Java 2 показана на следующей диаграмме.
[pic]
Изначально, Sun выпустила Java 2 Runtime Environment для следующих
платформ: Solaris, Windows NT Server 4.0 и Windows 95/98. В ближайшие
месяцы поставщики других платформ выпустят соответствующие JRE. Таким
образом, Java 2 будет реализована на следующих платформах:
|AIX |Digital UNIX |HP-UX |
|IRIX |Linux |Mac OS |
|NetWare |OpenServer |OpenVMS |
|OS/2 |OS/390 |RISC-OS |
|Solaris |Windows 95 |Windows 98 |
|Windows NT |Windows NT-Alpha |UnixWare |
| |(DEC) | |


Java 2 в деталях
Давайте рассмотрим состав Java 2 более подробно. Я выделил три
основных компонента - средства разработки на Java, набор Java-библиотек и
базовых классов и Java 2 Runtime Environment.
Средства разработки на Java
В состав JDK 1.2 входит большое число утилит, которые можно
подразделить на несколько категорий:
. Базовые утилиты
. RMI-утилиты
. Средства для локализации приложений
. Средства для защиты приложений
. IDL-утилиты
Базовые утилиты
Утилиты, относящиеся к этой категории, служат основой Java Development
Kit. Они используются для компиляции и отладки создаваемых Java-приложений.
К базовым утилитам относятся:
|javac |Компилятор языка Java |
|java |Загрузчик Java-приложений. Используется и в стадии |
| |разработки, и в стадии внедрения приложений |
|javadoc |Генератор документации для API |
|appletviewer |Утилита для запуска и отладки приложений без |
| |использования web-браузера |
|jar |Утилита для управления Java Archive (JAR)-файлами |
|jdb |Отладчик Java-приложений. |
|javah |Генератор заголовочных файлов и заголушек для языка C |
|javap |Дизассемблер Java-классов |
|extcheck |Утилита для обнаружения конфликов между JAR-файлами |


RMI-утилиты
Утилиты, относящиеся к этой категории, используются для создания
приложений, взаимодействующих между собой по Internet или другим типам
сетей. К таким утилитам относятся:


|rmic |Утилита для генерации заглушек и скелетов для удаленных |
| |объектов |
|rmiregistry |Утилита для регистрации удаленных объектов |
|rmid |Средство системной активации RMI |
|serialver |Возвращает serialVersionUID.для данного класса |


Средства для локализации приложений
К средствам для локализации приложений относится утилита native2ascii,
выполняющая преобразование текста в Unicode Latin-1.
Средства для защиты приложений
Утилиты, относящиеся к этой категории, используются для задания
уровней защиты и создания приложений, который работают на удаленных узлах.
К таким утилитам относятся:
|keytool |Средство для управления сертификатами |
|jarsigner |Утилита для генерации и проверки цифровых подписей в |
| |JAR-файлах |
|policytool |Графическое средство для управления файлами доступа |


IDL-утилиты
Утилиты, относящиеся к этой категории, используются при создании
приложений, использующих CORBA для доступа к базам данных. К таким утилитам
относятся:


|tnameserv |Обеспечивает доступ к сервисам имен (naming service) |
|Idltojava |Создает java-файлы для интерфейсов OMG IDL и позволяет |
| |приложениям, написанным на языке Java, использовать |
| |функциональность CORBA |


Набор Java-библиотек и базовых классов
Ядром Java 2 является библиотека классов Java Foundation Classes (JFC)
версии 1.1, предназначенная для создания графических интерфейсов Java-
приложений. В ее состав входят собственно библиотека JFC версии 1.1
(которая была доступна для JDK 1.1 с февраля прошлого года) и следующие
интерфейсы:
. Abstract Windowing Toolkit (AWT)
. Swing
. Java 2D
. Drag and Drop
. Accessibility
Архитектура Java Foundation Classes показана на следующей диаграмме.
[pic]
Abstract Windowing Toolkit позволяет создавать программы с
графическими интерфейсами, независящими от конкретной платформы. Более
того, программный интерфейс AWT намного проще и понятнее программных
интерфейсов Windows, Motif или OS/2. В JDK 1.2 было добавлено много новых
классов и интерфейсов, включая поддержку функций рисования, вывода на
принтер, обработки изображений и поддержки Drag and Drop и Java 2D.
Многие из этих новых компонентов можно найти в галерее по адресу:
http://java.sun.com/products/jfc/swingdoc-current/comp_gal.html. Также,
можно посмотреть программу SwingSet, чтобы увидеть компоненты Swing в
действии.
Компоненты Swing являются 100% Java-компонентами. Это означает, что
они не зависят от конкретных реализаций интерфейсных элементов на той или
иной платформе. Это также означает, что эти компоненты доступны на всех
платформах, где есть поддержка Java 2. Компоненты Swing реализованы как
расширение AWT, но не используют компонентов AWT. На самом деле, многие
традиционные компоненты AWT – кнопки, списки, диалоговые панели, были
переделаны в компоненты Swing Благодаря этому, компоненты AWT стали более
доступными на различных платформах и теперь предоставляют дополнительные
возможности, отсутствующие в некоторых графических средах. На следующей
диаграмме показано взаимодействие Swing и AWT.
[pic]
Одно из наиболее интересных свойств библиотеки Swing – это возможность
изменения внешнего вида компонентов и интерфейсов - Pluggable Look and Feel
(PL&F). Архитектура PL&F позволяет настраивать внешний вид и поведение как
одного компонента, так и группы компонентов. Также в состав Swing входит
ряд предопределенных настроек - Metal L&F, Motif L&F, Windows L&F.
Существуют настройки по умолчанию для Macintosh и других платформ.
Как я отметил выше, компоненты Swing играют важную роль при создании
графических интерфейсов программ. В следующей таблице приведены краткие
описания этих компонентов.
| Компонент |Описание |
|Box |Контейнер общего назначения для организации |
| |вложенных компонентов используя модель BoxLayout. |
|Japplet |Подкласс класса Applet содержащий JRootPane для |
| |того, чтобы добавить к приложению различные |
| |интерфейсные элементы типа меню |
|Jbutton |Кнопка, которая может содержать либо текст, либо |
| |графическое изображение, либо и то и другое |
|JcheckBox |Кнопка с независимой фиксацией |
|JcheckBoxMenuItem |Кнопка с независимой фиксацией для использования в |
| |меню |
|JcolorChooser |Компонент для выбора цвета в одной из цветовых схем.|
| |Используется совместно с javax.swing.colorchooser |
|JcomboBox |Комбинированый список – строка ввода и выпадающий |
| |список. Пользователь может вводить текст или |
| |выбирать элемент из списка. |
|Jcomponent |Корневой элемент иерархии библиотеки компонентов |
| |Swing. Добавляет специфические свойства типа |
| |подсказок и поддержки двойной буферизации |
|JdesktopPane |Контейнер для компонентов JInternalFrame имитирующий|
| |работу desktop в одном окне. Поддерживает |
| |многооконный интерфейс (MDI) |
|Jdialog |Контейнер для отображения диалоговых панелей |
|JeditorPane |Текстовый редактор с богатыми возможностяим, |
| |управление свойствами которого возможно через объект|
| |EditorKit. По умолчанию может отобрать и |
| |редактировать текст в формате HTML и RTF |
|JfileChooser |Компонент для выбора файла или каталога. |
| |Поддерживается фильтрация и возможность |
| |предварительного просмотра содержимого файла. |
| |Используется совместно с javax.swing.filechooser |
|Jframe |Контейнер для окон верхнего уровня |
|JinternalFrame |Контейнер для вложенных окон. Схож с JFrame и |
| |отображает заголовок окна. В то же время не является|
| |независимым окном и отображается внутри |
| |родительского контейнера. Часто используется вместе |
| |с JDesktopPane. |
|Jlabel |Компонент для отображения текста, графического |
| |изображения или того и другого |
|JlayeredPane |Контейнер, позволяющий дочерним объектам перекрывать|
| |друг друга. Управляет порядком наложения дочерних |
| |объектов двуг на друга |
|Jlist |Компонент для отображения списка с возможностью |
| |выбора. Элементами списка могут быть строки, |
| |графические изображения или другие объекты |
|Jmenu |Выпадающее меню в JMenuBar или подменю внутри |
| |другого меню |
|JmenuBar |Компонент, отображающий набор выпадающих меню. |
|JmenuItem |Один элемент меню |
|JoptionPane |Компонент, использующийся для отображения простых |
| |диалоговых панелей внутри контейнера JDialog. Задает|
| |набор статических методов для стандартных диалоговых|
| |панелей |
|Jpanel |Контейнер для группировки компонентов в |
| |соответствующем LayoutManager. |
|JpasswordField |Поле ввода данных, в котором вводимый текст не |
| |отображается |
|JpopupMenu |Окно, в котором отображается всплывающее меню. |
| |Используется JMenu или для создания отдельных |
| |всплывающих меню |
|JprogressBar |Компонент, который показывает процесс выполнения |
| |длительной операции |
|JradioButton |Кнопка с зависимой фиксацией |
|JradioButtonMenuItem|Кнопка с зависимой фиксацией для использования в |
| |меню |
|JrootPane |Комплексный контейнер, используемый JApplet, |
| |JDialog, JFrame и JInternalFrame. |
|JScrollBar |Горизонтальная или вертикальная полоса прокрутки |
|JScrollPane |Контейнер, позволяющий дочерним компонентам |
| |прокручиваться вертикально или горизонтально. |
| |Обеспечивает поддержку фиксированных областей. |
|Jseparator |Компонент для отрисовки горизонтальных и |
| |вертикальных разделителей. |
|Jslider |Компонент для наглядного ввода цифровых значений |
|JSplitPane |Контейнер, в котором отображаются два дочерних |
| |объекта, размер которых можно изменять |
|JtabbedPane |Контейнер, реализующий панель с закладками |
|Jtable |Компонент для отображения таблиц с возможностью |
| |редактирования их содержимого. Может отображать как |
| |строчные данные, так и любой другой тип данных. |
| |Обычно используется совместно с javax.swing.table |
|JtextArea |Компонент для отображения и редактирования |
| |многострочного текста. Основан на компоненте |
| |JTextComponent. |
|JtextComponent |Компонент для реализации компонентов для отображения|
| |и редактирования текста. Является частью |
| |javax.swing.text |
|JtextField |Компонент для отображения, ввода и редактирования |
| |одной строки текста. Основан на компоненте |
| |JTextComponent. |
|JtextPane |Подкласс JEditorPane для отображения и |
| |редактирования отформатированного текста, который не|
| |является текстом в формате HTML или RTF |
|JtoggleButton |Родительский компонент для JCheckBox и JRadioButton.|
|JtoolBar |Компонент для отображения панели инструментов |
|JtoolTip |Окно для отображения подсказок или другой |
| |пояснительной инфомации |
|Jtree |Компонент для отображения древрвидной структуры |
| |данных. Помимо строчных данных может отображать |
| |любые другие. Используется совместно с |
| |javax.swing.tree |
|Jviewport |Контейнер для отображения какой-лиюбо части |
| |дочернего объекта. Обычно используется совместно с |
| |JScrollPane. |
|Jwindow |Окно, но без заголовка, полос прокрутки и других |
| |элементов. |


С помощью Java 2D можно разрабатывать графические приложения. Этот
программный интерфейс обеспечивает поддержку двумерной графики, обработку
графических изображений, рендеринг, управление цветами и работу с
устройствами печати. Интерфейс Java 2D состоит из модели, которая
поддерживает отрисовку линий, графических изображений, преобразования
цветов, составление графики. Модель является аппаратно-независимой.
Интерфейс Java 2D реализован в пакетах java.awt и java.awt.image.
Drag and Drop
В Java 2 введена поддержка операций Drag and Drop, с помощью которых
можно перетаскивать различные объекты. Интерфейс Drag and Drop в JDK 1.2
обеспечивает платформенно-независимую поддержку этих операций для Java-
приложений, причем можно осуществлять перетаскивание объектов как между
Java-программамиЮ так и между Java-программами и программами, "родными" для
конкретной платформы. Интерфейс Drag and Drop реализован в пакете
java.awt.dnd и поддерживается классами и интерфейсами других пакетов JFC.
Accessibility
Для пользователей с различными физическими недостатками в JDK 1.2
введен ряд интерфейсов, облегчающих создание сотоветствующих программных
средств. Интерфейс Accessibility в JDK 1.2 реализован в пакете
java.awt.accessibility.
Апплеты
При обзоре платформы Java нельзя не упомянуть апплеты – мини-
приложения, загружаемые из сети и выполняемые в Web-браузере. Так как
аплеты загружаются из сети, они обычно содержат "непроверенный" код, что
накладывает опрделенные требования к проверке их надежности. Апплеты
сыграли большую роль в популяризации платформы Java и практически не
изменились со времен Java 1.0. В Java 2 появился Swing-класс JApplet и
новая, более гибкая модель защиты.
Базовый класс Applet и Swing-класс JApplet являются GUI-контейнерами,
которые могут содержать другие GUI-компоненты и контейнеры. Но не эти
свойства определяют основные характеристики апплетов. Наиболее важными
здесь являются возможность работы в сети, динамическая загрузка и
выполнение и развитые средства защиты.
JavaBeans
Компоненты JavaBeans. впервые появились в Java 1.1. В Java 2
реализованы некоторые расширения компонентной модели JavaBeans. Компонент
JavaBeans – это Java-объект, интерфейс которого поддерживает некоторые
соглашения. Так, компонентами можно управлять из средств разработки, из
скриптовых языков и т.п. В некоторых случаях целые приложения могут быть
динамически собраны из группы независимых, но взаимодействующих друг с
другом компонентов. Компоненты JavaBeans часто, но необязательно, являются
GUI-компонентами. Все GUI-компоненты платформы Java следуют соглашениям
компонентов JavaBeans и могут использоваться в контексте JavaBeans. Такими
компонентами могут быть и простая кнопка, и сложный полнофункциональный
текстовый процессор.
В Java 2 появилось понятие контекста компонента, - контейнера, который
может содержать в себе компоненты и другие контейнеры. Такой контейнер
может обеспечивать набор сервисов, например, возможность работы с
устройством печати, для всех вложенных компонентов. Фактически, контекст
контейнера является расширением модели апплетов – в платформе Java 2
реализована поддержка создания объектов, которые могут выступать и как
компоненты, и как апплеты.
Java Media Framework
Java Media Framework (JMF) – это стандартное расширение платформы Java
2. JMF задает библиотеку классов для работы со звуком и видео. В дополнение
к возможностям воспроизведения аудиоданных и отображения видеоданных,
закодированных в различных форматах, JMF включает средства для обработки,
контроля и синхронизации потоков мультимедийных данных. Java Media
Framework может работать как с файлами, хранимыми на локальных дисках, так
и упакованными потоковыми данными, передаваемыми в реальном времени по
сети.
Java Media Framework реализовано полностью на языке Java и может
работать на любой платформе, поддерживающей язык Java. В дополнение к
этому, существуют платформенно-зависимые расширения в коде для той или иной
платформы, с помощью которых можно существенно повысить производительность
создаваемых приложений и обеспечить поддержку специфичных для данной
платформы форматов данных.
В следующих версиях JMF будут реализованы средства записи
мультимедийных данных и поддержки конференций.
Поддержка звука
В первых двух версиях Java (1.0 и 1.1) были лишь рудиментарные функции
для поддержки звука – можно было воспроизводить только звук, закодированный
в формате AU фирмы Sun. Соответствующие интерфейсы были доступны только для
апплетов. Платформа Java 2 содержит новое ядро для воспроизведения звуковых
файлов в наиболее популярных форматах, а программные интерфейсы могут
использоваться в любом Java-коде, не только в апплетах, как это было
раньше.
Для поддержки звука в состав Java 2 включен интерфейс Java Sound,
обеспечивающий полный контроль над аудиоданными.
Разработка корпоративных приложений
Большинство новинок в платформе Java 2 – это новинки в графических
интерфейсах и поддержке графических функций. Но наиболее важными, со
стратегической точки зрения, несомненно, являются программные интерфейсы
Java Enterprise. Эти интерфейсы позволяют использовать Java для создания
корпоративных приложений, которые обладают средствами масштабирования,
могут работать в сетевых средах и обладают поддержкой работы с уже
существующими приложениями.
Некоторые из этих интерфейсов существовали в Java 1.1, часть из них
являются новыми для Java 2. Ряд интерфейсов является базовым для платформы
Java 2, остальные – это дополнения и расширения. Тем не менее именно
платформа Java 2.является первой, где полностью реализованы интерфейсы Java
Enterprise, и которая служит в качестве основы для создания корпоративных
приложений.
Ниже мы кратко рассмотрим основные интерфейсы Java Enterprise (более
подробно мы поговорим об этих интерфейсах в одной из следующих статей
данного цикла). К ним относятся:
. JDBC - доступ к базам данных
. RMI - поддержка распределенных объектов
. Распределенные объекты и CORBA
. JNDI - Сервисы имен и каталогов
. JavaMail - электронная почта
. Enterprise JavaBeans
. Сервлеты
Доступ к базам данных
Интерфейс Java Database Connectivity (JDBC) позволяет Java-программам
посылать SQL-запросы и обновлять данные на серверах баз данных, а также
обрабатывать полученные с сервера результаты. JDBC также позволяет получать
метаинформацию о базе данных и ее таблицах с сервера баз данных.
Архитектура JDBC основывается на классе Driver, который "скрывает" все
детали общения с конкретным сервером баз данных. Каждый конкретный сервер
требует наличия соответствующего класса Driver, с которым взаимодействуют
Java-программы. Большинство производителей баз данных поставляют JDBC-
драйверы со своими продуктами. Помимо этого, существуют специальные
драйверы для взаимодействия с базами через соответствующие ODBC-драйверы.
На следующей диаграмме показаны два возможных варианта создания JDBC-
приложений - с использованием только JDBC-драйверов и с использованием
JDBC/ODBC-драйверов.
[pic]
Интерфейс JDBC реализован в пакете java.sql, который впервые появился
в Java 1.1. В платформе Java 2 появился ряд новых классов, реализующих
дополнительную функциональность. Также в Java 2 включен пакет javax.sql,
позволяющий, например, рассматривать результаты запроса к базам данных как
JavaBeans, выполнять пулинг связей с базами и получать информацию о связях
с базами через сервисы имен.
Интерфейс JDBC является простым и хорошо продуманным. Программисты,
знакомые с SQL и основами программного взаимодействия с базами данных,
смогут легко воспользоваться функциями JDBC в Java-программах.
Поддержка распределенных объектов
Распределенные объекты обеспечивают мощную модель для создания
объектно-ориентированных сетевых приложений, интерес к которым в последние
годы неуклонно растет. В данной модели клиентская часть должна иметь
возможность вызывать методы объектов, расположенных на удаленных серверах
так, как если бы эти объекты располагались локально. Данная модель может
быть реализована несколькими способами. Одним из них является Java Remote
Method Invocation (RMI). Соответствующие програмные интерфейсы реализованы
в пакете java.rmi, который впервые появился в Java 1.1 и был расширен в
Java 2.
Распределенные объекты и CORBA
Java Remote Method Invocation – это решение для создания
распределенных систем, которое работает для клиентских и серверных
приложений, написанных на языке Java. Но оно не подходит для гетерогенных
сред, где клиенты и серверы написаны на различных языках. Для таких сред в
платформе Java 2 реализована поддержка CORBA.
CORBA (Common Object Request Broker Architecture) – это стандарт,
созданный Object Management Group (OMG). Данный стандарт реализован как
базовая составляющая платформы Java 2 в пакете org.omg.CORBA и других
подпакетах. Реализация включает Object Request Broker (ORB), который Java-
приложения могут использовать для общения с другими брокерами и другими
CORBA-объектами.
Интерфейсы к удаленным CORBA-объектам являются независимыми от языка и
платформы и описываются на языке описания интерфейсов - Interface
Description Language (IDL). В состав Java Development Kit входит компилятор
IDL, который преобразует интерфейсы, описанные на языке Interface
Description Language в специальные Java-классы, необходимые для реализации
IDL-интерфейсов на Java или для связи с удаленными реализациями интерфейсов
из Java-кода.
Сервисы имен и каталогов
Интерфейсы Java Naming and Directory Interface (JNDI) представляют
собой независимые от протоколов интерфейсы к сетевым сервисам имен и
каталогов. Эти интерфейсы реализованы в пакете javax.jndi, который является
стандартным расширением платформы Java 2.
Интерфейсы JNDI не являются специфичными для каких-то протоколов
поддержки сервисов имен и каталогов. Вместо этого они представляют собой
базовые интерфейсы, способные работатть с любыми серверами. Для поддержки
какого-то конкретного протокола требуется наличие специального провайдера.
Для большинства провайдеров таких сервисов - LDAP, DNS или NIS реализованы
соответствующие программные средства.
Электронная почта
Интерфейс JavaMail представляет собой независящий от протоколов
интерфейс к сервисам электронной почты. Он поддерживает возможность отсылки
и получения электронной почты, а также такие функции, как поиск. Интерфейс
JavaMail реализован в пакете javax.mail и подпакетах и является стандартным
расширением платформы Java 2.
Как и JNDI, JavaMail не связан с каким-то конкретным протоколом для
получения и отсылки электронной почты. JavaMail – это набор базовых
функций, способных работать с любым протоколом. Реализация конкретного
протокола – SMTP, IMAP или POP3 – требует наличия соответствующего
провайдера, который входит в комплект поставки.
Enterprise JavaBeans
Enterprise JavaBeans – это серверный аналог JavaBeans. Enterprise
JavaBeans (EJB) представляет собой компонентную модель для реализации
бизнес логики и бизнес данных. Программная модель с "тонким" клиентом
предполагает вынос бизнес-логики с клиентской части на сервер или
промежуточный уровень (middle tier) и позволяет создавать более гибкие
корпоративные приложения. Но при этом, реализация бизнес логики связана с
необходимостью поддержки кода, который бы обрабатывал транзакции,
взаимодействовал бы с сетью и обеспечивал бы средства защиты информации.
Модель EJB отделяет бизнес-логику от низкоуровневых функций, позволяя
разработчикам не заботиться о том, как в том или ином случае будут
реализованы стандартные функции, например, для передачи данных или
обработки транзакций.
Пакеты javax.ejb и javax.ejb.deployment являются стандартными
расширениями платформы Java 2 и содержат классы, необходимые для создания и
внедрения EJB. Архитектура EJB также взаимодействует с интерфейсами JNDI и
другим стандартным расширением - Java Transaction Services ( JTS).
Сервлеты
Сервлет – это Java-код, выполняемый на сервере, и обеспечивающий какие-
то сервисы для клиента. Название "сервлет" схоже с названием "апплет" –
сервлет является серверным апплетом. Интерфейс Java Servlet предоставляет
базовый механизм для расширения функциональности любого сервлета,
использующего запросы и ответы на базе любого протокола.
В настоящее время сервлеты используются, в основном на Web-серверах.
Таким образом сервлеты можно назвать Java-аналогом CGI-программ. Сервлеты
вполне конкурентно-спрособны с такими технологиями, как Active Server Pages
фирмы Microsoft или Cold Fusion фирмы Allaire. Преимуществом использования
сервлетов является то, что они являются независимыми от платформы и
сохраняются в памяти после загрузки (в отличие от CGI-программ). Помимо
этого сервлеты имеют полный доступ к платформе Java и могут выполнять такие
функции, как связь с базами данных.
Сервлеты являются стандартным расширением платформы Java 2 и
реализованы в пакетах javax.servlet и javax.servlet.http. Пакет
javax.servlet задает классы для обработки клиентских запросов и серверных
ответов. Пакет javax.servlet.http обеспечивает поддержку протокола HTTP,
включая обработку запросов от нескольких клиентов в рамках одной клиентской
сессии.
Это еще не все
Как мы увидели выше, платформа Java 2 предоставляет в распоряжение
разработчиков большой набор разнообразных программных интерфейсов, с
помощью которых возможно реализовать практически любые приложения. Помимо
этого, фирма Sun работает над различными расширениями и дополнениями к
платформе Java 2, которые со временем могут стать стандартными расширениями
этой платформы. В следующей таблице перечислены наиболее важные расширения,
работа над которыми еще ведется.


|Интерфейс |Описание |
|Advanced Imaging |Обеспечивает высокопроизводительные средства для |
|API |обработки изображений, включая поддержку работы с |
| |изображениями большого размера, фрагментарно хранимыми|
| |на дисках |
|Java Speech |Обеспечивает поддержку синтеза речи и распознавание |
| |голоса. |
|Java Telephony |Представляет собой интерфейс для создания компьютерных|
| |приложений для работы с телефонией. |
|Project X |Кодовое название расширений для поддержки языка XML |
|Java |Позволяет Java-приложениям использовать |
|Communications |последовательные и параллельные порты компьютера |
|API | |
|Jini |Набор пакетов для обеспечения сетевых функций |
| |"plug-and-play" для компьютеров, периферийных |
| |устройств и различных электронных приспособлений |
|Java Message |Представляет собой интерфейс для асинхронного обмена |
|Service |сообщениями. |
|Java Transaction |Эти программные интерфейсы задают средства управления |
|Service/Java |транзакциями и их обработки. Реализуют стандарты |
|Transaction API |X/Open XA и OMG OTS для управления транзакциями |
|Java Electronic |Представляет собой набор классов для создания |
|Commerce |приложений электронной коммерции, используя метафору |
|Framework |"бумажника" на клиентском компьютере |
|Java Management |Задает набор интерфейсов для централизованного |
|API |управления динамическими распределенными |
| |Java-приложениями и средами |


Приложение
Интерфейсы Java 2 API
|Пакет |Описание |
|java.applet |Содержит классы, необходимые для создания апплетов и |
| |классы, которыми пользуются апплеты для взаимодействия|
| |с контекстом |
|java.awt |Содержит все классы для создания пользовательских |
| |интерфейсов, отрисовки графики и изобржений |
|java.awt.color |Содержит классы для уветовых схем |
|java.awt. |Предоставляет интерфейсы и классы для передачи данных |
|datatransfer |между приложениями или внутри одного приложения |
|java.awt.dnd |Обеспечивает интерфейсы и классы для поддержки |
| |операций Drag-and-Drop |
|java.awt.event |Содержит интерфейсы и классы для обработки различных |
| |событий, возникающих в AWT-компонентах |
|java.awt.font |Содержит классы и шрифты для работы со шрифтами |
|java.awt.geom |Предоставляет класы Java 2D для выполнения операций |
| |над объектами, реализующими 2-мерную геометрию |
|java.awt.im |Сод

Новинки рефератов ::

Реферат: Глобализация: миф или реальность? (Политология)


Реферат: Влияние на человека опасных вредных факторов производственной среды (Спорт)


Реферат: Япония (География)


Реферат: Механистическая картина мира (Естествознание)


Реферат: АПК России (Сельское хозяйство)


Реферат: Происхождение человека (Биология)


Реферат: Магдебургское право и его роль в социально-экономической жизни городов Беларуси (Государство и право)


Реферат: Концепции современного естествознания (Естествознание)


Реферат: Общественное мнение: современное состояние, ресурсы и некоторые аспекты механизмов массового влияния (Социология)


Реферат: Алюминий и его сплавы (Химия)


Реферат: Виды и методы контроля знаний учащихся при изучении предмета "Хранение плодов и овощей" (Педагогика)


Реферат: Падежи: второй родительный и предложный. Функции и значения (Литература)


Реферат: Влияние семьи на становление личности (Психология)


Реферат: Активные формы работ на уроках математики (Педагогика)


Реферат: Гиподинамия, гипокинезия (Спорт)


Реферат: Возникновение казахских ханов (История)


Реферат: Иван Владимирович Мичурин (Ботаника)


Реферат: Изучение радиоактивного излучения (Естествознание)


Реферат: Производство (Предпринимательство)


Реферат: Авторское и патентное право (Право)



Copyright © GeoRUS, Геологические сайты альтруист