Difference between revisions of "Description of the software interfaces"

From DE4A
Jump to navigation Jump to search
 
(6 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
This page contains a description of the different software interfaces created for the DE4A project. The information provided can be used as a reference on the development and integration process to each pilot.
 
This page contains a description of the different software interfaces created for the DE4A project. The information provided can be used as a reference on the development and integration process to each pilot.
  
== Interfaces availables ==
+
This page is only relevant for '''Iteration 1'''. The respective list for Iteration 2 can be found at [[Summary of software interfaces.]]
 +
 
 +
== Available interfaces ==
 
{| class="wikitable"
 
{| class="wikitable"
|+DE4A Components interfaces description
+
|+DE4A Components interfaces description (Iteration 1)
 
!Component
 
!Component
!Iteration
 
 
!Pattern
 
!Pattern
 
!Service
 
!Service
Line 16: Line 17:
 
!Output
 
!Output
 
|-
 
|-
| rowspan="3" |Data Evaluator
+
| rowspan="2" |Data Evaluator
|1, 2
+
| rowspan="2" |[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DE1-USI.xsd USI]
| rowspan="3" |USI
 
 
|Forward evidence
 
|Forward evidence
 
|/requestForwardEvidence
 
|/requestForwardEvidence
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestForwardEvidenceType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L567 RequestForwardEvidenceType]
|ACK
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L191 ACK]
|-
 
|2
 
|User redirection
 
|/usiRedirectUser
 
|XML REST
 
|Synchronous
 
|RedirectUserType
 
|ACK
 
 
|-
 
|-
|1
 
 
|Response user redirection
 
|Response user redirection
 
|/responseUserRedirection
 
|/responseUserRedirection
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|ResponseUserRedirectionType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L601 ResponseUserRedirectionType]
 
|HTTP Status 302/303 (Http/1 Http/2)
 
|HTTP Status 302/303 (Http/1 Http/2)
 
|-
 
|-
| rowspan="4" |Data Owner
+
| rowspan="3" |Data Owner
|1, 2
+
|[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DT-DO1-IM.xsd IM]
|IM
 
 
|Extract evidence IM
 
|Extract evidence IM
 
|/requestExtractEvidenceIM
 
|/requestExtractEvidenceIM
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestExtractEvidence
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L523 RequestExtractEvidenceIMType]
|ResponseExtractEvidenceType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L537 ResponseExtractEvidenceType]
 
|-
 
|-
|1, 2
+
| rowspan="2" |[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DO1-USI.xsd USI]
| rowspan="3" |USI
 
 
|Extract evidence USI
 
|Extract evidence USI
 
|/requestExtractEvidenceUSI
 
|/requestExtractEvidenceUSI
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestExtractEvidence
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L509 RequestExtractEvidenceUSIType]
|ResponseErrorType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L608 ResponseErrorType]
 
|-
 
|-
|2
 
|User redirection
 
|/usiRedirectUser
 
|XML REST
 
|Synchronous
 
|RedirectUserType
 
|ResponseErrorType
 
|-
 
|1
 
 
|RequestUserRedirection
 
|RequestUserRedirection
 
|/requestUserRedirection
 
|/requestUserRedirection
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestUserRedirectionType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L595 RequestUserRedirectionType]
|HTTP Status 302
+
|HTTP Status 302/303 (Http/1 Http/2)
 
|-
 
|-
 
| rowspan="3" |Data Requestor (Connector)
 
| rowspan="3" |Data Requestor (Connector)
|1, 2
+
| [https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DR-DT1-IDK.xsd IM/USI]
-
+
|Lookup Routing Information
|Lookup Rounting Information
 
 
|/lookupRountingInformation
 
|/lookupRountingInformation
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestLookupRoutingInformationType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L580 RequestLookupRoutingInformationType]
|ResponseLookupRoutingInformationType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L589 ResponseLookupRoutingInformationType]
 
|-
 
|-
|1, 2
+
|[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DR-DE1-IM.xsd IM]
|IM
 
 
|Request transfer evidence
 
|Request transfer evidence
 
|/requestTransferEvidenceIM
 
|/requestTransferEvidenceIM
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestTransferEvidenceType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L495 RequestTransferEvidenceType]
|ResponseTransferEvidenceType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L546 ResponseTransferEvidenceType]
 
|-
 
|-
|1, 2
+
|[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DR-DE1-IM.xsd USI]
|USI
 
 
|Request transfer evidence USI
 
|Request transfer evidence USI
 
|/requestTransferEvidenceUSI
 
|/requestTransferEvidenceUSI
 
|XML REST
 
|XML REST
 
|Asynchronous
 
|Asynchronous
|RequestTransferEvidenceType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L495 RequestTransferEvidenceType]
|ResponseErrorType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L608 ResponseErrorType]
 
|-
 
|-
 
|Data Transferor (Connector)
 
|Data Transferor (Connector)
|1, 2
+
|[https://github.com/de4a-wp5/xml-schemas/blob/iteration1/XSD/DT1-USI.xsd USI]
|USI
 
 
|Response transfer evidence USI
 
|Response transfer evidence USI
 
|/requestTransferEvidenceUSIDT
 
|/requestTransferEvidenceUSIDT
 
|XML REST
 
|XML REST
 
|Synchronous
 
|Synchronous
|RequestTransferEvidenceUSIDTType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L477 RequestTransferEvidenceUSIDTType]
|ResponseErrorType
+
|[https://github.com/de4a-wp5/xml-schemas/blob/4d074ee82355255293a0c9e071d9507920f0af02/XSD/de4a/common-types.xsd#L608 ResponseErrorType]
 
|}
 
|}
 
== SMP/SML ==
 
'''The Service Metadata Locator (SML)''' is a singleton instance in the DE4A network. It is operated by CEF, a key facility of the European Commission, and provided to the DE4A project. DE4A is currently operating on the test instance of the SML, called “SMK”, and was assigned the DNS zone [[de4a.acc.edelivery.tech.ec.europa.eu.]] for the project.
 
 
'''The task of a Service Metadata Publisher (SMP)''' is to create the link between the technical identifiers and the effective endpoint URL to exchange messages with. Additionally, it provides X.509 certificates that will be used to encrypt messages for a specific receiver. Each participant has a list of so called “Endpoints” that are uniquely identified by a combination of a document type identifier, a process identifier and a transport profile. An SMP makes it possible for two parties in the domain to exchange documents with dynamic discovery and utilizing the 4 Corner Model used for eDelivery within the DE4A project.
 
 
In the case of DE4A project, the Connector handles the interaction with the ''"service metadata resources"'', there are two function modes depending of the configuration in the Connector:
 
 
'''Establishing a certain SMP'''
 
 
* The Connector will request all the services information to the SMP configured.
 
 
'''Without SMP definition'''
 
 
* The Connector will request to the SML in order to get the SMP location which contains services information for the certain participant given.
 
 
The requests to the SMP/SML components are performed using the [https://github.com/phax/peppol-commons peppol-commons] ''(by Phax'') libraries, based on the CEF Specifications:
 
 
* [https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eDelivery+BDXL eDelivery BDXL]
 
* [https://oasis-open.org/committees/tc_home.php?wg_abbrev=bdxr OASIS BDXR]
 
 
== AS4 Gateway ==
 
The Connector includes an implementation of an AS4 gateway ('''phase4''') using the following third-party libraries and components:
 
 
* [https://github.com/TOOP4EU/toop-connector-ng Toop Connector NG]
 
* [https://github.com/phax/phase4 phax/phase4 libraries]
 
 
Based on the specifications:
 
 
* [https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eDelivery+AS4+-+1.14 eDelivery AS4]
 
* [https://docs.peppol.eu/edelivery/as4/specification/ PEPPOL AS4 Profile]
 

Latest revision as of 13:41, 4 October 2022

This page contains a description of the different software interfaces created for the DE4A project. The information provided can be used as a reference on the development and integration process to each pilot.

This page is only relevant for Iteration 1. The respective list for Iteration 2 can be found at Summary of software interfaces.

Available interfaces

DE4A Components interfaces description (Iteration 1)
Component Pattern Service Referenced API Interface type Communication Input message Output
Data Evaluator USI Forward evidence /requestForwardEvidence XML REST Synchronous RequestForwardEvidenceType ACK
Response user redirection /responseUserRedirection XML REST Synchronous ResponseUserRedirectionType HTTP Status 302/303 (Http/1 Http/2)
Data Owner IM Extract evidence IM /requestExtractEvidenceIM XML REST Synchronous RequestExtractEvidenceIMType ResponseExtractEvidenceType
USI Extract evidence USI /requestExtractEvidenceUSI XML REST Synchronous RequestExtractEvidenceUSIType ResponseErrorType
RequestUserRedirection /requestUserRedirection XML REST Synchronous RequestUserRedirectionType HTTP Status 302/303 (Http/1 Http/2)
Data Requestor (Connector) IM/USI Lookup Routing Information /lookupRountingInformation XML REST Synchronous RequestLookupRoutingInformationType ResponseLookupRoutingInformationType
IM Request transfer evidence /requestTransferEvidenceIM XML REST Synchronous RequestTransferEvidenceType ResponseTransferEvidenceType
USI Request transfer evidence USI /requestTransferEvidenceUSI XML REST Asynchronous RequestTransferEvidenceType ResponseErrorType
Data Transferor (Connector) USI Response transfer evidence USI /requestTransferEvidenceUSIDT XML REST Synchronous RequestTransferEvidenceUSIDTType ResponseErrorType