Marketplace Component
|
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
Deploy diagram
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":{} }