Microsoft Visual J++ 6.0
Библиотека классов Windows Foundation Classes
Классы для реализации графических интерфейсов
Возможность создания COM-компонентов
Продуктивное создание Windows-приложений
Создание корпоративных приложений
Продолжаем наше знакомство с новым продуктом фирмы Microsoft — Visual Studio 6.0. В предыдущих статьях мы рассмотрели основные новинки Microsoft Visual Studio 6.0 (январь 1999, CD-ROM), Visual Basic 6 и Visual FoxPro 6 (январь 1999) и познакомились с новой версией Microsoft Visual C++ 6.0 (март 1999).
В этом номере мы рассмотрим средство для создания Windows-приложений на языке Java — Microsoft Visual J++ 6.0. Да, именно средство для создания Windows-приложений — так Microsoft позиционирует Visual J++.
Собственно говоря, именно для более тесной интеграции Java с Windows, для обеспечения более элегантной модели обработки событий (более удачно «ложащейся» на событийную модель Windows) Microsoft внесла в язык Java ряд изменений (новые ключевые слова delegate и multicast), что послужило поводом для судебного иска со стороны фирмы Sun. Sun выиграла это дело, заставив Microsoft поставить измененную виртуальную машину (Java VM). При этом суд разрешил Microsoft создавать собственные Java-средства, не базирующиеся на лицензионных соглашениях с фирмой Sun.
Взаимоотношения между фирмами — вопрос, на мой взгляд, более политический, чем практический. Пока фирмы судятся между собой, разработчики продолжают писать код, а для этого нужны соответствуюшие программные средства, выпускаемые как небольшими независимыми компаниями, так и фирмами-монополистами. Поэтому мы не будем здесь вдаваться в подробности и выяснять, кто прав и кто виноват, а рассмотрим, что нового появилось в Visual J++ 6.0.
Что нового в Visual J++ 6.0
Начнем с краткого перечисления основных новинок продукта, а затем рассмотрим каждую из них более подробно.
-
Библиотека классов Windows Foundation Classes (WFC). Библиотека WFC позволяет более просто создавать Windows-приложения на языке Java. Она инкапсулирует Win32 API и объектную модель Dynamic HTML в единую иерархию классов. Дизайнер WFC Designer является удобным средством для создания графических интерфейсов Windows-приложений.
-
Возможность создания COM-компонентов. Visual J++ позволяет создавать компоненты ActiveX и COM-компоненты. Библиотека WFC облегчает этот процесс с помощью дизайнера WFC Designer.
-
Продуктивное создание Windows-приложений. Новая среда разработчика, схожая со средой Visual Basic, поддержка технологии IntelliSense, графический отладчик и множество других новинок облегчают и ускоряют создание приложений.
-
Доступ к данным. В состав Visual J++ входит набор средств, облегчающих создание приложений, работающих с данными. Компонент Data Binding позволяет связать любой интерфейсный элемент с данными, а инкапсуляция интерфейса ADO 2.0 делает создание приложений более простым.
-
Быстрое внедрение приложений. Visual J++ содержит средства для внедрения приложений, включая их публикацию на Web-серверах. Все это происходит практически автоматически.
-
Создание корпоративных приложений. Для создания корпоративных приложений Visual J++ содержит средства для дизайна, написания кода и внедрения многозвенных приложений, включая поддержку Active Server Pages, Microsoft Transaction Server и DCOM.
Библиотека классов Windows Foundation Classes
Ядром Visual J++ 6.0 является новая библиотека классов Windows Foundation Classes (WFC), которая позволяет более просто создавать Windows-приложения на языке Java. Библиотека WFC базируется на технологии J/Direct фирмы Microsoft, которая впервые появилась в составе Microsoft SDK for Java 2.0. Основное назначение технологии J/Direct — предоставить разработчикам возможность доступа к функциям, реализанным в DLL. Таким образом, используя J/Direct, библиотека WFC напрямую обращается к функциям Win32 API, предоставляя в распоряжение пользователей объектно-ориентированную оболочку.
Библиотека WFC содержит большое число классов, предназначенных для создания различных Windows-приложений, в том числе и приложений, использующих данные. На рисунке показана базовая иерархия библиотеки WFC.
Можно выделить несколько групп классов, составляющих данную библиотеку, — классы для реализации графических интерфейсов (GUI Classes), системные классы (System Classes), классы для доступа к данным (Data Classes) и DHTML-классы.
Классы для реализации графических интерфейсов
Классы, относящиеся к этой группе, представляют собой оболочку вокруг соответствующих стандартных интерфейсных элементов Windows — списков, кнопок, многостраничных панелей и т.п. Кроме того, здесь есть такие дополнительные элементы, как средство выбора даты/времени, элемент для отображения анимации и ряд других. Все эти элементы представлены соответствующими компонентами в панели инструментов и могут быть помещены в форму простым перетаскиванием.
Системные классы
Системные классы используются для доступа к сервисам операционной системы — управлению файлами, памятью и технологии J/Direct.
Классы для доступа к данным
Эти классы инкапсулируют интерфейсы ActiveX Data Objects (ADO), предоставляя разработчикам возможность создавать высокопроизводительные, масштабируемые приложения, использующие данные. В дополнение к этому в Visual J++ 6.0 реализованы визуальные компоненты для доступа к данным, а в состав Visual Studio входит ряд дополнительных средств, облегчающих создание таких приложений.
DHTML-классы
С помощью Visual J++ 6.0 можно создавать приложения, использующие в качестве интерфейса Dynamic HTML. Используя DHTML-классы, разработчики могут создавать DHTML-страницы на языке Java, а также обращаться к функциональности Internet Explorer 4.0 и 5.0, Win32 и компонентов ActiveX. На следующем рисунке показаны основные классы, которые можно использовать для создания Windows- и DHTML-приложений.
Ниже перечислены основные пакеты, составляющие библиотеку классов WFC.
Возможность создания COM-компонентов
Помимо того что библиотека WFC обеспечивает простой и удобный интерфейс для доступа к функциям Win32 API и объектной модели Dynamic HTML, она служит основой и для создания компонентов. В Visual J++ 6.0 все Java-объекты могут быть превращены в COM-компоненты, а значит, станут доступными из таких средств разработки, как Microsoft Visual Basic и Borland Delphi. Все, что необходимо сделать, — это указать необходимые классы на вкладке COM Classes панели свойств проекта.
Все выбранные классы автоматически получат уникальный идентификатор, будут зарегистрированы, и будет создана необходимая библиотека типов. Также можно загрузить имеющуюся библиотеку типов и создать необходимый код для описанных в ней методов. Таким образом разработчики могут создавать собственные реализации существующих объектов.
Дизайнер WFC Designer поддерживает использование компонентов ActiveX, которыми можно управлять непосредственно из Java-приложений так, как если бы они были обычными Java-объектами.
Помимо этого с помощью Visual J++ 6.0 можно создавать собственные компоненты ActiveX и использовать их в своих приложениях, других средствах разработки или в составе Web-страниц.
Если вы используете Microsoft Visual Studio 6.0, то в вашем распоряжении будет Visual Component Manager (VCM), с помощью которого можно хранить различные компоненты, Java-аплеты, HTML- и ASP-страницы и т.п.
Продуктивное создание Windows-приложений
Немаловажным элементом любого средства создания приложений является среда разработчика.
Как мы отметили в начале данного обзора, новая среда разработчика в Visual J++ 6.0 схожа со средой Visual Basic, обеспечивает поддержку технологии IntelliSense, имеет отладчик с графическим интерфейсом и содержит множество других новинок, которые облегчают и ускоряют создание приложений. Давайте кратко рассмотрим основные новинки, появившиеся в среде разработчика в Visual J++ 6.0.
Дизайнер WFC Designer
С помощью WFC Designer создание графических интерфейсов для Java-приложений становится делом нескольких минут. Используя панель инструментов, разработчики перетаскивают необходимые интерфейсные элементы, визуально располагая их на форме. Свойства и события компонентов отображаются в окне Properties Window и доступны для редактирования. Также можно управлять шагом табуляции, использовать редактор меню. Все изменения, вносимые в дизайнере, мгновенно отражаются в исходном тексте программы, а изменения в исходном тексте, влияющие на визуальное представление компонента, — в дизайнере.
Визуальный дизайнер HTML
В состав Visual J++ 6.0 входит визуальный дизайнер HTML, позаимствованный из Visual InterDev. С его помощью можно создавать HTML-страницы, не углубляясь в изучение языка HTML и скриптовых языков типа JScript и VBScript.
Работа с проектами
В отдельном окне — Project Explorer отображаются файлы и каталоги, входящие в данный проект. Здесь можно задавать свойства всего проекта, добавлять к нему новые элементы и манипулировать ими.
Project Explorer представляет собой визуальное средство для управления проектами, обладающее мощностью и гибкостью make-файлов.
Document Outline
С помощью Document Outline можно быстро получить информацию о любом выбранном объекте. Отображаются такие данные, как пакет, в котором находится данный объект, список свойств, методов. Для выбранных свойств и методов отображаются комментарии JavaDoc (если таковые имеются).
Технология IntelliSense
Поддержка технологии IntelliSense в среде разработчика существенно облегчает процесс написания кода. Она освобождает программистов от необходимости запоминать комплексный синтаксис, типы аргументов и свойства компонентов. Все это теперь автоматически отображается в нужное время и в нужном месте.
Рассмотрим, какие шаги облегчаются при написании кода. Во-первых, вам не надо помнить, какие методы существуют у того или иного объекта, — список доступных методов отображается автоматически.
Выбрав метод, вы не должны вспоминать, что он делает, и какие у него параметры, — вся эта информация отображается на экране редактора.
И, наконец, вы получаете подсказки о синтаксических ошибках, которые сокращают число циклов «редактирование/компиляция/редактирование».
Браузер объектов
С помощью браузера объектов можно получить карту всех доступных объектов, а также информацию о конкретном объекте, включая список его методов и свойств.
Поддерживаются функции фильтрации, сортировки и объединения.
Мастера
В состав Visual J++ 6.0 входит несколько «мастеров», ускоряющих создание приложений и автоматизирующих рутинные операции. Например, Application Wizard облегчает создание приложений, использующих данные, предоставляя ряд диалоговых панелей, на которых вы выбираете необходимые свойства приложения.
В случае, когда вам необходимы прямые вызовы функций Win32 API, вы можете воспользоваться «мастером» J/Direct Call Builder, который позволит вам выбрать необходимые функции и добавить их в текущий Java-класс.
Доступ к данным
Использование Visual J++ 6.0 облегчает создание приложений, работающих с данными за счет того, что в этой версии имеется доступ к OLE DB и ADO — двум основным составляющим технологии Universal Data Access (см. КомпьютерПресс № 1’99).
В состав Visual J++ 6.0 входят визуальные компоненты для доступа к данным: например, DataBinder, обеспечивающий доступ к любому источнику данных, DataSource и DataNavigator. Для наглядного отображения данных используется компонент DataGrid.
При создании приложения, работающего с данными, вы можете использовать любой OLE DB-источник данных, указывая его как значение свойства connectionString компонента DataSource.
Затем вы выбираете непосредственно источник данных и при необходимости проверяете соединение с источником.
После того как свойства компонента DataSource заданы, вы можете использовать его экземпляр в качестве значения свойства dataSource других компонентов.
Входящие в состав Visual Studio визуальные средства для работы с данными — Visual Database Tools — позволяют наглядно работать с данными Microsoft SQL Server и базами Oracle. Эти средства мы рассматривали в январском номере журнала.
Быстрое внедрение приложений
Одной из проблем, с которыми сталкиваются разработчики корпоративных приложений, является внедрение этих приложений. Visual J++ 6.0 содержит ряд средств для облегчения этого процесса. Во-первых, поддерживаются различные способы «упаковки» приложений — CAB, ZIP или EXE, которые выбираются в зависимости от конкретного приложения.
Также поддерживается возможность включения в состав приложения цифровой подписи на основании алгоритмов RSA или DSA, что обеспечивает приложение соответствующим сертификатом.
Помимо этого поддерживается внедрение приложений непосредственно на Web-сервер и выбор местоположения для внедрения с помощью Deployment Explorer.
Создание корпоративных приложений
Новая версия Visual J++ полностью поддерживает создание приложений в архитектуре Windows DNA (см. КомпьютерПресс №12’98), позволяя создавать масштабируемые, многозвенные бизнес-приложения, использующие корпоративные данные. Для этого вам потребуется Visual Studio Enterprise Edition — вариант, который обеспечивает Visual J++ следующими функциями:
-
доступ к корпоративным данным с использованием Enterprise Visual Database Tools;
-
управление всем циклом создания приложения — Visual Modeler 2.0, Visual Studio Analyzer;
-
поддержка групповой разработки — Visual SourceSafe 6.0, Microsoft Repository, Visual Component Manager 2.0;
-
интеграция прикладных сервисов — Microsoft BackOffice 4.5 Developer Edition.
Помимо этого Visual J++ 6.0 обладает следующими возможностями, рассчитанными в первую очередь на корпоративных разработчиков: создание серверных приложений, кросс-процессная отладка, полная поддержка DCOM и MTS.
Visual J++ автоматически создает необходимые библиотеки типов и MTS-информацию, необходимые для регистрации Java-объекта как COM-совместимого MTS-компонента. При внедрении объекта все необходимые файлы внедряются автоматически.
Заключение
В этом обзоре мы рассмотрели новый продукт фирмы Microsoft — Visual J++ 6.0. Он представляет собой среду для создания полнофункциональных решений на базе языка Java и включает интегрированную среду разработчика, средства для работы с данными, внедрения приложений и поддержку Win32 API.
Дополнительную информацию можно получить на Web-узле Microsoft по адресу: http://msdn.microsoft.com/visualj/
На CD-ROM в разделе «Средства разработки» вы найдете несколько мультимедийных презентаций, освещающих основные новинки, появившиеся в Visual J++ 6.0.
КомпьютерПресс 4'1999