Components of EnterWorks
The core components of EnterWorks are:
EnterWorks Server
EnterWorks Server is the primary EnterWorks application. It also provides UIs and directs batch job processing.
- EnterWorks Server Tomcat – Provides the EnterWorks 2020 UI, (and optionally, EnterWorks Classic UI), and exposes the core API.
- EnterWorks Server Master – The job manager; it queues jobs to available slaves.
- EnterWorks Server Slave(s) – Job processors for background operations (i.e. large imports, validations, etc.).
EPX
EPX (EnterWorks Process Exchange) is the workflow manager and scheduling framework for business processes.
EnterWorks Microservices
In a microservice architecture, applications are broken down into multiple modular, loosely coupled components, each of which performs a discrete function. The benefits of a microservice architecture include:
- Applications based on a microservice model are easier to create, maintain, and configure to meet specific business needs.
- Microservices be distributed across servers, clouds and data centers.
- Each microservices is an independent service that can be changed, updated, or deleted without disrupting the rest of an application.
- Each microservice can be developed in any language that is best fits its functional and operational requirements.
The table below lists EnterWorks’s microservices.
Note that in the event that more than one environment is hosted on the same server, there may be more than one instance of a microservice on that server. In this case, microservice names may have a prefix that identifies them as part of a particular environment, such as DEV or PROD. This prefix would allow RabbitMQ to distinguish between a microservice and other instances of the same microservice, and to EnterWorks it to route messages to the correct microservice instance.
Microservice Name |
Function |
Enable2020-api-go-service |
Main authentication point (JWT) with various utility end-points. |
Enable2020-channel-readiness-service |
Interacts with MongoDB to compile Channel Readiness statistics. |
Enable2020-dam-manager-service |
Processes images uploaded to Enable; extracts metadata; links to records in Enable, etc. |
Enable2020-dam-magick-service |
Handles generation of image variants. |
Enable2020-epx-broker-service |
Glue service between RabbitMQ and EPX Workflow. |
Enable2020-es-indexer-service |
Indexes the creation and enrichment of data. |
Enable2020-es-manager-service |
A microservice that is tightly coupled with Elastic Search for interacting with Elastic Search. |
Enable2020-es-search-service |
Handles the search operations performed in the Enable UI. |
Enable2020-ids-manager-service |
|
Enable2020-monitor-dam-drop-service |
Monitors a ”hot folder” to pick up and process digital assets |
Enable2020-mq-logger-service |
Logs messages data for troubleshooting. |
Enable2020-pimql-broker-service |
|
Enable2020-service-wrapper-service |
|
Enable2020-webcm-broker-service |
Glue Service between RabbitMQ and EnableServer J2EE REST API. Manages token authentication. |
Enable2020-web-server-service |
Main web server. |
Enable2020-winshuttle-listener-service |
Monitor’s repository records; submits ready records to the Winshuttle Foundation workflow. |
EnterWorks Utilities
The EnterWorks utilities are:
- DAMReportUtility: Reports on discrepancies between DamMaster and Damroot.
- MontitorDamdrop: Monitors the Damdrop folder for uploading digital assets.
- RegenerateDAMVariant: Generates variants of digital assets. Used by the DAM functionality.
3rd-party Applications
The primary 3rd-party applications EnterWorks uses consist of:
- Elasticsearch – Handles search requests and typeahead.
- ImageMagick – Handles the conversion of images into various formats and variants.
- Microsoft SQL Server – For EnterWorks in a Windows environment, it manages the EPIM and EPX database .
- MongoDB/Robo 3T – Manage the Channel Readiness database.
- PostgreSQL Server – For EnterWorks in a Linux environment, it manages the EPIM and EPX database
- RabbitMQ – Service bus between the UI, micro-services and various EnterWorks components.