Система построета на основе Спецификации каркаса системы с распределенной архитектурой.
Основные концепции архитектуры Geocad Cadastral System Corporate Edition (внутреннее название проекта WebCad)
Geocad Cadastral System Corporate Edition разделана на три уровня: клиентский (Presentation Layer), серверный (Business Logic Layer) и уровень данных (Data Layer). Это позволяет использовать данную систему в легко масштабируемых, распределенных и многопользовательских приложениях. Система реализована на языке JAVA.
Для работы с системой в Intranet клиентский уровень представлен GUI-приложениями и Web-приложениями для работы в Internet. GUI-приложения работают с серверной частью по протоколу RMI (Remote Method Invocation), в то время как Web-приложения работают с серверной частью по протоколу CGI (Common Gateway Interface).
Серверный уровень системы работает под управлением сервера приложений JBoss и Web-сервера Tomcat. В JBoss размещены Geocad Enterprise Java Beans с которыми взаимодействуют GUI-приложения по протоколу RMI. В Tomcat размещены CGI-скрипты, с которыми взаимодействует Web-браузер выступающий в роли Web-приложения. Geocad CGI-скрипты и Geocad Enterprise Java Beans взаимодействуют с Geocad Kernel, где сконцентрирована бизнес-логика и работа с данными.
Уровень данных представляет собой реляционные банки данных и ГИС-сервера. На этом уровне происходит хранение и сохранения целостности описательных и картографических данных. Также здесь размещаются системные данные, такие как описание предметной области и прав доступа к системе.
Клиентский уровень
На клиентском уровне выделено два типа клиента Web и GUI. Это связанно с тем, что для Internet-пользователей больше важен режим просмотра информации в “легком” клиенте, а для Intranet-пользователей - удобный интерфейс для массового ввода информации, что и обуславливает использование для них более сложного GUI-приложение.
Web-клиент системы представлен компонентом Web InfoForms, который позволяет просматривать и редактировать семантическую часть информации в виде форм и таблиц. Web InfoForms использует в своей работе компоненты для работы с картами (Web Maps и Web Maps Pro) и отчетами (Web LogicReports). Компоненты Web Maps Pro и Web LogicReports реализованы на технологии JavaApplet. Компоненты Web InfoForms и Web Maps реализованы на технологии HTML и JavaScript. Для административных функций, таких как например, управление безопасностью системы, представлен компонент Web Administrator. Компонент Web Administrator реализован на технологии HTML и JavaScript.
GUI-клиент системы представлен компонентом InfoForms Pro, который позволяет просматривать и редактировать семантическую часть информации в виде форм и таблиц. InfoForms использует в своей работе компоненты для работы с картами (Maps Pro) и отчетами (LogicReports). Эти компоненты взаимодействуют с серверным уровнем через протокол RMI. Для административных функций, таких как подключение банков данных и ГИС-серверов к серверу приложений, редактирование форм и шаблонов отчетов, представлен компонент Constructor. Компонент Constructor работает через протокол RMI с серверной частью системы.
Серверный уровень
Серверный уровень состоит из трех частей: сервер приложений JBoss, Web-сервер Tomcat и ядро Geocad. В JBoss используются EJB-Container, MDB-Container и JNDI-служба. В Tomcat используется Servlet-Container. Механизмы работы с данными и политика безопасности системы реализованы в ядре Geocad.
Под управлением Web-сервера Tomcat работает Servlet FrameWork, позволяющий строить CGI-скрипты в виде Servlet по шаблону проектирования Model-View-Controller. На основе Servlet FrameWork построены CGI-скрипты: Web InfoForms, Web Maps и Web Administrator. Эти скрипты могут взаимодействовать с ядром Geocad напрямую (если находятся в одной JVM с ядром) или через протокол RMI.
Ядро Geocad выполняет ряд функций: работа с объектами метамодели, работа с семантической информацией, работа с картографической информацией, работа с шаблонами отчетов и наполнение их данными, выполнение пользовательских процедур. Все эти функции связаны системой безопасности, управление которой осуществляется ядром Geocad, которое в свою очередь кэширует метамодель. Ядро имеет интерфейсы: MetaInterface, SecurityInterface, FactInterface, GraphicInerface, ReportInterface, ProcedureInterface. Компонент FactDAO обеспечивает работу с объектами описательного характера в различных БД (ORACLE, MySQL…). Компонент GraphicDAO обеспечивает работу с объектами картографического характера в различных GIS-Серверах (ArcSDE, Geocad Systems…). Компонент UserProcedures управляет работой пользовательских процедур на стороне сервера, которые могут работать с объектами описательного и картографического характера через интерфейсы FactInterface и GraphicInterface.
Под управлением сервера приложений JBoss работает Geocad Enterprise Java Beans которые предоставляют через протокол RMI доступ к интерфейсам ядра Geocad. Для осуществления синхронизации кэша метамодели между кластерами серверов используется Synchronizer Message Driven Bean.
Уровень данных
Geocad Cadastral System Corporate Edition имеет картриджную систему источников данных, позволяющую подключать разные типы банков данных (ORACLE, MySQL, MS ACCESS…) и ГИС-серверов (ArcSDE, Geocad Systems…). Система работает на основе метамодели (т.е. описания предметной области, описания структур таблиц, объектов, слоев, шаблонов отчетов, форм отображения объектов и т.д.) которая может храниться в базах данных различных типов по выбору администратора, а не «зашита» жестко в код.



