Технология удалённого доступа к документам «Галактики»

Технология предназначена для обмена документами между удалёнными (не связанными локальной сетью) базами данных системы «Галактика». Схема обмена приведена на рисунке.

Основным элементом технологии является Web–сервис, функционирующий на WWW–сервере. Сервис получает от удалённого клиента запрос на выборку документов. В запросе указывается база, из которой требуется получить информацию, тип (название) интересующего документа и дополнительная информация, ограничивающая  объём выборки (например, диапазон дат, номеров документов и т.д.). Web-сервис обращается к репозиторию за описанием затребованного документа, формирует SQL-запрос и обращается с запросом к базе данных. Результаты запроса возвращаются удалённому клиенту, который может отобразить документы на мониторе, распечатать, внедрить в собственную базу данных, передать на обработку в другую систему.

Программы и алгоритмы

В настоящее время реализованы базовые возможности технологии в виде набора модулей (программных компонент).

Необходимые для технологии программные компоненты реализованы на платформе Microsoft .NET в рамках операционной системы MS Windows 2000.

Web-сервис GetGalaxyDocs реализован с использованием подсистемы ASP.NET на языке C#. Для доступа к базе данных системы «Галактика» (на платформе Pervasive) использовалась подсистема Windows ADO/OLEDB (для других платформ целесообразно использовать более быстродействующие подсистемы ADO.NET).

Запрос сервису передаётся в виде строковых параметров метода GetDocuments. Возврат данных производится в виде экземпляра класса DataSet, содержащего необходимые данные в соответствии с описанием документов.

В качестве WWW-сервера использован компонент операционной системы Windows 2000/XP/NT – IIS v.5.0.

Для рекурсивного описания документов системы «Галактика» использован язык разметки XML. Схема описания документов «Галактики»  приведена на рисунке:

 

Пример:

Описание «Документа-основания» в соответствии со схемой:

  <GalDoc docname="DO" table="basedoc" >
    <sql>select * from basedoc</sql>
    <details table="stepdoc" name="StepDoc" parentfield="nrec" detailfield="cBaseDoc">
      <details table="spstep" name="SpStep" parentfield="nrec" detailfield="cStepDoc">
        <details table="spdocnal" name="SpDocNal" parentfield="nrec" detailfield="cSpDoc">
        </details>
      </details>
    </details>
  </GalDoc>

 В качестве удалённого клиента при разработке технологии использовалась консольная программа на языке VB.NET, выводящая на монитор сведения о возвращённых Web-сервисом данных. Для реализации удалённого клиента с необходимой функциональностью могут быть использованы любые средства, поддерживающие работу с удалёнными сервисами (языки C#, VB.NET, компоненты MS Office XP, SOAP-клиенты и т.п.).

Перспективы

  1. С небольшими дополнениями система может быть обратимой: получая в качестве параметра набор данных DataSet, Web-сервис загрузит данные документов в удалённую базу данных «Галактики».

  2. При замене Интернета локальной сетью можно получить систему обмена документами между локальными базами системы «Галактика».

 

Дьяков К.М.

Email: kostya@galaktika.ru