Development¶
Current state¶
Currently, our open source part consists of the following modules:
- org.unidata.mdm.system - contains base types and interfaces
ModuleService - the module metadata and discovery service
PipelineService - the service, managing execution pipelines
ExecutionService - pipeline execution and processing service
RuntimePropertiesService - runtime properties, which can be read and modyfied cluster wide
- org.unidata.mdm.core - contains security and utility services
SecurityService - login, logout, token (in)validation support service
EventService - a service for cluster wide event sending and subscription
AuditService - audit service
UPathService - a simple “UPath notation on DataRecord” interpreter
- org.unidata.mdm.search - contains search services and interfaces
SearchService - search services facade with access to mapping, indexing and search
- org.unidata.mdm.meta - contains meta model creation, modification, query and management services
MetaModelService - a service responsible for persisting and query of meta model entities
MetaDraftService - a service, allowing one to save a metamodel draft and to apply it to current metamodel after a number of modifications
- org.unidata.mdm.data - contains services around data and relations between data records
DataRecordService - data management facade service
DataStorageService - storage metadata management service
RecordValidationService - checks a DataRecord for validity
Development environment setup¶
- Database.
- Create DB manually from psql or PG Admin.
DB name: unidata
owner: postgres
Install Elasticsearch (versions above 5.6.x will not work, we are in progress migrating our search subsystem to the lastest ES).
Install russian/english morphology plugin, if you’re 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 favorite method.
Add to unidata backend application configuration(
unidata-backend.xml
), if you going to add custom mudules:<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 the artifact to tomcat 9.0.x using your favorite method