Definition of the final modular architecture of AgroIT CIP by integrating key underlying technologies into a scalable centralized platform (Apiman, Keycloak and RabbitMQ).
Designing and implementing an API marketplace, consisting of a catalog of integration services and their APIs (public and private).
Designing and implementing integration services, such as publishing services, managing access, configuring services, endpoint management, service usage, registering to AgroIT CIP, service discovery, service description, and documentation.
Designing and implementing a user and organization management with a central management of users and organizations, registration and approval workflows, account management, security administration, and security mechanisms for data access.
Extensive testing of AgroIT CIP and deploying the platform into a staging environment available at: http://agroit.li.fri.uni-lj.si
Preparation for Piloting
Implementation of a pilot version of integration services with all project partners that include the following functionalities:
- Service producer perspective: publishing service to AgroIT CIP, managing access to APIs (access level, throttling, SLA), endpoint and resource management, service usage – metering and monitoring, dependencies between services, version control, consumer notifications, publishing API to gateway
- Service consumer perspective: creating and managing client applications, publishing client application to gateway, registering client application to API
Screen shot 1: Excerpt of the service catalog of the pilot API marketplace
Screen shot 2: Publishing a new service on the API marketplace, first step
Actual integration through cloud service platform with all project partners:
- User management with the following functionalities (Keycloak): registering and management of users and organizations including roles; administration of security for services (realm management)
- Management of security for published APIs (Keycloak): creating and managing organization security realm; defining and managing API (service) roles; managing subscription flow to APIs (confirmation flow mechanism)
- Event-driven and reliable delivery integration pattern (Event Gateway, RabbitMQ): registering event producers and event types; registering event consumers; subscribing applications to events; reliable delivery of requests and responses through messaging queues