пятница, 8 февраля 2013 г.

динамическое создание tquery в delphi

Дополительные инструменты

Отметим, что возможности создания многозвенных систем ограничиваются не только MIDAS-ориентированными серверами. Наряду с версией C++Builder Client/Server Suite имеется версия C++Builder Enterprise, позволяющая создавать "тонкие" клиентские приложения для сервера приложений Borland Entera c помощью компонентов TEnteraConnection и TEnteraProvider. Отметим, что Entera существует для большого количества платформ, что позволяет создавать многоуровневые системы в гетерогенной среде, где не только серверы баз данных, но и серверы приложений функционируют на платформах, отличных от Windows (например, на UNIX-платформах), что позволяет выбрать наиболее оптимальное для предприятия сочетание удобства, масштабируемости и надежности.

Отметим, однако, что MIDAS Development Kit позволяет лишь создавать и отлаживать серверы приложений. Входящий в его состав ConstraintBroker обладает ограниченным временем действия, а Business ObjectBroker обладает ограничением на число экспортируемых OLE-объектов. Только полнофункциональная версия MIDAS позволяет использовать эти брокеры без подобных ограничений (и не нарушать при этом лицензионные соглашения).

Но это еще не все. Именно трехзвенная архитектура позволяет реально осуществить централизацию хранения и обработки данных с одновременным доступом к актуальной информации в случае, когда рабочая станция находится на значительном расстоянии от сервера приложений, исключающем прокладку локальной сети, так как доступ к серверу приложений может осуществляться и иными способами, такими, как модемное соединение или доступ через Internet. Требования к надежности такого соединения невысоки, так как при использовании подобной архитектуры активно применяется кэширование данных на рабочей станции, и при этом использование ConstraintBroker позволяет проверять соответствие изменяемых данных правилам сервера непосредственно на рабочей станции, поэтому применение "тонких" клиентов и серверов приложений, управляемых MIDAS, является наилучшим решением для территориально разбросанных предприятий, организаций с удаленными филиалами, в том числе в других городах и странах.

Помимо перечисленных очевидных преимуществ трехзвенной архитектуры, MIDAS также предоставляет дополнительные возможности повышения надежности используемой информационной системы. Например, при наличии в сети нескольких однотипных серверов приложений сбой одного из таких серверов приведет к распределению подключенных к нему "тонких" клиентов по другим серверам - это сделает Busiess ObjectBroker. Он же обеспечивает и равномерную загрузку серверов приложений клиентскими соединениями.

Что дает использование трехзвенных информационных систем? Об их преимуществах сказано уже немало. Во-первых, "тонкий" клиент, подобный рассмотренному выше, не требует наличия на рабочей станции ни клиентской части серверной СУБД, ни библиотеки Borland Database Engine, и, соответственно, не требует конфигурации клиентской части и настройки BDE. Единственное, что требуется на рабочей станции - наличие библиотеки dbclient.dll размером 140 Кб, которую можно поставлять вместе с клиентским приложением. Во-вторых, для такого клиентского приложения требуется меньше ресурсов, чем для классического "толстого" клиента. В-третьих, вместо создания дистрибутива достаточно скопировать на рабочую станцию исполняемый файл и dbclient.dll (или загрузить в Internet Explorer web-страницу с компонентом ActiveX). Таким образом, налицо прямое снижение затрат, связанных с конфигурацией рабочих станций и ресурсоемкостью клиентских приложений.

Рис.3. "Тонкий" клиент в виде ActiveX

Следует отметить, что в C++Builder, так же как и в Delphi, имеется возможность создания активных форм - для этой цели используется библиотека Active Template Library. Этим можно воспользоваться для создания "тонкого" клиента, отображаемого в броузере, и не требующего предварительной установки, наcтройки и конфигурации, но имеющего, в отличие от Web-приложений типа CGI или ISAPI, полноценный Windows-интерфейс.

Рис.2. "Тонкий" клиент

Теперь можно создать клиентское приложение (причем не обязательно на том же самом компьютере - главное, чтобы компьютер с сервером приложений был доступен по протоколу TCP/IP), поместив на форму компоненты TMidasConnection, TClientDataSet, связанный с ним компонент TDataSource и связанные с ним интерфейсные элементы для отображения данных (например, TDBGrid). У компонента TMidasConnection следует установить значение свойства ComputerName равным IP-адресу компьютера, на котором находится сервер приложений, свойства ServerName равным имени сервера приложений (в формате .), а свойства ConnectType равным TCP/IP. Затем свойство Connected можно установить равным true, и сервер приложений после этого должен запуститься удаленно. Теперь можно установить значение свойства RemoteServer компонента TClientDataSet равным имени компонента TMidasConnection, а также значение свойства ProviderName равным имени экспортированного объекта из удаленного модуля данных сервера приложений. Осталось установить свойство Active этого компонента равным true, вызвать в каком-нибудь обработчике событий метод ApplyUpdates компонента TClientDataSet - и простейший "тонкий" клиент готов!

Рис.1. Библиотека типов, связанная с удаленным модулем данных

Простейший MIDAS-ориентированный сервер приложений можно создать буквально за несколько минут. Для этого достаточно выбрать из репозитория объектов C++Builder пиктограмму Remote DataModule и в удаленный модуль данных поместить какой-либо компонент доступа к данным (например, TTable или TQuery), установить значения его свойств DatabaseName и TableName (или SQL), установить значение его свойства Active равным true. Затем нужно экспортировать его из модуля данных (рис .), выбрав соответствующую опцию контекстного меню, а затем скомпилировать и выполнить созданное приложение, чтобы зарегистрировать его в реестре . Далее следует запустить приложение scktsrvr.exe (Borland MIDAS Socket Server), чтобы сервер приложений мог быть запущен удаленно по протоколу TCP/IP.

Говоря о С++Builder как об инструменте создания корпоративных информационных систем, в том числе ИС масштаба предприятия, следует остановиться на такой замечательной возможности, как средства создания серверов приложений и "тонких" клиентов. В комплект поставки версии C++Builder Client/Server Suite входит MIDAS Development Kit, представляющий собой набор компонентов и брокеров middleware, позволяющих создавать и отлаживать серверы приложений и использующие их клиентские приложения. Иными словами, С++Builder, наравне с Delphi, теперь также поддерживает MIDAS.

Средства создания многозвенных систем.

Появления новой версии разработчики ждали давно - с момента выхода Delphi 3, обладавшей набором интересных и полезных возможностей, отсутствовавших в первой версии C++Builder. Теперь можно с уверенностью сказать, что новый С++Builder оправдал ожидания разработчиков: он не только предоставляет те же возможности, что и Delphi 3, но и довольно широкий спектр дополнительных возможностей, пользователям Delphi пока неизвестных. В данной статье будут рассмотрены наиболее интересные особенности C++Builder 3.0, связанные с созданием информационных систем.

За год существования С++Builder у этого продукта появилось немало сторонников. Сочетание универсального языка программирования, являющегося, по существу, индустриальным стандартом, комфортной среды разработки, зарекомендовавшей себя еще до появления самого С++Builder, возможности быстрой разработки приложений с минимальным использованием ручного кодирования, удобного и универсального механизма доступа к данным сделали этот продукт весьма привлекательным для разработчиков и менеджеров информационных систем.

Наталия Елманова

Borland C++Builder 3: новые возможности создания корпоративных информационных систем.

Море(!) аналитической информации!

Borland C++Builder 3: новые возможности создания корпоративных информационных систем

Комментариев нет:

Отправить комментарий