amazon s3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...desi…  · web viewthe internet...

52
Document No: Title: SeaSWIMConnector Service Design Date: 2022-07-08

Upload: others

Post on 25-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Document No:

Title: SeaSWIMConnector Service Design

Date: 2023-05-20

Page 2: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

AuthorsName OrganisationFabio Renda CIMNE

Document HistoryVersion Date Initials DescriptionVersion 0.1 2016-11-06 FR,MO (aka 1.0)

Created and sent on internal review

Version 0.2 2016-11-16 FR,MO Updated after internal review

· WSDL file in APPENDIX is updated· JSON file in APPENDIX· Sequence diagrams are updated

Version 0.3 2016-11-16 MO Minor corrections

ReviewName OrganisationMikael Olofsson SMA

Page 2 of 45

Page 3: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Table of contents

1 Introduction...................................................................................................................................................................1.1 Purpose of the document..............................................................................................................................................1.2 Intended readership......................................................................................................................................................1.3 Inputs from other projects............................................................................................................................................

2 Service Design Identification.......................................................................................................................................

3 Technology Introduction..............................................................................................................................................3.1 General architecture overview.....................................................................................................................................3.2 Communication standards............................................................................................................................................3.2.1 HTTP over TLS........................................................................................................................................................3.3 Authentication standards..............................................................................................................................................3.3.1 X.509 certificates......................................................................................................................................................3.3.2 Certificate based mutual authentication M2M..........................................................................................................3.3.3 OpenID connect........................................................................................................................................................

4 Service Design Overview............................................................................................................................................4.1 Service Interface Design............................................................................................................................................4.2 Service Design Overview..........................................................................................................................................4.2.1 Service Interface SOAP Design..............................................................................................................................4.3 Service Design Overview..........................................................................................................................................4.3.1 Service Interface REST Design..............................................................................................................................

5 Physical Data Model - SeaSWIM Connector...........................................................................................................5.1.1 callServiceRequestObject.......................................................................................................................................5.1.2 callServiceResponseObj.........................................................................................................................................5.1.3 findIdentitiesRequestObj........................................................................................................................................5.1.4 requestType.............................................................................................................................................................5.1.5 findIdentitiesResponseObj......................................................................................................................................5.1.6 findServicesRequestObj..........................................................................................................................................5.1.7 findServicesResponseObj.......................................................................................................................................5.1.8 identityRegistryGeneralRequestObj.......................................................................................................................5.1.9 identityRegistryGeneralResponseObj.....................................................................................................................5.1.10 serviceRegistryGeneralRequestObj......................................................................................................................5.1.11 serviceRegistryGeneralResponseObject...............................................................................................................

6 Service Interface Design.............................................................................................................................................6.1 Service Interface SOAP Design.................................................................................................................................6.1.1 SscPort....................................................................................................................................................................6.2 Service Interface REST Design.................................................................................................................................6.2.1 SeaSWIM Connector Service Private Interface......................................................................................................

7 Service Dynamic Behaviour.......................................................................................................................................7.1 Logging......................................................................................................................................................................7.1.1 Event Log................................................................................................................................................................7.2 Interaction - callService.............................................................................................................................................7.3 Interaction - findServices...........................................................................................................................................7.4 Interaction - findIdentities.........................................................................................................................................7.5 Interaction - <incomming call>.................................................................................................................................7.6 Interaction - <start-up>..............................................................................................................................................

8 References....................................................................................................................................................................

Page 3 of 45

Page 4: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

9 Acronyms and Terminology......................................................................................................................................

10 APPENDIX API Swagger (JSON)..........................................................................................................................

11 Document lifecycle....................................................................................................................................................11.1 Maturity...................................................................................................................................................................11.2 Forecast....................................................................................................................................................................

Page 4 of 45

Page 5: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

1 Introduction

1.1 Purpose of the documentThe purpose of this service design description document is to provide a detailed description of the service, realized by using a specific the technology, according to the guidelines given in Service Documentation Guidelines. It describes a well-defined baseline of the service design by clearly identifying the service design version.

The aim is to document the key aspects of the service technical design. This includes:

identification and summary of the service designo reference to the service specificationo identification of the service design

identification and summary of chosen technology detailed description about the realization of each service interface and service operation

o mapping of interfaces to the chosen technologyo mapping of operations to the chosen technologyo mapping of the message exchange patterns to the chosen technology

detailed description of the physical data model o mapping to the service data model of the service specification.

1.2 Intended readershipThis service design description document is intended to be read by service architects, designers, system engineers and developers in charge of designing and developing an instance of the service.

Furthermore, this service design description is intended to be read by service architects, information architects, system engineers and developers in pursuing architecting, design and development activities of other related services.

1.3 Inputs from other projectsUses the Service and Identity Registry from the EfficienSea2 project.

Page 5 of 45

Page 6: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

2 Service Design Identification

Name SeaSWIM Connector Service Design, CIMNE

ID urn:mrn:stm:service:design:cimne:ssc

Version 0.3

Description Facilitates connection to SeaSWIM and supports with searches and service consumption.

Keywords SSC, SeaSWIM Connector

Architect(s) Fabio Renda

Status Provisional

Page 6 of 45

Page 7: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

3 Technology Introduction

3.1 General architecture overviewThe role of the functionalities implemented in the SSC in the overall architecture is to be the place where the operation of safe communication and interoperability are deployed.

SSC take in account the communication flow between the core services of the SeaSWIM (identity registry and identity provider, service registry) and the rest of application services deployed in the infrastructure.

SSC functionalities help the use of safe communication channels and authentication standards implementing the general requirements of the STM infrastructure.

3.2 Communication standards3.2.1 HTTP over TLS

HTTPS provides three security guarantees: Server authentication allows users to have some confidence that they are talking to the true

application server. Without this guarantee, there can be no guarantee of confidentiality or integrity.

Data confidentiality means that eavesdroppers cannot understand the content of the communications between the user's browser and the web server, because the data is encrypted.

Data integrity means that a network attacker cannot damage or alter the content of the communications between the user's browser and the web server, because they are validated with a cryptographic message authentication code.

References: "HTTP Over TLS". The Internet Engineering Task Force. RetrievedFebruary 27,2015. -

https://tools.ietf.org/html/rfc2818

Page 7 of 45

Page 8: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"SSL/TLS Strong Encryption: FAQ".apache.org. - http://httpd.apache.org/docs/2.0/mod/mod_ssl.html “Use of client certificates” - https://tools.ietf.org/html/rfc5246#section-7.4.6

3.3 Authentication standards3.3.1 X.509 certificatesIndustrial standards certificates delivered by the identity registry and used in the STM infrastructure to assure the authenticity of the information and to create secure communication channels. The certificates are constantly validated against the Certificate Revocation List (CRL)

References: https://tools.ietf.org/html/rfc4630

3.3.2 Certificate based mutual authentication M2M

With mutual authentication, the server and the client authenticate one another. This assure that the machines in the STM infrastructure have the right to send messages across the platform.

When using certificate-based mutual authentication, the following actions occur:

A client requests access to a protected resource. The web server presents its certificate to the client. The client verifies the server’s certificate. If successful, the client sends its certificate to the server. The server verifies the client’s credentials. If successful, the server grants access to the protected resource requested by the client.

References: "HTTP Over TLS". The Internet Engineering Task Force. RetrievedFebruary 27,2015. -

https://tools.ietf.org/html/draft-ietf-httpauth-mutual-10

Page 8 of 45

Page 9: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

3.3.3 OpenID connectOpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.

OpenID Connect is an additional level of security on top of https protocol. In addition give an access token plus an id token. The id token is a JWT and contains information about the authenticated user in order to share user information.

References:

Hardt, D., “The OAuth 2.0 Authorization Framework,” - https://tools.ietf.org/html/rfc6749 OAuth 2.0 Multiple Response Type Encoding Practices - http://openid.net/specs/oauth-v2-multiple-

response-types-1_0.html openID Libraries - http://openid.net/developers/libraries/

Page 9 of 45

Page 10: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

4 Service Design Overview4.1 Service Interface Design

4.1.1 Service Interface SOAP Design

«WSDL»SSCWSDL

SscPortService

«WSDLportType»SscPort

+ callService(tns:callServiceRequestObj, *tns:callServiceResponseObj)+ findIdentities(tns:findIdentitiesRequestObj, *tns:findIdentitiesResponseObj)+ findServices(tns:findServicesRequestObj, *tns:findServicesResponseObj)+ identityRegistryGeneral(tns:identityRegistryGeneralRequestObj, *tns:identityRegistryGeneralResponseObj)+ serviceRegistryGeneral(tns:serviceRegistryGeneralRequestObj, *tns:serviceRegistryGeneralResponseObj)

4.1.1.1 Service Interfaces

Service Specification Service DesignService Interface Service SOAP Operation

SscPort Operation-idcallServicefindIdentitiesfindServicesidentityRegistryGeneralserviceRegistryGeneral

Page 10 of 45

Page 11: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

4.1.2 Service Interface REST Design

«Interface»SeaSWIM Connector Serv ice Priv ate Interface

+ callService(callServiceRequestObject): callServiceResponseObj+ findIdentities(findIdentitiesRequestObj): findIdentitiesResponseObj+ findServices(findServicesRequestObj): findServicesResponseObj+ identityRegistryGeneral(identityRegistryGeneralRequestObj): identityRegistryGeneralResponseObj+ serviceRegistryGeneral(serviceRegistryGeneralRequestObj): serviceRegistryGeneralResponseObject

/ssc/callService{request}

/ssc/findIdentities{request}

/ssc/findServices{request}

/ssc/identityRegistryGeneral{request}

/ssc/serviceRegistryGeneral{request}

4.1.2.1 Service Interfaces

Service Specification Service DesignService Interface Service REST Operation

SeaSWIM Connector Service Private Interface

REST Operation-idPOST /ssc/callService{request} callService

POST /ssc/findIdentities{request}

findIdentities

POST /ssc/findServices{request}

findServices

POST /ssc/identityRegistryGeneral{request}

identityRegistryGeneral

POST /ssc/serviceRegistryGeneral{request}

serviceRegistryGeneral

Page 11 of 45

Page 12: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

5 Physical Data Model - SeaSWIM Connector

callServ iceRequestObject

- requestType: requestType- endpoint_method: URI- body: string [0..1]- headers: string [0..*]

callServ iceResponseObj

- statusCode: int- body: string [0..1]

findIdentitiesRequestObj

- organisationId: URN [0..1]findIdentitiesResponseObj

- statusCode: int- body: string [0..*]

findServ icesRequestObj

- keyword: string- organisationId: URN- coverageArea: string- serviceDesignId: URN- serviceId: URN

findServ icesResponseObj

- statusCode: int- body: string [0..*]

«enumeration»requestType

GET POST DELETE PATCH

«XSDcomplexType»identityRegistryGeneralRequestObj

«XSDelement»+ requestType: requestType+ url: string+ headers: header [0..*]+ body: string [0..1]

«XSDcomplexType»identityRegistryGeneralResponseObj

«XSDelement»+ body: string+ statusCode: integer

«XSDcomplexType»serv iceRegistryGeneralRequestObj

«XSDelement»+ requestType: requestType+ url: string+ headers: header [0..*]+ body: string [0..1]

«XSDcomplexType»serv iceRegistryGeneralResponseObj

«XSDelement»+ body: string+ statusCode: integer

string

«XSDsimpleT...urn

«XSDcomplexT...header

«XSDelement»+ key: string+ value: string

Page 12 of 45

Page 13: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

5.1 callServiceRequestObjectContain the data needed by the callService function to execute the request. The parameters contained in the callServiceRequestObj are the general parameters contained in a standard HTTP request.

Element Name AttributescallServiceRequestObject

Name Type DescriptionrequestType requestTyp

eType of request according to enumeration

endpoint_method URI URL contains <ipaddress>:<port>/<request>

body string Request body needed by the requested service

headers string Request headers needed by the requested service

5.2 requestTypeType of request to be used in callService

Element Name AttributesrequestType

Name Type DescriptionGET intPOST intDELETE intPATCH int

5.3 header

Element Name Attributesheader

Name Type Descriptionkey stringvalue string

5.4 urn

Element Name Attributesurn

Name Type Description

Page 13 of 45

Page 14: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Page 14 of 45

Page 15: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

5.5 callServiceResponseObjThis object is a response container with response from called service

Element Name AttributescallServiceResponseObj

Name Type DescriptionstatusCode int HTTP Status codes

body string Request Body

5.6 findIdentitiesRequestObjContains parameters for search in Identity Registry

Element Name AttributesfindIdentitiesRequestObj

Name Type DescriptionorganisationId URN Organisation id in MRN format

5.7 findIdentitiesResponseObjContains the result from search in Identity Registry.

TBD

Element Name AttributesfindIdentitiesResponseObj

Name Type DescriptionstatusCode int HTTP Status codes

body string Response from Identity Registry

Page 15 of 45

Page 16: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

5.8 findServicesRequestObjContains parameters for search in Service Registry

Element Name AttributesfindServicesRequestObj

Name Type Descriptionkeyword string Example: #VIS#

organisationId URN Service provider id in MRN format

coverageArea string UnLoCode,wkt,Location,geoJson

serviceDesignId URN Service Design Id in MRN format

serviceId URN Service id in MRN format

5.9 findServicesResponseObjContains the result from search in Service Registry.

TBD

Element Name AttributesfindServicesResponseObj

Name Type DescriptionstatusCode int HTTP Status codes

body string Following the Service Registry Specification

Page 16 of 45

Page 17: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

5.10 identityRegistryGeneralRequestObjContains the input to general request to Identity Registry REST API.

Element Name AttributesidentityRegistryGeneralRequestObj Name Type Description

typeRequest requestType

headers stringbody string

5.11 identityRegistryGeneralResponseObjContains response from general call to Identity Registry, according to Identity Registry REST API description.

Element Name AttributesidentityRegistryGeneralResponseObj Name Type Description

statusCode int HTTP Status codes

body string Like described in the identity registry data model description

5.12 serviceRegistryGeneralRequestObjContains the input to general request to Service Registry REST API.

Element Name AttributesserviceRegistryGeneralRequestObj Name Type Description

typeRequest requestType

GET/POST/PATCH/DELETE

header stringbody string

5.13 serviceRegistryGeneralResponseObjectContains response from general call to Service Registry, according to Service Registry REST API description.

Element Name AttributesserviceRegistryGeneralResponseObject Name Type Description

statusCode int HTTP Status codes

body string

Page 17 of 45

Page 18: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Page 18 of 45

Page 19: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

6 Service Interface Design

6.1 Service Interface SOAP Design«WSDL»

SSCWSDL

SscPortService

«WSDLportType»SscPort

+ callService(tns:callServiceRequestObj, *tns:callServiceResponseObj)+ findIdentities(tns:findIdentitiesRequestObj, *tns:findIdentitiesResponseObj)+ findServices(tns:findServicesRequestObj, *tns:findServicesResponseObj)+ identityRegistryGeneral(tns:identityRegistryGeneralRequestObj, *tns:identityRegistryGeneralResponseObj)+ serviceRegistryGeneral(tns:serviceRegistryGeneralRequestObj, *tns:serviceRegistryGeneralResponseObj)

6.1.1 SscPort

6.1.1.1 callService()Facilitate the communication between services. The function will call a generic web service part of the STM infrastructure, checking the certificates authentications.

Operation functionalityRetrieve the contacted service response.

Operation ParametersParameter Name Direction Data Type DescriptioncallServiceRequestObj Input tns:callServiceRequestObj Contain the data needed by the

callService function to execute the request. The parameters contained in the callServiceRequestObj are the general parameters contained in a standard HTTP request.

callServiceResponseObj Output tns:callServiceResponseObj This object is a response container with response from called service

6.1.1.2 findIdentities()Facilitate the communication with the identity service in order to discover the organizations part of the STM infrastructure.

Operation functionalityRetrieve a list of organizations part of the STM infrastructure

Operation ParametersParameter Name Directio

nData Type Description

findIdentitiesRequestObj Input tns:findIdentitiesRequestObj Search parametersfindIdentitiesResponseObj Output tns:findIdentitiesResponseObj Result with identities and descriptions

6.1.1.3 findServices()

Page 19 of 45

Page 20: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Facilitate the communication with the service registry, in order to discover the services of the STM infrastructure.

Operation functionalityRetrieve list of services instances, filtered by parameters in order to contact the right web services endpoints.

Operation ParametersParameter Name Direction Data Type DescriptionfindServicesRequestObj Input tns:findServicesRequestObj Search parameters for locating

service(s)findServicesResponseObj Output tns:findServicesResponseObj Result with service descriptions

6.1.1.4 identityRegistryGeneral()This function enable a general REST request against the API of the identity registry, following the identity registry specifications.

Operation functionalityExecute general rest request against the Identity Registry exposed rest api

Operation ParametersParameter Name Direction Data Type DescriptionidentityRegistryGeneralRequestObj

Input tns:identityRegistryGeneralRequestObj

Object with information to call a REST service in Idenitity Registry as described in Identity Registry REST API description.

identityRegistryGeneralResponseObj

Output tns:identityRegistryGeneralResponseObj

Result from service call to Identity Registry as described in Identity Registry REST API.

6.1.1.5 serviceRegistryGeneral()Enable a general request against the service registry.

Operation functionalityExecute general rest request against the Service Registry exposed rest api.

Operation ParametersParameter Name Direction Data Type DescriptionserviceRegistryGeneralRequestObj

Input tns:serviceRegistryGeneralRequestObj

Object with information to call a REST service in Service Registry as described in Service Registry REST API description.

serviceRegistryGeneralResponseObj

Output tns:serviceRegistryGeneralResponseObj

Result from service call to Service Registry as described in Service Registry REST API.

Page 20 of 45

Page 21: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

6.2 Service Interface REST Design

«Interface»SeaSWIM Connector Serv ice Priv ate Interface

+ callService(callServiceRequestObject): callServiceResponseObj+ findIdentities(findIdentitiesRequestObj): findIdentitiesResponseObj+ findServices(findServicesRequestObj): findServicesResponseObj+ identityRegistryGeneral(identityRegistryGeneralRequestObj): identityRegistryGeneralResponseObj+ serviceRegistryGeneral(serviceRegistryGeneralRequestObj): serviceRegistryGeneralResponseObject

/ssc/callService{request}

/ssc/findIdentities{request}

/ssc/findServices{request}

/ssc/identityRegistryGeneral{request}

/ssc/serviceRegistryGeneral{request}

6.2.1.1 callService()Facilitate the communication between services. The function will call a generic web service part of the STM infrastructure, checking the certificates authentications.

Service requestPOST /ssc/callService{request}

Operation functionalityRetrieve the contacted service response.

ReturncallServiceResponseObj

6.2.1.2 findIdentities()Facilitate the communication with the identity service in order to discover the organizations part of the STM infrastructure.

Service requestPOST /ssc/findIdentities{request}

Operation functionalityRetrieve a list of organizations part of the STM infrastructure

ReturnfindIdentitiesResponseObj

6.2.1.3 findServices()Facilitate the communication with the service registry

Service requestPOST /ssc/findIdentities{request}

Operation functionalityRetrieve list of services instances, filtered by parameters in order to contact the right web services endpoints.

ReturnfindServicesResponseObj

Page 21 of 45

Page 22: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

6.2.1.4 identityRegistryGeneral()Enable a general request against the identity registry

Service requestPOST /ssc/identityRegistryGeneral{request}

Operation functionalityExecute general rest request against the Identity Registry exposed rest api

ReturnidentityRegistryGeneralResponseObj

6.2.1.5 serviceRegistryGeneral()Enable a general request against the service registry

Service requestPOST /ssc/serviceRegistryGeneral{request}

Operation functionalityExecute general rest request against the Service Registry exposed rest api.

ReturnserviceRegistryGeneralResponseObject

Page 22 of 45

Page 23: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

7 Service Dynamic Behaviour

7.1 LoggingLogging in the service is required for validation purposes to enable analysis of data in order to assess the STM Concept.

7.1.1 Event LogThe following events are proposed to generate a log:

· Messages in and out of the service· Failure events (Schema validation failure, Service operation failure)· Authorization events

Incoming service call on SeaSWIM side

Event Log descriptionTBD

Incoming service call on private side

Event Log descriptionTBD

Internal events

Event Log descriptionStart-up Log event start-upClose-down Log event close-down

To be further described

Page 23 of 45

Page 24: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

7.2 Interaction - callServiceThe SeaSWIM Connector service support with mutual authentication and HTTPS through the operation callService. The operation is generic and transparent and the user is responsible for providing the correct endpoint, request type, header/parameters and body according to the consumed service description.

The SeaSWIM Connector service support with mutual authentication and HTTPS through the operation callService. The operation is generic and transparent and the user is responsible for providing the correct endpoint, request type, header/parameters and body according to the consumed service description.

«Interface»SeaSWIM Connector Service

Private Interface

Service: ConsumerInterface

Application:Consumer Interface

callService(callServiceRequestObj)

mutual authenticatrion()mutual authentication()

Prepare the service call()

<https service call>()

:callServiceResponseObj

:response

do Work()

Page 24 of 45

Page 25: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

7.3 Interaction - findServicesSupports with search in Service Registry for service instances to consume that matches the provided search parameters.

Search can be done based on service keywords, geolocation or service design.

Supports with search in Service Registry for service instances to consume that matches the provided search parameters.

Search can be done based on service keywords and geolocation.

Application:Consumer Interface

«Interface»SeaSWIM Connector Service

Private Interface

:Service RegistryService

login'()

:findServicesResponseObj

:List of Service instance descriptions

Prepare the call to Service registry()

findServices(findServicesRequestObj)

getInstances / _searchX()

Page 25 of 45

Page 26: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

7.4 Interaction - findIdentities

Supports with search in Identity Registry.Currently a complete list of organization identities are returned based on access rights in Identity Registry.

Application:Consumer Interface

«Interface»SeaSWIM Connector Service

Private Interface

:Identity RegistryService

:findIdentitiesResponseObj

get()

findIdentities(findIdentitiesRequestObj)

:List of identities

prepare call()

Page 26 of 45

Page 27: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

7.5 Interaction - <incomming call>The SeaSWIM Connector proxy service intercepts the incoming service request, handles authentication and, if source is authenticated, forwards the service call to the "master" service endpoint.

The SeaSWIM Connector proxy service intercepts the incoming service request, handles authentication and, if source is authenticated, forwards the service call to the "master" service endpoint.

:Consumer InterfacePrivate: ProducerInterface

The incomming service call is "picked up" be the proxy service (SSC)

«Service»SeaSWIM Connector Service

mutual authentication() mutual authentication()

:https response

:response

forward call to http <service call>()

https <service call>()

7.6 Interaction - <start-up>

«Service»SeaSWIM Connector Service

readConfigurationFile()

Page 27 of 45

Page 28: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

8 ReferencesReference name Comment LinkSeaSWIM Connector SpecificationSeaSWIM Technical DocumentationHTTP Over TLS The Internet Engineering Task

Force. Retrieved February 27, 2015.

https://tools.ietf.org/html/rfc2818

SSL/TLS Strong Encryption: FAQ apache.org. http://httpd.apache.org/docs/2.0/mod/mod_ssl.html

Use of client certificates https://tools.ietf.org/html/rfc5246#section-7.4.6

X.509 Certificates https://tools.ietf.org/html/rfc4630

HTTP Over TLS - Mutual Authentication

The Internet Engineering Task Force. Retrieved February 27, 2015.

https://tools.ietf.org/html/draft-ietf-httpauth-mutual-10

The OAuth 2.0 Authorization Framework

Hardt, D https://tools.ietf.org/html/rfc6749

OAuth 2.0 Multiple Response Type Encoding Practices

http://openid.net/specs/oauth-v2-multiple-response-types-1_0.html

openID Libraries http://openid.net/developers/libraries/

Page 28 of 45

Page 29: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

9 Acronyms and Terminology9.1 Acronyms

Term DefinitionAPI Application Programming InterfaceMEP Message Exchange PatternREST Representational State TransferSSC SeaSWIM ConnectorURN Uniform Resource LocatorXML Extendible Mark-up LanguageXSD XML Schema Definition

9.2 TerminologyTerm Acronym DefinitionExternal Data Model Describes the semantics of the “maritime world” (or a

significant part thereof) by defining data structures and their relations. This could be at logical level (e.g., in UML) or at physical level (e.g., in XSD schema definitions), as for example standard data models, or S-100 based data produce specifications.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service The provision of something (a non-physical object), by one, for the use of one or more others, regulated by formal definitions and mutual agreements. Services involve interactions between providers and consumers, which may be performed in a digital form (data exchanges) or through voice communication or written processes and procedures.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Data Model Formal description of one dedicated service at logical level. The service data model is part of the service specification. Is typically defined in UML and/or XSD. If an external data model exists (e.g., a standard data model), then the service data model shall refer to it: each data item of the service data model shall be mapped to a data item defined in the external data model.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Technical Design The technical design of a dedicated service in a dedicated technology. One service specification may result in several technical service designs, realising the service with different or same technologies.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Endpoint A Service Endpoint is the URL where your service can be

Page 29 of 45

Page 30: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

accessed by a client application. The same web service can have multiple endpoints, for example in order to make it available using different protocols.

Sourcehttp://stackoverflow.com/questions/9807382/what-is-a-web-service-endpoint

Service Operation Functions or procedure which enables programmatic communication with a service via a service interface.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Parameters Service Parameters are input to a Service Operation and can be described formally in a data exchange model as e.g. XML Schemas.

SourceMO

Service Response Service Response are output from a Service Operation and can be described formally in a data exchange model as e.g. XML Schemas.

SourceMO

Service Consumer A service consumer uses service instances provided by service providers. All users within the maritime domain can be service customers, e.g., ships and their crew, authorities, VTS stations, organizations (e.g., meteorological), commercial service providers, etc.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Provider A service provider provides instances of services according to a service specification and service instance description. All users within the maritime domain can be service providers, e.g., authorities, VTS stations, organizations (e.g., meteorological), commercial service providers, etc.

SourceE2 D3.4 Service Documentation Guidelinesv01.01

Service Request

Source

Page 30 of 45

Page 31: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

APPENDIX SOAP API (WSDL)<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://stm/ssc/soap" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://stm/ssc/soap" targetNamespace="http://stm/ssc/soap">

<wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

elementFormDefault="qualified" targetNamespace="http://stm/ssc/soap">

<xs:element name="callServiceRequestObj"><xs:complexType>

<xs:sequence><xs:element name="requestType" type="tns:requestType"/><xs:element name="endpointMethod" type="xs:string"/><xs:element minOccurs="0" name="body" type="xs:string"/><xs:element maxOccurs="unbounded" minOccurs="0"

name="headers" type="tns:header"/></xs:sequence>

</xs:complexType></xs:element>

<xs:element name="callServiceResponseObj"><xs:complexType>

<xs:sequence><xs:element name="body" type="xs:string"/><xs:element name="statusCode" type="xs:integer"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="findIdentitiesRequestObj"><xs:complexType>

<xs:sequence><xs:element name="organisationId" type="tns:urn"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="findIdentitiesResponseObj"><xs:complexType>

<xs:sequence><xs:element name="body" type="xs:string"/><xs:element name="statusCode" type="xs:integer"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="findServicesRequestObj"><xs:complexType>

<xs:sequence><xs:element name="keyword" type="xs:string"/><xs:element name="organisationId" type="tns:urn"/><xs:element name="coverageArea" type="xs:string"/><xs:element name="serviceDesignId" type="tns:urn"/><xs:element name="serviceId" type="tns:urn"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="findServicesResponseObj">

Page 31 of 45

Page 32: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

<xs:complexType>

<xs:sequence><xs:element name="body" type="xs:string"/><xs:element name="statusCode" type="xs:integer"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="identityRegistryGeneralRequestObj"><xs:complexType>

<xs:sequence><xs:element name="requestType" type="tns:requestType"/><xs:element name="url" type="xs:string"/><xs:element maxOccurs="unbounded" minOccurs="0"

name="headers" type="tns:header"/><xs:element minOccurs="0" name="body" type="xs:string"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="identityRegistryGeneralResponseObj"><xs:complexType>

<xs:sequence><xs:element name="body" type="xs:string"/><xs:element name="statusCode" type="xs:integer"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="serviceRegistryGeneralRequestObj"><xs:complexType>

<xs:sequence><xs:element name="requestType" type="tns:requestType"/><xs:element name="url" type="xs:string"/><xs:element maxOccurs="unbounded" minOccurs="0"

name="headers" type="tns:header"/><xs:element minOccurs="0" name="body" type="xs:string"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:element name="serviceRegistryGeneralResponseObj"><xs:complexType>

<xs:sequence><xs:element name="body" type="xs:string"/><xs:element name="statusCode" type="xs:integer"/>

</xs:sequence></xs:complexType>

</xs:element>

<xs:simpleType name="requestType"><xs:restriction base="xs:string">

<xs:enumeration value="GET"/><xs:enumeration value="POST"/><xs:enumeration value="DELETE"/><xs:enumeration value="PATCH"/>

</xs:restriction></xs:simpleType>

<xs:complexType name="header"><xs:sequence>

<xs:element name="key" type="xs:string"/><xs:element name="value" type="xs:string"/>

Page 32 of 45

Page 33: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

</xs:sequence>

</xs:complexType>

<xs:simpleType name="urn"><xs:restriction base="xs:string"/>

</xs:simpleType></xs:schema>

</wsdl:types><wsdl:message name="callServiceRequestObj">

<wsdl:part element="tns:callServiceRequestObj" name="callServiceRequestObj"></wsdl:part>

</wsdl:message><wsdl:message name="findIdentitiesRequestObj">

<wsdl:part element="tns:findIdentitiesRequestObj" name="findIdentitiesRequestObj"></wsdl:part>

</wsdl:message><wsdl:message name="findIdentitiesResponseObj">

<wsdl:part element="tns:findIdentitiesResponseObj" name="findIdentitiesResponseObj"></wsdl:part>

</wsdl:message><wsdl:message name="identityRegistryGeneralRequestObj">

<wsdl:part element="tns:identityRegistryGeneralRequestObj" name="identityRegistryGeneralRequestObj">

</wsdl:part></wsdl:message><wsdl:message name="serviceRegistryGeneralResponseObj">

<wsdl:part element="tns:serviceRegistryGeneralResponseObj" name="serviceRegistryGeneralResponseObj">

</wsdl:part></wsdl:message><wsdl:message name="callServiceResponseObj">

<wsdl:part element="tns:callServiceResponseObj" name="callServiceResponseObj"></wsdl:part>

</wsdl:message><wsdl:message name="serviceRegistryGeneralRequestObj">

<wsdl:part element="tns:serviceRegistryGeneralRequestObj" name="serviceRegistryGeneralRequestObj">

</wsdl:part></wsdl:message><wsdl:message name="findServicesRequestObj">

<wsdl:part element="tns:findServicesRequestObj" name="findServicesRequestObj"></wsdl:part>

</wsdl:message><wsdl:message name="identityRegistryGeneralResponseObj">

<wsdl:part element="tns:identityRegistryGeneralResponseObj" name="identityRegistryGeneralResponseObj">

</wsdl:part></wsdl:message><wsdl:message name="findServicesResponseObj">

<wsdl:part element="tns:findServicesResponseObj" name="findServicesResponseObj"></wsdl:part>

</wsdl:message><wsdl:portType name="SscPort">

<wsdl:operation name="callService"><wsdl:input message="tns:callServiceRequestObj" name="callServiceRequestObj"></wsdl:input><wsdl:output message="tns:callServiceResponseObj"

name="callServiceResponseObj"></wsdl:output>

</wsdl:operation><wsdl:operation name="findIdentities">

<wsdl:input message="tns:findIdentitiesRequestObj" name="findIdentitiesRequestObj">

Page 33 of 45

Page 34: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

</wsdl:input><wsdl:output message="tns:findIdentitiesResponseObj"

name="findIdentitiesResponseObj"></wsdl:output>

</wsdl:operation><wsdl:operation name="identityRegistryGeneral">

<wsdl:input message="tns:identityRegistryGeneralRequestObj" name="identityRegistryGeneralRequestObj">

</wsdl:input><wsdl:output message="tns:identityRegistryGeneralResponseObj"

name="identityRegistryGeneralResponseObj"></wsdl:output>

</wsdl:operation><wsdl:operation name="serviceRegistryGeneral">

<wsdl:input message="tns:serviceRegistryGeneralRequestObj" name="serviceRegistryGeneralRequestObj">

</wsdl:input><wsdl:output message="tns:serviceRegistryGeneralResponseObj"

name="serviceRegistryGeneralResponseObj"></wsdl:output>

</wsdl:operation><wsdl:operation name="findServices">

<wsdl:input message="tns:findServicesRequestObj" name="findServicesRequestObj">

</wsdl:input><wsdl:output message="tns:findServicesResponseObj"

name="findServicesResponseObj"></wsdl:output>

</wsdl:operation></wsdl:portType><wsdl:binding name="SscPortSoap11" type="tns:SscPort">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="callService">

<soap:operation soapAction=""/><wsdl:input name="callServiceRequestObj">

<soap:body use="literal"/></wsdl:input><wsdl:output name="callServiceResponseObj">

<soap:body use="literal"/></wsdl:output>

</wsdl:operation><wsdl:operation name="findIdentities">

<soap:operation soapAction=""/><wsdl:input name="findIdentitiesRequestObj">

<soap:body use="literal"/></wsdl:input><wsdl:output name="findIdentitiesResponseObj">

<soap:body use="literal"/></wsdl:output>

</wsdl:operation><wsdl:operation name="identityRegistryGeneral">

<soap:operation soapAction=""/><wsdl:input name="identityRegistryGeneralRequestObj">

<soap:body use="literal"/></wsdl:input><wsdl:output name="identityRegistryGeneralResponseObj">

<soap:body use="literal"/></wsdl:output>

</wsdl:operation><wsdl:operation name="serviceRegistryGeneral">

<soap:operation soapAction=""/><wsdl:input name="serviceRegistryGeneralRequestObj">

<soap:body use="literal"/>

Page 34 of 45

Page 35: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

</wsdl:input><wsdl:output name="serviceRegistryGeneralResponseObj">

<soap:body use="literal"/></wsdl:output>

</wsdl:operation><wsdl:operation name="findServices">

<soap:operation soapAction=""/><wsdl:input name="findServicesRequestObj">

<soap:body use="literal"/></wsdl:input><wsdl:output name="findServicesResponseObj">

<soap:body use="literal"/></wsdl:output>

</wsdl:operation></wsdl:binding><wsdl:service name="SscPortService">

<wsdl:port binding="tns:SscPortSoap11" name="SscPortSoap11"><soap:address location="https://stmservice1:8002/ws"/>

</wsdl:port></wsdl:service>

</wsdl:definitions>

Page 35 of 45

Page 36: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

APPENDIX SWAGGER API (JSON){ "basePath": "/", "definitions": { "CallServiceRequestObj": { "properties": { "body": { "type": "string" }, "endpointMethod": { "type": "string" }, "headers": { "items": { "$ref": "#/definitions/Header" }, "type": "array" }, "requestType": { "enum": [ "GET", "POST", "DELETE", "PATCH" ], "type": "string" } }, "type": "object" }, "CallServiceResponseObj": { "properties": { "body": { "type": "string" }, "statusCode": { "format": "int64", "type": "integer" } }, "type": "object" }, "FindIdentitiesRequestObj": { "properties": { "organisationId": { "type": "string" } }, "type": "object" }, "FindIdentitiesResponseObj": {

Page 36 of 45

Page 37: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"properties": { "body": { "type": "string" }, "statusCode": { "format": "int64", "type": "integer" } }, "type": "object" }, "FindServicesRequestObj": { "properties": { "coverageArea": { "type": "string" }, "keyword": { "type": "string" }, "organisationId": { "type": "string" }, "serviceDesignId": { "type": "string" }, "serviceId": { "type": "string" } }, "type": "object" }, "FindServicesResponseObj": { "properties": { "body": { "type": "string" }, "statusCode": { "format": "int64", "type": "integer" } }, "type": "object" }, "Header": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } },

Page 37 of 45

Page 38: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"type": "object" }, "IdentityRegistryGeneralRequestObj": { "properties": { "body": { "type": "string" }, "headers": { "items": { "$ref": "#/definitions/Header" }, "type": "array" }, "requestType": { "enum": [ "GET", "POST", "DELETE", "PATCH" ], "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "IdentityRegistryGeneralResponseObj": { "properties": { "body": { "type": "string" }, "statusCode": { "format": "int64", "type": "integer" } }, "type": "object" }, "ServiceRegistryGeneralRequestObj": { "properties": { "body": { "type": "string" }, "headers": { "items": { "$ref": "#/definitions/Header" }, "type": "array" }, "requestType": {

Page 38 of 45

Page 39: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"enum": [ "GET", "POST", "DELETE", "PATCH" ], "type": "string" }, "url": { "type": "string" } }, "type": "object" }, "ServiceRegistryGeneralResponseObj": { "properties": { "body": { "type": "string" }, "statusCode": { "format": "int64", "type": "integer" } }, "type": "object" } }, "host": "stmservice1:8002", "info": { "contact": { "email": "[email protected]", "name": "CIMNE", "url": "www.cimne.upc.edu" }, "description": "SeaSwim Connector", "license": {}, "title": "STM SeaSwim Connector API", "version": "1.0.0" }, "paths": { "/ssc/callService": { "post": { "consumes": [ "application/json;charset=UTF-8" ], "description": "Facilitate the communication between services. The function will call a generic web service part of the stm infrastructure, checking the certificates authentications.", "operationId": "callServiceUsingPOST", "parameters": [ {

Page 39 of 45

Page 40: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"description": "Contain the data needed by the callService function to execute the request.", "in": "body", "name": "request", "required": true, "schema": { "$ref": "#/definitions/CallServiceRequestObj" } } ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "Response container with response from called service", "schema": { "$ref": "#/definitions/CallServiceResponseObj" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/CallServiceResponseObj" } } }, "summary": "callService", "tags": [ "ssc-rest-controller" ] } }, "/ssc/findIdentities": { "post": { "consumes": [ "application/json;charset=UTF-8" ], "description": "Facilitate the communication with the identity service in order to discover the organizations part of the STM infrastructure.", "operationId": "findIdentitiesUsingPOST", "parameters": [ {

Page 40 of 45

Page 41: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"description": "request", "in": "body", "name": "request", "required": true, "schema": { "$ref": "#/definitions/FindIdentitiesRequestObj" } } ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "findIdentities response", "schema": { "$ref": "#/definitions/FindIdentitiesResponseObj" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/FindIdentitiesResponseObj" } } }, "summary": "findIdentities", "tags": [ "ssc-rest-controller" ] } }, "/ssc/findServices": { "post": { "consumes": [ "application/json;charset=UTF-8" ], "description": "Facilitate the communication with the service registry, in order to discover the services of the STM infrastructure.", "operationId": "findServicesUsingPOST", "parameters": [ { "description": "request",

Page 41 of 45

Page 42: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"in": "body", "name": "request", "required": true, "schema": { "$ref": "#/definitions/FindServicesRequestObj" } } ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "findServices response", "schema": { "$ref": "#/definitions/FindServicesResponseObj" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/FindServicesResponseObj" } } }, "summary": "findServices", "tags": [ "ssc-rest-controller" ] } }, "/ssc/identityRegistryGeneral": { "post": { "consumes": [ "application/json;charset=UTF-8" ], "description": "This function enable a general REST request against the API of the identity registry, following the identity registry specifications.", "operationId": "identityRegistryGeneralRequestUsingPOST", "parameters": [ { "description": "request", "in": "body",

Page 42 of 45

Page 43: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"name": "request", "required": true, "schema": { "$ref": "#/definitions/IdentityRegistryGeneralRequestObj" } } ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "identityRegistryGeneralRequest response", "schema": { "$ref": "#/definitions/IdentityRegistryGeneralResponseObj" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/IdentityRegistryGeneralResponseObj" } } }, "summary": "identityRegistryGeneralRequest", "tags": [ "ssc-rest-controller" ] } }, "/ssc/serviceRegistryGeneral": { "post": { "consumes": [ "application/json;charset=UTF-8" ], "description": "Enable a general request against the service registry.", "operationId": "serviceRegistryGeneralRequestUsingPOST", "parameters": [ { "description": "request", "in": "body", "name": "request", "required": true,

Page 43 of 45

Page 44: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

"schema": { "$ref": "#/definitions/ServiceRegistryGeneralRequestObj" } } ], "produces": [ "application/json;charset=UTF-8" ], "responses": { "200": { "description": "serviceRegistryGeneralRequest response", "schema": { "$ref": "#/definitions/ServiceRegistryGeneralResponseObj" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Unexpected error", "schema": { "$ref": "#/definitions/ServiceRegistryGeneralResponseObj" } } }, "summary": "serviceRegistryGeneralRequest", "tags": [ "ssc-rest-controller" ] } } }, "swagger": "2.0", "tags": [ { "description": "Ssc Rest Controller", "name": "ssc-rest-controller" } ]}

Page 44 of 45

Page 45: Amazon S3s3-eu-west-1.amazonaws.com › stm-stmvalidation › ...Desi…  · Web viewThe Internet Engineering Task Force. RetrievedFebruary 27,2015. - https: ... as well as to obtain

Document lifecycle

MaturityFirst iteration developed and initial tests ongoing.

ForecastThe foreseen updates on the document is the following:

Chapter Rationale Time and versionDocument reviewed and accepted as version 1.0 2016 December in v1.0

Page 45 of 45