E/AS Software Foundation
 
E/AS Logotype
 

Архитектура системы E/AS

  Новости   О проекте   Снимки экрана   TODO   Ссылки   Download   Форум   Рассылки
  Документация:   Wiki   Требования к системе   Архитектура   FAQ

Архитектура системы E/AS

Система E/AS представляет собой клиент-серверное решение, состоящее из ПО сервера (в дальнейшем - сервер) и ПО клиентов (в дальнейшем - клиент).

Совокупность сервера и клиента называется домен. Клиент и сервер по сути являются равноправными компонентами (сервисами) работы с объектами системы. Они используют единое пространство для передачи данных, форм представления и (планируется) кода. Объекты системы создаются на основании ранее описанных классов и хранятся в объектной базе данных (далее - ОБД). Методы работы с объектами могут быть описаны на любом языке, который может быть транслирован в байт-код CLIP, в котором эти методы хранятся и используются в ОБД.

Взаимодействие сервера и клиентов осуществляется по определённому протоколу поверх протокола TCP/IP. По этому протоколу осуществляется передача данных, получение клиентом форм (интерфейсных и печатных) и иных файлов с сервера, а также выполнение методов на сервере. К серверу можно подключать отдельные модули, расширяющие его функциональность. В дальнейшем планируется реализовать подключение модулей к клиенту, в том числе и получение таких модулей, написанных на байт-коде CLIP, в процессе работы с сервера.


Рис. 1. Домен E/AS
Рис. 1. Домен E/AS

Сервер состоит из следующих компонентов:

Сервер приложений
Сервер приложений является ядром клиент-серверной архитектуры домена E/AS. Он принимает запросы клиентов, ведёт журналы и следит за правами доступа: осуществляет аутентификацию клиента при подключении, обеспечивает контроль за вызовом объектов и их методов. Планируется возможность совместной работы нескольких серверов приложений, при которой должны обеспечиваться перенаправление команд клиентов и синхронизацию репозиториев серверов.
Сервис ОБД
На сервера обязательно кроме сервера приложений имеется сервис ОБД, обеспечивающий хранение объектов и выполнение действий над ними. В ОБД обеспечивается единая идентификация объектов. Классы объектов (конфигурация) описываются на языке XML. Методы могут быть описаны на любых подключаемых языках, которые можно транслировать в байт-код CLIP и подключаются к ОБД. В качестве ОБД используется база данных CODB из дистрибутива CLIP.
Другие сервисы
Кроме сервиса ОБД, к серверу можно подключить любое количество сервисов (модулей), делающих другую работу (например, для связи с веб-сервером, работы по SOAP, импорту-экспорту данных и составлению отчётов). В настоящий момент для сервера сделано два модуля - аутентификация пользователя и проверка доступа по IP-адресам.

Рис. 2. Сервер E/AS
Рис. 2. Сервер E/AS

Клиент состоит из следующих компонентов:

Байт-машина
Клиентская байт-машина через протокол получает объекты и осуществляет вызов их методов путём непосредственного отправления команд на сервер. В дальнейшем планируется получение байт-кода некоторых методов с сервера.
Драйвер форм
Объекты системы могут быть показаны посредством форм на языке XML, получаемых с сервера. Эти формы показываются через определённый драйвер, который транслирует вызовы абстрактных виджетов, описанных в форме, в вызовы библиотеки виджетсета (в настоящее время реализована поддержка GTK+ 1.х, планируется Qt/KDE, GTK+ 2.х, текстовая консоль). Данные, введённые в эти формы, пересылаются на сервер и сохраняются в ОБД.

Рис. 3. Клиент E/AS
Рис. 3. Клиент E/AS

Принципы работы клиента с сервером:

  • Клиент после аутентификации получает форму своей рабочей области. Это форма, которая содержит все необходимые инструменты для работы пользователя в соответствии с его правами доступа и привилегиями.
  • При вызове определённой формы, она запрашивается на сервере. После получения формы (и иных необходимых ресурсов, например, пиктограмм), она отрисовывается через драйвер форм.
  • Оператор работает с данными в форме и события работы с формой обрабатываются через байт-машину через локальные или серверные методы работы с формой и объектом.
  • Помимо указанной работы с формой, оператор может получить печатную форму необходимого документа или отчёт (посредство получения с сервера печатной формы и заполнения её на стороне клиента. Этот документ может быть распечатан из клиентской программы.
----
  © E/AS Software Foundation, 2003, 2004. All rights reserved.