Технология MIDAS, предназначенная для организации распределенных вычислений с COM-серверами доступа к данным, стала весьма популярной за последние два года. В Delphi 5 эта технология получила свое дальнейшее развитие.
Помимо поддерживаемых ранее средств доступа к серверам, базирующихся на DCOM, CORBA и использовании сокетов, Delphi 5 предоставляет возможность использовать протокол HTTP (для этой цели предназначен новый компонент TWebConnection). Это означает, что при соединении с сервером можно использовать брандмауэры и SSL (Secure Sockets Layer - протокол, гарантирующий безопасную передачу данных по сети, комбинирующий криптографическую систему с открытым ключом и блочное шифрование данных), а также применять организацию пула ресурсов (resource pooling).
Помимо этого, MIDAS 3 (версия MIDAS, поставляемая с Delphi 5) поддерживает удаленные модули данных, не хранящие состояния (stateless data module), то есть не хранящие данные, связанные с конкретным клиентом. Это означает, что при создании объектов Microsoft Transaction Server, являющихся MIDAS-серверами доступа к данным, код, удовлетворяющий требованиям к таким объектам, теперь генерируется автоматически (в прежней версии Delphi его нужно было создавать вручную).
Говоря о MIDAS, нельзя не упомянуть поддержку MIDAS-клиентов в виде Web-приложений. Реализована она в виде компонентов InternetExpress, содержащих компоненты TXMLBroker и TMIDASPageProducer (последний обладает очень удобным редактором свойств, позволяющим увидеть, из каких объектов состоит и как будет выглядеть окончательный пользовательский интерфейс). Подобные приложения генерируют вместо вариантных массивов XML-код, который интерпретируется несколькими библиотеками JavaScript (поставляемыми вместе с Web-приложением и включенными для этой цели в комплект поставки Delphi 5). Конечное пользовательское приложение в этом случае представляет собой Web-браузер, поддерживающий JavaScript (рис. 25).
Рисунок 25. "Ультратонкий" клиент, обращающийся к WebMIDAS-приложению.
Отметим, что компоненты InternetExpress можно также применять и при создании приложений, не использующих MIDAS.
Следует, однако, отметить, что изменения в MIDAS привели к тому, что ранее созданные MIDAS-серверы и клиенты могут потребовать небольшой модернизации. Например, вместо интерфейса IProvider используется интерфейс IAppServer, вместо dbclient.dll - midas.dll; компонент TProvider также больше не используется. Вместо него рекомендуется использовать TDataSetProvider, который теперь может иметь дело с любым набором данных, в том числе не имеющим отношения к BDE.
Подробности о MIDAS 3 содержатся в отдельной статье, посвященной этой проблеме.