Common Understanding Wiki

Common Understanding Wiki

A Common Knowledge Source of Terms and Definitions

Marketplace...

Marketplace Component

Wiki: Tools

Summary

The Marketplace’s role is to link the Allocation to the Execution, giving the client the opportunity to buy and configure the BPaaS bundles received from the Allocation and to send the configured bundles to the Execution for provisioning.

CloudSocket Marketplace provides a collection of REST APIs in order in ensure connection and operability inside CloudSocket concept. CloudSocket is secured by YIDPB (Ymens Identity Provider Broker). YIDPB is build around four standards, OpenID Connect for authentication, OAuth2 and JWT for authorization and SCIM 2 for user profile.


Architecture design

Component diagram

yCONNECT_CloudSocket_Marketplace_Components_diagram.png

Deploy diagram

CloudSocket_Marketplace_Deploy.png

Component description

Shop

Front-end component for catalog browse and shopping.

Catalog

Catalog browsing component.

Shopping Cart

Shopping Cart component.

Account registration

Component for user registration. It uses SCIM to create new shop users.

Portal

Component for account management for different roles

User portal

Marketplace user account management component. It shows user orders and bought bundles.

Broker dashboard

Broker account management component. It shows statistics for the brokers.

Admin portal

Admin component that allows managing the platform. It also shows general statistics.

Service APIs

Marketplace APIs

Product service

REST API for BPaaS bundles

Provisioning service

Component for calling the Execution API for provisioning

Order manager

REST API for the orders

Identity provider

Component that deals with authentication and identity

Authentication server

Component that provides authorization (Oauth2) and authentication (OpenID Connect)

Authorization manager

Component for managing the users (SCIM)

Account recovery

Component for password recovery

Environments

Development

CloudSocket Marketplace front-end

http://csmarket.ymens.com:8080

Production

N/A

Test Cases


API specification

Identity Provider Token Endpoint

url: http://csmarket.ymens.com:9090/oauth/token

Identity Provider SCIM Endpoints

url: http://csmarket.ymens.com:9090/scim/v1

Product API Endpoint

url: http://csmarket.ymens.com:5050/api/product
authorization method: Header - OAuth2 authorization token
JSON sample
{
 "businessProcessSection" : {
   "businessProcess" : {
     "resourcePath" : "business-process/business-process.bpmn"
   },
   "image" : {
     "resourcePath" : "business-process/business-process.jpg"
   }
 },
 "deploymentSection" : {
   "deploymentPlan" : {
     "resourcePath" : "deployment.camel"
   }
 },
 "marketplaceSection" : {
   "businessDescription" : "This is a business description of the BPaaS Bundle.",
   "category" : {
     "name" : "Christmas Greetings",
     "parent" : {
       "name" : "Greetings"
     }
   },
   "icon" : {
     "resourcePath" : "images/icon.png"
   },
   "pictureList" : [ {
     "resourcePath" : "images/picture1.png"
   }, {
     "resourcePath" : "images/picture2.png"
   } ],
   "pricing" : {
     "formula" : "10",
     "frequency" : "MONTHLY",
     "currency" : "EURO",
     "description" : "This is the Pricing natural language description (e.g. 10€ per month)."
   },
   "seller" : {
     "organization" : "BrokerOrganization SRL",
     "name" : "Mario Rossi"
   },
   "serviceLevelAgreement" : {
     "description" : "This is the SLA natural language description."
   },
   "tagList" : [ "christmas", "xmas", "greetings" ],
   "technicalDescription" : "This is a technical description of the BPaaS Bundle.",
   "title" : "Christmas Card Greetings Bundle v1.0"
 },
 "workflowSection" : {
   "image" : {
     "resourcePath" : "workflow/workflow.jpg"
   },
   "workflow" : {
     "resourcePath" : "workflow/workflow.bpmn"
   }
 }
}

Category API Endpoint

url: http://csmarket.ymens.com:5050/api/category
authorization method: Header - OAuth2 authorization token
JSON sample
{
   "name": "",
   "description": "",
   "parent": {}
}

Order API Endpoint

url: http://csmarket.ymens.com:5050/api/order
authorization method: Header - OAuth2 authorization token
JSON sample
{
   "description": "...",
   "status":"PROCESSING/INSTALLED/FAILED",
   "createdDate":"",
   "completedDate":"",
   "customer":{}
}
2 Fitxers adjunts
50369 Visualitzacions
Mitjana (0 Vots)
Comentaris
Encara no hi ha cap comentari. Vull ser el primer.