Agent.Workbench
  • Introduction
  • Overview
    • Agent.Workbench Features
    • Agent.Workbench Use Cases
  • Development
    • Basic Steps
      • Installations
      • Define a Target Platform
        • ... based on AWB-Installation
        • ... based on AWB-Repository
        • ... based on AWB-Sources
      • Create an Agent Project
      • Starting AWB from Eclipse
      • Export your Plug-in to AWB
    • AWB Execution Modes
    • The Background System
    • General AWB UI Functions
      • Option Dialog
      • Eclipse Preferences
      • AWB Feature Configuration
      • Language Translation
    • AWB Projects
      • Project Window Structure
      • Project Import and Export
    • AWB-Expandability
      • OSGI / ClassLoadService
      • Project Extension
      • Framework Extension
      • Agents
    • AWB-Structures
      • Operational Main Classes
  • AWB Web-Services
    • Providing Web-Services
    • Using Web-Services
Powered by GitBook
On this page

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.

PreviousOperational Main ClassesNextProviding Web-Services

Last updated 1 year ago

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 , which is used to develop and deploy servers. It is currently used in the version 10.0.12. is a REST-framework and another core component. Additionally, is used to read XML and JSON-files and 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 and . Swagger is based on the 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 . 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 . 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 . It extends the API of Jakarta, to simplify the development. You can find a guide for Jersey .

Bundle
Task

de.enflexit.awb.ws.core

Start/Stops local Jetty server and registrates AwbWebServerService or AwbWebHandlerService (OSGI-Services) at the OSGI-Service registry.

de.enflexit.awb.ws.core.ui

Contains all user interfaces for the configuration of REST-clients and servers

de.enflexit.awb.ws.client

Registrates AwbApiRegistrationServices (OSGI-Service) at the OSGi-Service registry. AwbApiRegistrationsServices are authentification services for clients, which enable the authentification with a server.

de.enflexit.awb.ws.jetty

Library-bundle for Jetty

de.enflexit.awb.ws.swagger1x

Library-bundle for Swagger 1.X

de.enflexit.awb.ws.swagger2x

Library-bundle for Swagger 2.X

de.enflexit.awb.ws.restapi

Implementation of the AWB-Webserver. This REST-API provides remote access of functionalities of AWB through REST

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 . If you want to develop and modify a client, you can find an explanation .

Jetty
Jersey
Jackson
Swagger
Swagger 1.x
Swagger 2.x
OpenAPi
Jackson
Jersey
Jakarta
here
here
here