[an error occurred while processing this directive]

3.5. Инструментальные средства разработки Intranet-приложений

Языки разработки интерактивных страниц поддержаны инструментальными средствами разработки Intranet-приложений.

Наиболее широко представлены средства программирования мобильных приложений на языке Java.

Инструментальные системы для языков сценариев менее развиты, особенно это касается отладки сценариев.

3.5.1. Визуальные средства программирования IntraBuilder

Корпорация BorlandInternational анонсировала семейство инструментальных средств для построения Web-серверов, обеспечивающих работу с базами данных. В него входят следующие продукты: IntraBuilder, IntraBuilderProfessional и IntraBuilderClient/Server.

Благодаря использованию технологии two-way-tools, пользователь средней квалификации может быстро конструировать интерфейсы к базам данных в виде динамических HTML-страниц.

При применении технологии Intranet у конечного пользователя работает лишь поддерживающий язык JavaScript броузер Internet. Программа на языке JavaScript, встроенная в текст интерпретируемого броузером InternetHTML-файла, передает параметризованный URL на Web-сервер, поддерживающий один из стандартов - NSAPI, ISAPI или CGI - и выполняющийся в среде WindowsNT или Windows 95. Web-сервер организует обработку запроса с помощью сервера компании Borland, который состоит из модуля IntraBroker, преобразующего закодированные в любом из перечисленных выше стандартов запросы в понятную модулям IntraServer технологию BorlandDataBaseEngine (BDE). В случае стандартных и профессиональных версий IntraBuilder он работает на той же машине, что и Web-сервер. Профессиональная версия отличается от стандартной тем, что одновременно могут работать несколько экземпляров модуля IntraServer, к тому же в ее комплект поставки входит промежуточное ПО SQLLinks для MSSQLServer с многопользовательской лицензией. Версия клиент/сервер еще мощнее. Она позволяет запускать модули IntraServer на нескольких компьютерах и включает ПО SQLLinks для таких СУБД, как Oracle, Informix, Sybase и IBMDB2. Несмотря на то, что стандартная версия ориентирована в первую очередь на использование локальных баз данных (например Paradox, dBase или Access), благодаря способности BDE работать с источниками данных, поддерживающими стандарт ODBC, даже в этой версии можно пользоваться более мощными СУБД, рассчитанными на функционирование в среде клиент/сервер. BDE генерирует SQL-запрос, который обрабатывается соотвествующей СУБД. Далее результат выполнения запроса преобразуется в страницу HTML с включением JavaScript, которая передается по протоколу HTTP на узел клиента, где и отображается с помощью броузеров NetscapeNavigator или MicrosoftExplorer.

Для построения HTML с формами и отчетами IntraBuilder предлагает богатую палитру визуальных компонентов. При этом за счет технологии двунаправленной разработки создатель интерфейса может свободно переключаться между режимами визуального конструирования и ручного кодирования на языке JavaScript. Продукт использует JavaScript версии 1.1, которая обогащена средствами одноуровневого наследования и аппаратом исключений. JavaScript1.1 допускает взаимодействие с активными элементами, выполненными в других стандартах: Netscapeplugin и Javaapplets. IntraBuilder включает свыше 20 визуальных конструкторов свойств (visualPropertyBuilder), обеспечивающих пользователя полным набором средств редактирования параметров объектов, в том числе и обработчики событий. В качестве компонентов можно использовать элементы ActiveX и Javaapplets.

3.5.2. Единая платформа разработки приложений для Internet и Intranet от Netscape

Корпорация Netscape Communication предлагает основанную на стандартах единую платформу для разработки приложений клиент/сервер нового поколения для Internet и интрасетей. NetscapeONE поддерживает такие стандарты как HTTP, HTML, LDAP, Java. В нее включены язык JavaScript, иерархия Java-классов NetscapeInternetFoundationClasses, а также распределенная объектная модель, основанная на протоколе InternetInter-ORBProtocol (IIOP). Документацию, исходный код и NetscapeONESDK можно загрузить со страницы компании.

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

Netscape анонсировала также, расширенную версию JavaScript своего открытого и бесплатно лицензируемого языка сценариев, который предназначен для быстрого построения сетевых приложений. JavaScript включает поддержку технологии LiveConnect, обеспечивающей взаимодействие между такими активными элементами, как Plug-in, Javaapplets, сценарии JavaScript и компоненты HTML.

Чтобы упростить создание коммерческих приложений на языке Java, компания Netscape выпустила системно-независимую библиотеку классов NetscapeInternetFoundationClasses. В нее вошли классы UserInterface, разработанные корпорацией Netcode, недавно приобретенной Netscape. Бета-версия NetscapeInternetFoundationClasses доступна разработчикам уже сегодня.

Модель распределенных объектов в NetscapeONE базируется на IIOP. Полностью совместимый с этим протоколом брокер объектных запросов (ORB) в следующих версиях. NetscapeONE содержит инфраструктуру IIOP, прозрачно поддерживающую распределенный вызов методов Java-классов, и, в частности, в состав пакета войдет совместимая с этим стандартом библиотека NetscapeInternetFoundationClasses.

3.5.3. Инструментальный набор JDK

Комплект разработчика JDK может быть бесплатно загружен с узла Web компании Sun по адресу http://java.sun.com. Данная страница Web позволяет загружать Windows-версии Java (для Windows 95 или WindowsNT, но не для Windows 3.1), а также версии для компьютеров Macintosh и различных UNIX-систем.

Таблица 3.6. Основные программы SDK ПрограммаНазначениеjavaИнтерпретатор JavajavacКомпилятор Javajavadoc"Генератор документации" JavajavahГенератор файлов-описаний для языка С, который создает файлы заголовков и исходные файлы для определения классовjavapДизассемблер классов JavajdbОтладчик Java

Комплект JDK содержит компилятор Java, предназначенный для создания апплетов. Кроме того, этот комплект предоставляет несколько утилит, таких, как appletviewer, которая позволяет запускать и тестировать апплеты; отладчик, который поможет в поиске и устранении ошибок в апплетах; а также "генератор документации" (documentgenerator), который облегчает усилия по документированию программ. Таблица 3.6 суммирует сведения о нескольких программах, которые можно найти в комплекте разработчика Java.

Кроме компилятора и различного рода утилит, комплект разработчика Java содержит в себе множество примеров апплетов, исходный код которых может помочь в освоении языка.

3.5.4. MSVisualJ++

При создании Jakarta (кодовое название проекта VisualJ++) был учтен опыт других создателей Java-инструментов - фирм Symantec, Borland и Sun.

Редактирование и работа с проектами

Пакет VisualJ++ выполнен на базе более ранней разработки DeveloperStudio, которую уже несколько лет компания Microsoft поставляет разработчикам в комплекте с компиляторами VisualC++ и FortranPowerStation, вспомогательными инструментами работы с кодом VisualTest и VisualSourceSafe и библиотекой поддержки разработчиков MSDN.

Замечательной особенностью среды DeveloperStudio является возможность работать с несколькими проектами одновременно, при этом они могут быть созданы для разных языков программирования.

В VisualJ++ все проекты отображаются как иерархические деревья файлов. Кроме того, при генерации создаются два проекта вместо одного: отладочный вариант (debug) и вариант для распространения (release). Разница между ними состоит в том, что задаются разные ключи компиляции. Как правило, для варианта debug компилятор генерирует в выходной файл отладочную информацию, а release компилируется без оной. Переключение одного варианта на другой представляет собой смену выделенного пункта из выпадающего списка на основной линейке инструментов среды DeveloperStudio и занимает одну секунду.

Для создания приложения "с нуля" в J++ имеется единый со всеми другими компиляторами мастер генерации приложений AppWizard. При установке нового продукта в список возможных создаваемых проектов добавляются новые возможности.

Процесс генерации Java-приложений и апплетов предельно прост: ваша задача указать, куда AppWizard должен положить готовые файлы с исходным текстом, и ответить на некоторые наводящие вопросы. Мастер пытается узнать, одно- или многопоточное приложение вы желаете получить, будет ли ваш апплет осуществлять анимацию, и обработчики каких событий мыши вы хотите получить в результате генерации. Помимо исходных текстов AppWizard позволяет создавать одновременно апплет и самостоятельное приложение на базе одного и того же кода, экономя ваше время. В процессе генерации "каркаса" приложения вам будет предложено создать новую страницу в формате HTML со ссылкой на разрабатываемый вами апплет. Если вам это необходимо (а так оно и есть), то вам будет предложено задать имена и прочие атрибуты передаваемых через HTML-страницу параметров апплета.

Компиляция и отладка

Компилятор языка Java пакета VisualJ++ обладает высокими скоростными данными: по числу компилируемых строк в минуту он более, чем в два раза быстрее - компилятора BorlandDelphi 2.0.

При этом генерируемый им код полностью отвечает требованиям к Java-продуктам компании Sun - разработчика языка Java. Примерная скорость, которую развивал компилятор VisualJ++ на тестах, - до 1 миллиона строк в минуту. А если вы пожелаете, то ваше Java-приложение может включать элементы ActiveX - еще одной технологии Microsoft, реализованной для Internet. Данные компилятор получает при чтении библиотек типов TLB. А чтобы подтвердить компилятору свои желания, надо включить необходимые COM-классы выражением import языка Java.

Отладчик в VisualJ++ обладает рядом преимуществ по сравнению с конкурентами. Достаточно сказать, что он не требует настройки протокола TCP/IP, как это происходит в случае с отладчиками из пакетов SymantecCafe или JDK. Более того, отладчик VisualJ++ практически совпадает с аналогичным средством из VisualC++ или FortranPowerStation. Однако, он предоставляет больше возможностей, так как в проекте можно задать и внешний отладчик, отличный от имеющегося в среде DeveloperStudio. Но и это не все: когда вы запускаете вашу Java-программу на исполнение, то кроме отладчика запускается броузер WWW, и конечно же, это не что иное, как MicrosoftInternetExplorer 3.0. Разумеется, вы можете использовать и NetscapeNavigator или, скажем, Mosaic. Поддерживается и одновременная отладка нескольких апплетов.

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

Структурированность информации и показ ее в виде дерева позволяют легко разделять переменные и объекты разных файлов.

Для того, чтобы создавать многопоточные приложения, требуется не только желание, но и соответствующее средство для отслеживания работы каждого потока. VisualJ++ предоставляет такой инструмент, вмонтированный в среду отладчика: ThreadManager не только показывает потоки, запущенные программой пользователя, но отображает и системные витки-"демоны", выполняющие сервисные функции. Программист может вручную остановить выполнение любого потока, запустить остановленный поток или перенести фокус выполнения с одного потока на другой.

Редактор ресурсов и мастер ресурсов

Строго говоря, программы на языке Java не имеют ресурсов и не рассчитаны на их использование: все элементы интерфейса создаются и размещаются программно. Подход Microsoft в этом вопросе схож с подходом Symantec: можно создать ресурсы обычным способом, а затем отконвертировать их в программные модули на языке Java. Первый этап, т. е. создание ресурсов, происходит, как обычно, с помощью редактора ресурсов, встроенного в среду DeveloperStudio и знакомого всем пользователям VisualC++. Когда шаблон ресурсов создан, наступает время второго этапа - генерации Java-кода. Этим занимается специальный инструмент под названием JavaResourceWizard. Полученный код нужно добавить в проект, а во все файлы классов, которые ссылаются на полученный код, добавить выражения import для корректной компиляции.

Редактор ресурсов, используемый в VisualJ++, работает по методу буксировки. Диалоговые панели формируются перетаскиванием элементов с палитры на шаблон ресурса.

Что же касается рисунков, то их создание несколько сложнее. Как известно, броузеры WWW не понимают никаких графических форматов, кроме GIF и JPEG, а редакторы ресурсов Windows, как назло, никогда не могли рисовать в этих форматах. В MicrosoftVisualJ++ этот недостаток исправлен, и можно сохранять графические изображения в файлах .JPG и .GIF.

К сожалению, JavaResourceWizard может конвертировать в Java-код только ресурсы меню и диалоговые панели. Причем из элементов диалоговых панелей конвертируются лишь те, для которых в Java имеются соответствующие классы. Более того, сгенерированный для диалоговой панели код создает лишь элементы интерфейса без панели. В своей программе вы сами зададите любой контейнер по своему усмотрению. Таким образом, для вашего интерфейса нет никакой разницы, куда будут переданы его элементы: в окно, панель или какой другой визуальный класс-контейнер. Как предполагается, по мере развития JavaResourceWizard будет распознавать все больше и больше ресурсов, предоставляя пользователю все больше и больше возможностей автоматизации разработки программ.

3.5.5. Система программирования SymantecCafe

Широкому применению языка Java препятствует отсутствие нормальной среды разработки, включающей стандартные инструменты визуального программирования. SymantecCafe для Windows 95 и WindowsNT является первым инструментом, оформленным в виде единой многооконной среды разработки и отладки с удобным графическим интерфейсом и включает:

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

Назад | Содержание | Вперед

  [an error occurred while processing this directive]