This component is complete and can be used. The interfaces will be supported until the function is removed from the project via the deprecation process. There will be ongoing extensions to this function, but it will be done to ensure backward compatibility as far as possible. If there is a need to break backward compatibility, this will be discussed and reviewed in the community, with a documented timeline.
OMAG Server Chassis¶
The Server Chassis provides the base server framework, such as the web server and the REST API endpoint support for the Open Metadata and Governance (OMAG) Server Platform. Calls to the server chassis are then routed to the appropriate OMAG subsystem.
Maven build profiles¶
Egeria's default maven build will include the full-platform profile, that includes all available services in the running OMAG Server Platform.
There is a build option called
-DadminChassisOnly that will not include any registered services.
Selective registered services can then be activated using the loader.path spring-boot functionality .
-DadminChassisOnly is used for creating a cut down OMAG Server Platform
for a specific deployment.
Since the OMAG Server Platform is a Spring Boot application, it can be
customized using the application.properties file found in the
resources directory and using environment variables.
For example, OMAG servers can be automatically activated at startup by setting spring-boot property
startup.server.list, typically in the
application.properties file. The server names are listed without quotes. For example:
Each server is started with the administration user id set in the spring-boot property
When the platform shuts down, if any of the servers that were in the startup list are still running, they will be shut down before the server completes.
startup.server.list is null then no servers are automatically started or stopped.
Adding a new subsystem to the OMAG Server Platform¶
When the OMAGServerPlatform class is called, Spring Boot does a component scan for all Spring services that are in Java packages stemming from
org.odpi.openmetadata.* and that are visible to this module.
To make a new Java package visible to OMAGServerPlatform, add its spring package to the pom.xml file for server-chassis-spring and it will be picked up in the component scan.
For example, this is the snippet of XML in the pom.xml file that adds the Asset Owner OMAS services to the OMAG server platform.
<dependency> <groupId>org.odpi.egeria</groupId> <artifactId>asset-owner-spring</artifactId> </dependency>
Swagger API documentation is generated with the chassis and is documented in Swagger Generation.
Spring Boot Actuator¶
Spring Boot Actuator is used to expose operational information about the running application such as health, metrics, info, dump. It uses HTTP endpoints or JMX beans to enable us to interact with it.
A “discovery page” is added with links to all the endpoints. The “discovery page” is available on /actuator by default. Once this dependency is on the class-path /info and /health endpoints are available out of the box.
In order to expose all endpoints over HTTP, use the following property:
exclude property lists the IDs of the endpoints that should not be exposed. For example, to expose everything over HTTP except the env and beans endpoints, use the following properties:
The exclude property takes precedence over the include property.