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.