ПРЕСС-РЕЛИЗ |
20.01.99
|
Вначале были рассмотрены особенности использования распределенных информационных систем, построенных на основе CORBA технологии.
При построении сервера особое внимание было уделено методике создания интерфейса CORBA объекта, разъяснена технология формирования экземпляра объекта, как интерфейса. Разобраны функции - заглушки для обмена данными между сервером приложения и запросами пользователя. Релизация заглушек формируется автоматически при создании методов интерфейса, также формируется и коструктор, отвечающий за доступ к объекту класса IdispInterface:
class function TServerOracleCorbaFactory.CreateInstance(const InstanceName:
string): IServerOracle;
begin
Result:= CorbaFactoryCreateStub('IDL:server/ServerOracleFactory:1.0',
'ServerOracle', InstanceName, IServerOracle) as IServerOracle;
end.
Благодаря такой автоматизации , разработчик освобождается от изнурительного
труда по формированию промежуточных методов пользовательского интерфейса.
После описания всех методов для доступа к серверу приложения, разработчик
поставляет своим коллегам библиотеку TLB для формирования тех или иных
методов из клиентского приложения.
После того, как сервер был готов к эксплуатации, появилась необходимость
его регистрации в сети с помощью утилит, поставляемых совместно с Delphi
4 корпорацией Inprise.
Регистрацию объекта в репозитории OAD (Objects Activation Daemond) произвели для того, чтобы брокеры могли его отыскать в сети и запустить при первом требовании клиентского приложения, объект с помощью брокера и OAD будет найден в сети и запущен при необходимости. После запуска новые клиенты будут иметь доступ к экземплярам нашего объекта.
Лектор показал все тонкости регистрации CORBA объекта, при разработке
«тонких клиентов» особое внимание было уделено утилите Objects Activation
Daemond и VisiBroker, как средств активизации объектов и предоставления
интерфейса доступа к ним со стороны пользовательских приложений. На этом
был завершен этап разработки приложения сервера.
var
Form1: TForm1;
interf:IServerOracle;
procedure TForm1.FormCreate(Sender: TObject);
begin
interf:=TServerOracleCorbaFactory.CreateInstance('qqq');
end.
После такой инициализации мы получаем доступ ко всем интерфейсным процедурам и функциям сервера.
СlientDataSet1.Provider:=interf.Query(‘SELECT * FROM BASE WHERE NOMER=33422’);
Особое внимание было уделено библиотеке типов, которую предоставил сервер приложения для статического связывания с интерфейсом CORBA объекта. Разработчик решил получить интерфейс сервера без использования визуальных компонент Delphi 4, таким образом продемонстрировав более гибкий подход к разработке клиентских приложений.
Динамическое выполнение SQL запросов и передача результатов последних на сторону клиента для дальнейшего отображения на форме пользователя производились с помощью компоненты Delphi 4 - ClientDataSet, свойствам которой уделяется особое внимание. В связи с этим были продемонстрированы различные способы перехвата последних и их визуализация для обработки пользовательским приложением. Были разобраны особенности события onReconcilError и, соответственно стандартного диалога, поставляемого с Delphi для обработки ошибок, происходящих на стороне Oracle сервера.