AWB Web-Services

Agent.Workbench allows to use and provide Web-Services. This is enabled by the de.enflexit.awb.ws.feature. Following, a broad overview of the de.enflexit.awb.ws.feature wil be given.

A feature can consist of multiple feature bundled to one feature. In case of the de.enflexit.awb.ws.feature, three feaures build the core of the de.enflexit.awb.ws.feature: The de.enflexit.awb.ws.jersey.feature, de.enflexit.awb.ws.jackson.feature and the de.enflexit.awb.ws.swagger feature.

The features provides four core components for developing, maintaining, using and creating web-services. A core component is Jetty, which is used to develop and deploy servers. It is currently used in the version 10.0.12. Jersey is a REST-framework and another core component. Additionally, Jackson is used to read XML and JSON-files and Swagger for generating Client code. Following, we will discuss the structure of the three features in detail.

Structure of the WS-Feature

The swagger feature consist of the de.enflexit.awb.ws.swagger1x and de.enflexit.awb.ws.swagger2x bundle. These bundles are libary bundles, they provide the AWB with the libaries for Swagger 1.x and Swagger 2.x. Swagger is based on the OpenAPi standard, which builds the foundation for creating a YAML-file.

A similiar function has the de.enflexit.awb.ws.jackson.feature and the de.enflexit.awb.ws.swagger.feature. The jackson-feature of the AWB provides libaries to use the functionalities of Jackson. It is a JSON-Parser for JAVA and is essential for REST in order to parse REST-messages. Since JSON is the standard format for messages in the REST-protocol.

Additionally, the de.enflexit.awb.ws.jersey.feature is also a library bundle. It provides functionalities of Jersey. It is build and developed by the Eclipse Foundation and simplifies the development of REST-based web services. You can develop REST-clients and -services with Jersey, which is based on Jakarta. It extends the API of Jakarta, to simplify the development. You can find a guide for Jersey here.

However, the de.enflexit.awb.ws.feature also includes bundles as plug-ins. Four of them are provided by the AWB: de.enflexit.awb.ws.core, de.enflexit.awb.ws.core.ui, de.enflexit.awb.ws.client and de.enflexit.awb.ws.restapi bundle. Their tasks are described in detail in the table above.

The de.enflexit.awb.ws.restapi is essential for developing servers with the AWB. You can find a guide on how to develop based on the AWB here. If you want to develop and modify a client, you can find an explanation here.

Last updated