Андрей Колесов
После выхода в конце 1996 г. MS Office 97 этот традиционный пакет для конечных пользователей стал довольно быстро набирать популярность в качестве средства разработки приложений. Разумеется, речь идет о достаточно специфическом инструменте, который вряд ли составит конкуренцию классическим средствам разработки (Си, Delphi, Visual Basic и пр.). Однако MS Office может весьма эффективно решать самые разнообразные задачи, круг которых постоянно расширяется. Именно этим объясняется интерес программистов к возможностям версии 2000, выпуск которой ожидается в мае нынешнего года.
Новшеств в этом пакете предполагается довольно много, но, наверное, одно из главных - реализация унифицированной модели расширения функциональности различных продуктов, входящих в состав MS Office 2000, на базе архитектуры дополнительных модулей (Add-Iu) COM. Ведь несмотря на достаточно серьезный шаг по унификации внутренних средств разработки программ, сделанный в Office, стандартизация значительной части решений оставляла желать много лучшего. Нарекания пользователей вызывала, к примеру, система меню среды VBA, которая почему-то различалась в разных программах.
Однако самым неприятным было то, что в приложениях использовались различные модели реализации и подключения функциональных расширений. В результате для создания совершенно одинакового расширения, например новой кнопки для панелей инструментов Word и Excel, приходилось создавать отдельные программные модули. И проблема была не только в разных форматах файлов (например, DOT и XLT), но и в различии принципов подключения таких расширений.
В Office 2000 эти проблемы унификации, похоже, будут преодолены. (Но что мешало сделать это раньше? Порою кажется, что разработчики разных продуктов Microsoft принципиально не общаются между собой.) Во всех приложениях, допускающих программирование (Word, Excel, PowerPoint и Access), теперь реализованы единый формат расширений и механизм их подключения на базе технологии COM Add-Ins. Сами модули расширений будут представлены в виде ActiveX-серверов формата DLL, а создавать их можно будет с помощью любого инструмента, позволяющего разрабатывать ActiveX-объекты (в том числе и Visual Basic 6.0, и самих средств MS Office 2000, но только в редакции Developer). Унифицирован также механизм подключения расширений, который предусматривает несколько режимов: при загрузке приложения, при загрузке заданного документа, при инициализации определенных событий и пр.
Из других новшеств Office 2000 следует отметить расширенные возможности создания интранет-приложений на базе единого набора Office Web Components. В первую очередь это касается публикации интерактивных HTML-страниц из Excel и Access. Использование Web-технологий позволяет создать режим групповой обработки документов и обеспечить одновременный доступ к данным.
Важным для развития Access 2000 является включение в него двух механизмов доступа к данным - Jet 4.0 и MSDE (Microsoft Data Endine). Первый из них представляет собой модифицированный вариант традиционного средства Access для работы с базами данных (поддержка Unicode, блокировка на уровне строк, встроенный механизм OLE DB, двустороннее тиражирование Jet/SQL Server 7). Второй - усеченный вариант SQL Server, являющийся некоторым промежуточным решением при переходе к полнофункциональному SQL Server 7.0. Поэтому Microsoft рекомендует использовать Jet 4.0 для создания систем с числом пользователей до 10 - 15 человек, а MSDE - до 50.