Development¶
Current Status¶
Our open-source part currently consists of the following modules:
- org.unidata.mdm.system - Basic types and interfaces:
ModuleService - metadata and module discovery service;
PipelineService - service for managing execution pipelines;
ExecutionService - pipeline execution and processing service;
RuntimePropertiesService - runtime properties that can be read and modified across the cluster.
- org.unidata.mdm.core - Security services and utilities:
SecurityService - service supporting login, logout, and token (in)validation;
EventService - service for sending and subscribing to cluster-wide events;
AuditService - audit service;
UPathService - simple “UPath to DataRecord notation” interpreter.
- org.unidata.mdm.search - Search services and interfaces:
SearchService - search services interface with access to mapping, indexing, and searching.
- org.unidata.mdm.meta - Services for creating, modifying, querying and managing metamodel:
MetaModelService - service, responsible for saving and querying of entities of the metamodel;
MetaDraftService - service, allowing to save the metamodel draft and apply it to the current metamodel after a number of modifications.
- org.unidata.mdm.data - Services related to data and relations between data records:
DataRecordService - data management interface service;
DataStorageService - storage metadata management service;
RecordValidationService - checking the DataRecordService for validity.
Configuring Environment¶
Create a database manually from psql or PG Admin. DB name: unidata; Owner: postgres.
Install Elasticsearch (versions above 5.6.x will not work).
Install Russian/English morphology plugin, if you are going to index and search using this feature:
$ bin/elasticsearch-plugin install http://dl.bintray.com/content/imotov/elasticsearch-plugins/org/elasticsearch/elasticsearch-analysis-morphology/5.6.7/elasticsearch-analysis-morphology-5.6.7.zip
Install Apache Tomcat 9.0.x using your preferred method.
Add the
unidata-backend.xml
to the application configuration, if you going to add custom modules:<Resources className="org.apache.catalina.webresources.StandardRoot"> <JarResources className="org.apache.catalina.webresources.DirResourceSet" base="/home/alex/Develop/Soft/apache-tomcat-9.0.10/modules" webAppMount="/WEB-INF/lib"/> </Resources>
UniData uses gradle to build itself.
Go to org.unidata.mdm.war and build WAR (and its dependencies) with
./gradle clean war
.Deploy artifact on tomcat 9.0.x using your preferred method.