<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.de4a.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bart.vanbekkum</id>
	<title>DE4A - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.de4a.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bart.vanbekkum"/>
	<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php/Special:Contributions/Bart.vanbekkum"/>
	<updated>2026-05-18T07:37:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Goals_and_success_criteria&amp;diff=4444</id>
		<title>Goals and success criteria</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Goals_and_success_criteria&amp;diff=4444"/>
		<updated>2022-02-09T13:54:41Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: typos and minor changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Doing Business Abroad Pilot|Back to Doing Business Abroad main page]]&lt;br /&gt;
&lt;br /&gt;
[[DBA D4.7 Initial Running Phase Report|Back to main page of D4.7 Initial Running Phase Report]]&lt;br /&gt;
&lt;br /&gt;
[[Current status of pilot|Back to Previous Chapter: 2. Current Status of Pilot]]&lt;br /&gt;
&lt;br /&gt;
[Work in progress]&lt;br /&gt;
&lt;br /&gt;
== 3.1 Introduction ==&lt;br /&gt;
The analyses conducted with regards to challenges that the implementation of the SDGR introduces, as wel as the realization of the infrastructure implementing the SDGR and conclusions of these analyses, proved very fruitful. This chapter summarizes the lessons learned form these activities, and provides suggestions for the implementation and adoption of the SDGR implementation. &lt;br /&gt;
&lt;br /&gt;
==3.2 Learning towards Adoption==&lt;br /&gt;
&lt;br /&gt;
==== ''3.2.1 Lessons learned from analysing and designing national integration of cross-border OOP'' ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 80%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 2%&amp;quot; |ID&lt;br /&gt;
! style=&amp;quot;width: 10%&amp;quot; | Topic&lt;br /&gt;
! style=&amp;quot;width: 33%&amp;quot; |Suggestions for adoption&lt;br /&gt;
! style=&amp;quot;width: 55%&amp;quot; | Lessons learned&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Design process&lt;br /&gt;
|DBA advises Member States to invest time to bring together the eIDAS and OOTS knowledge. This requires organising and prioritising as this knowledge is scarce.&lt;br /&gt;
|Designing national integration required in-depth knowledge of both eIDAS and OOTS. This knowledge (specifically the combination of both) is not broadly available in Member States. Knowledge of both domains should be brought together in order to prevent designs based on false assumptions of the other domain.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Scoping&lt;br /&gt;
|DBA advises the European Commission and Member States not to solve all user scenario's at once, but to focus on the most frequently used ones. Please focus on core functionality. And at the same time organise follow-ups on improvements and additions to address later on.&lt;br /&gt;
|The project ran into many complex topics that needed to be solved in the pilot design phase. The pilot lead has organised a series of meetings to discuss these topics.  &lt;br /&gt;
To keep focus at the core research questions and to limit resources needed, the pilot partners agreed to simplify whenever adequate, e.g. focussing at most important evidence type instead of all possible types, accepting request for one single evidence type at the time (instead of allowing requests for multiple evidence types), limiting to full powers validation to start with. The pilot secured progress and focus by scoping strictly.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company representation&lt;br /&gt;
|DBA advises the European Commission to clarify in advance which version of the eIDAS specification should be implemented for the SDGR to prevent incompatibility between Member States.&lt;br /&gt;
|Use of eIDAS including legal entity attributes (company representation) is not widespread in the EU. Currently, there are just two eID scheme's notified including legal person attributes. For piloting the partners set up a pilot network of eIDAS nodes including legal person attributes to allow for piloting eProcedures for companies. In preparing for the pilot, Member States turned out to communicate company representation in different ways. Especially regarding the use of the eIDAS representative attributes (representative prefix). Furthermore, during pilot preparation eIDAS node 2.4 became available. This version of the CEF reference software enforced the eiDAS 1.2-specification that turned out to be in conflict with the agreed use of eIDAS attributes in the DBA pilot. The eIDAS 1.2 specification regarding representation is not necesarilly backwards compatible. As a result, this raised additional confusion and led to inconsistent deployments.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Powers validation&lt;br /&gt;
|DBA advises Member States to focus at implementing full-powers validation flows to start with. Adding more fine grained powers validation is required for 100% implementing the eProcedures, but also requires a more advanced solution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Furthermore, DBA advises the European Commission to facilitate validating full-powers using the currently available eIDAS. This requires an additional policy rule (please see DBA design documentation regarding this topic). &lt;br /&gt;
|Validating full powers has been proven to be a first (and good) step in implementing cross-border OOP for businesses (requiring company representation). It allows for moving ahead with eIDAS as is available today and seems fitting for SME's (it will be an official representative initiating business abroad most of the time).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Record matching&lt;br /&gt;
|DBA advises Member States to use the national company ID's as eIDASLegalIdentifiers when extending the pilot to SDG-wide implementation.&lt;br /&gt;
|The pilot partners agreed to provide the national company registry numbers as eIDASLegalIdentifier in the authentication flow (eIDAS authentication proxy role). This diminished the need to do record matching on companies at the data owner. There was no substantial need to do record matching on the natural person by the data owners of the DBA pilot.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Explicit request&lt;br /&gt;
|DBA advises data evaluators to integrate (1) request to consent and (2) explicit request into one joint question to the user to prevent adding to the confusion - of course in case both are applicable at the same time.&lt;br /&gt;
|In some cases, users need to express consent for the retrieval of attributes (GDPR). In almost all cases when using the OOTS, the user needs to express explicit request (SDGR). Although legally sound, in practise the difference between both is difficult to understand for data evaluators. DE's furthermore expect that users will ignore such requests and just click &amp;quot;ok&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Multiple-MS scenario's&lt;br /&gt;
|DBA advises Member States to start SDG-implementation with the simplest interaction patterns involving just two Member States.&lt;br /&gt;
|Three- or multiple Member State scenario's tend to get really complex, requiring disproportionate resources to analyse, design and implement. An example of a 3 MS-scenario would be a natural person (representative) from MS A, representing a legal person (represented) from MS B, based on a mandate registered in MS B, to apply for a service form a SP in MS C.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|eIDAS non-notified eID&lt;br /&gt;
|DBA advises The European Commission and the Member States without notified eID's to agree on a temporarily solution for using non-notified eID's in SDG-procedures.&lt;br /&gt;
|Most of the participating Member States dind't operate a notified eID at the moment of piloting. On a bilateral basis non-notified eID's were accepted for piloting purposes, although pilot partners expressed their doubts regarding acceptance of non-notified eIDs for large scale SDG. Notification of eID's is a strong prerequisite for implementing SDG. Mandatory eID-notification as expected under the new eIDAS regulation (eIDAS revision) will not be in time for SDG-implementation.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Sector specific systems&lt;br /&gt;
|Integration of the OOTS with sectoral systems (BRIS in this pilot) has proven to be not so straight forward as many expected at the start of the project.&lt;br /&gt;
|For the DBA pilot alignment to - or integration with - BRIS has been an important topic from the start of the project. Much time has been spent on workshops, desk research and analysis. In the end, re-use of BRIS has been limited to semantics. Re-use of information flows, building blocks, etc. was not possible due to difference in legal framework, governance, authorities involved, solution implemented, etc.The solutions have been developed for different purposes and hence are not easily aligned.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|User interaction design&lt;br /&gt;
|DBA advises the European Commission to provide wireframes in order to have generic steps (like Explicit Request and Preview) implemented in a similar way in all MS.&lt;br /&gt;
|Several data evaluators needed to implement the same logic in their specific systems, including user iteraction (general explanation, explicit request, preview). The user interaction design across participating Member States turned out to show some differences in informative texts, detail of explanation, use of buttons, etc. This may lead to confusion for the user that deals with multiple data evaluators as well as a slow learning curve. DBA decided to provide a pilot-wide reference in the form of wireframes to allow for more uniformity across the pilot.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ''3.2.2 Lessons learned from implementing and testing the DE4A OOTS'' ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 80%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 2%&amp;quot; |ID&lt;br /&gt;
! style=&amp;quot;width: 10%&amp;quot; | Topic&lt;br /&gt;
! style=&amp;quot;width: 33%&amp;quot; |Suggestions for adoption&lt;br /&gt;
! style=&amp;quot;width: 55%&amp;quot; | Lessons learned&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Planning and organising tasks&lt;br /&gt;
|DBA advises to allocate a multi-month phase for establishing alignment, priorities, financial means etc. for all organizations involved. &lt;br /&gt;
&lt;br /&gt;
Furthermore, it is necessary to have a coordinating team (equipped with sufficient knowledge about the solution) in each Member State to make sure that legal, semantical, technical and managerial issues are being resolved in a timely manner.&lt;br /&gt;
|The components to be used (in the pilot) were distributed over several authorities in a Member State, requiring the commitment from all authorities. This commitment is not obvious and must be secured beforehand. Also, as the systems are distributed, the teams working on the systems are distributed as well. Collaboration took more time and in each team, priorities were a continuous battle.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Handing over&lt;br /&gt;
|DBA advises the European Commision to put additional efforts in explaining the workings of the SDG OOTS components to public authorities involved. The better the solution is understood by all, the smooher the SDG implementation will be. &lt;br /&gt;
The national complexity that the SDG imposes on Member States (e.g. record matching) is easily underestimated. &lt;br /&gt;
|Design documents and specification have sometimes been interpreted by different pilot partners in different ways. During preperation of the pilot or during interoperability testing such differences surfaced. It would be better to have a detailled common understanding of all the design details prior to the testing phase. Take the time for handing over Solution Architecture to WP3 and 5, and make sure that everything is understood.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Documenting&lt;br /&gt;
|DBA advises the European Commission to invest in proper and clear documentation for developers in Member States, so they can get the OOTS up and running with as less as possible efforts. Documentation should not be too cryptic and short, but definately also be not too extensive. Feedback on the documentation from first movers has proven to be very useful in the DBA pilot.&lt;br /&gt;
Additionally, installing a small central team of technical experts providing support technical experts fin Member States, could be considered.&lt;br /&gt;
|For developers of the common components, there's a lot of logic behind its internal logic, structure, configuration, etc. Deploying these components by the Member States in the DBA pilot raised several questions regarding the use of Docker images, configuration items that needed to be set correctly, required firewall and DNS settings, etc. Things were not always as straight forward as expected.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Configuring&lt;br /&gt;
|DBA advises Member States to prepare for the steps to be taken to request the certificates needed to operate the OOTS. &lt;br /&gt;
DBA advises the European Commission to investigate whether the process for acquiring the OOTS certificates can be simplified. &lt;br /&gt;
&lt;br /&gt;
DBA advises the European Commission to design a procedure for communication between Member States in case of change of certificates and to provide for certificate-rollover to guarantee OOTS-connectivity. &lt;br /&gt;
|The components needed for SDG rely heavily on use and exchange of certificates for server authentication, signing, etc. The process of acquiring the certificates turned out to be time-consuming and error-prone (all details must be in place when requesting the certificates). Furthermore, the procedure of requesting certificates is regulated in a way it requires signatures of responsible people within the requesting institution that do not on a daily basis work with - and understand the use of - certificates. Or people that are not available imidiately (company executives).&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Integrating DE and DO&lt;br /&gt;
|DBA advises Member States to take impact on existing systems into account. Including the backlog of items that might need to be resolved before being able to connect to the OOTS.&lt;br /&gt;
|&lt;br /&gt;
When integrating to the DT/DR, expect to run into existing problems in the DO/DE systems that need resolving as well. This will create extra work, although the work is not directly being created due to integration with the DT/DR. The problems in the DE/DO systems were existing already, but were not causing real issues until then (problems were accepted) but might need to be resolved in order to achieve good integration to the DT/DR.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Interopability testing&lt;br /&gt;
|Wider OOTS implementation requires more inter-Member State coordination regarding exchange of connectivity details, configuration and cross-border interoperability testing. Planning of these activities requires much attention and flexibility from the Member States. DBA advises to take this into account when connecting the decentralised SDG OOTS components. We refer also to the eIDAS lessons learned with regards to exchange fo certificates etc.&lt;br /&gt;
|The speed of development varies per Member State. Therefore readiness for cross-border testing (and piloting, for that matter) is also distributed in time. MS A can have their DE ready months before MS B has (due to several national impediments). Testing on fixed moments in time for all DEs and all DOs has proven not realistic, as does starting pilots at one moment in time.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Interopability testing&lt;br /&gt;
|Establish clear readiness criteria for DE/DO DE4A Connector before starting connectathons.&lt;br /&gt;
|The DBA pilot has proven that a lot of settings need to be configured correctly to allow succesful cross-border evidence exchange. During interoperability testing (connecthatons) Member States sometimes had different views on what components or parameters had to be set in order to start testing. As a result, not in all cases the complete flow could be tested at once.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|Interoperability testing&lt;br /&gt;
|DBA advises the European Commission to coordinate exchange of test credentials between Member States. Many-to-many &amp;quot;requesting and sending of eID's on a bilateral basis&amp;quot; should be prevented.&lt;br /&gt;
|Proper interoperability testing is only possible with the required test eID means. These national eID means have not always been easily available (depending on the MS-specific situation - dependancies on IdP's may exist). This hindered cross-border interoperability testing at some occasions. The effect of lacking test credentials will be much greater in case of large scale implementing the SDGR.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|Reliance on eIDAS&lt;br /&gt;
|DBA advises the Member States to setup and test national eIDAS deployment prior to implementing the SDGR, to prevent this delaying SDGR.&lt;br /&gt;
|DBA pilotting - just as SDG implementation - relies on use of eIDAS. Unfortunately, eIDAS is not fully up and running in all Member States. In preparing for the DBA pilot, Member States had to setup eIDAS as well (pilot network of eIDAS nodes). In interoperability testing, several eIDAS related setup-issues needed to be solved.&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|SDG implementing acts&lt;br /&gt;
|DBA advises the European Commission and Member States to be aware no such thing as 'a final version' exists in the area of inter-Member State information exchange. Moving forward step-by-step with versions currently available is crucial to progress. Note that continuous alignment with all European initiatives during single steps is not feasible and will delay each initiative started.&lt;br /&gt;
|DBA pilot implementation has been delayed by numerous discussions (within Member States and between Member States) on alignment with the SDG OOTS that was being sketched at the same time. Although this approach had been deliberately chosen and agreed upon at the start of the DBA project (to enable real piloting and provide input to SDG), in practise discussions were raised over and over again&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt; and caused prioritization challenges for the pilot activities of partners. &amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Cooperation&lt;br /&gt;
|DBA advises to facilitate technical experts of the Commission and the Member States to easily ask each other questions, respond, etc. using a tool for this purpose, e.g. Slack.&lt;br /&gt;
|Slack seems to be a good means to have developers of different MS / WPs collaborate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ''3.2.3 Technical, semantic and organisational/legal knowledge provided to other WPs'' ====&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 80%;&amp;quot;&lt;br /&gt;
!style=&amp;quot;width: 2%&amp;quot;|ID&lt;br /&gt;
!style=&amp;quot;width: 10%&amp;quot;| Topic&lt;br /&gt;
! style=&amp;quot;width: 33%&amp;quot; |Suggestions for adoption&lt;br /&gt;
! style=&amp;quot;width: 55%&amp;quot; | Lessons learned&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Communication&lt;br /&gt;
|Use visual tools to show the benefits of OOP to users, e.g. presentations and videos. &lt;br /&gt;
&lt;br /&gt;
Prepare the creation of an animation by setting up a good storyline and slides that illustrate the flow of the animation. &lt;br /&gt;
|Implementation of the Oncle Only Principle might be interpreted as abstract by users / companies that might benefit from it. From a user perspective, there's not too much to see in the OOP-process. OOP might be interpreted as 'not a big deal' by the user. Large parts of the solution are &amp;quot;complexity under the hood&amp;quot;. Hence, additional efforts are needed to explain in an understandable way the hugh difference that OOP makes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ''3.2.4 Pilot learning for Sustainable impact and new governance models'' ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 80%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 2%&amp;quot; |ID&lt;br /&gt;
! style=&amp;quot;width: 10%&amp;quot; | Topic&lt;br /&gt;
! style=&amp;quot;width: 33%&amp;quot; |Suggestions for adoption&lt;br /&gt;
! style=&amp;quot;width: 55%&amp;quot; | Lessons learned&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Harmonisation&lt;br /&gt;
|DBA advises the European Commission to organise the harmonisation process of services for cross-border powers validation (see SEMPER project results and DBA pilot for sample harmonisation).&lt;br /&gt;
|For fine-grained powers validation, Member States need to agree on a harmonised set of services. In the DBA pilot: the SDG procedures of annex II to start with.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Harmonisation&lt;br /&gt;
|DBA advises the European Commission to organise the harmonisation process of event types for cross-border subscription &amp;amp; notification. See DBA pilot for example of harmonisation.&lt;br /&gt;
|For subscribing and notifying on company events / changes there needs to be a specified set of harmonised company event types.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Pilot Procedures|Next Chapter: 4. Pilot Procedures]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3455</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3455"/>
		<updated>2021-09-21T14:18:37Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: comments handover WP5 WP3 processed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DBA pilot iteration 2==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
#extending use of the intermediation pattern to allow for more fine grained powers validation: see chapter 2.&lt;br /&gt;
#the Subscription and notification pattern: see chapter 3.&lt;br /&gt;
#the Lookup pattern (the lookup of evidence, not individual attributes): see chapter 4.&lt;br /&gt;
&lt;br /&gt;
Chapter 5 specifies two additional requirements for the intermediation pattern to initiate subscriptions.&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for DBA authentication and powers validation==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
===General design decisions===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
#The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
#The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
#The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
#The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
#Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
#Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
*The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalPersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
*The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
*Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not.&lt;br /&gt;
* Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
#the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
#the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
#the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
#the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
#the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
|eProcedure portal front-end&lt;br /&gt;
eProcedure portal back-end&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
|Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
===Component description===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Front-end&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure portal Front-end handles all user interaction on the web. For piloting DBA, the eProcedure portal Front-end needs to add the eIDAS login option to the login-webpage. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal).  &lt;br /&gt;
|None. &lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Back-end&lt;br /&gt;
|&lt;br /&gt;
|The eProcedure portal Back-end connects to the national eIDAS node via the specific eIDAS connector. The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
Furthermore, the eProcedure portal Back-end should evaluate the authentication result received from the eIDAS connector. &lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the natural person attributes (at least the mandatory ones) '''''- to be discussed. This does not work with node 2.5/profile 1.2 implemented by AT (and SE?).'''''&lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
*grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
*request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
*grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
| To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
| In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component Deployment===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
*can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
*can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
===Configuration of authentication requests===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
*powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
**request:&lt;br /&gt;
***scope of powers to validate&lt;br /&gt;
***type of representation allowed&lt;br /&gt;
***source of powers accepted&lt;br /&gt;
**response:&lt;br /&gt;
***validation result (successful or not)&lt;br /&gt;
***type of representation&lt;br /&gt;
***source of powers&lt;br /&gt;
&lt;br /&gt;
===Configuration of harmonised services===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
*The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side).&lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension.&lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Subscription &amp;amp; Notification pattern==&lt;br /&gt;
This section specifies the solution for the Subscription &amp;amp; Notification pattern that will be piloted by the DBA pilot in the second iteration.  &lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Modify DO/DE Mocks for the S&amp;amp;N pattern: for testing the S&amp;amp;N pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
*Common component for Cross-border subscriptions and notification.&lt;br /&gt;
*Event Notification, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Inspecting the log files for examining an error in sending a subscription request or notification.&lt;br /&gt;
* Resend a subscription request in case of an error;&lt;br /&gt;
* Resending a notification in case of an error (notification front-end);&lt;br /&gt;
*Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
*Authorisation of DE's subscribing and DO's notifying (the component &amp;quot;authorization controller&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:      &lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the S&amp;amp;N pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the S&amp;amp;N pattern. For the S&amp;amp;N pattern, the authorization controller should:      &lt;br /&gt;
**Establish whether the DE is allowed to subscribe. This prevents unauthorised access to company data (in the form of notifications). This authorisation should be checked by the DT.&lt;br /&gt;
**Establish whether the DO is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. This authorisation should be checked by the DR.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
#requesting a subscription (DE to DO)&lt;br /&gt;
# confirming a subscription (DO to DE)&lt;br /&gt;
# notifying a business event (DO to DE)&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for S&amp;amp;N:&lt;br /&gt;
*The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the IEM (WP3).&lt;br /&gt;
*There will be just one data owner per Member State: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
*Using a single subscription request, the DE will subscribe to updates for a single company in a single Member State. &lt;br /&gt;
**As soon as the DE wants to subscribe to updates of multiple companies at one DO, it needs to send multiple subscription request to that DO (one for each company it wants to subscribe to). &lt;br /&gt;
**As soon as the DE wants to subscribe to updates for one company in two Member States, it needs to request two separate subscriptions, one for each Member State. This use case is not applicable to the DBA pilot though. &lt;br /&gt;
*A notification concerns only one single event of one single company and will be addressed to only one Member State. &lt;br /&gt;
**In case DE's from different Member States have subscribed to business events of a specific company, the DP needs to notify each of the Member States individually.&lt;br /&gt;
**In case the DP needs to notify a DE of multiple events for a specific company, the DP needs to send multiple notifications (one for each event). &lt;br /&gt;
**In case the DP needs to notify a DE of one event impacting multiple companies, the DP needs to send multiple notifications (one for each company). &lt;br /&gt;
*Business event notification is considered an extension to the SDGR, hence explicit request and the preview functions won't be implemented.&lt;br /&gt;
*The S&amp;amp;N pattern has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for exchange of cross-border subscription and notification messages.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the S&amp;amp;N patterns includes required functionality of the OOP Technical System (common components) expressed as application components and interfaces in the diagram below. Some common components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Subscription &amp;amp; Notification pattern (S&amp;amp;N) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS S&amp;amp;N.png|alt=OOP TS DBA Subscription &amp;amp; Notification|none|frame|OOP TS DBA Subscription &amp;amp; Notification]]&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. The process realisation is split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern|Subscription and Notification]] in the Project Start Architecture (PSA 2nd iteration) for more details.&lt;br /&gt;
&lt;br /&gt;
=====''Subscription''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*IDK&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
| eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*IDK&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*IDK&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
=====''Notification''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify cross-border event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*Event handler to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*IDK&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
*Notification Mismatch Signal&lt;br /&gt;
*Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness*'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
*collecting relevant data for a subscription request&lt;br /&gt;
*keeping track of subscriptions of the DE&lt;br /&gt;
*processing subscription confirmations / errors&lt;br /&gt;
*determining an appropriate response to a notification (e.g. discard or Lookup updated evidence)&lt;br /&gt;
*updating logs&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|Requires new functionality for S&amp;amp;N pattern in each of the DE's. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''' is the required functionality generic enough to justify a common component that DE's can deploy? Each DE needs to keep track of its subscriptions and needs event interpretation functionality as well. To some extend, registering the subscriptions is a mirror of the subscription system of the DO. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
*requesting (changes to) subscriptions&lt;br /&gt;
* receiving subscription confirmations / errors&lt;br /&gt;
*receiving notifications&lt;br /&gt;
Just like the portal to OOP TS interface (as described in the DBA first iteration solution architecture), Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface.&lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal to OOP TS interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|Needs extension for S&amp;amp;N pattern to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
|-&lt;br /&gt;
|IDK&lt;br /&gt;
|DE4A playground IDK: a web application for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|MS SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration.&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|central&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common&lt;br /&gt;
|To be developed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''': is this generic enough to justify a common component that SO's may deploy if they like?&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;genericness: specific: to be developed, deployed and hosted by MS; common: to be developed by WP5 and deployed and hosted by MS; central: to be developed, deployed and hosted by CEF&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
#a company&lt;br /&gt;
#one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS interface&lt;br /&gt;
|1&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The DR probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time or some other error prevents sending the notification.&lt;br /&gt;
This functionality preferably is not part of the Connector which should remain stateless.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
| For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|Please note that, in piloting DBA, pilot partners will implement an 'all or nothing'-subscription. This way, a subscription for a specific company is for all business events at once or for none (no subscription then). Hence, the element &amp;quot;business event&amp;quot; will not be used to differentiate between business events that are and that aren't included in a subscription. &lt;br /&gt;
&lt;br /&gt;
The element &amp;quot;business event&amp;quot; may be included in the components data store for future use though (to be decided by WP5). &lt;br /&gt;
&lt;br /&gt;
Furthermore, the element may be generalised to &amp;quot;event&amp;quot; to cover future use of other types of events. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
*translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
*filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
*query the subscription system for subscribers to a particular event&lt;br /&gt;
*construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|The DE does not confirm receiving the notification to the DO, the acknowledgement of the DE4A connector is sufficient.&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend. &lt;br /&gt;
* The DO mock should mock the cross-border event handler and subscription system.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |DE mock&lt;br /&gt;
|1&lt;br /&gt;
|Requesting a subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct subscription request&lt;br /&gt;
* show subscription request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Show subscription confirmation on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Show subscription error on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Changing a registered subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct change request&lt;br /&gt;
* show change request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |DO mock&lt;br /&gt;
|1&lt;br /&gt;
|Subscription system - process requests:&lt;br /&gt;
&lt;br /&gt;
* XML input: registration request / change request:&lt;br /&gt;
* register a subscription / change a registered subscription&lt;br /&gt;
* XML output: confirm registration / send registration error&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Event handler - Construct and send a notification:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier&lt;br /&gt;
* user select: harmonised event&lt;br /&gt;
* check subscriptions for this company &lt;br /&gt;
* show subscriptions on web page&lt;br /&gt;
* construct notification(s)&lt;br /&gt;
* show notifications XML on web page&lt;br /&gt;
* XML output: send notifications&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
&lt;br /&gt;
*DNS, SML will be reused from iteration 1.&lt;br /&gt;
* SMP, eDelivery Access Point will be reused from iteration 1.&lt;br /&gt;
* The IDK probably needs to change to allow for locating the subscription register.&lt;br /&gt;
* The DE4A Connector needs an update to support the S&amp;amp;N flows and messages.&lt;br /&gt;
*Various MS specific interfaces may be needed for (sub)system integration.&lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.&lt;br /&gt;
* The DO needs cross-border event handling functionality&lt;br /&gt;
*The DE needs event interpretation functionality and triggers for follow-up actions, like Lookup of evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*design messages for subscription request, subscription confirmation, subscription error and notification.&lt;br /&gt;
* analysis and design authorisation controller (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*extend the DE4A connector for S&amp;amp;N&lt;br /&gt;
*extend (the configuration of) the integrated AS4 gateway for S&amp;amp;N&lt;br /&gt;
*adapt the IDK if required for S&amp;amp;N.&lt;br /&gt;
*design and develop the cross-border event handler&lt;br /&gt;
*advise on queuing solution for Back-office to OOP TS interface&lt;br /&gt;
*examine possibility for generic components for &amp;quot;subscription system&amp;quot; and S&amp;amp;N back-end functionality of &amp;quot;eProcedure back-office backend&amp;quot;&lt;br /&gt;
*develop the DE and Do mocks&lt;br /&gt;
&lt;br /&gt;
===Configuration of business events===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces of the common components are expected to remain largely the same with an expansion for the S&amp;amp;N pattern. &lt;br /&gt;
&lt;br /&gt;
Note: We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by the IDK. However, for S&amp;amp;N there is no evidence lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|IDK&lt;br /&gt;
|IN  (from DE4A connector to IDK):&lt;br /&gt;
&lt;br /&gt;
* Member state&lt;br /&gt;
&lt;br /&gt;
* Event catalogue (e.g. DBA = business event)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT (from IDK to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* Participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
* Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* Service URL&lt;br /&gt;
&lt;br /&gt;
* Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
* Member state&lt;br /&gt;
&lt;br /&gt;
* Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery Acess Point):&lt;br /&gt;
&lt;br /&gt;
* Subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT (from eDelivery Access Point to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*request ID (correlation)&lt;br /&gt;
*subject identifier (company in question)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*event catalogue (DBA fixed business events)&lt;br /&gt;
*action 'subscribe'/'change subscription'&lt;br /&gt;
*(new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
*ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Subscription confirmation''&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
*request ID&lt;br /&gt;
&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
*ACK&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*subscriber identifier (DE ID = participant ID)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*notification&lt;br /&gt;
&lt;br /&gt;
#subject identifier (company in question)&lt;br /&gt;
#event catalogue&lt;br /&gt;
#event&lt;br /&gt;
#timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
*ACK (from DR)&lt;br /&gt;
|-&lt;br /&gt;
|Subscription system&lt;br /&gt;
|IN (from DE4A connector to subscription system) - for subscribing:&lt;br /&gt;
&lt;br /&gt;
* subscription request&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
* subscription confirmation&lt;br /&gt;
&lt;br /&gt;
* subscription error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IN (from cross-border event handler) - for composing the list of notifications:&lt;br /&gt;
&lt;br /&gt;
* subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
* list of subscribers (DE participant ID's).&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
&lt;br /&gt;
* domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
* array of notifications&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Lookup pattern==&lt;br /&gt;
This section specifies the solution for the Lookup pattern that will be piloted by the DBA pilot in the second iteration. Basically, the Lookup pattern will be implemented as the intermediation pattern, but without: user authentication, explicit request and preview. Instead of having the eProcedure portal managing the OOP TS flow in interaction with he user, it will be the eProcedure back-office that will initiate the lookup and process the evidence. &lt;br /&gt;
&lt;br /&gt;
The Lookup pattern will be used to quickly retrieve (updated) evidence needed to keep a local company data store up-to-date, to re-asses a service provided or for generic fraud prevention purposes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Evidence Lookup, the PSA defines several options for implementing the Lookup pattern. The option chosen is based on requesting (an updated version of) evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
*Authorisation of DE's to retrieve the requested evidence (the component &amp;quot;authorisation controller&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:&lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the Lookup pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the Lookup (and intermediation) pattern. For the Lookup pattern, the authorization controller should establish whether the DE is allowed to retrieve the requested evidence type. This prevents unauthorised access to company data. This authorisation should be checked by the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the Lookup pattern. This means that eDelivery in the Lookup pattern will be used for:&lt;br /&gt;
&lt;br /&gt;
#requesting evidence (DE to DO)&lt;br /&gt;
#sending the evidence (DO to DE)&lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for Lookup:&lt;br /&gt;
*Based on a received notification message (S&amp;amp;N pattern) the DC, if desired, retrieves the Evidence using the Lookup.&lt;br /&gt;
*The explicit request and the preview functions won't be implemented as Lookup is considered 'beyond SDGR'&lt;br /&gt;
*The Lookup has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for performing the lookup of an evidence.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the Lookup pattern specifies required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Lookup Pattern (LKP) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS LKP.png|alt=OOPT TS Lookup|none|frame|Components of the Lookup pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. &lt;br /&gt;
&lt;br /&gt;
Please note that we assume the common components for the Lookup pattern can be re-used 1-on-1 of the intermediation pattern (same components, same functionality, same deployments). Only the initiation of the evidence request and the processing of the evidence response is different (not eProcedure portal but eProcedure backoffice). Hence, for the common components, just a referral has been included. For more information we refer to the solution architecture of the intermediation pattern. &lt;br /&gt;
&lt;br /&gt;
See [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|eProcedure Backoffice Back-end: &lt;br /&gt;
&lt;br /&gt;
*Evidence Type Translator&lt;br /&gt;
&lt;br /&gt;
Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|''Lookup routing information (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Request evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Evaluate evidence request (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish subject identity (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability of OOP (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Extract evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability or Delay of evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish non-availability of OOP (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Compose evidence response (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Transfer evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Forward evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Assess Evidence&lt;br /&gt;
|eProcedure Backoffice Back-end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness*'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component handles all backoffice functionality for the eProcedure. For the Lookup pattern it:&lt;br /&gt;
&lt;br /&gt;
*translates the required evidence to the canonical evidence to request&lt;br /&gt;
*requests the canonical evidence to the MS DE4A connector&lt;br /&gt;
*receives the evidence (or error)&lt;br /&gt;
*processes the evidence (update local data store, process possible impact on service provided to the company / general fraud detection or prevention).&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|This new functionality needs to be designed and developed by each of the participating DE's.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
*requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface (as described in the DBA first iteration solution architecture), Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
| DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal to OOP TS interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|IDK&lt;br /&gt;
|DE4A playground IDK: a web application for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including encryption and decryption as well as signing/sealing and validating signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|No changes expected. &lt;br /&gt;
&lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used without change. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|central&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;genericness: specific: to be developed, deployed and hosted by MS; common: to be developed by WP5 and deployed and hosted by MS; central: to be developed, deployed and hosted by CEF&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
   &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office&lt;br /&gt;
|1&lt;br /&gt;
|Once the eProcedure backoffice logic has assessed the notification and has concluded one or more evidences (or updates to evidences) need to be requested, the back-office should be able to send the evidence request to the OOP TS interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, in case of multiple data owners in one Member State supporting the required evidence type, the Data evaluator needs to be aware which one to contact (as there is no possibility to ask the user). Hence, after processing the initial evidence in the intermediation pattern, it needs to store the data owner ('participant') to contact for updates. In the DBA pilot there will be only one data owner per Member State, so there is no need to store the participant at the DE.&lt;br /&gt;
|The evidence request will be the same or similar to the request of the intermediation pattern.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|IDK&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data service&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend.&lt;br /&gt;
* The DO mock should mock the data service.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|DE mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DE mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DO mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DO mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
*See intermediation pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*analyse and design authorisation controller for the Lookup pattern (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*double check to ensure the common components can be re-used from the intermediation pattern without any change.&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces remain unchanged. &lt;br /&gt;
==Solution architecture for Intermediation Pattern==&lt;br /&gt;
The solution architecture for the intermediation pattern has been designed in the first pilot iteration. Please refer to [[DBA D4.6 Pilot planning|D4.6 Pilot planning]] for this architecture (not included in the wiki yet). &lt;br /&gt;
&lt;br /&gt;
The solution architecture remains unchanged, except for two additional requirements for the eProcedure portal that have been introduced by the S&amp;amp;N pattern. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |eProcedure portal&lt;br /&gt;
|1&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal needs to be extended to initiate a subscription (start of S&amp;amp;N pattern). Whether a subscription is needed after processing the evidence is depending on the rules and regulation the data evaluator implements.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal might need to be adapted to include rules and texts for informing the user on subscriptions &amp;amp; possibly notifications.&lt;br /&gt;
&lt;br /&gt;
As S&amp;amp;N is out of scope of the SDGR, this informative step is not part of the explicit request process. However, the user should be informed of subscriptions. &lt;br /&gt;
| Has no priority in piloting DBA S&amp;amp;N. Might be implemented by the DE, but it doesn't need to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3440</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3440"/>
		<updated>2021-08-31T09:31:57Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Component deployment */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DBA pilot iteration 2==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
#extending use of the intermediation pattern to allow for more fine grained powers validation: see chapter 2.&lt;br /&gt;
#the Subscription and notification pattern: see chapter 3.&lt;br /&gt;
#the Lookup pattern (the lookup of evidence, not individual attributes): see chapter 4.&lt;br /&gt;
&lt;br /&gt;
Chapter 5 specifies two additional requirements for the intermediation pattern to initiate subscriptions.&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for DBA authentication and powers validation==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
===General design decisions===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
#The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
#The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
#The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
#The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
#Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
#Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
*The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalPersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
*The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
*Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not.&lt;br /&gt;
* Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
#the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
#the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
#the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
#the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
#the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
|eProcedure portal front-end&lt;br /&gt;
eProcedure portal back-end&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
|Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
===Component description===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Front-end&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure portal Front-end handles all user interaction on the web. For piloting DBA, the eProcedure portal Front-end needs to add the eIDAS login option to the login-webpage. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal).  &lt;br /&gt;
|None. &lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Back-end&lt;br /&gt;
|&lt;br /&gt;
|The eProcedure portal Back-end connects to the national eIDAS node via the specific eIDAS connector. The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
Furthermore, the eProcedure portal Back-end should evaluate the authentication result received from the eIDAS connector. &lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the natural person attributes (at least the mandatory ones) '''''- to be discussed. This does not work with node 2.5/profile 1.2 implemented by AT (and SE?).'''''&lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
*grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
*request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
*grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
| To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
| In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component Deployment===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
*can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
*can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
===Configuration of authentication requests===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
*powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
**request:&lt;br /&gt;
***scope of powers to validate&lt;br /&gt;
***type of representation allowed&lt;br /&gt;
***source of powers accepted&lt;br /&gt;
**response:&lt;br /&gt;
***validation result (successful or not)&lt;br /&gt;
***type of representation&lt;br /&gt;
***source of powers&lt;br /&gt;
&lt;br /&gt;
===Configuration of harmonised services===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
*The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side).&lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension.&lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Subscription &amp;amp; Notification pattern==&lt;br /&gt;
This section specifies the solution for the Subscription &amp;amp; Notification pattern that will be piloted by the DBA pilot in the second iteration.  &lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Modify DO/DE Mocks for the S&amp;amp;N pattern: for testing the S&amp;amp;N pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
*Common component for Cross-border subscriptions and notification.&lt;br /&gt;
*Event Notification, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Inspecting the log files for examining an error in sending a subscription request or notification.&lt;br /&gt;
* Resend a subscription request in case of an error;&lt;br /&gt;
* Resending a notification in case of an error (notification front-end);&lt;br /&gt;
*Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
*Authorisation of DE's subscribing and DO's notifying (the component &amp;quot;authorization controller&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:      &lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the S&amp;amp;N pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the S&amp;amp;N pattern. For the S&amp;amp;N pattern, the authorization controller should:      &lt;br /&gt;
**Establish whether the DE is allowed to subscribe. This prevents unauthorised access to company data (in the form of notifications). This authorisation should be checked by the DT.&lt;br /&gt;
**Establish whether the DO is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. This authorisation should be checked by the DR.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
#requesting a subscription (DE to DO)&lt;br /&gt;
# confirming a subscription (DO to DE)&lt;br /&gt;
# notifying a business event (DO to DE)&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for S&amp;amp;N:&lt;br /&gt;
*The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the IEM (WP3).&lt;br /&gt;
*There will be just one data owner per Member State: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
*Using a single subscription request, the DE will subscribe to updates for a single company in a single Member State. &lt;br /&gt;
**As soon as the DE wants to subscribe to updates of multiple companies at one DO, it needs to send multiple subscription request to that DO (one for each company it wants to subscribe to). &lt;br /&gt;
**As soon as the DE wants to subscribe to updates for one company in two Member States, it needs to request two separate subscriptions, one for each Member State. This use case is not applicable to the DBA pilot though. &lt;br /&gt;
*A notification concerns only one single event of one single company and will be addressed to only one Member State. &lt;br /&gt;
**In case DE's from different Member States have subscribed to business events of a specific company, the DP needs to notify each of the Member States individually.&lt;br /&gt;
**In case the DP needs to notify a DE of multiple events for a specific company, the DP needs to send multiple notifications (one for each event). &lt;br /&gt;
**In case the DP needs to notify a DE of one event impacting multiple companies, the DP needs to send multiple notifications (one for each company). &lt;br /&gt;
*Business event notification is considered an extension to the SDGR, hence explicit request and the preview functions won't be implemented.&lt;br /&gt;
*The S&amp;amp;N pattern has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for exchange of cross-border subscription and notification messages.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the S&amp;amp;N patterns includes required functionality of the OOP Technical System (common components) expressed as application components and interfaces in the diagram below. Some common components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Subscription &amp;amp; Notification pattern (S&amp;amp;N) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS S&amp;amp;N.png|alt=OOP TS DBA Subscription &amp;amp; Notification|none|frame|OOP TS DBA Subscription &amp;amp; Notification]]&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. The process realisation is split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern|Subscription and Notification]] in the Project Start Architecture (PSA 2nd iteration) for more details.&lt;br /&gt;
&lt;br /&gt;
=====''Subscription''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
| eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
=====''Notification''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify cross-border event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*Event handler to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
*Notification Mismatch Signal&lt;br /&gt;
*Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
*collecting relevant data for a subscription request&lt;br /&gt;
*keeping track of subscriptions of the DE&lt;br /&gt;
*processing subscription confirmations / errors&lt;br /&gt;
*determining an appropriate response to a notification (e.g. discard or Lookup updated evidence)&lt;br /&gt;
*updating logs&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|Requires new functionality for S&amp;amp;N pattern in each of the DE's. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''' is the required functionality generic enough to justify a common component that DE's can deploy? Each DE needs to keep track of its subscriptions and needs event interpretation functionality as well. To some extend, registering the subscriptions is a mirror of the subscription system of the DO. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
*requesting (changes to) subscriptions&lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
*receiving notifications&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface.&lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N pattern to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|MS SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration.&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''': is this generic enough to justify a common component that SO's may deploy if they like?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
#a company&lt;br /&gt;
#one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS interface&lt;br /&gt;
|1&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The DR probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time or some other error prevents sending the notification.&lt;br /&gt;
This functionality preferably is not part of the Connector which should remain stateless.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
| For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|Please note that, in piloting DBA, pilot partners will implement an 'all or nothing'-subscription. This way, a subscription for a specific company is for all business events at once or for none (no subscription then). Hence, the element &amp;quot;business event&amp;quot; will not be used to differentiate between business events that are and that aren't included in a subscription. &lt;br /&gt;
&lt;br /&gt;
The element &amp;quot;business event&amp;quot; may be included in the components data store for future use though (to be decided by WP5). &lt;br /&gt;
&lt;br /&gt;
Furthermore, the element may be generalised to &amp;quot;event&amp;quot; to cover future use of other types of events. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
*translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
*filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
*query the subscription system for subscribers to a particular event&lt;br /&gt;
*construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend. &lt;br /&gt;
* The DO mock should mock the cross-border event handler and subscription system.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |DE mock&lt;br /&gt;
|1&lt;br /&gt;
|Requesting a subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct subscription request&lt;br /&gt;
* show subscription request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Show subscription confirmation on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Show subscription error on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Changing a registered subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: subscription identifier from DO&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct change request&lt;br /&gt;
* show change request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |DO mock&lt;br /&gt;
|1&lt;br /&gt;
|Subscription system - process requests:&lt;br /&gt;
&lt;br /&gt;
* XML input: registration request / change request:&lt;br /&gt;
* register a subscription / change a registered subscription&lt;br /&gt;
* XML output: confirm registration / send registration error&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Event handler - Construct and send a notification:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier&lt;br /&gt;
* user select: harmonised event&lt;br /&gt;
* check subscriptions for this company &lt;br /&gt;
* show subscriptions on web page&lt;br /&gt;
* construct notification(s)&lt;br /&gt;
* show notifications XML on web page&lt;br /&gt;
* XML output: send notifications&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
&lt;br /&gt;
*DNS, SML will be reused from iteration 1.&lt;br /&gt;
* SMP, eDelivery Access Point will be reused from iteration 1.&lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.&lt;br /&gt;
* The DE4A Connector needs an update to support the S&amp;amp;N flows and messages.&lt;br /&gt;
*Various MS specific interfaces may be needed for (sub)system integration.&lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.&lt;br /&gt;
* The DO needs cross-border event handling functionality&lt;br /&gt;
*The DE needs event interpretation functionality and triggers for follow-up actions, like Lookup of evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*design messages for subscription request, subscription confirmation, subscription error and notification.&lt;br /&gt;
* analysis and design authorisation controller (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*extend the DE4A connector for S&amp;amp;N&lt;br /&gt;
*extend (the configuration of) the integrated AS4 gateway for S&amp;amp;N&lt;br /&gt;
*adapt the Evidence service locator (ESL) configuration file /  Issuing Authority Locator (IAL) if required for S&amp;amp;N.&lt;br /&gt;
*design and develop the cross-border event handler&lt;br /&gt;
*examine possibility for generic components for &amp;quot;subscription system&amp;quot; and S&amp;amp;N back-end functionality of &amp;quot;eProcedure back-office backend&amp;quot;&lt;br /&gt;
*develop the DE and Do mocks&lt;br /&gt;
&lt;br /&gt;
===Configuration of business events===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces of the common components are expected to remain largely the same with an expansion for the S&amp;amp;N pattern. &lt;br /&gt;
&lt;br /&gt;
Note: We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs: ESL and IAL. However, for S&amp;amp;N there is no evidence lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration fileIssuing Authority Locator (IAL) TBC&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery Acess Point):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery Access Point to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*request ID (correlation)&lt;br /&gt;
*subject identifier (company in question)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*event catalogue (DBA fixed business events)&lt;br /&gt;
*action 'subscribe'/'change subscription'&lt;br /&gt;
*(new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
*ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription confirmation&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
*request ID&lt;br /&gt;
&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
*ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*subscriber identifier (DE ID = participant ID)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*notification&lt;br /&gt;
&lt;br /&gt;
#subject identifier (company in question)&lt;br /&gt;
#event catalogue&lt;br /&gt;
#event&lt;br /&gt;
#timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
*ACK (from DR)&lt;br /&gt;
|-&lt;br /&gt;
|Subscription system&lt;br /&gt;
|IN (from DE4A connector to subscription system) - for subscribing:&lt;br /&gt;
&lt;br /&gt;
- subscription request&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- subscription confirmation&lt;br /&gt;
&lt;br /&gt;
- subscription error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IN (from cross-border event handler) - for composing the list of notifications:&lt;br /&gt;
&lt;br /&gt;
- subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- list of subscribers (DE participant ID's).&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          array of notifications&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Lookup pattern==&lt;br /&gt;
This section specifies the solution for the Lookup pattern that will be piloted by the DBA pilot in the second iteration. Basically, the Lookup pattern will be implemented as the intermediation pattern, but without: user authentication, explicit request and preview. Instead of having the eProcedure portal managing the OOP TS flow in interaction with he user, it will be the eProcedure back-office that will initiate the lookup and process the evidence. &lt;br /&gt;
&lt;br /&gt;
The Lookup pattern will be used to quickly retrieve (updated) evidence needed to keep a local company data store up-to-date, to re-asses a service provided or for generic fraud prevention purposes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Evidence Lookup, the PSA defines several options for implementing the Lookup pattern. The option chosen is based on requesting (an updated version of) evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
*Authorisation of DE's to retrieve the requested evidence (the component &amp;quot;authorisation controller&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:&lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the Lookup pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the Lookup (and intermediation) pattern. For the Lookup pattern, the authorization controller should establish whether the DE is allowed to retrieve the requested evidence type. This prevents unauthorised access to company data. This authorisation should be checked by the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the Lookup pattern. This means that eDelivery in the Lookup pattern will be used for:&lt;br /&gt;
&lt;br /&gt;
#requesting evidence (DE to DO)&lt;br /&gt;
#sending the evidence (DO to DE)&lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for Lookup:&lt;br /&gt;
*Based on a received notification message (S&amp;amp;N pattern) the DC, if desired, retrieves the Evidence using the Lookup.&lt;br /&gt;
*The explicit request and the preview functions won't be implemented as Lookup is considered 'beyond SDGR'&lt;br /&gt;
*The Lookup has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for performing the lookup of an evidence.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the Lookup pattern specifies required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Lookup Pattern (LKP) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS LKP.png|alt=OOPT TS Lookup|none|frame|Components of the Lookup pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. &lt;br /&gt;
&lt;br /&gt;
Please note that we assume the common components for the Lookup pattern can be re-used 1-on-1 of the intermediation pattern (same components, same functionality, same deployments). Only the initiation of the evidence request and the processing of the evidence response is different (not eProcedure portal but eProcedure backoffice). Hence, for the common components, just a referral has been included. For more information we refer to the solution architecture of the intermediation pattern. &lt;br /&gt;
&lt;br /&gt;
See [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|eProcedure Backoffice Back-end: &lt;br /&gt;
&lt;br /&gt;
*Evidence Type Translator&lt;br /&gt;
&lt;br /&gt;
Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|''Lookup routing information (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Request evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Evaluate evidence request (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish subject identity (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability of OOP (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Extract evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability or Delay of evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish non-availability of OOP (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Compose evidence response (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Transfer evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Forward evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Assess Evidence&lt;br /&gt;
|eProcedure Backoffice Back-end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component handles all backoffice functionality for the eProcedure. For the Lookup pattern it:&lt;br /&gt;
&lt;br /&gt;
*translates the required evidence to the canonical evidence to request&lt;br /&gt;
*requests the canonical evidence to the MS DE4A connector&lt;br /&gt;
*receives the evidence (or error)&lt;br /&gt;
*processes the evidence (update local data store, process possible impact on service provided to the company / general fraud detection or prevention).&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|This new functionality needs to be designed and developed by each of the participating DE's.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
*requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
| DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including encryption and decryption as well as signing/sealing and validating signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
&lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used without change. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
   &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office&lt;br /&gt;
|1&lt;br /&gt;
|Once the eProcedure backoffice logic has assessed the notification and has concluded one or more evidences (or updates to evidences) need to be requested, the back-office should be able to send the evidence request to the OOP TS interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, in case of multiple data owners in one Member State supporting the required evidence type, the Data evaluator needs to be aware which one to contact (as there is no possibility to ask the user). Hence, after processing the initial evidence in the intermediation pattern, it needs to store the data owner ('participant') to contact for updates. In the DBA pilot there will be only one data owner per Member State, so there is no need to store the participant at the DE.&lt;br /&gt;
|The evidence request will be the same or similar to the request of the intermediation pattern.&lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ESL/IAL&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data service&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend.&lt;br /&gt;
* The DO mock should mock the data service.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|DE mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DE mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DO mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DO mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
*See intermediation pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*analyse and design authorisation controller for the Lookup pattern (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*double check to ensure the common components can be re-used from the intermediation pattern without any change.&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces remain unchanged. &lt;br /&gt;
==Solution architecture for Intermediation Pattern==&lt;br /&gt;
The solution architecture for the intermediation pattern has been designed in the first pilot iteration. Please refer to [[DBA D4.6 Pilot planning|D4.6 Pilot planning]] for this architecture (not included in the wiki yet). &lt;br /&gt;
&lt;br /&gt;
The solution architecture remains unchanged, except for two additional requirements for the eProcedure portal that have been introduced by the S&amp;amp;N pattern. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |eProcedure portal&lt;br /&gt;
|1&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal needs to be extended to initiate a subscription (start of S&amp;amp;N pattern). Whether a subscription is needed after processing the evidence is depending on the rules and regulation the data evaluator implements.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal might need to be adapted to include rules and texts for informing the user on subscriptions &amp;amp; possibly notifications.&lt;br /&gt;
&lt;br /&gt;
As S&amp;amp;N is out of scope of the SDGR, this informative step is not part of the explicit request process. However, the user should be informed of subscriptions. &lt;br /&gt;
| Has no priority in piloting DBA S&amp;amp;N. Might be implemented by the DE, but it doesn't need to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3439</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3439"/>
		<updated>2021-08-31T09:31:18Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Component deployment */ typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DBA pilot iteration 2==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
#extending use of the intermediation pattern to allow for more fine grained powers validation: see chapter 2.&lt;br /&gt;
#the Subscription and notification pattern: see chapter 3.&lt;br /&gt;
#the Lookup pattern (the lookup of evidence, not individual attributes): see chapter 4.&lt;br /&gt;
&lt;br /&gt;
Chapter 5 specifies two additional requirements for the intermediation pattern to initiate subscriptions.&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for DBA authentication and powers validation==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
===General design decisions===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
#The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
#The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
#The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
#The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
#Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
#Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
*The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalPersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
*The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
*Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not.&lt;br /&gt;
* Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
#the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
#the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
#the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
#the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
#the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
|eProcedure portal front-end&lt;br /&gt;
eProcedure portal back-end&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
|Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
===Component description===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Front-end&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure portal Front-end handles all user interaction on the web. For piloting DBA, the eProcedure portal Front-end needs to add the eIDAS login option to the login-webpage. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal).  &lt;br /&gt;
|None. &lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal Back-end&lt;br /&gt;
|&lt;br /&gt;
|The eProcedure portal Back-end connects to the national eIDAS node via the specific eIDAS connector. The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
Furthermore, the eProcedure portal Back-end should evaluate the authentication result received from the eIDAS connector. &lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the natural person attributes (at least the mandatory ones) '''''- to be discussed. This does not work with node 2.5/profile 1.2 implemented by AT (and SE?).'''''&lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
*grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
*authentication at ''LoA substantial''&lt;br /&gt;
*the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
*request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
*deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
*grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
| To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
| In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component Deployment===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
*can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
*can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
===Configuration of authentication requests===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*regular eIDAS request &amp;amp; response&lt;br /&gt;
**eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
**eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
*powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
**request:&lt;br /&gt;
***scope of powers to validate&lt;br /&gt;
***type of representation allowed&lt;br /&gt;
***source of powers accepted&lt;br /&gt;
**response:&lt;br /&gt;
***validation result (successful or not)&lt;br /&gt;
***type of representation&lt;br /&gt;
***source of powers&lt;br /&gt;
&lt;br /&gt;
===Configuration of harmonised services===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
*The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side).&lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension.&lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Subscription &amp;amp; Notification pattern==&lt;br /&gt;
This section specifies the solution for the Subscription &amp;amp; Notification pattern that will be piloted by the DBA pilot in the second iteration.  &lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Modify DO/DE Mocks for the S&amp;amp;N pattern: for testing the S&amp;amp;N pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
*Common component for Cross-border subscriptions and notification.&lt;br /&gt;
*Event Notification, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Inspecting the log files for examining an error in sending a subscription request or notification.&lt;br /&gt;
* Resend a subscription request in case of an error;&lt;br /&gt;
* Resending a notification in case of an error (notification front-end);&lt;br /&gt;
*Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
*Authorisation of DE's subscribing and DO's notifying (the component &amp;quot;authorization controller&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:      &lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the S&amp;amp;N pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the S&amp;amp;N pattern. For the S&amp;amp;N pattern, the authorization controller should:      &lt;br /&gt;
**Establish whether the DE is allowed to subscribe. This prevents unauthorised access to company data (in the form of notifications). This authorisation should be checked by the DT.&lt;br /&gt;
**Establish whether the DO is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. This authorisation should be checked by the DR.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
#requesting a subscription (DE to DO)&lt;br /&gt;
# confirming a subscription (DO to DE)&lt;br /&gt;
# notifying a business event (DO to DE)&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for S&amp;amp;N:&lt;br /&gt;
*The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the IEM (WP3).&lt;br /&gt;
*There will be just one data owner per Member State: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
*Using a single subscription request, the DE will subscribe to updates for a single company in a single Member State. &lt;br /&gt;
**As soon as the DE wants to subscribe to updates of multiple companies at one DO, it needs to send multiple subscription request to that DO (one for each company it wants to subscribe to). &lt;br /&gt;
**As soon as the DE wants to subscribe to updates for one company in two Member States, it needs to request two separate subscriptions, one for each Member State. This use case is not applicable to the DBA pilot though. &lt;br /&gt;
*A notification concerns only one single event of one single company and will be addressed to only one Member State. &lt;br /&gt;
**In case DE's from different Member States have subscribed to business events of a specific company, the DP needs to notify each of the Member States individually.&lt;br /&gt;
**In case the DP needs to notify a DE of multiple events for a specific company, the DP needs to send multiple notifications (one for each event). &lt;br /&gt;
**In case the DP needs to notify a DE of one event impacting multiple companies, the DP needs to send multiple notifications (one for each company). &lt;br /&gt;
*Business event notification is considered an extension to the SDGR, hence explicit request and the preview functions won't be implemented.&lt;br /&gt;
*The S&amp;amp;N pattern has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for exchange of cross-border subscription and notification messages.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the S&amp;amp;N patterns includes required functionality of the OOP Technical System (common components) expressed as application components and interfaces in the diagram below. Some common components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Subscription &amp;amp; Notification pattern (S&amp;amp;N) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS S&amp;amp;N.png|alt=OOP TS DBA Subscription &amp;amp; Notification|none|frame|OOP TS DBA Subscription &amp;amp; Notification]]&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. The process realisation is split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern|Subscription and Notification]] in the Project Start Architecture (PSA 2nd iteration) for more details.&lt;br /&gt;
&lt;br /&gt;
=====''Subscription''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
*eProcedure Back-office Backend&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
| eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|&lt;br /&gt;
*Subscription System&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
*Back-office to OOP TS interface&lt;br /&gt;
*DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
=====''Notification''=====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify cross-border event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|&lt;br /&gt;
*Cross-border Event Handler&lt;br /&gt;
*DE4A connector&lt;br /&gt;
*Event handler to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
*ESL config file&lt;br /&gt;
*DNS &amp;amp; SML&lt;br /&gt;
*MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
*Message Encryption&lt;br /&gt;
*e-Signature Creation Service&lt;br /&gt;
*Data Exchange Service&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
*eSignature Validation Service&lt;br /&gt;
*Message Decryption&lt;br /&gt;
*Authority Check (out of scope)&lt;br /&gt;
|eDelivery Access point:&lt;br /&gt;
*Trust Service Provisioning&lt;br /&gt;
*Data Encryption/Decryption&lt;br /&gt;
*Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
*Notification Mismatch Signal&lt;br /&gt;
*Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
*collecting relevant data for a subscription request&lt;br /&gt;
*keeping track of subscriptions of the DE&lt;br /&gt;
*processing subscription confirmations / errors&lt;br /&gt;
*determining an appropriate response to a notification (e.g. discard or Lookup updated evidence)&lt;br /&gt;
*updating logs&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|Requires new functionality for S&amp;amp;N pattern in each of the DE's. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''' is the required functionality generic enough to justify a common component that DE's can deploy? Each DE needs to keep track of its subscriptions and needs event interpretation functionality as well. To some extend, registering the subscriptions is a mirror of the subscription system of the DO. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
*requesting (changes to) subscriptions&lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
*receiving notifications&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface.&lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N pattern to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|MS SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration.&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''': is this generic enough to justify a common component that SO's may deploy if they like?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
#a company&lt;br /&gt;
#one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS interface&lt;br /&gt;
|1&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The DR probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time or some other error prevents sending the notification.&lt;br /&gt;
This functionality preferably is not part of the Connector which should remain stateless.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
| For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|Please note that, in piloting DBA, pilot partners will implement an 'all or nothing'-subscription. This way, a subscription for a specific company is for all business events at once or for none (no subscription then). Hence, the element &amp;quot;business event&amp;quot; will not be used to differentiate between business events that are and that aren't included in a subscription. &lt;br /&gt;
&lt;br /&gt;
The element &amp;quot;business event&amp;quot; may be included in the components data store for future use though (to be decided by WP5). &lt;br /&gt;
&lt;br /&gt;
Furthermore, the element may be generalised to &amp;quot;event&amp;quot; to cover future use of other types of events. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
*translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
*filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
*query the subscription system for subscribers to a particular event&lt;br /&gt;
*construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend. &lt;br /&gt;
* The DO mock should mock the cross-border event handler and subscription system.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |DE mock&lt;br /&gt;
|1&lt;br /&gt;
|Requesting a subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct subscription request&lt;br /&gt;
* show subscription request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Show subscription confirmation on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Show subscription error on web page.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Changing a registered subscription:&lt;br /&gt;
&lt;br /&gt;
* user input: subscription identifier from DO&lt;br /&gt;
* user input: company identifier, starting date and time, ending date and time (optionally)&lt;br /&gt;
* user select: Data Owner&lt;br /&gt;
* construct change request&lt;br /&gt;
* show change request on web page&lt;br /&gt;
* XML output: send request to DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |DO mock&lt;br /&gt;
|1&lt;br /&gt;
|Subscription system - process requests:&lt;br /&gt;
&lt;br /&gt;
* XML input: registration request / change request:&lt;br /&gt;
* register a subscription / change a registered subscription&lt;br /&gt;
* XML output: confirm registration / send registration error&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Event handler - Construct and send a notification:&lt;br /&gt;
&lt;br /&gt;
* user input: company identifier&lt;br /&gt;
* user select: harmonised event&lt;br /&gt;
* check subscriptions for this company &lt;br /&gt;
* show subscriptions on web page&lt;br /&gt;
* construct notification(s)&lt;br /&gt;
* show notifications XML on web page&lt;br /&gt;
* XML output: send notifications&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
&lt;br /&gt;
*DNS, SML will be reused from iteration 1.&lt;br /&gt;
* SMP, eDelivery Access Point will be reused from iteration 1.&lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.&lt;br /&gt;
* The DE4A Connector needs an update to support the S&amp;amp;N flows and messages.&lt;br /&gt;
*Various MS specific interfaces may be needed for (sub)system integration.&lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.&lt;br /&gt;
* The DO needs cross-border event handling functionality&lt;br /&gt;
*The DE needs event interpretation functionality and triggers for follow-up actions, like Lookup of evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*design messages for subscription request, subscription confirmation, subscription error and notification.&lt;br /&gt;
* analyse and design authorisation controller (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*extend the DE4A connector for S&amp;amp;N&lt;br /&gt;
*extend (the configuration of) the integrated AS4 gateway for S&amp;amp;N&lt;br /&gt;
*adapt the Evidence service locator (ESL) configuration file /  Issuing Authority Locator (IAL) if required for S&amp;amp;N.&lt;br /&gt;
*design and develop the cross-border event handler&lt;br /&gt;
*examine possibility for generic components for &amp;quot;subscription system&amp;quot; and S&amp;amp;N back-end functionality of &amp;quot;eProcedure back-office backend&amp;quot;&lt;br /&gt;
*develop the DE and Do mocks&lt;br /&gt;
&lt;br /&gt;
===Configuration of business events===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces of the common components are expected to remain largely the same with an expansion for the S&amp;amp;N pattern. &lt;br /&gt;
&lt;br /&gt;
Note: We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs: ESL and IAL. However, for S&amp;amp;N there is no evidence lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration fileIssuing Authority Locator (IAL) TBC&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery Acess Point):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery Access Point to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*request ID (correlation)&lt;br /&gt;
*subject identifier (company in question)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*event catalogue (DBA fixed business events)&lt;br /&gt;
*action 'subscribe'/'change subscription'&lt;br /&gt;
*(new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
*ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription confirmation&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
*request ID&lt;br /&gt;
&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*subscriber identifier (DE id = participant ID)&lt;br /&gt;
*status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
*ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
*subscriber identifier (DE ID = participant ID)&lt;br /&gt;
*data owner identifier (DO id = participant ID)&lt;br /&gt;
*notification&lt;br /&gt;
&lt;br /&gt;
#subject identifier (company in question)&lt;br /&gt;
#event catalogue&lt;br /&gt;
#event&lt;br /&gt;
#timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
*ACK (from DR)&lt;br /&gt;
|-&lt;br /&gt;
|Subscription system&lt;br /&gt;
|IN (from DE4A connector to subscription system) - for subscribing:&lt;br /&gt;
&lt;br /&gt;
- subscription request&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- subscription confirmation&lt;br /&gt;
&lt;br /&gt;
- subscription error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IN (from cross-border event handler) - for composing the list of notifications:&lt;br /&gt;
&lt;br /&gt;
- subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- list of subscribers (DE participant ID's).&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          array of notifications&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Solution architecture for Lookup pattern==&lt;br /&gt;
This section specifies the solution for the Lookup pattern that will be piloted by the DBA pilot in the second iteration. Basically, the Lookup pattern will be implemented as the intermediation pattern, but without: user authentication, explicit request and preview. Instead of having the eProcedure portal managing the OOP TS flow in interaction with he user, it will be the eProcedure back-office that will initiate the lookup and process the evidence. &lt;br /&gt;
&lt;br /&gt;
The Lookup pattern will be used to quickly retrieve (updated) evidence needed to keep a local company data store up-to-date, to re-asses a service provided or for generic fraud prevention purposes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
*Evidence Lookup, the PSA defines several options for implementing the Lookup pattern. The option chosen is based on requesting (an updated version of) evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
*Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
*Authorisation of DE's to retrieve the requested evidence (the component &amp;quot;authorisation controller&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:&lt;br /&gt;
&lt;br /&gt;
*DBA requests WP3 to examine the authorization controller for the Lookup pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the Lookup (and intermediation) pattern. For the Lookup pattern, the authorization controller should establish whether the DE is allowed to retrieve the requested evidence type. This prevents unauthorised access to company data. This authorisation should be checked by the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the Lookup pattern. This means that eDelivery in the Lookup pattern will be used for:&lt;br /&gt;
&lt;br /&gt;
#requesting evidence (DE to DO)&lt;br /&gt;
#sending the evidence (DO to DE)&lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
===General Design Decisions===&lt;br /&gt;
The following design decisions have been applied to the solution for Lookup:&lt;br /&gt;
*Based on a received notification message (S&amp;amp;N pattern) the DC, if desired, retrieves the Evidence using the Lookup.&lt;br /&gt;
*The explicit request and the preview functions won't be implemented as Lookup is considered 'beyond SDGR'&lt;br /&gt;
*The Lookup has been designed without any user interaction.&lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for performing the lookup of an evidence.&lt;br /&gt;
&lt;br /&gt;
===Process realisation===&lt;br /&gt;
The solution for the Lookup pattern specifies required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Lookup Pattern (LKP) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS LKP.png|alt=OOPT TS Lookup|none|frame|Components of the Lookup pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. &lt;br /&gt;
&lt;br /&gt;
Please note that we assume the common components for the Lookup pattern can be re-used 1-on-1 of the intermediation pattern (same components, same functionality, same deployments). Only the initiation of the evidence request and the processing of the evidence response is different (not eProcedure portal but eProcedure backoffice). Hence, for the common components, just a referral has been included. For more information we refer to the solution architecture of the intermediation pattern. &lt;br /&gt;
&lt;br /&gt;
See [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|eProcedure Backoffice Back-end: &lt;br /&gt;
&lt;br /&gt;
*Evidence Type Translator&lt;br /&gt;
&lt;br /&gt;
Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|''Lookup routing information (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Request evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Evaluate evidence request (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish subject identity (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability of OOP (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Extract evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability or Delay of evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish non-availability of OOP (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Compose evidence response (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Transfer evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Forward evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Assess Evidence&lt;br /&gt;
|eProcedure Backoffice Back-end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component description===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component handles all backoffice functionality for the eProcedure. For the Lookup pattern it:&lt;br /&gt;
&lt;br /&gt;
*translates the required evidence to the canonical evidence to request&lt;br /&gt;
*requests the canonical evidence to the MS DE4A connector&lt;br /&gt;
*receives the evidence (or error)&lt;br /&gt;
*processes the evidence (update local data store, process possible impact on service provided to the company / general fraud detection or prevention).&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|This new functionality needs to be designed and developed by each of the participating DE's.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
*requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
| DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including encryption and decryption as well as signing/sealing and validating signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
&lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used without change. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
| Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Functional requirements===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
   &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office&lt;br /&gt;
|1&lt;br /&gt;
|Once the eProcedure backoffice logic has assessed the notification and has concluded one or more evidences (or updates to evidences) need to be requested, the back-office should be able to send the evidence request to the OOP TS interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, in case of multiple data owners in one Member State supporting the required evidence type, the Data evaluator needs to be aware which one to contact (as there is no possibility to ask the user). Hence, after processing the initial evidence in the intermediation pattern, it needs to store the data owner ('participant') to contact for updates. In the DBA pilot there will be only one data owner per Member State, so there is no need to store the participant at the DE.&lt;br /&gt;
|The evidence request will be the same or similar to the request of the intermediation pattern.&lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ESL/IAL&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data service&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements for the DE and DO mocks.&lt;br /&gt;
&lt;br /&gt;
* The DE mock should mock the eProcedure Back-office Backend.&lt;br /&gt;
* The DO mock should mock the data service.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|DE mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DE mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DO mock&lt;br /&gt;
|1&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
Same functionality as DO mock for Intermediation pattern.&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Component deployment===&lt;br /&gt;
*See intermediation pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
*analyse and design authorisation controller for the Lookup pattern (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
*double check to ensure the common components can be re-used from the intermediation pattern without any change.&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces remain unchanged. &lt;br /&gt;
==Solution architecture for Intermediation Pattern==&lt;br /&gt;
The solution architecture for the intermediation pattern has been designed in the first pilot iteration. Please refer to [[DBA D4.6 Pilot planning|D4.6 Pilot planning]] for this architecture (not included in the wiki yet). &lt;br /&gt;
&lt;br /&gt;
The solution architecture remains unchanged, except for two additional requirements for the eProcedure portal that have been introduced by the S&amp;amp;N pattern. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |eProcedure portal&lt;br /&gt;
|1&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal needs to be extended to initiate a subscription (start of S&amp;amp;N pattern). Whether a subscription is needed after processing the evidence is depending on the rules and regulation the data evaluator implements.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal might need to be adapted to include rules and texts for informing the user on subscriptions &amp;amp; possibly notifications.&lt;br /&gt;
&lt;br /&gt;
As S&amp;amp;N is out of scope of the SDGR, this informative step is not part of the explicit request process. However, the user should be informed of subscriptions. &lt;br /&gt;
| Has no priority in piloting DBA S&amp;amp;N. Might be implemented by the DE, but it doesn't need to.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3404</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3404"/>
		<updated>2021-08-26T07:49:57Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Solution architecture for Subscription &amp;amp; Notification pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== No DBA pilot iteration 2 ==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
# extending use of the intermediation pattern to allow for more fine grained powers validation: see chapter 2.&lt;br /&gt;
# the Subscription and notification pattern: see chapter 3.&lt;br /&gt;
# the Lookup pattern (the lookup of evidence, not individual attributes): see chapter 4.&lt;br /&gt;
&lt;br /&gt;
Chapter 5 specifies two additional requirements for the intermediation pattern to initiate subscriptions.&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for DBA authentication and powers validation ==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
=== General design decisions ===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
# The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
# The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
# The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
# The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
# Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
# Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
* The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalPersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
* The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
* Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not. &lt;br /&gt;
*Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
# the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
# the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
# the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
# the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
# the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
| eProcedure portal&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
| Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
| Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
| Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
=== Component description ===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure  portal handles all user interaction on the web. It connects to the national eIDAS node via the specific eIDAS connector. This requires the  eProcedure portal to add the eIDAS login option to the login-webpage and interface to the specific eIDAS connector. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal). The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the natural person attributes (at least the mandatory ones) '''''- to be discussed. This does not work with node 2.5/profile 1.2 implemented by AT (and SE?).''''' &lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
* grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
* request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
* grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
|To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
|In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component Deployment ===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
* can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
* can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
=== Configuration of authentication requests ===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
* powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
** request:&lt;br /&gt;
*** scope of powers to validate&lt;br /&gt;
*** type of representation allowed&lt;br /&gt;
*** source of powers accepted&lt;br /&gt;
** response:&lt;br /&gt;
*** validation result (successful or not)&lt;br /&gt;
*** type of representation&lt;br /&gt;
*** source of powers&lt;br /&gt;
&lt;br /&gt;
=== Configuration of harmonised services ===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side). &lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension. &lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Subscription &amp;amp; Notification pattern ==&lt;br /&gt;
This section specifies the solution for the Subscription &amp;amp; Notification pattern that will be piloted by the DBA pilot in the second iteration.  &lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
* Modify DO/DE Mocks for the S&amp;amp;N pattern: for testing the S&amp;amp;N pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
* Common component for Cross-border subscriptions and notification.&lt;br /&gt;
* Event Notification, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
* Inspecting the log files for examining an error in sending a subscription request or notification. &lt;br /&gt;
* Resend a subscription request in case of an error; &lt;br /&gt;
* Resending a notification in case of an error (notification front-end);&lt;br /&gt;
* Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
* Authorisation of DE's subscribing and DO's notifying (the component &amp;quot;authorization controller&amp;quot;).                   &lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:      &lt;br /&gt;
&lt;br /&gt;
* DBA requests WP3 to examine the authorization controller for the S&amp;amp;N pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the S&amp;amp;N pattern. For the S&amp;amp;N pattern, the authorization controller should:      &lt;br /&gt;
** Establish whether the DE is allowed to subscribe. This prevents unauthorised access to company data (in the form of notifications). This authorisation should be checked by the DT.&lt;br /&gt;
** Establish whether the DO is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. This authorisation should be checked by the DR.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
# requesting a subscription (DE to DO)      &lt;br /&gt;
# confirming a subscription (DO to DE)      &lt;br /&gt;
# notifying a business event (DO to DE)      &lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
The following design decisions have been applied to the solution for S&amp;amp;N:&lt;br /&gt;
* The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the IEM (WP3).&lt;br /&gt;
* There will be just one data owner per Member State: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
* The DC will subscribe in one Member State at a time.&lt;br /&gt;
* The DP will notify one Member State at the time. In case DE's from different Member States have subscribed to business events of a single company, the DP needs to notify each of the Member States individually.&lt;br /&gt;
* Business event notification is considered an extension to the SDGR, hence explicit request and the preview functions won't be implemented.&lt;br /&gt;
* The S&amp;amp;N pattern has been designed without any user interaction. &lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for exchange of cross-border subscription and notification messages.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the S&amp;amp;N patterns includes required functionality of the OOP Technical System (common components) expressed as application components and interfaces in the diagram below. Some common components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Subscription &amp;amp; Notification pattern (S&amp;amp;N) with the familiar split in the different roles.&lt;br /&gt;
[[File:OOP TS S&amp;amp;N.png|alt=OOP TS DBA Subscription &amp;amp; Notification|none|frame|OOP TS DBA Subscription &amp;amp; Notification]]&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. The process realisation is split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern|Subscription and Notification]] in the Project Start Architecture (PSA 2nd iteration) for more details.&lt;br /&gt;
&lt;br /&gt;
===== ''Subscription'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
* eProcedure Back-office Backend&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
* eProcedure Back-office Backend&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|&lt;br /&gt;
* Subscription System&lt;br /&gt;
&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|&lt;br /&gt;
* Subscription System&lt;br /&gt;
* DE4A connector&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
===== ''Notification'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify cross-border event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|&lt;br /&gt;
* Cross-border Event Handler&lt;br /&gt;
* Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|&lt;br /&gt;
* Cross-border Event Handler&lt;br /&gt;
* DE4A connector&lt;br /&gt;
* Event handler to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery Access gateway:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|eDelivery Access gateway:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
* Notification Mismatch Signal&lt;br /&gt;
* Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
* collecting relevant data for a subscription request&lt;br /&gt;
* keeping track of subscriptions of the DE&lt;br /&gt;
* processing subscription confirmations / errors&lt;br /&gt;
* determining an appropriate response to a notification (e.g. discard or Lookup updated evidence)&lt;br /&gt;
* updating logs&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|Requires new functionality for S&amp;amp;N pattern in each of the DE's. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''' is the required functionality generic enough to justify a common component that DE's can deploy? Each DE needs to keep track of its subscriptions and needs event interpretation functionality as well. To some extend, registering the subscriptions is a mirror of the subscription system of the DO. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
* requesting (changes to) subscriptions &lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
* receiving notifications&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface.&lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N pattern to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|MS SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
|-&lt;br /&gt;
|Event handler to OOP TS Interface&lt;br /&gt;
|Interface for connecting the OOP TS with the Cross-border Event Handler.&lt;br /&gt;
'''Ivar: why only for event handler? Not for subscription system''' &lt;br /&gt;
&lt;br /&gt;
'''The interfaces are meant as 'logical level interfaces' to bridge OOP TS standard to (if available) national OOP standard. In this case this is very similar to the cross-border event handler. I suggest to remove this component.''' &lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented by the DT. &lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''': is this generic enough to justify a common component that SO's may deploy if they like?&lt;br /&gt;
|-&lt;br /&gt;
|Notification front-end&lt;br /&gt;
|Application component providing the UI for civil servants to dispatch events and consult logging information for trouble shooting.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)?&lt;br /&gt;
|Out of scope for piloting DBA.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
# a company&lt;br /&gt;
# one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine. &lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS interface&lt;br /&gt;
|1&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The DR probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time or some other error prevents sending the notification.&lt;br /&gt;
This functionality preferably is not part of the Connector which should remain stateless.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
|For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|Please note that, in piloting DBA, pilot partners will implement an 'all or nothing'-subscription. This way, a subscription for a specific company is for all business events at once or for none (no subscription then). Hence, the element &amp;quot;business event&amp;quot; will not be used to differentiate between business events that are and that aren't included in a subscription. &lt;br /&gt;
&lt;br /&gt;
The element &amp;quot;business event&amp;quot; may be included in the components data store for future use though (to be decided by WP5). &lt;br /&gt;
&lt;br /&gt;
Furthermore, the element may be generalised to &amp;quot;event&amp;quot; to cover future use of other types of events. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
* translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
* filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
* query the subscription system for subscribers to a particular event&lt;br /&gt;
* construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
&lt;br /&gt;
* DNS, SML will be reused from iteration 1.  &lt;br /&gt;
* SMP, eDelivery AS4 gateway will be reused from iteration 1.  &lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.  &lt;br /&gt;
* The DE4A Connector needs an update to support the S&amp;amp;N flows and messages.&lt;br /&gt;
* Various MS specific interfaces may be needed for (sub)system integration.    &lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.    &lt;br /&gt;
* The DO needs cross-border event handling functionality&lt;br /&gt;
* The DE needs event interpretation functionality and triggers for follow-up actions, like Lookup of evidence. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
* design messages for subscription request, subscription confirmation, subscription error and notification. &lt;br /&gt;
* analyse en design authorisation controller (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
* extend the DE4A connector for S&amp;amp;N&lt;br /&gt;
* extend (the configuration of) the integrated AS4 gateway for S&amp;amp;N&lt;br /&gt;
* adapt the Evidence service locator (ESL) configuration file /  Issuing Authority Locator (IAL) if required for S&amp;amp;N.&lt;br /&gt;
* design and develop the cross-border event handler&lt;br /&gt;
* examine possibility for generic components for &amp;quot;subscription system&amp;quot; and S&amp;amp;N back-end functionality of &amp;quot;eProcedure back-office backend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration of business events ===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces of the common components are expected to remain largely the same with an expansion for the S&amp;amp;N pattern. &lt;br /&gt;
&lt;br /&gt;
Note: We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs: ESL and IAL. However, for S&amp;amp;N there is no evidence lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery AS4 gateway):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery AS4 gateway to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* request ID (correlation)&lt;br /&gt;
* subject identifier (company in question)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* event catalogue (DBA fixed business events)&lt;br /&gt;
* action 'subscribe'/'change subscription'&lt;br /&gt;
* (new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
* ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription confirmation&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
* request ID&lt;br /&gt;
&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
* ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* subscriber identifier (DE ID = participant ID)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* notification&lt;br /&gt;
&lt;br /&gt;
# subject identifier (company in question)&lt;br /&gt;
# event catalogue&lt;br /&gt;
# event&lt;br /&gt;
# timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
* ACK (from DR)&lt;br /&gt;
|-&lt;br /&gt;
|Subscription system&lt;br /&gt;
|IN (from DE4A connector to subscription system) - for subscribing:&lt;br /&gt;
&lt;br /&gt;
- subscription request&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- subscription confirmation&lt;br /&gt;
&lt;br /&gt;
- subscription error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IN (from cross-border event handler) - for composing the list of notifications:&lt;br /&gt;
&lt;br /&gt;
- subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- list of subscribers (DE participant ID's).&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          array of notifications&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Lookup pattern ==&lt;br /&gt;
This section specifies the solution for the Lookup pattern that will be piloted by the DBA pilot in the second iteration. Basically, the Lookup pattern will be implemented as the intermediation pattern, but without: user authentication, explicit request and preview. Instead of having the eProcedure portal managing the OOP TS flow in interaction with he user, it will be the eProcedure back-office that will initiate the lookup and process the evidence. &lt;br /&gt;
&lt;br /&gt;
The Lookup pattern will be used to quickly retrieve (updated) evidence needed to keep a local company data store up-to-date, to re-asses a service provided or for generic fraud prevention purposes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
* Modify DO/DE Mocks for the Lookup pattern: for testing the new pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
* Evidence Lookup, the PSA defines several options for implementing the Lookup pattern. The option chosen is based on requesting (an updated version of) evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
* Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
* Authorisation of DE's to retrieve the requested evidence (the component &amp;quot;authorisation controller&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:&lt;br /&gt;
&lt;br /&gt;
* DBA requests WP3 to examine the authorization controller for the Lookup pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the Lookup (and intermediation) pattern. For the Lookup pattern, the authorization controller should establish whether the DE is allowed to retrieve the requested evidence type. This prevents unauthorised access to company data. This authorisation should be checked by the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the Lookup pattern. This means that eDelivery in the Lookup pattern will be used for:&lt;br /&gt;
&lt;br /&gt;
# requesting evidence (DE to DO)&lt;br /&gt;
# sending the evidence (DO to DE)&lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
The following design decisions have been applied to the solution for Lookup:&lt;br /&gt;
* Based on a received notification message (S&amp;amp;N pattern) the DC, if desired, retrieves the Evidence using the Lookup.&lt;br /&gt;
* The explicit request and the preview functions won't be implemented as Lookup is considered 'beyond SDGR'&lt;br /&gt;
* The Lookup has been designed without any user interaction. &lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for performing the lookup of an evidence.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the Lookup pattern specifies required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Lookup Pattern (LKP) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
'''Harold: Authorization Controller ook uit process realization tabellen verwijderen?'''&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS LKP.png|alt=OOPT TS Lookup|none|frame|Components of the Lookup pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. &lt;br /&gt;
&lt;br /&gt;
Please note that we assume the common components for the Lookup pattern can be re-used 1-on-1 of the intermediation pattern (same components, same functionality, same deployments). Only the initiation of the evidence request and the processing of the evidence response is different (not eProcedure portal but eProcedure backoffice). Hence, for the common components, just a referral has been included. For more information we refer to the solution architecture of the intermediation pattern. &lt;br /&gt;
&lt;br /&gt;
See [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|eProcedure Backoffice Back-end: &lt;br /&gt;
&lt;br /&gt;
* Evidence Type Translator&lt;br /&gt;
&lt;br /&gt;
Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|''Lookup routing information (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Request evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Evaluate evidence request (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish subject identity (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability of OOP (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Extract evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability or Delay of evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish non-availability of OOP (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Compose evidence response (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Transfer evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Forward evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Assess Evidence&lt;br /&gt;
|eProcedure Backoffice Back-end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component handles all backoffice functionality for the eProcedure. For the Lookup pattern it:&lt;br /&gt;
&lt;br /&gt;
* translates the required evidence to the canonical evidence to request&lt;br /&gt;
* requests the canonical evidence to the MS DE4A connector&lt;br /&gt;
* receives the evidence (or error)&lt;br /&gt;
* processes the evidence (update local data store, process possible impact on service provided to the company / general fraud detection or prevention).&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|This new functionality needs to be designed and developed by each of the participating DE's. &lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
* requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|This component – also referred to as eDelivery access point – handles the secure transfer of the data, including encryption and decryption as well as signing/sealing and validating signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
&lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used without change. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
   &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office&lt;br /&gt;
|1&lt;br /&gt;
|Once the eProcedure backoffice logic has assessed the notification and has concluded one or more evidences (or updates to evidences) need to be requested, the back-office should be able to send the evidence request to the OOP TS interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, in case of multiple data owners in one Member State supporting the required evidence type, the Data evaluator needs to be aware which one to contact (as there is no possibility to ask the user). Hence, after processing the initial evidence in the intermediation pattern, it needs to store the data owner ('participant') to contact for updates. In the DBA pilot there will be only one data owner per Member State, so there is no need to store the participant at the DE.&lt;br /&gt;
|The evidence request will be the same or similar to the request of the intermediation pattern.&lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ESL/IAL&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data service&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
* See intermediation pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
* analyse and design authorisation controller for the Lookup pattern (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
* double check to ensure the common components can be re-used from the intermediation pattern without any change. &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
The expected logical interfaces remain unchanged. &lt;br /&gt;
== Solution architecture for Intermediation Pattern ==&lt;br /&gt;
The solution architecture for the intermediation pattern has been designed in the first pilot iteration. Please refer to [[DBA D4.6 Pilot planning|D4.6 Pilot planning]] for this architecture (not included in the wiki yet). &lt;br /&gt;
&lt;br /&gt;
The solution architecture remains unchanged, except for two additional requirements for the eProcedure portal that have been introduced by the S&amp;amp;N pattern. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |eProcedure portal&lt;br /&gt;
|1&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal needs to be extended to initiate a subscription (start of S&amp;amp;N pattern). Whether a subscription is needed after processing the evidence is depending on the rules and regulation the data evaluator implements. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal might need to be adapted to include rules and texts for informing the user on subscriptions &amp;amp; possibly notifications.&lt;br /&gt;
&lt;br /&gt;
As S&amp;amp;N is out of scope of the SDGR, this informative step is not part of the explicit request process. However, the user should be informed of subscriptions. &lt;br /&gt;
|Has no priority in piloting DBA S&amp;amp;N. Might be implemented by the DE, but it doesn't need to. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3401</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3401"/>
		<updated>2021-08-26T07:12:27Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Solution architecture for Lookup pattern */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== No DBA pilot iteration 2 ==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
# extending use of the intermediation pattern to allow for more fine grained powers validation: see chapter 2.&lt;br /&gt;
# the Subscription and notification pattern: see chapter 3.&lt;br /&gt;
# the Lookup pattern (the lookup of evidence, not individual attributes): see chapter 4.&lt;br /&gt;
&lt;br /&gt;
Chapter 5 specifies two additional requirements for the intermediation pattern to initiate subscriptions.&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for DBA authentication and powers validation ==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
=== General design decisions ===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
# The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
# The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
# The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
# The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
# Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
# Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
* The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalPersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
* The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
* Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not. &lt;br /&gt;
*Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
# the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
# the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
# the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
# the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
# the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
| eProcedure portal&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
| Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
| Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
| Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
=== Component description ===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure  portal handles all user interaction on the web. It connects to the national eIDAS node via the specific eIDAS connector. This requires the  eProcedure portal to add the eIDAS login option to the login-webpage and interface to the specific eIDAS connector. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal). The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the natural person attributes (at least the mandatory ones) '''''- to be discussed. This does not work with node 2.5/profile 1.2 implemented by AT (and SE?).''''' &lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
* grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
* request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
* grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
|To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
|In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component Deployment ===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
* can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
* can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
=== Configuration of authentication requests ===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
* powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
** request:&lt;br /&gt;
*** scope of powers to validate&lt;br /&gt;
*** type of representation allowed&lt;br /&gt;
*** source of powers accepted&lt;br /&gt;
** response:&lt;br /&gt;
*** validation result (successful or not)&lt;br /&gt;
*** type of representation&lt;br /&gt;
*** source of powers&lt;br /&gt;
&lt;br /&gt;
=== Configuration of harmonised services ===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side). &lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension. &lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Subscription &amp;amp; Notification pattern ==&lt;br /&gt;
This section specifies the solution for the Subscription &amp;amp; Notification pattern that will be piloted by the DBA pilot in the second iteration.  &lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
* Modify DO/DE Mocks for the S&amp;amp;N pattern: for testing the S&amp;amp;N pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
* Common component for Cross-border subscriptions and notification.&lt;br /&gt;
* Event Notification, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
* Inspecting the log files for examining an error in sending a subscription request or notification. &lt;br /&gt;
* Resend a subscription request in case of an error; &lt;br /&gt;
* Resending a notification in case of an error (notification front-end);&lt;br /&gt;
* Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
* Authorisation of DE's subscribing and DO's notifying (the component &amp;quot;authorization controller&amp;quot;).                   &lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:      &lt;br /&gt;
&lt;br /&gt;
* DBA requests WP3 to examine the authorization controller for the S&amp;amp;N pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the S&amp;amp;N pattern. For the S&amp;amp;N pattern, the authorization controler should:      &lt;br /&gt;
** Establishes whether the DE is allowed to subscribe. This prevents unauthorised access to company data (in the form of notifications). This authorisation should be checked by the DT.&lt;br /&gt;
** Established whether the DO is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. This authorisation should be checked by the DR.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
# requesting a subscription (DE to DO)      &lt;br /&gt;
# confirming a subscription (DO to DE)      &lt;br /&gt;
# notifying a business event (DO to DE)      &lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
The following design decisions have been applied to the solution for S&amp;amp;N:&lt;br /&gt;
* The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the IEM (WP3).&lt;br /&gt;
* There will be just one data owner per Member State: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
* The DC will subscribe in one Member State at a time.&lt;br /&gt;
* The DP will notify one Member State at the time. In case DE's from different Member States have subscribed to business events of a single company, the DP needs to notify each of the Member States individually.&lt;br /&gt;
* Business event notification is considered an extension to the SDGR, hence explicit request and the preview functions won't be implemented.&lt;br /&gt;
* The S&amp;amp;N pattern has been designed without any user interaction. &lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for exchange of cross-border subscription and notification messages.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the S&amp;amp;N patterns includes required functionality of the OOP Technical System (common components) expressed as application components and interfaces in the diagram below. Some common components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Subscription &amp;amp; Notification pattern (S&amp;amp;N) with the familiar split in the different roles.&lt;br /&gt;
[[File:OOP TS S&amp;amp;N.png|alt=OOP TS DBA Subscription &amp;amp; Notification|none|frame|OOP TS DBA Subscription &amp;amp; Notification]]&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. The process realisation is split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern|Subscription and Notification]] in the Project Start Architecture (PSA 2nd iteration) for more details.&lt;br /&gt;
&lt;br /&gt;
===== ''Subscription'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
* eProcedure Back-office Backend&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|&lt;br /&gt;
* eProcedure Back-office Backend&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|&lt;br /&gt;
* Subscription System&lt;br /&gt;
&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|&lt;br /&gt;
* Subscription System&lt;br /&gt;
* DE4A connector&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery access point:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
* Back-office to OOP TS interface&lt;br /&gt;
* DE4A connector&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
===== ''Notification'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify cross-border event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|&lt;br /&gt;
* Cross-border Event Handler&lt;br /&gt;
* DE4A connector&lt;br /&gt;
* Event handler to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|&lt;br /&gt;
* Data Service Lookup&lt;br /&gt;
* ESL config file&lt;br /&gt;
* DNS &amp;amp; SML&lt;br /&gt;
* MS SMP&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|out of scope&lt;br /&gt;
|out of scope&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|eDelivery Access gateway:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|eDelivery Access gateway:&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
* Notification Mismatch Signal&lt;br /&gt;
* Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
* collecting relevant data for a subscription request&lt;br /&gt;
* keeping track of subscriptions of the DE&lt;br /&gt;
* processing subscription confirmations / errors&lt;br /&gt;
* determining an appropriate response to a notification (e.g. discard or Lookup updated evidence)&lt;br /&gt;
* updating logs&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|Requires new functionality for S&amp;amp;N pattern in each of the DE's. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''' is the required functionality generic enough to justify a common component that DE's can deploy? Each DE needs to keep track of its subscriptions and needs event interpretation functionality as well. To some extend, registering the subscriptions is a mirror of the subscription system of the DO. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
* requesting (changes to) subscriptions &lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
* receiving notifications&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface.&lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N pattern to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|MS SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery Access Point&lt;br /&gt;
|This component – also referred to as eDelivery AS4 gateway – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
|-&lt;br /&gt;
|Event handler to OOP TS Interface&lt;br /&gt;
|Interface for connecting the OOP TS with the Cross-border Event Handler.&lt;br /&gt;
'''Ivar: why only for event handler? Not for subscription system''' &lt;br /&gt;
&lt;br /&gt;
'''The interfaces are meant as 'logical level interfaces' to bridge OOP TS standard to (if available) national OOP standard. In this case this is very similar to the cross-border event handler. I suggest to remove this component.''' &lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented by the DT. &lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''TBD''': is this generic enough to justify a common component that SO's may deploy if they like?&lt;br /&gt;
|-&lt;br /&gt;
|Notification front-end&lt;br /&gt;
|Application component providing the UI for civil servants to dispatch events and consult logging information for trouble shooting.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)?&lt;br /&gt;
|Out of scope for piloting DBA.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
# a company&lt;br /&gt;
# one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine. &lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS interface&lt;br /&gt;
|1&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The DR probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time or some other error prevents sending the notification.&lt;br /&gt;
This functionality preferably is not part of the Connector which should remain stateless.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
|For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|Please note that, in piloting DBA, pilot partners will implement an 'all or nothing'-subscription. This way, a subscription for a specific company is for all business events at once or for none (no subscription then). Hence, the element &amp;quot;business event&amp;quot; will not be used to differentiate between business events that are and that aren't included in a subscription. &lt;br /&gt;
&lt;br /&gt;
The element &amp;quot;business event&amp;quot; may be included in the components data store for future use though (to be decided by WP5). &lt;br /&gt;
&lt;br /&gt;
Furthermore, the element may be generalised to &amp;quot;event&amp;quot; to cover future use of other types of events. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
* translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
* filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
* query the subscription system for subscribers to a particular event&lt;br /&gt;
* construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
&lt;br /&gt;
* DNS, SML will be reused from iteration 1.  &lt;br /&gt;
* SMP, eDelivery AS4 gateway will be reused from iteration 1.  &lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.  &lt;br /&gt;
* The DE4A Connector needs an update to support the S&amp;amp;N flows and messages.&lt;br /&gt;
* Various MS specific interfaces may be needed for (sub)system integration.    &lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.    &lt;br /&gt;
* The DO needs cross-border event handling functionality&lt;br /&gt;
* The DE needs event interpretation functionality and triggers for follow-up actions, like Lookup of evidence. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
* design messages for subscription request, subscription confirmation, subscription error and notification. &lt;br /&gt;
* analyse en design authorisation controller (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
* extend the DE4A connector for S&amp;amp;N&lt;br /&gt;
* extend (the configuration of) the integrated AS4 gateway for S&amp;amp;N&lt;br /&gt;
* adapt the Evidence service locator (ESL) configuration file /  Issuing Authority Locator (IAL) if required for S&amp;amp;N.&lt;br /&gt;
* design and develop the cross-border event handler&lt;br /&gt;
* examine possibility for generic components for &amp;quot;subscription system&amp;quot; and S&amp;amp;N back-end functionality of &amp;quot;eProcedure back-office backend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration of business events ===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces of the common components are expected to remain largely the same with an expansion for the S&amp;amp;N pattern. &lt;br /&gt;
&lt;br /&gt;
Note: We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs: ESL and IAL. However, for S&amp;amp;N there is no evidence lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery AS4 gateway):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery AS4 gateway to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* request ID (correlation)&lt;br /&gt;
* subject identifier (company in question)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* event catalogue (DBA fixed business events)&lt;br /&gt;
* action 'subscribe'/'change subscription'&lt;br /&gt;
* (new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
* ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription confirmation&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
* request ID&lt;br /&gt;
&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
* ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* subscriber identifier (DE ID = participant ID)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* notification&lt;br /&gt;
&lt;br /&gt;
# subject identifier (company in question)&lt;br /&gt;
# event catalogue&lt;br /&gt;
# event&lt;br /&gt;
# timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
* ACK (from DR)&lt;br /&gt;
|-&lt;br /&gt;
|Subscription system&lt;br /&gt;
|IN (from DE4A connector to subscription system) - for subscribing:&lt;br /&gt;
&lt;br /&gt;
- subscription request&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- subscription confirmation&lt;br /&gt;
&lt;br /&gt;
- subscription error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IN (from cross-border event handler) - for composing the list of notifications:&lt;br /&gt;
&lt;br /&gt;
- subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
OUT:&lt;br /&gt;
&lt;br /&gt;
- list of subscribers (DE participant ID's).&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          array of notifications&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Lookup pattern ==&lt;br /&gt;
This section specifies the solution for the Lookup pattern that will be piloted by the DBA pilot in the second iteration. Basically, the Lookup pattern will be implemented as the intermediation pattern, but without: user authentication, explicit request and preview. Instead of having the eProcedure portal managing the OOP TS flow in interaction with he user, it will be the eProcedure back-office that will initiate the lookup and process the evidence. &lt;br /&gt;
&lt;br /&gt;
The Lookup pattern will be used to quickly retrieve (updated) evidence needed to keep a local company data store up-to-date, to re-asses a service provided or for generic fraud prevention purposes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Within scope of the DBA pilot:&lt;br /&gt;
* Modify DO/DE Mocks for the Lookup pattern: for testing the new pattern, new versions of the DO- and DE-mocks need to be developed by WP5.&lt;br /&gt;
* Evidence Lookup, the PSA defines several options for implementing the Lookup pattern. The option chosen is based on requesting (an updated version of) evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outside scope of the DBA pilot:&lt;br /&gt;
* Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
* Authorisation of DE's to retrieve the requested evidence (the component &amp;quot;authorisation controller&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To be analysed by WP3:&lt;br /&gt;
&lt;br /&gt;
* DBA requests WP3 to examine the authorization controller for the Lookup pattern. The DBA partners don't require the authorization controller for piloting, but are aware this component is needed in case of large scale use of the Lookup (and intermediation) pattern. For the Lookup pattern, the authorization controller should establish whether the DE is allowed to retrieve the requested evidence type. This prevents unauthorised access to company data. This authorisation should be checked by the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the Lookup pattern. This means that eDelivery in the Lookup pattern will be used for:&lt;br /&gt;
&lt;br /&gt;
# requesting evidence (DE to DO)&lt;br /&gt;
# sending the evidence (DO to DE)&lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
The following design decisions have been applied to the solution for Lookup:&lt;br /&gt;
* Based on a received notification message (S&amp;amp;N pattern) the DC, if desired, retrieves the Evidence using the Lookup.&lt;br /&gt;
* The explicit request and the preview functions won't be implemented as Lookup is considered 'beyond SDGR'&lt;br /&gt;
* The Lookup has been designed without any user interaction. &lt;br /&gt;
The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for performing the lookup of an evidence.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the Lookup pattern specifies required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution for the Lookup Pattern (LKP) with the familiar split in the different roles.&lt;br /&gt;
&lt;br /&gt;
'''Harold: Authorization Controller ook uit process realization tabellen verwijderen?'''&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS LKP.png|alt=OOPT TS Lookup|none|frame|Components of the Lookup pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot. &lt;br /&gt;
&lt;br /&gt;
Please note that we assume the common components for the Lookup pattern can be re-used 1-on-1 of the intermediation pattern (same components, same functionality, same deployments). Only the initiation of the evidence request and the processing of the evidence response is different (not eProcedure portal but eProcedure backoffice). Hence, for the common components, just a referral has been included. For more information we refer to the solution architecture of the intermediation pattern. &lt;br /&gt;
&lt;br /&gt;
See [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|eProcedure Backoffice Back-end: &lt;br /&gt;
&lt;br /&gt;
* Evidence Type Translator&lt;br /&gt;
&lt;br /&gt;
Back-office to OOP TS interface&lt;br /&gt;
|-&lt;br /&gt;
|''Lookup routing information (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Request evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Evaluate evidence request (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish subject identity (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability of OOP (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Extract evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Communicate non-availability or Delay of evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Establish non-availability of OOP (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Compose evidence response (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Transfer evidence (DP)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|''Forward evidence (DC)''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|''See intermediation pattern''&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Assess Evidence&lt;br /&gt;
|eProcedure Backoffice Back-end&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component handles all backoffice functionality for the eProcedure. For the Lookup pattern it:&lt;br /&gt;
&lt;br /&gt;
* translates the required evidence to the canonical evidence to request&lt;br /&gt;
* requests the canonical evidence to the MS DE4A connector&lt;br /&gt;
* receives the evidence (or error)&lt;br /&gt;
* processes the evidence (update local data store, process possible impact on service provided to the company / general fraud detection or prevention).&lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|This new functionality needs to be designed and developed by each of the participating DE's. &lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
* requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
|DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used  without change. &lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|This component – also referred to as eDelivery access point – handles the secure transfer of the data, including encryption and decryption as well as signing/sealing and validating signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|No changes expected. &lt;br /&gt;
&lt;br /&gt;
Double check that the component as deployed for the intermediation pattern can be used without change. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
   &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office&lt;br /&gt;
|1&lt;br /&gt;
|Once the eProcedure backoffice logic has assessed the notification and has concluded one or more evidences (or updates to evidences) need to be requested, the back-office should be able to send the evidence request to the OOP TS interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note, in case of multiple data owners in one Member State supporting the required evidence type, the Data evaluator needs to be aware which one to contact (as there is no possibility to ask the user). Hence, after processing the initial evidence in the intermediation pattern, it needs to store the data owner ('participant') to contact for updates. In the DBA pilot there will be only one data owner per Member State, so there is no need to store the participant at the DE.&lt;br /&gt;
|The evidence request will be the same or similar to the request of the intermediation pattern.&lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DE4A connector&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ESL/IAL&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data service&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|&lt;br /&gt;
|no Lookup-specific requirements&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
* See intermediation pattern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectations for WP3:&lt;br /&gt;
&lt;br /&gt;
* analyse and design authorisation controller for the Lookup pattern (out of scope for piloting)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Expectation for WP5:&lt;br /&gt;
&lt;br /&gt;
* double check to ensure the common components can be re-used from the intermediation pattern without any change. &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
The expected logical interfaces remain unchanged. &lt;br /&gt;
== Solution architecture for Intermediation Pattern ==&lt;br /&gt;
The solution architecture for the intermediation pattern has been designed in the first pilot iteration. Please refer to [[DBA D4.6 Pilot planning|D4.6 Pilot planning]] for this architecture (not included in the wiki yet). &lt;br /&gt;
&lt;br /&gt;
The solution architecture remains unchanged, except for two additional requirements for the eProcedure portal that have been introduced by the S&amp;amp;N pattern. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |eProcedure portal&lt;br /&gt;
|1&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal needs to be extended to initiate a subscription (start of S&amp;amp;N pattern). Whether a subscription is needed after processing the evidence is depending on the rules and regulation the data evaluator implements. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|For the S&amp;amp;N pattern the logic of the eProcedure portal might need to be adapted to include rules and texts for informing the user on subscriptions &amp;amp; possibly notifications.&lt;br /&gt;
&lt;br /&gt;
As S&amp;amp;N is out of scope of the SDGR, this informative step is not part of the explicit request process. However, the user should be informed of subscriptions. &lt;br /&gt;
|Has no priority in piloting DBA S&amp;amp;N. Might be implemented by the DE, but it doesn't need to. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3310</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3310"/>
		<updated>2021-08-20T09:35:20Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Functional requirements */ S&amp;amp;N/LKP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DBA pilot iteration 2 ==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
# extending use of the intermediation pattern to allow for more fine grained powers validation (intermediation pattern remains unchanged, SEMPER extension will be added)&lt;br /&gt;
# the Subscription and notification pattern&lt;br /&gt;
# the Lookup pattern (the lookup of evidence, not individual attributes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The solution architecture of (1) has been specified in chapter [[Solution architecture for DBA authentication and powers validation]] and the solution architectures for (2) and (3) have been included in chapter [[Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern]].&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for DBA authentication and powers validation ==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
=== General design decisions ===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
# The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
# The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
# The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
# The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
# Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
# Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
* The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalpersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
* The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
* Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not. &lt;br /&gt;
*Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
# the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
# the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
# the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
# the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
# the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
| eProcedure portal&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
| Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
| Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
| Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
=== Component description ===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure  portal handles all user interaction on the web. It connects to the national eIDAS node via the specific eIDAS connector. This requires the  eProcedure portal to add the eIDAS login option to the login-webpage and interface to the specific eIDAS connector. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal). The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the natural person attributes (at least the mandatory ones)&lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
* grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
* request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
* grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
|To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
|In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component Deployment ===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
* can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
* can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
=== Configuration of authentication requests ===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
* powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
** request:&lt;br /&gt;
*** scope of powers to validate&lt;br /&gt;
*** type of representation allowed&lt;br /&gt;
*** source of powers accepted&lt;br /&gt;
** response:&lt;br /&gt;
*** validation result (successful or not)&lt;br /&gt;
*** type of representation&lt;br /&gt;
*** source of powers&lt;br /&gt;
&lt;br /&gt;
=== Configuration of harmonised services ===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side). &lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension. &lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern ==&lt;br /&gt;
This section specifies the solution for the two additional patterns that will be piloted by the DBA pilot in the second iteration: the Subscription &amp;amp; Notification pattern and the Lookup pattern. &lt;br /&gt;
&lt;br /&gt;
* Within scope&lt;br /&gt;
** Modify DO/DE Mocks for S&amp;amp;N en Lookup patterns: for testing the new patterns, new versions of the DO- and DE-mocks need to be developed by WP5. &lt;br /&gt;
** Common component for Cross-border subscriptions and notification (optional for MS to use, i.e. not mandatory).&lt;br /&gt;
** Event Notification + Evidence Lookup, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
* Outside scope&lt;br /&gt;
** Resend a subscription request in case of an error; the possibility to inspect the logs and manually resend a request is deemed sufficient for piloting.&lt;br /&gt;
** Include the Evidence in the notification: in case the DE needs (an updated version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
** Attribute Lookup: this solution architecture supports Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
# requesting a subscription (DE to DO)      &lt;br /&gt;
# confirming a subscription (DO to DE)      &lt;br /&gt;
# notifying a business event (DO to DE)      &lt;br /&gt;
# requesting evidence (DE to DO)      &lt;br /&gt;
# sending the evidence (DO to DE)            &lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
&lt;br /&gt;
* The OOP TS domain (WP5) provides the data requestor and data transferor with the components needed for:&lt;br /&gt;
&lt;br /&gt;
# exchange of cross-border subscription and notification messages&lt;br /&gt;
# performing the lookup of an evidence&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;IEM&amp;lt;/span&amp;gt; (WP3).&lt;br /&gt;
* There will be just one data provider per Member state: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e. the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State.&lt;br /&gt;
* The DC will subscribe in one Member State at a time.&lt;br /&gt;
* The DP will notify one Member State at the time. In case DE's from different Member States have subscribed to business events of a single company, the DP needs to notify each of the Member States individually. &lt;br /&gt;
* The explicit request and the preview functions won't be implemented, in both interaction patterns there is no user involvement. Please note that business event notification is considered an extension to the SDGR.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the OOP TS chain consists of required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution with the familiar split in the different roles. It is a consolidated view of  the Intermediation pattern, Subscription &amp;amp; Notification pattern (S&amp;amp;N) and Lookup pattern (LKP).&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS DBA.png|alt=OOP TS DBA|none|frame|OOP TS DBA]]The table below presents the components that implement the application services for the DBA pilot. The process realisation is dealt with per pattern with S&amp;amp;N split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern]] and [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
The process realisation for the intermediation pattern has been specified in the solution architecture for the first pilot iteration already (not included on this page). &lt;br /&gt;
&lt;br /&gt;
===== ''Subscription'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Authorization Controller&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===== ''Notification'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|Manual Event Dispatch&lt;br /&gt;
|Notification Front-end&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|Subscription Mismatch Log&lt;br /&gt;
|Notification Front-end&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
* Notification Mismatch Signal&lt;br /&gt;
* Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== ''Lookup'' =====&lt;br /&gt;
Note: compared with Intermediation the user is absent.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|Evidence Type Translator&lt;br /&gt;
|-&lt;br /&gt;
|Lookup routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Request evidence (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Establish subject identity (DP)&lt;br /&gt;
|Identity/Record Matching&lt;br /&gt;
|Record Matching&lt;br /&gt;
&lt;br /&gt;
(needed for company matching right?)&lt;br /&gt;
|-&lt;br /&gt;
|Communicate non-availability of OOP (DP)&lt;br /&gt;
|&lt;br /&gt;
* Error Handler&lt;br /&gt;
&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Extract evidence (DP)&lt;br /&gt;
|Evidence Lookup&lt;br /&gt;
|Evidence Query&lt;br /&gt;
|-&lt;br /&gt;
|Communicate non-availability or Delay of evidence (DP)&lt;br /&gt;
|&lt;br /&gt;
* Error Handler&lt;br /&gt;
&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Establish non-availability of OOP (DC)&lt;br /&gt;
|Evidence Request Tracker&lt;br /&gt;
|Evidence Interchange Back-end&lt;br /&gt;
|-&lt;br /&gt;
|Compose evidence response (DP)&lt;br /&gt;
|Domestic to Cannonical Evidence Transformation&lt;br /&gt;
|Evidence Portal Back-end&lt;br /&gt;
|-&lt;br /&gt;
|Transfer evidence (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward evidence (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Requirements/Evidence Matching&lt;br /&gt;
|eProcedure Rules Engine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Portal Back-end&lt;br /&gt;
|The eProcedure back-end handles all eProcedure specific logic. &lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|For the S&amp;amp;N pattern this logic might need to be adapted to include rules for informing the user on subscriptions &amp;amp; possibly notifications. &lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|Member states may (but do not need to)  implement an interface from national OOP protocols to the DE4A data model (DE4A connector). Such an interface guarantees that the data evaluator/owner can  use the same (national) OOP protocols and services for cross-border use as  well.&lt;br /&gt;
|DE, DR&lt;br /&gt;
|specific&lt;br /&gt;
|None. &lt;br /&gt;
This interface is used for the intermediation pattern (subscriptions and notifications will be triggered from the eProcedure backoffice) &lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
* collecting relevant data for a subscription request&lt;br /&gt;
* keeping track of subscriptions of the DE&lt;br /&gt;
* processing subscription confirmations / errors&lt;br /&gt;
* determining an appropriate response to a notification (e.g. discard or Lookup updated evidence) &lt;br /&gt;
* updating logs &lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|'''TBD'''&lt;br /&gt;
|TBD is the required functionality is generic enough to justify a common component? Each DE needs to keep track of its subscriptions and needs some event handling as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription System: Registering the subscription at DP and logging subscription at DC is similar in functionality but mirrored. This could be common component (reference implementation) or at least a specification. This component would be optional for MS to use. TODO data model, operations, logical I/Fs.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
* requesting subscriptions&lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
* receiving notifications&lt;br /&gt;
* requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
|DE, DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N and Lookup patterns to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
&lt;br /&gt;
- evidences (Lookup style). &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response, it is event oriented now.&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot’s MVP uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|This component – also referred to as eDelivery access point – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that  will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service  with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Needs to be developed and implemented by the DO.&lt;br /&gt;
|-&lt;br /&gt;
|Event handler to OOP TS Interface&lt;br /&gt;
|Interface for connecting the OOP TS with the Cross-border Event Handler.&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented by the DT. &lt;br /&gt;
|-&lt;br /&gt;
|Authorization Controller&lt;br /&gt;
|''In case of LKP''&lt;br /&gt;
Establish which data service / evidence types can be requested by the DE/MS and whether this is allowed under applicable Union or national law without user request and preview. This functionality prevents unauthorised lookup of evidences.    &lt;br /&gt;
&lt;br /&gt;
''In case of S&amp;amp;N''&lt;br /&gt;
&lt;br /&gt;
Establishes whether the DE is allowed to subscribe.&lt;br /&gt;
&lt;br /&gt;
Established whether the DP is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. TBD: do we need a common functionality for this or can we leave it up to the DE to check whether the notification comes from the authority to which it subscribed?&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|To be developed.&lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|Notification front-end&lt;br /&gt;
|Application component providing the UI for civil servants to dispatch events and consult logging information for trouble shooting.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)?&lt;br /&gt;
|Out of scope for piloting DBA.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
&lt;br /&gt;
'''TO DO: check alignment of table and PSA 2nd iteration.'''  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
# a company&lt;br /&gt;
# one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skip the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine. &lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement). For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns. &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of registering or changing the subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
|For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
* translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
* filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
* query the subscription system for subscribers to a particular event&lt;br /&gt;
* construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification. This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changed&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without being a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
|Authorisation controler&lt;br /&gt;
|1&lt;br /&gt;
|The authorisation controler blocks any message not sent by one of the piloting partners. &lt;br /&gt;
|This simple functionality is sufficient for piloting S&amp;amp;N and Lookup. &lt;br /&gt;
|-&lt;br /&gt;
|Notification fron-end&lt;br /&gt;
|1&lt;br /&gt;
|Not supported in DBA pilot. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs to support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
&lt;br /&gt;
* DNS, SML will be reused from iteration 1.  &lt;br /&gt;
* SMP, eDelivery AS4 gateway will be reused from iteration 1.  &lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.  &lt;br /&gt;
* The DE4A Connector needs an update.&lt;br /&gt;
* Various MS specific interfaces may be needed for (sub)system integration.    &lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.    &lt;br /&gt;
* Both DE and DO need event handling functionality. &lt;br /&gt;
               &lt;br /&gt;
=== Configuration of business events ===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot;) builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces are expected to remain largely the same with an expansion for the new patterns. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs ESL and IAL.However, for S&amp;amp;N there is no evidencen  lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&amp;lt;/span&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery AS4 gateway):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery AS4 gateway to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''Subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from DE to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* request ID (correlation)&lt;br /&gt;
* subject identifier (company in question)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* event catalogue (DBA fixed business events)&lt;br /&gt;
* action 'subscribe'/'change subscription'&lt;br /&gt;
* (new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
* ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription confirmation&lt;br /&gt;
&lt;br /&gt;
IN (from DO to DE):&lt;br /&gt;
&lt;br /&gt;
* request ID&lt;br /&gt;
&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* subscriber identifier (DE id = participant ID)&lt;br /&gt;
* status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT (from DE to DO):&lt;br /&gt;
&lt;br /&gt;
* ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from DO to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
* subscriber identifier (DE ID = participant ID)&lt;br /&gt;
* data owner identifier (DO id = participant ID)&lt;br /&gt;
* notification&lt;br /&gt;
&lt;br /&gt;
# subject identifier (company in question)&lt;br /&gt;
# catalogue event&lt;br /&gt;
# event&lt;br /&gt;
# timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
* ACK (from DR)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Lookup''&lt;br /&gt;
&lt;br /&gt;
As in iteration 1.&lt;br /&gt;
|-&lt;br /&gt;
|Authorization Controller&lt;br /&gt;
|''lookup''&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
&lt;br /&gt;
-          DE id = participant ID&lt;br /&gt;
&lt;br /&gt;
-          evidence type id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          yes/no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''S&amp;amp;N''&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
&lt;br /&gt;
-           data evaluator identifier (DE id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           event catalogue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          yes/no&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          cross-border event or n/a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Ivar: see this components description and requirements. I expect a array of notifications as output. The event handler should not only translate and filter events against the harmonised catalogue, but also query the subscription system for subscribers and construct notification messages'''''&lt;br /&gt;
|-&lt;br /&gt;
|...&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3297</id>
		<title>DBA 2nd iteration Solution Architecture</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=DBA_2nd_iteration_Solution_Architecture&amp;diff=3297"/>
		<updated>2021-08-19T11:53:28Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: /* Configuration of harmonised services */ review of eIDAS part&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== DBA pilot iteration 2 ==&lt;br /&gt;
The 2nd pilot iteration for DBA consists of:&lt;br /&gt;
&lt;br /&gt;
# extending use of the intermediation pattern to allow for more fine grained powers validation (intermediation pattern remains unchanged, SEMPER extension will be added)&lt;br /&gt;
# the Subscription and notification pattern&lt;br /&gt;
# the Lookup pattern (the lookup of evidence, not individual attributes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The solution architecture of (1) has been specified in chapter [[Solution architecture for DBA authentication and powers validation]] and the solution architectures for (2) and (3) have been included in chapter [[Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern]].&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for DBA authentication and powers validation ==&lt;br /&gt;
This section contains the eIDAS solution architecture for the DBA pilot. eIDAS will be used for piloting the intermediation pattern in DBA pilot iteration 1 and 2.&lt;br /&gt;
&lt;br /&gt;
In all DBA cases a natural person will represent a company in the cross-border eProcedure. In both iterations the powers of the representative will be validated. The granularity is different in both iterations though. In the first iteration only full powers will be validated. The pilot partners will use currently available eIDAS functionality for communicating this cross-borders. The second pilot iteration adds fine-grained powers validation to eIDAS. It allows for explicit expression of powers in a powers validation request and powers declaration. This requires extension of eIDAS with the SEMPER concepts and software.&lt;br /&gt;
&lt;br /&gt;
=== General design decisions ===&lt;br /&gt;
The DBA eIDAS architecture has been designed according to the following general design decisions (see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf|DBA deliverable D4.6]]):&lt;br /&gt;
&lt;br /&gt;
# The DBA pilot will implement a pilot-eIDAS-network, meaning the Member States will implement dedicated pilot eIDAS nodes for cross-border authentication and powers validation that is isolated from the regular network of eIDAS nodes. As the project extends on the use of eIDAS with legal person attributes and powers validation, regular eIDAS nodes are not suitable for piloting. Furthermore, use of the dedicated eIDAS network allows for acceptance of non-notified eID for piloting only.&lt;br /&gt;
# The DBA pilot uses the eIDAS company identification attributes ('legal person attributes in eIDAS') to communicate the represented legal person to the DP. As most Member States do not provide these attributes currently, they need to be added for piloting.&lt;br /&gt;
# The DBA pilot will use eIDAS attribute profile 1.1 and/or CEF’s reference software for the eIDAS node version 2.4.&lt;br /&gt;
# The DBA pilot will use the SEMPER extension that is compatible with the eIDAS node 2.4 for fine-grained powers validation in the second pilot iteration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compared to current eIDAS practice, the use of eIDAS will be extended by the DBA pilot with:&lt;br /&gt;
# Requesting and sending legal person attributes (identifying the company that applies for the service). Although eIDAS has been able to send legal person attributes from the start, this functionality has been notified just twice (by IT and NL) and has not been used in production services.&lt;br /&gt;
# Validating powers of representation. This function is not part of the eIDAS-network currently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 1. Legal Person attributes &amp;amp; record matching at the DC&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The pilot partners will send the mandatory eIDAS attributes for the legal person after successful authenticating and validating powers (LegalPersonIdentifier and LegalName).&lt;br /&gt;
* The Data evaluator in the DBA pilot needs record matching on the company to determine whether the company has been registered at the company portal prior to the pilot start (without LegalpersonIdentifier). The data evaluator will use the second mandatory eIDAS attribute (LegalName) for that purpose. If needed the Data evaluator interacts with the user to do additional checks in the matching process. Record matching at the data evaluator is an eProcedure portal (or data consumer) specific activity that does not need harmonisation across piloting partners.&lt;br /&gt;
* The data owner does not need to do record matching on the company as it can use the LegalPersonIdentifier to uniquely identify the company involved. This is a consequence of the pilot principle, that the authenticating proxy sends a LegalPersonIdentifier containing a company identifier that the business register itself uses in its company registration.&lt;br /&gt;
* Data evaluators and data owners do not need to do record matching on the ''natural person''. Therefore, no additional eIDAS attributes of the natural person are needed.&lt;br /&gt;
&lt;br /&gt;
For more information, please see [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Ad 2. Powers validation&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Pilot iteration 1 supports implicit full powers only. It uses the eIDAS network currently operational for sending the required information. The eIDAS infrastructure – from the start – supported exchange of natural person attributes as well as company identification attributes (‘legal person attributes’). The eIDAS regulation defined the minimum datasets for both the natural and the legal person. The eIDAS network lacks a possibility to specify the powers of representation though; attributes specifying the powers (‘the powers declaration’) have not been defined yet. Hence, in iteration 1 the pilot partners agreed on the following access policy rule: “In case of full powers, the eIDAS authentication will be successful and the authentication proxy sends the eIDAS legal person attributes as well. In case of insufficient powers, the authentication must fail at the eIDAS proxy.”. Only that way the data consumer knows whether the user has full powers or not. &lt;br /&gt;
*Pilot iteration 2 supports fine grained powers validation. By using the SEMPER extension on eIDAS, not only the natural and company identification attributes can be exchanged, an explicit powers declaration will be included as well. Using the extension, the data evaluator specifies the scope of the service the user needs powers for. After validating the powers, the authentication proxy constructs a powers declaration confirming or denying the person’s powers. This way, the extension allows for fine-grained powers validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main design decisions regarding fine grained powers validation in iteration 2:&lt;br /&gt;
&lt;br /&gt;
# the DBA pilot allows for representation of legal persons by natural persons only.&lt;br /&gt;
# the DBA pilot does not allow for intermediary parties (e.g. employee of an accounting firm operating on behalf of the company).&lt;br /&gt;
# the DBA pilot will operate a list of harmonised services to express the extent of powers. Non-harmonised services will not be supported.&lt;br /&gt;
# the DBA pilot will use the SDG annex II procedures as starting point for the list of harmonised services.&lt;br /&gt;
# the DBA pilot will implement fine grained powers using the SEMPER extension to eIDAS or implement the SEMPER concepts in custom eIDAS software.&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [[DE4A D4.6 DBA Pilot Planning v1.0 final.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The table below presents the components that implement the application services for the DBA pilot.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: process realisation&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Request authentication, including powers validation&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Authentication  initiation&lt;br /&gt;
| eProcedure portal&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|-&lt;br /&gt;
|Authenticate user&lt;br /&gt;
|User authentication&lt;br /&gt;
| Identity Provider&lt;br /&gt;
|-&lt;br /&gt;
|Validate powers of representation&lt;br /&gt;
|User authentication&lt;br /&gt;
| Mandate Management System&lt;br /&gt;
|-&lt;br /&gt;
|Retrieve legal person attributes&lt;br /&gt;
|User authentication&lt;br /&gt;
| Legal Person attribute provider (may be same as Mandate Management System)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Provide authentication details, including powers declaration&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |User authentication&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|}&lt;br /&gt;
[[File:EIDAS_+_SEMPER.png|alt=|450x450px]]&lt;br /&gt;
 &lt;br /&gt;
=== Component description ===&lt;br /&gt;
The table below describes each of the components in this solution architecture. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+table: component description&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure portal&lt;br /&gt;
|DC specific&lt;br /&gt;
|The eProcedure  portal handles all user interaction on the web. It connects to the national eIDAS node via the specific eIDAS connector. This requires the  eProcedure portal to add the eIDAS login option to the login-webpage and interface to the specific eIDAS connector. As the DBA Pilot will use a dedicated network of eIDAS nodes, the eIDAS login option should be separated  from the regular eIDAS login option (in case not already available on the  eProcedure portal). The DBA login option should invoke the dedicated eIDAS connector instead of the regular one (a different URL).&lt;br /&gt;
|In iteration 1 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the natural person attributes (at least the mandatory ones)&lt;br /&gt;
* the legal person attributes (at least the mandatory ones)&lt;br /&gt;
&lt;br /&gt;
In iteration 1 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case  of an “authentication failed”-reply.&lt;br /&gt;
* grant the user access in case  of an “authentication successful”-reply.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should request:&lt;br /&gt;
&lt;br /&gt;
* authentication at ''LoA substantial''&lt;br /&gt;
* the legal person attributes only (at least the mandatory ones)&lt;br /&gt;
* request a powers validation on the applicable harmonised service&lt;br /&gt;
&lt;br /&gt;
In iteration 2 the eProcedure portal should apply the following rules for granting access after authentication:&lt;br /&gt;
&lt;br /&gt;
* deny the user access in case of an “authentication failed” or &amp;quot;powers not sufficient&amp;quot;&lt;br /&gt;
* grant the user access in case of an “authentication successful” and &amp;quot;powers sufficient&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Please note: we need to discuss the requesting of eIDAS MDS attributes taking eIDAS profile 1.2 (section 2.8) into account (request from AT).'''&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for requesting authentication and powers validation.&lt;br /&gt;
Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this.  &lt;br /&gt;
|To enable fine grained powers validation in iteration 2, the specific eIDAS connector needs to be extended for requesting powers validation alongside authentication.&lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS connector&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to connect to the eIDAS network as a relying party. The connector accepts authentication requests from the data evaluators of the Member State and forwards the requests to the Member States that needs to authenticate the user. After authentication, the eIDAS connector receives the authentication results and sends them to the requesting data evaluator.&lt;br /&gt;
The eIDAS connector can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements  – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|Component for extending the eIDAS connector and the eIDAS proxy to allow for explicit powers validation requests and powers declarations.&lt;br /&gt;
|Needs to be deployed by Member States for communicating fine grained powers in iteration 2. &lt;br /&gt;
This component has been developed by the SEMPER project and needs to be deployed on the eIDAS node of each of the Member States.&lt;br /&gt;
&lt;br /&gt;
As an alternative Member States May develop a custom implementation of the SEMPER software that complies with the SEMPER SAML interface specifications. &lt;br /&gt;
|-&lt;br /&gt;
|(pilot) eIDAS proxy&lt;br /&gt;
|Common component (MS deployment)&lt;br /&gt;
|The component Member States implement to allow authentication with their (notified) eID for services provided in other Member States. The eIDAS proxy receives authentication requests from relying Member States, coordinates authentication, retrieval of legal person attributes and powers validation. The eIDAS proxy then sends the result to the requesting eIDAS connector.&lt;br /&gt;
Just like the eIDAS connector, the eIDAS proxy can be implemented using CEF’s reference software or a custom implementation compliant to the eIDAS interoperability specifications. The CEF reference software implements – besides the eIDAS SAML profile – also the JSON/REST eIDAS Light protocol to connect to national infrastructure.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Member State specific component that translates national eID protocol into eIDAS (light) protocol for performing authentication and powers validation. Member States usually implement one or more components to ‘bridge’ eIDAS to the national eID infrastructure. As from CEF eIDAS reference software 2.0, Member States use the eIDAS Light protocol for this. Furthermore, the eIDAS proxy coordinates the login process at the DP Member State by triggering the IdP, Legal Person AP and MMS.&lt;br /&gt;
|In the second pilot iteration the Specific eIDAS proxy needs to be adapted to translate the powers validation request (the scope of powers to be precise) to national powers taxonomy, send a powers validation request to the Mandate Management System in national protocol, receive and interpret the response from the Mandate Management System and translate it back to cross-border taxonomy.&lt;br /&gt;
|-&lt;br /&gt;
|Identity Provider&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|The Identity Provider handles authentication of the natural person. The IdP may be notified under eIDAS, but does not need to be notified to be used in the DBA pilot.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person AP&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member States need to provide the identifying (mandatory) attributes of the legal person (eIDASLegalPersonID and eIDASLegalName) to the specific eIDAS proxy. Member States could provide optional attributes of the legal person. The Legal Person attributes may be integrated in the national eID scheme. For example, in eRecognition (NL) the mandate management system also provides the legal person attributes. Mandate Management System and Legal Person AP are one and the same component then.&lt;br /&gt;
|No changes in 2nd pilot iteration.&lt;br /&gt;
|-&lt;br /&gt;
|Mandate Management System&lt;br /&gt;
|Member State Specific&lt;br /&gt;
|Member State specific solutions for registration and validation of powers.&lt;br /&gt;
 &lt;br /&gt;
|In the DBA first pilot iteration, this source must be used to verify full powers. The declaration of powers that results from validating full powers is implicit: in case the authentication is successful, the user will have full powers to represent the company. &lt;br /&gt;
In the second pilot iteration, when using SEMPER, the powers declaration is explicit: the powers declaration relates to the requested powers declaration and can be a powers declaration for a specific eService as well as a (explicit) powers declaration for full powers. Optionally (depending on national implementation) the harmonised services need to be included in the MMS.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
&lt;br /&gt;
The table below presents the requirements that the data evaluator and the authentication connector and proxy must implement. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Requirement'''&lt;br /&gt;
|&lt;br /&gt;
'''Use in pilot iteration 1'''&lt;br /&gt;
|'''Use in pilot iteration 2'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Data evaluator&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eProcedure portal&lt;br /&gt;
|The eProcedure portal adds an eIDAS login option for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal connects to a ''dedicated'' eIDAS pilot node.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal requests eIDAS legal person attributes (mandatory ones)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal grants the user access on behalf of the company in case of an “authentication successful” response.&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal additionally constructs a fine-grained powers validation request.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|The eProcedure portal validates the Powers declaration received.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Authentication connector&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS connector.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS connector&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS connector&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|MS implements eIDAS connector 2.4. In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; |Authentication proxy&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|MS implements SEMPER extension to the eIDAS proxy.&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|Specific eIDAS proxy&lt;br /&gt;
|MS adapts the &amp;quot;specific eIDAS proxy&amp;quot; to support powers validation requests and powers declarations&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |eIDAS proxy&lt;br /&gt;
|MS implements CEF eIDAS proxy 2.4. &lt;br /&gt;
&lt;br /&gt;
In case of a custom implementation (like Sweden) an attribute profile 1.1-compliant  version of the connector will be used for piloting.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects an IdP to the eIDAS proxy node for authenticating the natural person&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects attribute provider (AP) to eIDAS node for eIDAS legal person attributes (in case not integrated in the MMS)&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS connects mandate management system (MMS) to eIDAS node for validating powers. Note: AP and MMS could be the same data source.&lt;br /&gt;
|x&lt;br /&gt;
|x&lt;br /&gt;
|-&lt;br /&gt;
|MS validates (implicit) full powers&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MS adds fine-grained powers validation&lt;br /&gt;
|&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component Deployment ===&lt;br /&gt;
The table below shows the required deployment of common components.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Component&lt;br /&gt;
!Version&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS connector&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|eIDAS proxy&lt;br /&gt;
|CEF reference software version 2.4&lt;br /&gt;
&lt;br /&gt;
or custom software implementing interoperability specs 1.1&lt;br /&gt;
|-&lt;br /&gt;
|SEMPER extension&lt;br /&gt;
|The 2.4-compliant version of the SEMPER extension provided by Technical University Graz (SEMPER project)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open questions AT: &lt;br /&gt;
&lt;br /&gt;
* can we upgrade to eIDAS node 2.5? No compatible SEMPER extension available (check with TUG).&lt;br /&gt;
* can we adapt the way we request attributes for iteration 1? -&amp;gt; don't request the natural person attributes, use the natural person representative attributes for this (profile 1.2 style).&lt;br /&gt;
&lt;br /&gt;
=== Configuration of authentication requests ===&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 1&amp;lt;/u&amp;gt;&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: natural person and legal person attributes (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with: natural person and legal person attributes (at least the mandatory ones) - including a copy of natural person attributes as ''representative'' is optional.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Configuration for pilot iteration 2&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* regular eIDAS request &amp;amp; response&lt;br /&gt;
** eIDAS attributes to request: legal person attributes only (at least the mandatory ones)&lt;br /&gt;
** eIDAS attributes to respond with:legal person attributes (at least the mandatory ones) and ''representative'' natural person attributes (at least he mandatory ones) using the representative-prefix&lt;br /&gt;
&lt;br /&gt;
* powers validation request &amp;amp; powers declaration (response)&lt;br /&gt;
** request:&lt;br /&gt;
*** scope of powers to validate&lt;br /&gt;
*** type of representation allowed&lt;br /&gt;
*** source of powers accepted&lt;br /&gt;
** response:&lt;br /&gt;
*** validation result (successful or not)&lt;br /&gt;
*** type of representation&lt;br /&gt;
*** source of powers&lt;br /&gt;
&lt;br /&gt;
=== Configuration of harmonised services ===&lt;br /&gt;
Principles for configuration:&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot will rely on a common library of services to express the extent of powers: the harmonised services. This way, each of the participating Member States understand the powers validation requests of other Member States. It's up to each of the Member States to translate the harmonised services into nationally defined services (authentication connector-side) / powers (authentication proxy-side). &lt;br /&gt;
* The DBA pilot will use the SDGR services as starting point. These services have been defined in European legislation (as procedures in annex II of the Regulation). Hence, they have been pre-defined and harmonised already across Europe. The DBA pilot defines the &amp;quot;SDGR&amp;quot; harmonised services catalogue for use in the SEMPER extension. &lt;br /&gt;
* The DBA pilot is not limited to SDGR services though, e.g. opening a branch cross-border is explicitly excluded from the SDGR, but is included in some of the pilot scenario's. For services 'beyond SDGR' the DBA pilot has defined the &amp;quot;SDGR+&amp;quot; harmonised services catalogue.&lt;br /&gt;
&lt;br /&gt;
Proposal for the harmonised services to express powers cross-border:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
table: harmonised services for cross-border validation of powers&lt;br /&gt;
!Service catalogue&lt;br /&gt;
!Nr&lt;br /&gt;
!Harmonised service&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|1&lt;br /&gt;
|Notification of business activity, permission for exercising a business activity, changes of business activity and the termination of a business activity not involving insolvency or liquidation procedures&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|2&lt;br /&gt;
|Registration of an employer (a natural person) with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|3&lt;br /&gt;
|Registration of employees with compulsory pension and insurance schemes&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|4&lt;br /&gt;
|Submitting a corporate tax declaration&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|5&lt;br /&gt;
|Notification to the social security schemes of the end of contract with an employee, excluding procedures for the collective termination of employee contracts&lt;br /&gt;
|-&lt;br /&gt;
|SDGR&lt;br /&gt;
|6&lt;br /&gt;
|Payment of social contributions for employees&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|1&lt;br /&gt;
|Starting of a company or opening a branch in another member state&lt;br /&gt;
|-&lt;br /&gt;
|SDGR+&lt;br /&gt;
|2&lt;br /&gt;
|Initial registration of a business activity with the business register&lt;br /&gt;
|}&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Logical interfaces ===&lt;br /&gt;
SAML interface specifications for regular authentication requests (pilot iteration 1) have been specified by CEF Digital: https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eIDAS+eID+Profile&lt;br /&gt;
&lt;br /&gt;
SAML interfaces specification for SEMPER-extended authentication request and response (pilot iteration 2) have been specified by SEMPER: see chapter 6 from deliverable M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.&lt;br /&gt;
&lt;br /&gt;
[[File:2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf|border|left|2019-07-08 M3 Report on mandate attributes and solutions for cross-border mandate attributes - 1.0.pdf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern ==&lt;br /&gt;
This section specifies the solution for the two additional patterns that will be piloted by the DBA pilot in the second iteration: the Subscription &amp;amp; notification pattern and the Lookup pattern. &lt;br /&gt;
&lt;br /&gt;
* Within scope&lt;br /&gt;
** Modify DO/DE Mocks for S&amp;amp;N en Lookup patterns: for testing the new patterns, new versions of the DO- and DE-mocks need to be developed by WP5. &lt;br /&gt;
** Common component for Cross-border subscriptions and notification (optional for MS to use, i.e. not mandatory).&lt;br /&gt;
** Event Notification + Evidence Lookup, in line with PSA 2nd iteration: the PSA defines several options for implementing the S&amp;amp;N pattern. The option chosen provides a solution for notifying business events and triggering of the Lookup pattern in case (an updated version of) evidence is required by the DE.&lt;br /&gt;
* Outside scope&lt;br /&gt;
** Resend a subscription request in case of an error: instead the possibility to inspect the logs and manually resend a request is deemed sufficient for piloting.&lt;br /&gt;
** Include the Evidence in the notification: in case the DE needs (an updates version of) the evidence, it will use the Lookup pattern.&lt;br /&gt;
** Attribute Lookup: this solution architecture support Evidence type lookup requesting the full evidence without user interaction. The option to request individual attributes / API-approach is not supported.&lt;br /&gt;
&lt;br /&gt;
Prerequisite from the DE4A-project is the use of eDelivery and AS4 for the exchange of messages in the S&amp;amp;N and Lookup patterns. This means that eDelivery will be used for:      &lt;br /&gt;
&lt;br /&gt;
# requesting a subscription (DE to DO)      &lt;br /&gt;
# confirming a subscription (DO to DE)      &lt;br /&gt;
# notifying a business event (DO to DE)      &lt;br /&gt;
# requesting evidence (DE to DO)      &lt;br /&gt;
# sending the evidence (DO to DE)            &lt;br /&gt;
&lt;br /&gt;
In the next sections the general design decisions, process realisations, component descriptions, requirements, component implementations and expected logical interfaces are described.&lt;br /&gt;
&lt;br /&gt;
=== General Design Decisions ===&lt;br /&gt;
&lt;br /&gt;
* The OOP TS domain (WP5) provide the data requestor and data transferor with the components needed for:&lt;br /&gt;
&lt;br /&gt;
# exchange of cross-border subscription and notification messages&lt;br /&gt;
# performing the lookup of an evidence&lt;br /&gt;
&lt;br /&gt;
* The DBA pilot uses one type of subscription message and one type of notification message that all DC’s and DP’s involved will use. The subscription message is for subscribing to cross-border events generated at the DP. The notification message is for notifying the DC of such events. If the DC desires the Evidence can be retrieved using the Lookup. This implies an update of the &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;IEM&amp;lt;/span&amp;gt; (WP3).&lt;br /&gt;
* There will be just one data provider per Member state: the business register, where the subscription will be recorded and where the cross-border events are generated, i.e.is the authentic source of company information. The pilot does not support multiple DO's / notifying authorities in one Member State. &lt;br /&gt;
* The DC will subscribe in one Member State at a time.&lt;br /&gt;
* The DP will notify one Member State at the time. In case DE's from different Member States have subscribed to business events of a single company, the DP needs to notify each of the Member States individually. &lt;br /&gt;
* The explicit request and the preview functions won't be implemented, in both interaction patterns there is no user involvement. Please note that business event notification is considered an extension to the SDGR.&lt;br /&gt;
&lt;br /&gt;
=== Process realisation ===&lt;br /&gt;
The solution for the OOP TS chain consists of required functionality of the OOP Technical System expressed as application components and interfaces in the diagram below. Some OOP TS components need to be implemented by the data requestor and data transferor, some components by the data evaluator and data owner and some are common components to be implemented by DE4A WP5. The image below depicts the solution with the familiar split in the different roles. It is a consolidated view of  the Intermediation pattern, Subscription &amp;amp; Notification pattern (S&amp;amp;N) and Lookup pattern (LKP).&lt;br /&gt;
&lt;br /&gt;
[[File:OOP TS DBA.png|alt=OOP TS DBA|none|frame|OOP TS DBA]]The table below presents the components that implement the application services for the DBA pilot. The process realisation is dealt with per pattern with S&amp;amp;N split in two (subscription and notification) as they are independently triggered. See [[Subscription and Notification Pattern]] and [[Lookup Pattern]] for more details.&lt;br /&gt;
&lt;br /&gt;
The process realisation for the intermediation pattern has been specified in the solution architecture for the first pilot iteration already (not included on this page). &lt;br /&gt;
&lt;br /&gt;
===== ''Subscription'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Initiate subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Change subscription (DC)&lt;br /&gt;
|Subscription Initiation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Lookup event provider routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription request (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate subscription request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Authorization Controller&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate subscription request (DP)&lt;br /&gt;
|Subscription Evaluation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Prepare subscription error message (DP)&lt;br /&gt;
|Subscription Error Handling&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Exception Send subscription error message (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Forward subscription error (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Investigate reason for subscription error (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Register subscription (DP)&lt;br /&gt;
|Subscription Creation and Update&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Confirm subscription (DP)&lt;br /&gt;
|Subscription Confirmation&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Send subscription confirmation (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward confirmation (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Log subscription information (DC)&lt;br /&gt;
|n/a&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===== ''Notification'' =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Components'''&lt;br /&gt;
|-&lt;br /&gt;
|Identify event (DP)&lt;br /&gt;
|Cross-border Event Filter&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Check subscriptions (DP)&lt;br /&gt;
|Subscription Lookup&lt;br /&gt;
|Subscription System&lt;br /&gt;
|-&lt;br /&gt;
|Prepare notification message and subscriber list (DP)&lt;br /&gt;
|Notification Message and Subscriber List Preparation&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resend past events (DP)&lt;br /&gt;
|Manual Event Dispatch&lt;br /&gt;
|Notification Front-end&lt;br /&gt;
|-&lt;br /&gt;
|Resolve service metadata (DP)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Exception: Resolve subscriber participant ID and inform National Contact Point (DP)&lt;br /&gt;
|Subscription Mismatch Log&lt;br /&gt;
|Notification Front-end&lt;br /&gt;
|-&lt;br /&gt;
|Send event notification (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Validate event notification (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Determine event response (DC)&lt;br /&gt;
|Event Evaluation&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Request change of subscription (DC)&lt;br /&gt;
|&lt;br /&gt;
* Notification Mismatch Signal&lt;br /&gt;
* Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Dismiss event (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Trigger evidence lookup (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|-&lt;br /&gt;
|Notify Responsible Organization (DC)&lt;br /&gt;
|Update Notification Response Log&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== ''Lookup'' =====&lt;br /&gt;
Note: compared with Intermediation the user is absent.&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Process'''&lt;br /&gt;
|'''Application Service'''&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|-&lt;br /&gt;
|Determine required cross-border evidence (DC)&lt;br /&gt;
|Cross-border Evidence Matching&lt;br /&gt;
|Evidence Type Translator&lt;br /&gt;
|-&lt;br /&gt;
|Lookup routing information (DC)&lt;br /&gt;
|Inquire Routing Information&lt;br /&gt;
|Data Service Lookup&lt;br /&gt;
|-&lt;br /&gt;
|Request evidence (DC)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence request (DP)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
* Authority Check&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Establish subject identity (DP)&lt;br /&gt;
|Identity/Record Matching&lt;br /&gt;
|Record Matching&lt;br /&gt;
&lt;br /&gt;
(needed for company matching right?)&lt;br /&gt;
|-&lt;br /&gt;
|Communicate non-availability of OOP (DP)&lt;br /&gt;
|&lt;br /&gt;
* Error Handler&lt;br /&gt;
&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Extract evidence (DP)&lt;br /&gt;
|Evidence Lookup&lt;br /&gt;
|Evidence Query&lt;br /&gt;
|-&lt;br /&gt;
|Communicate non-availability or Delay of evidence (DP)&lt;br /&gt;
|&lt;br /&gt;
* Error Handler&lt;br /&gt;
&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Establish non-availability of OOP (DC)&lt;br /&gt;
|Evidence Request Tracker&lt;br /&gt;
|Evidence Interchange Back-end&lt;br /&gt;
|-&lt;br /&gt;
|Compose evidence response (DP)&lt;br /&gt;
|Domestic to Cannonical Evidence Transformation&lt;br /&gt;
|Evidence Portal Back-end&lt;br /&gt;
|-&lt;br /&gt;
|Transfer evidence (DP)&lt;br /&gt;
|&lt;br /&gt;
* Message Encryption&lt;br /&gt;
* e-Signature Creation Service&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Forward evidence (DC)&lt;br /&gt;
|&lt;br /&gt;
* eSignature Validation Service&lt;br /&gt;
* Message Decryption&lt;br /&gt;
* Data Exchange Service&lt;br /&gt;
|&lt;br /&gt;
* Trust Service Provisioning&lt;br /&gt;
* Data Encryption/Decryption&lt;br /&gt;
* Data Exchange&lt;br /&gt;
|-&lt;br /&gt;
|Evaluate evidence (DC)&lt;br /&gt;
|Requirements/Evidence Matching&lt;br /&gt;
|eProcedure Rules Engine&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Component description ===&lt;br /&gt;
The following table lists the components indicated in the image above. Per component a short description of its use is given, by which role the component is used (i.e. DE, DR, DT, DO) and whether the component is MS specific or common functionality.  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Short description of its use'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Genericness'''&lt;br /&gt;
|'''Changes for 2nd iteration piloting'''&lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Portal Back-end&lt;br /&gt;
|The eProcedure back-end handles all eProcedure specific logic. &lt;br /&gt;
|DE&lt;br /&gt;
|specific&lt;br /&gt;
|For the S&amp;amp;N pattern this logic might need to be adapted to include rules for informing the user on subscriptions &amp;amp; possibly notifications. &lt;br /&gt;
|-&lt;br /&gt;
|Portal to OOP TS Interface&lt;br /&gt;
|Member states may (but do not need to)  implement an interface from national OOP protocols to the DE4A data model (DE4A connector). Such an interface guarantees that the data evaluator/owner can  use the same (national) OOP protocols and services for cross-border use as  well.&lt;br /&gt;
|DE, DR&lt;br /&gt;
|specific&lt;br /&gt;
|None. &lt;br /&gt;
This interface is used for the intermediation pattern (subscriptions and notifications will be triggered from the eProcedure backoffice) &lt;br /&gt;
|-&lt;br /&gt;
|eProcedure Back-office Backend&lt;br /&gt;
|This component implements back-end functionality for executing the eProcedure. Examples in the context of S&amp;amp;N: &lt;br /&gt;
&lt;br /&gt;
* collecting relevant data for a subscription request&lt;br /&gt;
* keeping track of subscriptions of the DE&lt;br /&gt;
* processing subscription confirmations / errors&lt;br /&gt;
* determining an appropriate response to a notification (e.g. discard or Lookup updated evidence) &lt;br /&gt;
* updating logs &lt;br /&gt;
&lt;br /&gt;
|DE&lt;br /&gt;
|'''TBD'''&lt;br /&gt;
|TBD is the required functionality is generic enough to justify a common component? Each DE needs to keep track of its subscriptions and needs some event handling as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription System: Registering the subscription at DP and logging subscription at DC is similar in functionality but mirrored. This could be common component (reference implementation) or at least a specification. This component would be optional for MS to use. TODO data model, operations, logical I/Fs.&lt;br /&gt;
|-&lt;br /&gt;
|Back-office to OOP TS&lt;br /&gt;
|Interface for connecting the DE's backoffice with the OOP TS for:&lt;br /&gt;
&lt;br /&gt;
* requesting subscriptions&lt;br /&gt;
* receiving confirmations / errors&lt;br /&gt;
* receiving notifications&lt;br /&gt;
* requesting evidence by Lookup&lt;br /&gt;
&lt;br /&gt;
Just like the portal to OOP TS interface, Member States may choose to implement this interface in a generic way to bridge national OOP protocols to DE4A datamodel at one single place. Furthermore, Member States may choose to integrate both interfaces (portal to OOP TS and backoffice to OOP TS) in one single interface. &lt;br /&gt;
|DE, DR&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented for the second iteration.&lt;br /&gt;
May be partial re-use of the portal-to-OOP interface. &lt;br /&gt;
|-&lt;br /&gt;
|DE4A Connector&lt;br /&gt;
|Taking care of eDelivery and IDK interfacing, shielding DR and DT from complexities and facilitating ease of implementation.&lt;br /&gt;
&lt;br /&gt;
Error handling and logging.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs extension for S&amp;amp;N and Lookup patterns to facilitate interaction on:&lt;br /&gt;
- subscriptions&lt;br /&gt;
&lt;br /&gt;
- notifications&lt;br /&gt;
&lt;br /&gt;
- evidences (Lookup style). &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|Configuration file for locating the service to reach out to.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|'''Change w.r.t. iteration 1?''' There is no evidence provider lookup, instead the endpoint where to send the subscription request to is needed. Also there is no evidence response, it is event oriented now.&lt;br /&gt;
&lt;br /&gt;
As the DBA pilot’s MVP uses just one type subscription message with just one data provider per Member state (on NUTS0 level),  there is no need for dynamic discovery of the data provider. For the DBA pilot it is sufficient to use a simple configuration file with the required elements (member state and participant id) like in iteration 1.&lt;br /&gt;
&lt;br /&gt;
See logical interfaces section below&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|For each subscription request/response, information on the receivers Access Point (URL) and its certificates are needed. Each member state hosts an SMP for this purpose (note: for testing one single centrally hosted DE4A SMP will be used). Before sending a request or response, the sending party queries the SMP of the receiver to get this info. &lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery AS4 gateway&lt;br /&gt;
|This component – also referred to as eDelivery access point – handles the secure transfer of the data, including  encryption and decryption as well as signing/sealing and validating  signatures/seals.&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|Needs configuration for accepting subscription, notifications and lookup messages for the second iteration. &lt;br /&gt;
|-&lt;br /&gt;
|DNS &amp;amp; SML&lt;br /&gt;
|As there are multiple SMP’s, the sending  party needs to know where to find the SMP of the receiver to get the actual  metadata. This location can be found in the centrally CEF-hosted DNS, that  will be queried by the access point of the sending member state. &lt;br /&gt;
&lt;br /&gt;
DNS entries will be created from the  registration of SMP’s: the SML, which is also centrally hosted by CEF. &lt;br /&gt;
|Central&lt;br /&gt;
|common (centrally hosted by CEF)&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data Service&lt;br /&gt;
|The webservice of the data provider that  will output the evidence requested.&lt;br /&gt;
|DO&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Data source to OOP TS Interface&lt;br /&gt;
|Interface for connecting the data service  with the OOP TS (IM &amp;amp; LKP).&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|None expected.&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|Application component handling the cross-border events. It filters all domestic events for relevant cross-border events and takes care of preparing a notification message and compiling a subscribers list to which the notification must be sent.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|The Cross-border Event Handler could be part of the Connector or at least be a common component. All DPs need this functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Needs to be developed and implemented by the DO.&lt;br /&gt;
|-&lt;br /&gt;
|Event handler to OOP TS Interface&lt;br /&gt;
|Interface for connecting the OOP TS with the Cross-border Event Handler.&lt;br /&gt;
|DO, DT&lt;br /&gt;
|specific&lt;br /&gt;
|Needs to be developed and implemented by the DT. &lt;br /&gt;
|-&lt;br /&gt;
|Authorization Controller&lt;br /&gt;
|''In case of LKP''&lt;br /&gt;
Establish which data service / evidence types can be requested by the DE/MS and whether this is allowed under applicable Union or national law without user request and preview. This functionality prevents unauthorised lookup of evidences.    &lt;br /&gt;
&lt;br /&gt;
''In case of S&amp;amp;N''&lt;br /&gt;
&lt;br /&gt;
Establishes whether the DE is allowed to subscribe.&lt;br /&gt;
&lt;br /&gt;
Established whether the DP is allowed to send a notification. This prevents unauthorised sending of (fake) notifications. TBD: do we need a common functionality for this or can we leave it up to the DE to check whether the notification comes from the authority to which it subscribed?&lt;br /&gt;
|DR, DT&lt;br /&gt;
|common&lt;br /&gt;
|To be developed.&lt;br /&gt;
|-&lt;br /&gt;
|Subscription System&lt;br /&gt;
|Application component managing the entire life cycle of subscriptions, i.e. creation and maintaining subscriptions. It also offers functionality for validating subscriptions (does subject exist?, is the event supported?, is the subscription changing an existing subscription?), confirmation of a subscription and error handling.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)&lt;br /&gt;
|To be developed&lt;br /&gt;
|-&lt;br /&gt;
|Notification front-end&lt;br /&gt;
|Application component providing the UI for civil servants to dispatch events and consult logging information for trouble shooting.&lt;br /&gt;
|DO&lt;br /&gt;
|common (MS deployment)?&lt;br /&gt;
|Out of scope for piloting DBA.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional requirements ===&lt;br /&gt;
The table below presents the requirements that the components involved need to implement.&lt;br /&gt;
&lt;br /&gt;
'''TO DO: check alignment of table and PSA 2nd iteration.'''  &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Nr'''&lt;br /&gt;
|'''DBA requirement'''&lt;br /&gt;
|'''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;9&amp;quot; |eProcedure Backoffice Backend&lt;br /&gt;
|1&lt;br /&gt;
|The DE should be able to subscribe to the combination of:&lt;br /&gt;
&lt;br /&gt;
# a company&lt;br /&gt;
# one or more business events (catalogue &amp;amp; type)&lt;br /&gt;
|For piloting it is sufficient to skipp the specification of events to subscribe to. It will be all or none.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DE should monitor actual subscription at the DO by processing the subscription confirmation / error.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DE should have the option to set a defined time frame for receiving notifications to automatically end a subscription. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DE should be able to manage the “end date” of the subscription (prolong, shorten, …).&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DE should be able to unsubscribe to all notifications for a company at once.&lt;br /&gt;
|See req 1. for piloting a &amp;quot;all or none&amp;quot; subscription is fine. &lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DE should at any time have an overview of all its subscriptions in order to manage them.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DE may process a notification instantly, but may also choose to process the notifications in batch, e.g. once a day or week. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DE should have a legal basis for processing business events.&lt;br /&gt;
|It’s up to the DE to manage this. The DE will be  accountable for its data processing.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DE should implement logic to decide when (by which events) to lookup evidence. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |DE4A connector&lt;br /&gt;
|1&lt;br /&gt;
|The DR must confirm having received the notification (by the DR not the DE) to the DT.&lt;br /&gt;
|From that point on delivery of the notifications to the DE is the responsibility of the DR (and not the DT or DO).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DR should provide a facility for delayed forwarding of notifications to the DE.&lt;br /&gt;
|The probably needs a queue for this. This queue should guarantee delivery of the notifications to the DE, even if the DE is not online at some point in time. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DT needs to confirm having received the subscription request to the DR.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Each message sent requires a confirmation from the receiving actor (acknowledgement) For technical error messages concerning a subscription, notification or lookup the existing WP5 list can be used. e.g. timed-out, component unavailable, XML error, etc.&lt;br /&gt;
|Errors need to be implemented for the messages required for both new patterns. &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; |Subscription system&lt;br /&gt;
|1&lt;br /&gt;
|The DO should send a confirmation of (un)subscription to the DE.&lt;br /&gt;
|Including error code and handling.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should generate one of the following error messages in case of registration error:&lt;br /&gt;
1. subscription registration failed (e.g. actor not authorised to subscribe, company identifier not found)&lt;br /&gt;
&lt;br /&gt;
2. subscription change failed (e.g. subscription to change not found in subscription system).  &lt;br /&gt;
|For piloting these two business errors are sufficient. &lt;br /&gt;
Business list of errors might be extended in future releases (after piloting). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As a generic principle, the error message should convey little information in itself. Providing more information enables possible attackers in their attempts. &lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The subscription system should register:&lt;br /&gt;
- data evaluator &lt;br /&gt;
&lt;br /&gt;
- company ID&lt;br /&gt;
&lt;br /&gt;
- business event&lt;br /&gt;
&lt;br /&gt;
- starting date &amp;amp; time&lt;br /&gt;
&lt;br /&gt;
- ending date &amp;amp; time&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Then subscription system should allow for querying which data evaluators to notify in case of a business event.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; |Cross-border Event Handler&lt;br /&gt;
|1&lt;br /&gt;
|The cross-border event handler should:&lt;br /&gt;
&lt;br /&gt;
* translate national events to harmonised events (as defined by the event catalogue)&lt;br /&gt;
* filter national events for relevance (i.e. presence in event catalogue)&lt;br /&gt;
* query the subscription system for subscribers to a particular event&lt;br /&gt;
* construct notification message for each of the subscribers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The DO should send notifications only for a business event occurring to a company for which the DE has subscribed  – for as long as the subscription is valid.&lt;br /&gt;
|For piloting is seems sufficient to notify one single Member State in case of an event at a time.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|The DO should include the company identifier in the notification to allow the DE to find the corresponding record in its registry.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|The DO should include additional company identifiers  that the business event concern.&lt;br /&gt;
|E.g. The identifiers of the company / companies acquiring the company concerned.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|The DO should clearly state in the notification what business event has occurred.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|The DO should provide a timestamp of the business event separate from the timestamp of the notification.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|The DO may send notifications instantly, but may  also send in batch, e.g. once a day or week.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|The DO should be able to send notifications independently of the availability of the DE.&lt;br /&gt;
|In order not to hinder the notification process of  the DO.&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|The DO should not include any additional company data in the notification nor attach evidence of any type to the notification.&lt;br /&gt;
|Data minimisation.&lt;br /&gt;
&lt;br /&gt;
It will be up to the DE to process the notification.  This might not need any additional data. &lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|The DO should implement one event for notifying &amp;quot;the company registration evidence has changes&amp;quot; (without specifying which business event has occurred - if any).&lt;br /&gt;
|To cover for data changes that might be relevant for the DE without begin a direct consequence of the occurrence of a harmonised business event, e.g. e-mail address changed.&lt;br /&gt;
|-&lt;br /&gt;
|Authorisation controler&lt;br /&gt;
|1&lt;br /&gt;
|The authorisation controler blocks any message not sent by one of the piloting partners. &lt;br /&gt;
|This simple functionality is sufficient for piloting S&amp;amp;N and Lookup. &lt;br /&gt;
|-&lt;br /&gt;
|Notification fron-end&lt;br /&gt;
|1&lt;br /&gt;
|Not supported in DBA pilot. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Data service&lt;br /&gt;
|1&lt;br /&gt;
|The data service of the DO needs to be capable of detecting business events and triggering a notification. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|The data service of the DO needs top support the event type &amp;quot;Company registration evidence has changed&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Component deployment ===&lt;br /&gt;
&lt;br /&gt;
* DNS, SML will be reused from iteration 1.  &lt;br /&gt;
* SMP, eDelivery AS4 gateway will be reused from iteration 1.  &lt;br /&gt;
* The Evidence service locator (ESL) configuration file probably needs to change to allow for locating the subscription register.  &lt;br /&gt;
* The DE4A Connector needs an update.&lt;br /&gt;
* Various MS specific interfaces may be needed for (sub)system integration.    &lt;br /&gt;
* Both DE and DO need to do bookkeeping of subscriptions.    &lt;br /&gt;
* Both DE and DO need event handling functionality. &lt;br /&gt;
               &lt;br /&gt;
=== Configuration of business events ===&lt;br /&gt;
&lt;br /&gt;
Business events are defined by each of the Member States individually. Although there are commonalities, all event-lists of the Member States are different. To enable cross-border interpretation of business events harmonisation of events is needed. For piloting DBA, just a small selection of events will be piloted. The purpose of the DBA pilot is not to harmonise all events, but to validate the notification-mechanism. &lt;br /&gt;
&lt;br /&gt;
The DBA event list (catalogue &amp;quot;Business events&amp;quot; builds upon the BRIS definitions. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of harmonised events in the Event catalogue &amp;quot;Business events&amp;quot;:&lt;br /&gt;
#Company ended its operations&lt;br /&gt;
#Company changed its legal form&lt;br /&gt;
#Company merger or takeover&lt;br /&gt;
#Company moved to another location&lt;br /&gt;
#Company administration changed&lt;br /&gt;
#Company registration evidence has changed&lt;br /&gt;
'''TO DO: validate within DBA pilot.''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
National-to-harmonised translation needs to be designed by each Member State. Example for NL below (concept). &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!nr&lt;br /&gt;
!harmonised event&lt;br /&gt;
!NL event equivalent&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Company ended its operations&lt;br /&gt;
|beëindigen rechtspersoon&lt;br /&gt;
opheffen onderneming&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Company changed its legal form&lt;br /&gt;
|omzetten rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Company merger or takeover&lt;br /&gt;
|fuseren rechtspersoon&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Company moved to another location&lt;br /&gt;
|verhuizen vestiging&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Company administration changed&lt;br /&gt;
|toetreden bestuurder&lt;br /&gt;
&lt;br /&gt;
toetreden functionaris&lt;br /&gt;
&lt;br /&gt;
toetreden gemachtigde&lt;br /&gt;
&lt;br /&gt;
toetreden aansprakelijke bij samenwerkingsverband&lt;br /&gt;
&lt;br /&gt;
uittreden functionaris/bestuurder/gemachtigde/aansprakelijke bij samenwerkingsverband&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Company registration evidence has changed&lt;br /&gt;
|(not an event)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Logical interfaces===&lt;br /&gt;
The expected logical interfaces are expected to remain largely the same with an expansion for the new patterns. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;We need to discuss with WP3/WP5 the implementation of the Data Service Lookup ABB. Right now this is covered by two SBBs ESL and IAL.However, for S&amp;amp;N there is no evidencen  lookup or exchange, so at least the name is off. Also the I/F with the Connector changes slightly. In the table below some differences are indicated.&amp;lt;/span&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Component'''&lt;br /&gt;
|'''Expected interface'''&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Evidence  service locator (ESL) configuration file&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background:#FFFF00&amp;quot;&amp;gt;Issuing Authority Locator (IAL) TBC&amp;lt;/span&amp;gt;&lt;br /&gt;
|IN  (from DE4A connector to ESL configuration file):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           event type (e.g.DBA = business event)&lt;br /&gt;
&lt;br /&gt;
OUT  from ESL configuration file to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           participant ID&lt;br /&gt;
|-&lt;br /&gt;
|SMP&lt;br /&gt;
|IN  (from DE4A connector to SMP):&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from SMP to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           Service URL&lt;br /&gt;
&lt;br /&gt;
-           Certificate to use&lt;br /&gt;
|-&lt;br /&gt;
|DNS  &amp;amp; SML&lt;br /&gt;
|IN  (from DE4A connector to DNS):&lt;br /&gt;
&lt;br /&gt;
-           Member state&lt;br /&gt;
&lt;br /&gt;
-           Participant ID&lt;br /&gt;
&lt;br /&gt;
OUT  (from DNS to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           SMP location&lt;br /&gt;
|-&lt;br /&gt;
|eDelivery  AS4 gateway&lt;br /&gt;
|IN  (from DE4A connector to eDelivery AS4 gateway):&lt;br /&gt;
&lt;br /&gt;
-           subscription request/registration conformation/notification&lt;br /&gt;
&lt;br /&gt;
OUT  (from eDelivery AS4 gateway to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           ACK&lt;br /&gt;
|-&lt;br /&gt;
|DE4A  Connector&lt;br /&gt;
|''subscription''&lt;br /&gt;
Initiating or changing subscription&lt;br /&gt;
&lt;br /&gt;
IN  (from data evaluator to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           request ID (correlation)&lt;br /&gt;
&lt;br /&gt;
-           subject identifier (company in question)&lt;br /&gt;
&lt;br /&gt;
-           data owner identifier (DO id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           subscriber identifier (DE id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           event catalogue (DBA fixed business events)&lt;br /&gt;
&lt;br /&gt;
-           action 'subscribe'/'change subscription'&lt;br /&gt;
&lt;br /&gt;
-           (new) subscription start and end date&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DE): &lt;br /&gt;
&lt;br /&gt;
-           ACK  (from DT)&lt;br /&gt;
&lt;br /&gt;
subscription confirmation DO -&amp;gt; DE&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
&lt;br /&gt;
-          request ID&lt;br /&gt;
&lt;br /&gt;
-          data owner identifier (DO id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-          subscriber identifier (DE id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-          status (success/fail)&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          ACK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''notification''&lt;br /&gt;
&lt;br /&gt;
IN  (from data provider to DE4A connector):&lt;br /&gt;
&lt;br /&gt;
-           subscriber identifier (DE ID = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           data owner identifier (DO id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           Notification&lt;br /&gt;
&lt;br /&gt;
1. catalogue event&lt;br /&gt;
&lt;br /&gt;
2. event&lt;br /&gt;
&lt;br /&gt;
3. timestamp event&lt;br /&gt;
&lt;br /&gt;
OUT  (from DE4A connector to DR): &lt;br /&gt;
&lt;br /&gt;
-           ACK (from DR)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''lookup''&lt;br /&gt;
&lt;br /&gt;
As in iteration 1.&lt;br /&gt;
|-&lt;br /&gt;
|Authorization Controller&lt;br /&gt;
|''lookup''&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
&lt;br /&gt;
-          DE id = participant ID&lt;br /&gt;
&lt;br /&gt;
-          evidence type id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          yes/no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''S&amp;amp;N''&lt;br /&gt;
&lt;br /&gt;
IN&lt;br /&gt;
&lt;br /&gt;
-           data evaluator identifier (DE id = participant ID)&lt;br /&gt;
&lt;br /&gt;
-           event catalogue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          yes/no&lt;br /&gt;
|-&lt;br /&gt;
|Cross-border Event Handler&lt;br /&gt;
|IN&lt;br /&gt;
-          domestic event&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OUT&lt;br /&gt;
&lt;br /&gt;
-          cross-border event or n/a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''Ivar: see this components description and requirements. I expect a array of notifications as output. The event handler should not only translate and filter events against the harmonised catalogue, but also query the subscription system for subscribers and construct notification messages'''''&lt;br /&gt;
|-&lt;br /&gt;
|...&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
==Appendix: archimate component diagrams==&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for DBA authentication and powers validation===&lt;br /&gt;
&lt;br /&gt;
===Solution architecture for Subscription &amp;amp; Notification pattern and Lookup pattern===&lt;br /&gt;
TODO merge AC's and tailor to pilot increment 2.&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1428</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1428"/>
		<updated>2021-05-14T10:05:43Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is used by [[Doing Business Abroad Pilot]] in [[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)]]&lt;br /&gt;
&lt;br /&gt;
Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Delimitation to BRIS (DBA specific) ===&lt;br /&gt;
As concluded in “DE4A Discussion paper BRIS 20200708 Final.docx” BRIS will not be used in the DBA pilot. This also applies for the subscription and notification pattern. The notifications send resorting under BRIS regulation are out of scope of DE4A. The DE4A pattern has its own subscriptions and notifications that do no relate to BRIS regulation. Note that in some cases this could lead to the situation that a Data Evaluator receives both a BRIS and a DE4A notification for one business event.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note the BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. Thereby reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
==== Business Process ====&lt;br /&gt;
[[File:DE4A D2.5 PSA 0.8 evt.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Activity Table ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|Public Service Procedure&lt;br /&gt;
|User&lt;br /&gt;
|A procedure of a public service provider leads to the registration of a subject. After this registration events can occur to the subject that could have impact on the service delivery to this subject. In order to be informed on these events, the public service provider can subscribe to the life-events or business-events of the subject.&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend failed subscription requests.&lt;br /&gt;
&lt;br /&gt;
In the pilot Doing Business Abroad the subject is the represented company itself or a new branch of the represented company (the parent-company of the branch) and Data Evaluators subscribe to be notified on the business events of the represented company.&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To initiate the subscription data is collected and the subscription need is formulated:&lt;br /&gt;
&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
&lt;br /&gt;
* event catalogue&lt;br /&gt;
&lt;br /&gt;
* action 'subscribe'&lt;br /&gt;
* subscription start and end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription need is forwarded to the Data Requestor (if applicable).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: public service delivery can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription.&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To cancel a subscription data is collected and the cancel subscription need is formulated:&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
* event catalogue&lt;br /&gt;
* action 'cancel subscription'&lt;br /&gt;
* subscription end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cancel subscription need is forward to the Data Requestor (if applicable).&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The DR uses the data owner identifier to look up routing information on the competent authority that facilitates subscription service.&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Contact point that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The request to subscribe or unsubscribe is send to the participant facilitating the subscription service using the previously retrieved routing information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription / cancel subscription request contains: the participant id of the subscriber, the subject identifier, the event catalogue, the period of subscription and the requested action (subscribe / cancel subscription).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription error message received from Data Transferor is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|The received error message is analysed and appropriate actions are taken. This exception flow is not further detailed in this design.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation on the (un)subscription request (received from the DT) is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The request is validated on a technical level: xml validation and check on DE authorisation. If the request validates it is forwarded to the Data Owner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical exceptions are out of scope.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription request is evaluated to check if the request can be completed:&lt;br /&gt;
&lt;br /&gt;
* Subscription functional checks: does subject exists, is event catalogue supported.&lt;br /&gt;
&lt;br /&gt;
* Cancel subscription functional checks: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional checks, the request is rejected and an error message will be send.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content of the error message and send it to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The (un)subscription error message contains: participant id of subscriber, subject identifier, requested action, reference to the request message, full request message and the errorcode.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The error message is forwarded to the Data Requestor from who the request was received.&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Owner creates, changes or ends the subscription according the (un)subscription request.&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation of the (un)subscription is created and send to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The confirmation message contains: (un)subscription result (success), timestamp of (un)subscription, (un)subscription request reference, original (un)subscription request message.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription confirmation is send to the Data Requestor from who the request was received. The (un)subscription confirmation message is added to the log.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Explicit request and preview =====&lt;br /&gt;
The nature of the subscription and notification pattern leads to a different use of the explicit request and preview as stated in the SDG-regulation:&lt;br /&gt;
&lt;br /&gt;
* Notification is performed without a user transaction, making real-time explicit request and preview impossible.&lt;br /&gt;
* Fraud prevention outweighs user centricity, making explicit request and preview less opportune.&lt;br /&gt;
* The public nature of company data relaxes the need of explicit request and preview.&lt;br /&gt;
&lt;br /&gt;
Implementing an explicit request for future notifications introduces the burden of creating and maintaining an explicit request administration, with for instance options to retract a previously given explicit request&lt;br /&gt;
&lt;br /&gt;
''Design decision'': for the Business event notification explicit request and preview as defined in the SDG-regulation is not applicable.&lt;br /&gt;
&lt;br /&gt;
===== Positioning of subscription registration =====&lt;br /&gt;
For the location of the subscription registration certain options can be considered:&lt;br /&gt;
&lt;br /&gt;
* Fully at the data providing MS:  The subscription is registered at the data providing member state. The DE sends messages to the DO via DR and DT to manage the subscription (subscribe, cancel subscription).&lt;br /&gt;
&lt;br /&gt;
* Splitted between data provider and data consuming MS:  It is a possibility to split the register; the DO then only registers which MS subscribe to a certain company, and the DC MS registers which DE subscribe to the company. The process flow would be: (1) a central component at the DT registers which DE’s subscribe to which subjects of which data owners; (2) the DT registers as a MS for this company; (3) the DO registers which MS subscribes to which company and sends notifications to the DT (4) the DT distributes the notification to all DE.&lt;br /&gt;
* At a central component:  The DE4A-architecture implements the four-corner model, a central subscription register would conflict with this principle. Moreover, a subscription is a direct relation between a DO and a DE regarding a subject, there will be no added value to place such a subscription in an external, central component.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': The registration of subscriptions is placed within the data providing member state. DP MS is free to choose in which environment this is (DT, DO or another environment). The assumption for the design of the S&amp;amp;N pattern is that the subscription registration is fully placed in the environment of the DO.&lt;br /&gt;
&lt;br /&gt;
==== Subscription period ====&lt;br /&gt;
Including a subscription period with start and end date has several consequences... todo&lt;br /&gt;
&lt;br /&gt;
''Design decision:'' a subscription period with mandatory start and end dates is included in the subscription.&lt;br /&gt;
&lt;br /&gt;
==== Catalogue of DE4A business events ====&lt;br /&gt;
tbd, see table below&lt;br /&gt;
&lt;br /&gt;
==== Subscription register requirements ====&lt;br /&gt;
&lt;br /&gt;
===== Evidence exchange and subscription request =====&lt;br /&gt;
The main flow of the DBA-pilot is that the intermediation pattern triggers the subscription and notification pattern. Part of the intermediation pattern is the exchange of evidence: DE requests a specific evidence type from a specific company from the DO. In the happy flow the DE subscribes to receive notifications regarding this company. This trigger can be implemented in different ways:&lt;br /&gt;
&lt;br /&gt;
* As a part of the request for evidence. The evidence exchange request then consists at least of: company identifier, requested evidence type, DE identifier, subscribe y/n.&lt;br /&gt;
&lt;br /&gt;
* In a separate subscription request message: after a user consent to the preview and a successful completion of the registration process a separate subscription message is sent.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': the subscription request is not combined with the evidence exchange request but is sent after successful registration of the company/branch.&lt;br /&gt;
&lt;br /&gt;
Combining the subscription request with the evidence exchange would be too early in the process. It would lead to (possibly a relative high number of) requests to cancel the subscription if no consent was given or the registration was not successful. This would also introduce the risk of unauthorised subscriptions and notifications if the cancellation fails.&lt;br /&gt;
&lt;br /&gt;
There are two main choices for the subscription criteria, subscribe to changes in: &lt;br /&gt;
&lt;br /&gt;
* business events&lt;br /&gt;
* evidences&lt;br /&gt;
&lt;br /&gt;
''Design decision: not all business events are related to an evidence, subscriptions must therefore be made to business events to cover all notifications to be sent, see table below.''&lt;br /&gt;
&lt;br /&gt;
==== Business event - evidence mapping ====&lt;br /&gt;
Below example for [[Doing Business Abroad Pilot]]. Each pilot (domain) must define their common event list including a clear semantic explanation of each business or life event in order for the Data Evaluator to be able to interpret the event correctly and define an appropriate course of action, e.g. request an updated evidence or discontinue the public service. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!DE4A Business event&lt;br /&gt;
!Event includes changes in&lt;br /&gt;
!Related evidence type&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|'''Company info event'''&lt;br /&gt;
|EUID,  Updated company name/updated address/updated head quarters/changed identifier  (EUID)/changed legal form/changed representatives&lt;br /&gt;
|Company registration&lt;br /&gt;
|Split this event in: address change, name change, ...? And with a status change, notify the specific status?&lt;br /&gt;
|-&lt;br /&gt;
|'''Annual report event'''&lt;br /&gt;
|Annual reports&lt;br /&gt;
|Annual report&lt;br /&gt;
|What is the event? New annual report available, annual report changed, ...? Split this event?&lt;br /&gt;
|-&lt;br /&gt;
|'''Directors disqualification event'''&lt;br /&gt;
|Disqualifications updated for directors&lt;br /&gt;
|Directors  disqualification&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''National merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are only relevant when the transferring company has subscribers.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cross border merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferrring company identifier, aquaring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are relevant when the transferring company has subscribers. &lt;br /&gt;
This event is also relevant without a subscription. The business register of a company involved in a merger wants notifications even if there is no prior subscription to the foreign company in the cross border merger.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
&lt;br /&gt;
==== Business Process ====&lt;br /&gt;
[[File:DE4A D2.5 PSA 0.8 not.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Activity Table ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event - business event or life event - occurs for the subject and this triggers the notification process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the pilot Doing Business abroad the subject is the represented company. Business events impacting the company can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB is this action really in scope of the event notification process? &lt;br /&gt;
|-&lt;br /&gt;
|'''Identify event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Owner determines the event identifier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The subscription register is queried for subscribers to the subject related to the event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions for the DE4A event catalogue found: continue notification process&lt;br /&gt;
* Other active subscriptions found: trigger relevant process(es)&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Single notifications messages (one for each subscriber) are created from the list of subscribers and the notification payload. The routing information for each notification message is looked up.&lt;br /&gt;
The messages contain: subject identifier, secondary subject identifier (in case the identifier changed), subscriber identification, event identification, event timestamp, subscription reference (optional).&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The event notification is send to the Data Requestor, a technical acknowledgement that the notification has been received by the DR is received. The audit log is updated with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Requestor performs a technical validation of the event notification and forwards it to the Data Evaluator. A technical exception flow is out of scope of this process description.&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The notified event is analysed and the appropriate response is determined. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The determination result is logged as a part of the audit trail:&lt;br /&gt;
&lt;br /&gt;
* Subject identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or the registered company or branch is no longer active the cancellation of the subscription is requested. Afterwards this will be analysed to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The notified event doesn't have impact on the procedures of the Data Evaluator and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evidence update event triggered'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The lookup pattern is triggered to request a new, current, copy of the relevant evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The pilot Doing Business Abroad will request the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|The responsible organisational unit is identified and informed in order to take appropriate action. It depends on the specific process if this action can be performed automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Response on event notification =====&lt;br /&gt;
Functional responses from Data Evaluator to Data Owner after receiving an event notification, for example to inform that appropriate actions have been taken, are out of scope of the Subscription and Notification pattern.&lt;br /&gt;
&lt;br /&gt;
==== Notifications from Subscriber ====&lt;br /&gt;
Notifications from Data Evaluator to Data Owner, for example to inform Data Owner on changes in the branch registration,  are out of scope of the Subscription and Notification pattern.&lt;br /&gt;
&lt;br /&gt;
== Process Realisation ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realisation?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1416</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1416"/>
		<updated>2021-05-12T14:31:52Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: Add figure business process Notification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is used by [[Doing Business Abroad Pilot]] in [[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)]]&lt;br /&gt;
&lt;br /&gt;
Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
DBA investigated the situations covered by the DBA and in contrast to what is covered by BRIS. For example: DBA covering more than branches, and more types of companies.&lt;br /&gt;
&lt;br /&gt;
=== Delimitation to BRIS ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
==== Business Process ====&lt;br /&gt;
[[File:DE4A D2.5 PSA 0.8 evt.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Activity Table ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|Public Service Procedure&lt;br /&gt;
|User&lt;br /&gt;
|A procedure of a public service provider leads to the registration of a subject. After this registration events can occur to the subject that could have impact on the service delivery to this subject. In order to be informed on these events, the public service provider can subscribe to the life-events or business-events of the subject.&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend failed subscription requests.&lt;br /&gt;
&lt;br /&gt;
In the pilot Doing Business Abroad the subject is the represented company itself or a new branch of the represented company (the parent-company of the branch) and Data Evaluators subscribe to be notified on the business events of the represented company.&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To initiate the subscription data is collected and the subscription need is formulated:&lt;br /&gt;
&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
&lt;br /&gt;
* event catalogue&lt;br /&gt;
&lt;br /&gt;
* action 'subscribe'&lt;br /&gt;
* subscription start and end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription need is forwarded to the Data Requestor (if applicable).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: public service delivery can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription.&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To cancel a subscription data is collected and the cancel subscription need is formulated:&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
* event catalogue&lt;br /&gt;
* action 'cancel subscription'&lt;br /&gt;
* subscription end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cancel subscription need is forward to the Data Requestor (if applicable).&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The DR uses the data owner identifier to look up routing information on the competent authority that facilitates subscription service.&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Contact point that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The request to subscribe or unsubscribe is send to the participant facilitating the subscription service using the previously retrieved routing information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription / cancel subscription request contains: the participant id of the subscriber, the subject identifier, the event catalogue, the period of subscription and the requested action (subscribe / cancel subscription).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription error message received from Data Transferor is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|The received error message is analysed and appropriate actions are taken. This exception flow is not further detailed in this design.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation on the (un)subscription request (received from the DT) is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The request is validated on a technical level: xml validation and check on DE authorisation. If the request validates it is forwarded to the Data Owner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical exceptions are out of scope.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription request is evaluated to check if the request can be completed:&lt;br /&gt;
&lt;br /&gt;
* Subscription functional checks: does subject exists, is event catalogue supported.&lt;br /&gt;
&lt;br /&gt;
* Cancel subscription functional checks: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional checks, the request is rejected and an error message will be send.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content of the error message and send it to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The (un)subscription error message contains: participant id of subscriber, subject identifier, requested action, reference to the request message, full request message and the errorcode.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The error message is forwarded to the Data Requestor from who the request was received.&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Owner creates, changes or ends the subscription according the (un)subscription request.&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation of the (un)subscription is created and send to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The confirmation message contains: (un)subscription result (success), timestamp of (un)subscription, (un)subscription request reference, original (un)subscription request message.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription confirmation is send to the Data Requestor from who the request was received. The (un)subscription confirmation message is added to the log.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Explicit request and preview =====&lt;br /&gt;
The nature of the subscription and notification pattern leads to a different use of the explicit request and preview as stated in the SDG-regulation:&lt;br /&gt;
&lt;br /&gt;
* Notification is performed without a user transaction, making real-time explicit request and preview impossible.&lt;br /&gt;
* Fraud prevention outweighs user centricity, making explicit request and preview less opportune.&lt;br /&gt;
* The public nature of company data relaxes the need of explicit request and preview.&lt;br /&gt;
&lt;br /&gt;
Implementing an explicit request for future notifications introduces the burden of creating and maintaining an explicit request administration, with for instance options to retract a previously given explicit request&lt;br /&gt;
&lt;br /&gt;
''Design decision'': for the Business event notification explicit request and preview as defined in the SDG-regulation is not applicable.&lt;br /&gt;
&lt;br /&gt;
===== Positioning of subscription registration =====&lt;br /&gt;
For the location of the subscription registration certain options can be considered:&lt;br /&gt;
&lt;br /&gt;
* Fully at the data providing MS:  The subscription is registered at the data providing member state. The DE sends messages to the DO via DR and DT to manage the subscription (subscribe, cancel subscription).&lt;br /&gt;
&lt;br /&gt;
* Splitted between data provider and data consuming MS:  It is a possibility to split the register; the DO then only registers which MS subscribe to a certain company, and the DC MS registers which DE subscribe to the company. The process flow would be: (1) a central component at the DT registers which DE’s subscribe to which subjects of which data owners; (2) the DT registers as a MS for this company; (3) the DO registers which MS subscribes to which company and sends notifications to the DT (4) the DT distributes the notification to all DE.&lt;br /&gt;
* At a central component:  The DE4A-architecture implements the four-corner model, a central subscription register would conflict with this principle. Moreover, a subscription is a direct relation between a DO and a DE regarding a subject, there will be no added value to place such a subscription in an external, central component.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': The registration of subscriptions is placed within the data providing member state. DP MS is free to choose in which environment this is (DT, DO or another environment). The assumption for the design of the S&amp;amp;N pattern is that the subscription registration is fully placed in the environment of the DO.&lt;br /&gt;
&lt;br /&gt;
==== Subscription period ====&lt;br /&gt;
Including a subscription period with start and end date has several consequences... todo&lt;br /&gt;
&lt;br /&gt;
''Design decision:'' a subscription period with mandatory start and end dates is included in the subscription.&lt;br /&gt;
&lt;br /&gt;
==== Catalogue of DE4A business events ====&lt;br /&gt;
tbd&lt;br /&gt;
&lt;br /&gt;
==== Subscription register requirements ====&lt;br /&gt;
&lt;br /&gt;
===== Evidence exchange and subscription request =====&lt;br /&gt;
The main flow of the DBA-pilot is that the intermediation pattern triggers the subscription and notification pattern. Part of the intermediation pattern is the exchange of evidence: DE requests a specific evidence type from a specific company from the DO. In the happy flow the DE subscribes to receive notifications regarding this company. This trigger can be implemented in different ways:&lt;br /&gt;
&lt;br /&gt;
* As a part of the request for evidence. The evidence exchange request then consists at least of: company identifier, requested evidence type, DE identifier, subscribe y/n.&lt;br /&gt;
&lt;br /&gt;
* In a separate subscription request message: after a user consent to the preview and a successful completion of the registration process a separate subscription message is sent.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': the subscription request is not combined with the evidence exchange request but is sent after successful registration of the company/branch.&lt;br /&gt;
&lt;br /&gt;
Combining the subscription request with the evidence exchange would be too early in the process. It would lead to (possibly a relative high number of) requests to cancel the subscription if no consent was given or the registration was not successful. This would also introduce the risk of unauthorised subscriptions and notifications if the cancellation fails.&lt;br /&gt;
&lt;br /&gt;
There are two main choices for the subscrition criteria, subscribe to changes in: &lt;br /&gt;
&lt;br /&gt;
* business events&lt;br /&gt;
* evidences&lt;br /&gt;
&lt;br /&gt;
''Design decision: not all business events are related to an evidence, subscriptions must therefore be made to business events to cover all notifications to be sent, see table below.''&lt;br /&gt;
&lt;br /&gt;
==== Business event - evidence mapping ====&lt;br /&gt;
Below example for [[Doing Business Abroad Pilot]]. Each pilot (domain) must define tehir common event list includign a clear semantic explanation of each business of life event in order for the Data Evaluator to be able to interpret the event correctly and define an appropriate course of action, e.g. request an updated evidence or discontinue the public service/ &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!DE4A Business event&lt;br /&gt;
!Event includes changes in&lt;br /&gt;
!Related evidence type&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|'''Company info event'''&lt;br /&gt;
|EUID,  Updated company name/updated address/updated head quarters/changed identifier  (EUID)/changed legal form/changed representatives&lt;br /&gt;
|Company registration&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Annual report event'''&lt;br /&gt;
|Annual reports&lt;br /&gt;
|Annual report&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Directors disqulification event'''&lt;br /&gt;
|Disqualifications updated for directors&lt;br /&gt;
|Directors  disqulification&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''National merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are only relevant when the transferring company has subscribers.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cross border merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferrring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are relevant when the transferring company has subscribers. &lt;br /&gt;
This event is also relevant without a subscription. The business register of a company involved in a merger wants notifications even if there is no prior subscription to the foreign company in the cross border merger.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
&lt;br /&gt;
==== Business Process ====&lt;br /&gt;
[[File:DE4A D2.5 PSA 0.8 not.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Activity Table ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event - business event or life event - occurs for the subject and this triggers the notification process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the pilot Doing Business abroad the subject is the represented company. Business events impacting the company can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB is this action really in scope of the event notification process? &lt;br /&gt;
|-&lt;br /&gt;
|'''Identify event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO determines the DE4A Business event name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The subscription register is queried for subscribers to the subject related to the event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions for the DE4A event catalogue found: continue notification process&lt;br /&gt;
* Other active subscriptions found: trigger relevant process(es)&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Single notifications messages (one for each subscriber) are created from the list of subscribers and the notification payload. The routing information for each notification message is looked up.&lt;br /&gt;
The messages contain: subject identifier, secondary subject identifier (in case the identifier changed), subscriber identification, event identification, event timestamp, subscription reference (optional).&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The event notification is send to the Data Requestor, a technical acknowledgement that the notification has been received by the DR is received. The audit log is updated with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Requestor performs a technical validation of the event notification and forwards it to the Data Evaluator. A technical exception flow is out of scope of this process description.&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The notified event is analysed and the necessary response is determined. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* Subject identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active the cancellation of the subscription is requested. Afterwards this will have to be analysed to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The notified event is not relevant for the procedures of the Data Evaluator and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evidence update event triggered'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The lookup pattern is triggered to request a new copy of the relevant evidence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The pilot Doing Business Abroad will request the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|The responsible organisational unit is identified and informed in order to take appropriate action. It depends on the specific process if this action can be performed automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Use_Case_%22Doing_Business_in_Another_Member_State%22_(DBA_UC2)&amp;diff=1415</id>
		<title>Use Case &quot;Doing Business in Another Member State&quot; (DBA UC2)</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Use_Case_%22Doing_Business_in_Another_Member_State%22_(DBA_UC2)&amp;diff=1415"/>
		<updated>2021-05-12T14:17:09Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: Added DBA specific message notification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Use Case &amp;quot;Doing Business in Another Member State&amp;quot; of the [[DBA|Doing Business Abroad Pilot]] (DBA UC2) uses the [[Subscription and Notification Pattern]].&lt;br /&gt;
&lt;br /&gt;
This use case focusses at assessing the consequence for active eServices in case of a business event, e.g. company goes bankrupt, company stops it’s activities, company merges, etc. The data consumer may subscribe to notifications on selected business events. In case such an event occurs, the data provider notifies the data consumer. The data consumer needs to assess the relevance of the notification. It can then for example request the updated data from the data provider or decide it doesn’t need any additional data. Furthermore, the data consumer may intervene in an active eService (e.g. stop periodical grants or impose a tax obligation). The data consumer may also use the notifications as input to a general fraud prevention and protection procedure.&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription request’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|RO/AT/90000471&lt;br /&gt;
|-&lt;br /&gt;
|Requested action&lt;br /&gt;
|Indicates whether a subscription or the cancellation of a subscription  is requested by the sender: ‘subscribe’ or ‘unsubscribe’&lt;br /&gt;
|M&lt;br /&gt;
|subscribe&lt;br /&gt;
|-&lt;br /&gt;
|Participant ID&lt;br /&gt;
|The OOP TS participant identifier that identifies the organisation that is the subscriber (and thus will receive business event notifications)&lt;br /&gt;
|O&lt;br /&gt;
|SE000000013&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event to subscribe to. If omitted, subscribe to all business events&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription period&lt;br /&gt;
|The period for which the subscription is valid. If omitted subscription is valid until a unsubcribe request.&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: event catalogue&lt;br /&gt;
|The domain of events the subscription is&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: subscription period&lt;br /&gt;
|The date of beginning and ending (optional) of the subscription&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription confirmation’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription result&lt;br /&gt;
|Subscription successful ; subscription cancellation successful&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Local identifier of the subscription. Not needed but can be useful  in exception flows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription error’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Request type&lt;br /&gt;
|Subscribe / unsubscribe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscriber identification&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error message&lt;br /&gt;
|Subscribe: company unknown, (participant not authorized)&lt;br /&gt;
Unsubscribe: company unknown, company not active, subscription unknown,  subscription not active&lt;br /&gt;
&lt;br /&gt;
&amp;gt;move this text to subpage DBA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Business event notification’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event identification&lt;br /&gt;
|The identification of the business event (list of value: OOP TS  business event catalogue)&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event timestamp&lt;br /&gt;
|Date and time of business event&lt;br /&gt;
|M&lt;br /&gt;
|2021-05-01 15:01:27&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Identification of the subscription as registered at DO (local id)  which can be used in communication between DO and DE. Not essential but can  be useful in exception flows&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|SEBOLREG.5560802&lt;br /&gt;
|-&lt;br /&gt;
|Second legal person identifier&lt;br /&gt;
|Identification of a second company or a second EUID, used for example if the original EUID is changed&lt;br /&gt;
|O&lt;br /&gt;
|SEBOLREG.5594521&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event that triggered the notification, see Event - evidence mapping table above.&lt;br /&gt;
|M&lt;br /&gt;
|National merger&lt;br /&gt;
|-&lt;br /&gt;
|Business sub event type&lt;br /&gt;
|The subtype of the business event.&lt;br /&gt;
|O&lt;br /&gt;
|Initiated&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=File:DE4A_D2.5_PSA_0.8_not.jpg&amp;diff=1414</id>
		<title>File:DE4A D2.5 PSA 0.8 not.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=File:DE4A_D2.5_PSA_0.8_not.jpg&amp;diff=1414"/>
		<updated>2021-05-12T13:24:23Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Figure Event Notification Business proves v08&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Use_Case_%22Doing_Business_in_Another_Member_State%22_(DBA_UC2)&amp;diff=1413</id>
		<title>Use Case &quot;Doing Business in Another Member State&quot; (DBA UC2)</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Use_Case_%22Doing_Business_in_Another_Member_State%22_(DBA_UC2)&amp;diff=1413"/>
		<updated>2021-05-12T13:21:46Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: Added  messages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Use Case &amp;quot;Doing Business in Another Member State&amp;quot; of the [[DBA|Doing Business Abroad Pilot]] (DBA UC2) uses the [[Subscription and Notification Pattern]].&lt;br /&gt;
&lt;br /&gt;
This use case focusses at assessing the consequence for active eServices in case of a business event, e.g. company goes bankrupt, company stops it’s activities, company merges, etc. The data consumer may subscribe to notifications on selected business events. In case such an event occurs, the data provider notifies the data consumer. The data consumer needs to assess the relevance of the notification. It can then for example request the updated data from the data provider or decide it doesn’t need any additional data. Furthermore, the data consumer may intervene in an active eService (e.g. stop periodical grants or impose a tax obligation). The data consumer may also use the notifications as input to a general fraud prevention and protection procedure.&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription request’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|RO/AT/90000471&lt;br /&gt;
|-&lt;br /&gt;
|Requested action&lt;br /&gt;
|Indicates whether a subscription or the cancellation of a subscription  is requested by the sender: ‘subscribe’ or ‘unsubscribe’&lt;br /&gt;
|M&lt;br /&gt;
|subscribe&lt;br /&gt;
|-&lt;br /&gt;
|Participant ID&lt;br /&gt;
|The OOP TS participant identifier that identifies the organisation that is the subscriber (and thus will receive business event notifications)&lt;br /&gt;
|O&lt;br /&gt;
|SE000000013&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event to subscribe to. If omitted, subscribe to all business events&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription period&lt;br /&gt;
|The period for which the subscription is valid. If omitted subscription is valid until a unsubcribe request.&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: event catalogue&lt;br /&gt;
|The domain of events the subscription is&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: subscription period&lt;br /&gt;
|The date of beginning and ending (optional) of the subscription&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription confirmation’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription result&lt;br /&gt;
|Subscription successful ; subscription cancellation successful&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Local identifier of the subscription. Not needed but can be useful  in exception flows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Message ‘Subscription error’ ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Request type&lt;br /&gt;
|Subscribe / unsubscribe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscriber identification&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error message&lt;br /&gt;
|Subscribe: company unknown, (participant not authorized)&lt;br /&gt;
Unsubscribe: company unknown, company not active, subscription unknown,  subscription not active&lt;br /&gt;
&lt;br /&gt;
&amp;gt;move this text to subpage DBA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1412</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1412"/>
		<updated>2021-05-12T13:16:50Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: Add figure Event Not and moved DBA specific text to DBA Use case page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is used by [[Doing Business Abroad Pilot]] in [[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)]]&lt;br /&gt;
&lt;br /&gt;
Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
DBA investigated the situations covered by the DBA and in contrast to what is covered by BRIS. For example: DBA covering more than branches, and more types of companies.&lt;br /&gt;
&lt;br /&gt;
=== Delimitation to BRIS ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
==== Business Process ====&lt;br /&gt;
[[File:DE4A D2.5 PSA 0.8 evt.jpg|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
==== Activity Table ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role'''&lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|Public Service Procedure&lt;br /&gt;
|User&lt;br /&gt;
|A procedure of a public service provider leads to the registration of a subject. After this registration events can occur to the subject that could have impact on the service delivery to this subject. In order to be informed on these events, the public service provider can subscribe to the life-events or business-events of the subject.&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend failed subscription requests.&lt;br /&gt;
&lt;br /&gt;
In the pilot Doing Business Abroad the subject is the represented company itself or a new branch of the represented company (the parent-company of the branch) and Data Evaluators subscribe to be notified on the business events of the represented company.&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To initiate the subscription data is collected and the subscription need is formulated:&lt;br /&gt;
&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
&lt;br /&gt;
* event catalogue&lt;br /&gt;
&lt;br /&gt;
* action 'subscribe'&lt;br /&gt;
* subscription start and end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription need is forwarded to the Data Requestor (if applicable).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: public service delivery can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription.&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|To cancel a subscription data is collected and the cancel subscription need is formulated:&lt;br /&gt;
* subject identifier&lt;br /&gt;
* data owner identifier&lt;br /&gt;
* subscriber identifier&lt;br /&gt;
* event catalogue&lt;br /&gt;
* action 'cancel subscription'&lt;br /&gt;
* subscription end date&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cancel subscription need is forward to the Data Requestor (if applicable).&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The DR uses the data owner identifier to look up routing information on the competent authority that facilitates subscription service.&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Contact point that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The request to subscribe or unsubscribe is send to the participant facilitating the subscription service using the previously retrieved routing information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The subscription / cancel subscription request contains: the participant id of the subscriber, the subject identifier, the event catalogue, the period of subscription and the requested action (subscribe / cancel subscription).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription error message received from Data Transferor is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|The received error message is analysed and appropriate actions are taken. This exception flow is not further detailed in this design.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation on the (un)subscription request (received from the DT) is forwarded to the Data Evaluator.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The request is validated on a technical level: xml validation and check on DE authorisation. If the request validates it is forwarded to the Data Owner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical exceptions are out of scope.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription request is evaluated to check if the request can be completed:&lt;br /&gt;
&lt;br /&gt;
* Subscription functional checks: does subject exists, is event catalogue supported.&lt;br /&gt;
&lt;br /&gt;
* Cancel subscription functional checks: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional checks, the request is rejected and an error message will be send.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content of the error message and send it to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The (un)subscription error message contains: participant id of subscriber, subject identifier, requested action, reference to the request message, full request message and the errorcode.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The error message is forwarded to the Data Requestor from who the request was received.&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The Data Owner creates, changes or ends the subscription according the (un)subscription request.&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation of the (un)subscription is created and send to the Data Transferor (if applicable).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The confirmation message contains: (un)subscription result (success), timestamp of (un)subscription, (un)subscription request reference, original (un)subscription request message.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|The (un)subscription confirmation is send to the Data Requestor from who the request was received. The (un)subscription confirmation message is added to the log.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Explicit request and preview =====&lt;br /&gt;
The nature of the subscription and notification pattern leads to a different use of the explicit request and preview as stated in the SDG-regulation:&lt;br /&gt;
&lt;br /&gt;
* Notification is performed without a user transaction, making real-time explicit request and preview impossible.&lt;br /&gt;
* Fraud prevention outweighs user centricity, making explicit request and preview less opportune.&lt;br /&gt;
* The public nature of company data relaxes the need of explicit request and preview.&lt;br /&gt;
&lt;br /&gt;
Implementing an explicit request for future notifications introduces the burden of creating and maintaining an explicit request administration, with for instance options to retract a previously given explicit request&lt;br /&gt;
&lt;br /&gt;
''Design decision'': for the Business event notification explicit request and preview as defined in the SDG-regulation is not applicable.&lt;br /&gt;
&lt;br /&gt;
===== Positioning of subscription registration =====&lt;br /&gt;
For the location of the subscription registration certain options can be considered:&lt;br /&gt;
&lt;br /&gt;
* Fully at the data providing MS:  The subscription is registered at the data providing member state. The DE sends messages to the DO via DR and DT to manage the subscription (subscribe, cancel subscription).&lt;br /&gt;
&lt;br /&gt;
* Splitted between data provider and data consuming MS:  It is a possibility to split the register; the DO then only registers which MS subscribe to a certain company, and the DC MS registers which DE subscribe to the company. The process flow would be: (1) a central component at the DT registers which DE’s subscribe to which subjects of which data owners; (2) the DT registers as a MS for this company; (3) the DO registers which MS subscribes to which company and sends notifications to the DT (4) the DT distributes the notification to all DE.&lt;br /&gt;
* At a central component:  The DE4A-architecture implements the four-corner model, a central subscription register would conflict with this principle. Moreover, a subscription is a direct relation between a DO and a DE regarding a subject, there will be no added value to place such a subscription in an external, central component.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': The registration of subscriptions is placed within the data providing member state. DP MS is free to choose in which environment this is (DT, DO or another environment). The assumption for the design of the S&amp;amp;N pattern is that the subscription registration is fully placed in the environment of the DO.&lt;br /&gt;
&lt;br /&gt;
==== Subscription period ====&lt;br /&gt;
Including a subscription period with start and end date has several consequences... todo&lt;br /&gt;
&lt;br /&gt;
''Design decision:'' a subscription period with mandatory start and end dates is included in the subscription.&lt;br /&gt;
&lt;br /&gt;
==== Catalogue of DE4A business events ====&lt;br /&gt;
tbd&lt;br /&gt;
&lt;br /&gt;
==== Subscription register requirements ====&lt;br /&gt;
&lt;br /&gt;
===== Evidence exchange and subscription request =====&lt;br /&gt;
The main flow of the DBA-pilot is that the intermediation pattern triggers the subscription and notification pattern. Part of the intermediation pattern is the exchange of evidence: DE requests a specific evidence type from a specific company from the DO. In the happy flow the DE subscribes to receive notifications regarding this company. This trigger can be implemented in different ways:&lt;br /&gt;
&lt;br /&gt;
* As a part of the request for evidence. The evidence exchange request then consists at least of: company identifier, requested evidence type, DE identifier, subscribe y/n.&lt;br /&gt;
&lt;br /&gt;
* In a separate subscription request message: after a user consent to the preview and a successful completion of the registration process a separate subscription message is sent.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': the subscription request is not combined with the evidence exchange request but is sent after successful registration of the company/branch.&lt;br /&gt;
&lt;br /&gt;
Combining the subscription request with the evidence exchange would be too early in the process. It would lead to (possibly a relative high number of) requests to cancel the subscription if no consent was given or the registration was not successful. This would also introduce the risk of unauthorised subscriptions and notifications if the cancellation fails.&lt;br /&gt;
&lt;br /&gt;
There are two main choices for the subscrition criteria, subscribe to changes in: &lt;br /&gt;
&lt;br /&gt;
* business events&lt;br /&gt;
* evidences&lt;br /&gt;
&lt;br /&gt;
''Design decision: not all business events are related to an evidence, subscriptions must therefore be made to business events to cover all notifications to be sent, see table below.''&lt;br /&gt;
&lt;br /&gt;
==== Business event - evidence mapping ====&lt;br /&gt;
Below example for [[Doing Business Abroad Pilot]]. Each pilot (domain) must define tehir common event list includign a clear semantic explanation of each business of life event in order for the Data Evaluator to be able to interpret the event correctly and define an appropriate course of action, e.g. request an updated evidence or discontinue the public service/ &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!DE4A Business event&lt;br /&gt;
!Event includes changes in&lt;br /&gt;
!Related evidence type&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|'''Company info event'''&lt;br /&gt;
|EUID,  Updated company name/updated address/updated head quarters/changed identifier  (EUID)/changed legal form/changed representatives&lt;br /&gt;
|Company registration&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Annual report event'''&lt;br /&gt;
|Annual reports&lt;br /&gt;
|Annual report&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Directors disqulification event'''&lt;br /&gt;
|Disqualifications updated for directors&lt;br /&gt;
|Directors  disqulification&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''National merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are only relevant when the transferring company has subscribers.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cross border merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferrring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are relevant when the transferring company has subscribers. &lt;br /&gt;
This event is also relevant without a subscription. The business register of a company involved in a merger wants notifications even if there is no prior subscription to the foreign company in the cross border merger.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event regarding the company triggers the notification process. This event can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO determines the DE4A Business event name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Check the subscription register for subscribers to the company that is the subject of the business event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions found: continue notification process&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Move from a list of subscribers to single notifications (one for each subscriber) and lookup the routing information for each notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send notification, receive the acknowledgement that the notification has been received by the DR and update the audit log with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|DR performs a technical validation of the event notification and forward it to the DE. A technical exception flow is out of scope of this process description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log received message as part of audit trail?&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Check the notified business event and determine the action to be taken. &lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* Company identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active. Afterwards this will have to be analysed this to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The business event is not relevant for the DE and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evidence update event triggered'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The lookup pattern is triggered to request a new copy of the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Notify responsible party or organizational unit (that then contacts the company if needed).&lt;br /&gt;
&lt;br /&gt;
Depends on process, case by case, if this can be automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
==== Messages ====&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Business event notification’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event identification&lt;br /&gt;
|The identification of the business event (list of value: OOP TS  business event catalogue)&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event timestamp&lt;br /&gt;
|Date and time of business event&lt;br /&gt;
|M&lt;br /&gt;
|2021-05-01 15:01:27&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Identification of the subscription as registered at DO (local id)  which can be used in communication between DO and DE. Not essential but can  be useful in exception flows&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|SEBOLREG.5560802&lt;br /&gt;
|-&lt;br /&gt;
|Second legal person identifier&lt;br /&gt;
|Identification of a second company or a second EUID, used for example if the original EUID is changed&lt;br /&gt;
|O&lt;br /&gt;
|SEBOLREG.5594521&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event that triggered the notification, see Event - evidence mapping table above.&lt;br /&gt;
|M&lt;br /&gt;
|National merger&lt;br /&gt;
|-&lt;br /&gt;
|Business sub event type&lt;br /&gt;
|The subtype of the business event.&lt;br /&gt;
|O&lt;br /&gt;
|Initiated&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=File:DE4A_D2.5_PSA_0.8_evt.jpg&amp;diff=1411</id>
		<title>File:DE4A D2.5 PSA 0.8 evt.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=File:DE4A_D2.5_PSA_0.8_evt.jpg&amp;diff=1411"/>
		<updated>2021-05-12T11:27:05Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Figure of the Event Subscription Business Process&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1410</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1410"/>
		<updated>2021-05-11T12:38:23Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: Align with new schemeversion on business events&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is used by [[Doing Business Abroad Pilot]] in [[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)]]&lt;br /&gt;
&lt;br /&gt;
Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
DBA investigated the situations covered by the DBA and in contrast to what is covered by BRIS. For example: DBA covering more than branches, and more types of companies.&lt;br /&gt;
&lt;br /&gt;
=== Delimitation to BRIS ===&lt;br /&gt;
BRIS proposed change in the technical working group: Subscription will be replaced by a push notification through registering international branches in the registry of the mother company. That is reversing the responsibilities.&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
&lt;br /&gt;
Activity Table &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|Public Service Procedure&lt;br /&gt;
|User&lt;br /&gt;
|The Procedure leads at the side of the data-evaluator to either the registration of the represented company or the registration of a branch of the represented company (the parent-company of the branch).&lt;br /&gt;
&lt;br /&gt;
A successful registration of the company or the branch of the company leads to a subscription to business events of the represented company. This is needed to assess impact of these business events on service delivery to the company or the branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend subscription requests because an error occurred at DO-side.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Initiate subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate subscription need:&lt;br /&gt;
** subject identifier&lt;br /&gt;
** all events of a common event catalogue&lt;br /&gt;
** type of action: subscribe&lt;br /&gt;
** period of subscription&lt;br /&gt;
* Forward to Data Requestor (if applicable)&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: the delivery of an public service can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription?&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Cancel subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate cancel subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: cancel subscription&lt;br /&gt;
** specific end-date of the subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Lookup information on competent authority that facilitates subscription service (dynamic lookup, metadata tbd)&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Contact point that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Send the request to subscribe or unsubscribe to the DT.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscription / cancel subscription request contains: participant id of subscriber, subject identifier, set of common events, period of subscription, action (subscribe/cancel subscription).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward (un)subscription error message received from DT to DE.&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Analyse error and take appropriate actions (error could be on side of DE of DO) (exception so no need to model this in detail)&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward the confirmation on the (un)subscription request (received from the DT) to the DE.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Technical validation (xml validation and check on DE authorisation).including forwarding to data owner. Technical exception out of scope&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Functional check of request to subscribe: does company exists, are type of events/subscription supported.&lt;br /&gt;
&lt;br /&gt;
Functional check of request to unsubscribe: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional check, the request is rejected.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content (mainly the link to the request and the error message) and send it to DT&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Forward to DR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Message contains: participant id of subscriber, subject identifier, request type, reference to the request message, full request message, error&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Data owner creates/ends the DE’s subscription on the company’s events.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
&lt;br /&gt;
* If messages resemble BRIS messages that would avoid extra work to be done; because this mechanism is in already in place&lt;br /&gt;
* Harmonised set of business events needed.&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Create a confirmation: (un)subscription result (success), timestamp, link to (un)subscription request and send to DT (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send confirmation to DR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log confirmation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Subscription messages ====&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription request’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|RO/AT/90000471&lt;br /&gt;
|-&lt;br /&gt;
|Requested action&lt;br /&gt;
|Indicates whether a subscription or the cancellation of a subscription  is requested by the sender: ‘subscribe’ or ‘unsubscribe’&lt;br /&gt;
|M&lt;br /&gt;
|subscribe&lt;br /&gt;
|-&lt;br /&gt;
|Participant ID&lt;br /&gt;
|The OOP TS participant identifier that identifies the organisation that is the subscriber (and thus will receive business event notifications)&lt;br /&gt;
|O&lt;br /&gt;
|SE000000013&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event to subscribe to. If omitted, subscribe to all business events&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription period&lt;br /&gt;
|The period for which the subscription is valid. If omitted subscription is valid until a unsubcribe request.&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: event catalogue&lt;br /&gt;
|The domain of events the subscription is&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: subscription period&lt;br /&gt;
|The date of beginning and ending (optional) of the subscription&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription confirmation’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription result&lt;br /&gt;
|Subscription successful ; subscription cancellation successful&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Local identifier of the subscription. Not needed but can be useful  in exception flows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription error’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Request type&lt;br /&gt;
|Subscribe / unsubscribe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscriber identification&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error message&lt;br /&gt;
|Subscribe: company unknown, (participant not authorized)&lt;br /&gt;
&lt;br /&gt;
Unsubscribe: company unknown, company not active, subscription unknown,  subscription not active&lt;br /&gt;
&lt;br /&gt;
&amp;gt;move this text to subpage DBA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Explicit request and preview =====&lt;br /&gt;
The nature of the subscription and notification pattern leads to a different use of the explicit request and preview as stated in the SDG-regulation:&lt;br /&gt;
&lt;br /&gt;
* Notification is performed without a user transaction, making real-time explicit request and preview impossible.&lt;br /&gt;
* Fraud prevention outweighs user centricity, making explicit request and preview less opportune.&lt;br /&gt;
* The public nature of company data relaxes the need of explicit request and preview.&lt;br /&gt;
&lt;br /&gt;
Implementing an explicit request for future notifications introduces the burden of creating and maintaining an explicit request administration, with for instance options to retract a previously given explicit request&lt;br /&gt;
&lt;br /&gt;
''Design decision'': for the Business event notification explicit request and preview as defined in the SDG-regulation is not applicable.&lt;br /&gt;
&lt;br /&gt;
===== Positioning of subscription registration =====&lt;br /&gt;
For the location of the subscription registration certain options can be considered:&lt;br /&gt;
&lt;br /&gt;
* Fully at the data providing MS:  The subscription is registered at the data providing member state. The DE sends messages to the DO via DR and DT to manage the subscription (subscribe, cancel subscription).&lt;br /&gt;
&lt;br /&gt;
* Splitted between data provider and data consuming MS:  It is a possibility to split the register; the DO then only registers which MS subscribe to a certain company, and the DC MS registers which DE subscribe to the company. The process flow would be: (1) a central component at the DT registers which DE’s subscribe to which subjects of which data owners; (2) the DT registers as a MS for this company; (3) the DO registers which MS subscribes to which company and sends notifications to the DT (4) the DT distributes the notification to all DE.&lt;br /&gt;
* At a central component:  The DE4A-architecture implements the four-corner model, a central subscription register would conflict with this principle. Moreover, a subscription is a direct relation between a DO and a DE regarding a subject, there will be no added value to place such a subscription in an external, central component.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': The registration of subscriptions is placed within the data providing member state. DP MS is free to choose in which environment this is (DT, DO or another environment). The assumption for the design of the S&amp;amp;N pattern is that the subscription registration is fully placed in the environment of the DO.&lt;br /&gt;
&lt;br /&gt;
===== Evidence exchange and subscription request =====&lt;br /&gt;
The main flow of the DBA-pilot is that the intermediation pattern triggers the subscription and notification pattern. Part of the intermediation pattern is the exchange of evidence: DE requests a specific evidence type from a specific company from the DO. In the happy flow the DE subscribes to receive notifications regarding this company. This trigger can be implemented in different ways:&lt;br /&gt;
&lt;br /&gt;
* As a part of the request for evidence. The evidence exchange request then consists at least of: company identifier, requested evidence type, DE identifier, subscribe y/n.&lt;br /&gt;
&lt;br /&gt;
* In a separate subscription request message: after a user consent to the preview and a successful completion of the registration process a separate subscription message is sent.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': the subscription request is not combined with the evidence exchange request but is sent after successful registration of the company/branch.&lt;br /&gt;
&lt;br /&gt;
Combining the subscription request with the evidence exchange would be too early in the process. It would lead to (possibly a relative high number of) requests to cancel the subscription if no consent was given or the registration was not successful. This would also introduce the risk of unauthorised subscriptions and notifications if the cancellation fails.&lt;br /&gt;
&lt;br /&gt;
There are two main choices for the subscrition criteria, subscribe to changes in: &lt;br /&gt;
&lt;br /&gt;
* business events&lt;br /&gt;
* evidences&lt;br /&gt;
&lt;br /&gt;
''Design decision: not all business events are related to an evidence, subscriptions must therefore be made to business events to cover all notifications to be sent, see table below.''&lt;br /&gt;
&lt;br /&gt;
==== Business event - evidence mapping ====&lt;br /&gt;
Below example for [[Doing Business Abroad Pilot]]. Each pilot (domain) must define tehir common event list includign a clear semantic explanation of each business of life event in order for the Data Evaluator to be able to interpret the event correctly and define an appropriate course of action, e.g. request an updated evidence or discontinue the public service/ &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!DE4A Business event&lt;br /&gt;
!Event includes changes in&lt;br /&gt;
!Related evidence type&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|'''Company info event'''&lt;br /&gt;
|EUID,  Updated company name/updated address/updated head quarters/changed identifier  (EUID)/changed legal form/changed representatives&lt;br /&gt;
|Company registration&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Annual report event'''&lt;br /&gt;
|Annual reports&lt;br /&gt;
|Annual report&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Directors disqulification event'''&lt;br /&gt;
|Disqualifications updated for directors&lt;br /&gt;
|Directors  disqulification&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''National merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are only relevant when the transferring company has subscribers.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cross border merger event'''&lt;br /&gt;
|Merger initiated/completed/cancelled, transferrring company identifier, aquring company identifier&lt;br /&gt;
|&lt;br /&gt;
|Notifications are relevant when the transferring company has subscribers. &lt;br /&gt;
This event is also relevant without a subscription. The business register of a company involved in a merger wants notifications even if there is no prior subscription to the foreign company in the cross border merger.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event regarding the company triggers the notification process. This event can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO determines the DE4A Business event name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Check the subscription register for subscribers to the company that is the subject of the business event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions found: continue notification process&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Move from a list of subscribers to single notifications (one for each subscriber) and lookup the routing information for each notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send notification, receive the acknowledgement that the notification has been received by the DR and update the audit log with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|DR performs a technical validation of the event notification and forward it to the DE. A technical exception flow is out of scope of this process description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log received message as part of audit trail?&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Check the notified business event and determine the action to be taken. &lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* Company identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active. Afterwards this will have to be analysed this to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The business event is not relevant for the DE and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Evidence update event triggered'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The lookup pattern is triggered to request a new copy of the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Notify responsible party or organizational unit (that then contacts the company if needed).&lt;br /&gt;
&lt;br /&gt;
Depends on process, case by case, if this can be automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
==== Messages ====&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Business event notification’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''M/O'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event identification&lt;br /&gt;
|The identification of the business event (list of value: OOP TS  business event catalogue)&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event timestamp&lt;br /&gt;
|Date and time of business event&lt;br /&gt;
|M&lt;br /&gt;
|2021-05-01 15:01:27&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Identification of the subscription as registered at DO (local id)  which can be used in communication between DO and DE. Not essential but can  be useful in exception flows&lt;br /&gt;
|O&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Legal person identifier&lt;br /&gt;
|Identification of the company following the standard for EUID, &amp;lt;country code&amp;gt;&amp;lt;business register code&amp;gt;.&amp;lt;company identifier&amp;gt;_&amp;lt;optional check character&amp;gt;. EUID is used for all companies registered in a European business register.&lt;br /&gt;
|M&lt;br /&gt;
|SEBOLREG.5560802&lt;br /&gt;
|-&lt;br /&gt;
|Second legal person identifier&lt;br /&gt;
|Identification of a second company or a second EUID, used for example if the original EUID is changed&lt;br /&gt;
|O&lt;br /&gt;
|SEBOLREG.5594521&lt;br /&gt;
|-&lt;br /&gt;
|Business event type&lt;br /&gt;
|The business event that triggered the notification, see Event - evidence mapping table above.&lt;br /&gt;
|M&lt;br /&gt;
|National merger&lt;br /&gt;
|-&lt;br /&gt;
|Business sub event type&lt;br /&gt;
|The subtype of the business event.&lt;br /&gt;
|O&lt;br /&gt;
|Initiated&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1404</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1404"/>
		<updated>2021-05-10T13:26:59Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
&lt;br /&gt;
Activity Table &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|eProcedure&lt;br /&gt;
|User&lt;br /&gt;
|The eProcedure leads at the side of the data-evaluator to either the registration of the represented company or the registration of a branch of the represented company (the parent-company of the branch).&lt;br /&gt;
&lt;br /&gt;
A successful registration of the company or the branch of the company leads to a subscription to business events of the represented company. This is needed to assess impact of these business events on service delivery to the company or the branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend subscription requests because an error occurred at DO-side.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Initiate subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: subscribe&lt;br /&gt;
** period of subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: the delivery of an public service can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription?&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Cancel subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate cancel subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: cancel subscription&lt;br /&gt;
** specific end-date of the subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Lookup information on competent authority that facilitates subscription service (metadata tbd)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(should data requestor resolve participant id dynamically? Not needed, participant id is stable enough)&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Coordinator that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Send the request to subscribe or unsubscribe to the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward (un)subscription error message received from DT to DE&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Analyse error and take appropriate actions (error could be on side of DE of DO) (exception so no need to model this in detail)&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward the confirmation on the (un)subscription request (received from the DT) to the DE.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Technical validation including forwarding to data owner. Technical exception out of scope&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Functional check of request to subscribe: does company exists, are type of events/subscription supported, is DE authorized.&lt;br /&gt;
&lt;br /&gt;
Functional check of request to unsubscribe: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional check, the request is rejected.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content (mainly the link to the request and the error message) and send it to DT&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Forward to DR&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Data owner creates/ends the DE’s subscription on the company’s events.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
&lt;br /&gt;
* If messages resemble BRIS messages that would avoid extra work to be done; because this mechanism is in already in place&lt;br /&gt;
* Harmonised set of business events possibly needed.&lt;br /&gt;
* Register on evidence type: tbd&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Create a confirmation: (un)subscription result (success), timestamp, link to (un)subscription request and send to DT (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send confirmation to DR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log confirmation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A / M = Automated or Manual&lt;br /&gt;
&lt;br /&gt;
==== Messages ====&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription request’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|RO/AT/90000471&lt;br /&gt;
|-&lt;br /&gt;
|Requested action&lt;br /&gt;
|Indicates whether a subscription or the cancellation of a subscription  is requested by the sender: ‘subscribe’ or ‘unsubscribe’&lt;br /&gt;
|subscribe&lt;br /&gt;
|-&lt;br /&gt;
|Participant ID&lt;br /&gt;
|The OOP TS participant identifier that identifies the organisation that is the subscriber (and thus will receive business event notifications)&lt;br /&gt;
|SE000000013&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: event catalogue&lt;br /&gt;
|The domain of events the subscription is &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TBD: subscription period&lt;br /&gt;
|The date of beginning and ending (optional) of the subscription&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription confirmation’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription result&lt;br /&gt;
|Subscription successful ; subscription cancellation successful&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Local identifier of the subscription. Not needed but can be useful  in exception flows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Subscription error’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Request type&lt;br /&gt;
|Subscribe / unsubscribe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error timestamp&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Error message&lt;br /&gt;
|Subscribe: company unknown, (participant not authorized)&lt;br /&gt;
&lt;br /&gt;
Unsubscribe: company unknown, company not active, subscription unknown,  subscription not active&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription request reference&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Design decisions ====&lt;br /&gt;
&lt;br /&gt;
===== Explicit request and preview =====&lt;br /&gt;
The nature of the subscription and notification pattern leads to a different use of the explicit request and preview as stated in the SDG-regulation:&lt;br /&gt;
&lt;br /&gt;
* Notification is performed without a user transaction, making real-time explicit request and preview impossible.&lt;br /&gt;
* Fraud prevention outweighs user centricity, making explicit request and preview less opportune.&lt;br /&gt;
* The public nature of company data relaxes the need of explicit request and preview.&lt;br /&gt;
&lt;br /&gt;
Implementing an explicit request for future notifications introduces the burden of creating and maintaining an explicit request administration, with for instance options to retract a previously given explicit request&lt;br /&gt;
&lt;br /&gt;
''Design decision'': for the Business event notification explicit request and preview as defined in the SDG-regulation is not applicable.&lt;br /&gt;
&lt;br /&gt;
===== Positioning of subscription registration =====&lt;br /&gt;
For the location of the subscription registration certain options can be considered:&lt;br /&gt;
&lt;br /&gt;
* Fully at the data providing MS:  The subscription is registered at the data providing member state. The DE sends messages to the DO via DR and DT to manage the subscription (subscribe, cancel subscription).&lt;br /&gt;
&lt;br /&gt;
* Splitted between data provider and data consuming MS:  It is a possibility to split the register; the DO then only registers which MS subscribe to a certain company, and the DC MS registers which DE subscribe to the company. The process flow would be: (1) a central component at the DT registers which DE’s subscribe to which subjects of which data owners; (2) the DT registers as a MS for this company; (3) the DO registers which MS subscribes to which company and sends notifications to the DT (4) the DT distributes the notification to all DE.&lt;br /&gt;
* At a central component:  The DE4A-architecture implements the four-corner model, a central subscription register would conflict with this principle. Moreover, a subscription is a direct relation between a DO and a DE regarding a subject, there will be no added value to place such a subscription in an external, central component.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': The registration of subscriptions is placed within the data providing member state. DP MS is free to choose in which environment this is (DT, DO or another environment). The assumption for the design of the S&amp;amp;N pattern is that the subscription registration is fully placed in the environment of the DO.&lt;br /&gt;
&lt;br /&gt;
===== Evidence exchange and subscription request =====&lt;br /&gt;
The main flow of the DBA-pilot is that the intermediation pattern triggers the subscription and notification pattern. Part of the intermediation pattern is the exchange of evidence: DE requests a specific evidence type from a specific company from the DO. In the happy flow the DE subscribes to receive notifications regarding this company. This trigger can be implemented in different ways:&lt;br /&gt;
&lt;br /&gt;
* As a part of the request for evidence. The evidence exchange request then consists at least of: company identifier, requested evidence type, DE identifier, subscribe y/n.&lt;br /&gt;
&lt;br /&gt;
* In a separate subscription request message: after a user consent to the preview and a successful completion of the registration process a separate subscription message is send.&lt;br /&gt;
&lt;br /&gt;
''Design decision'': the subscription request is not combined with the evidence exchange request but is sent after successful registration of the company/branch.&lt;br /&gt;
&lt;br /&gt;
Combining the subscription request with the evidence exchange would be too early in the process. It would lead to (possibly a relative high number of) requests to cancel the subscription if no consent was given or the registration was not successful. This would also introduce the risk of unauthorised subscriptions and notifications if the cancellation fails.&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event regarding the company triggers the notification process. This event can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify DE4A event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO determines the DE4A Business event name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Check the subscription register for subscribers to the company that is the subject of the business event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions found: continue notification process&lt;br /&gt;
|-&lt;br /&gt;
|'''Extract evidence'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Delete this step. (sending evidence or changed data is another type of notification process)&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Move from a list of subscribers to single notifications (one for each subscriber) and lookup the routing information for each notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send notification, receive the acknowledgement that the notification has been received by the DR and update the audit log with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|DR performs a technical validation of the event notification and forward it to the DE. A technical exception flow is out of scope of this process description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log received message as part of audit trail?&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Check the notified business event and determine the action to be taken. &lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* Company identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active. Afterwards this will have to be analysed this to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The business event is not relevant for the DE and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Update company information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|THe lookup pattern is triggered to request a new copy of the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Notify responsible party or organizational unit (that then contacts the company if needed).&lt;br /&gt;
&lt;br /&gt;
Depends on process, case by case, if this can be automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
==== Messages ====&lt;br /&gt;
&lt;br /&gt;
===== Message ‘Business event notification’ =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|'''Example value'''&lt;br /&gt;
|-&lt;br /&gt;
|Legal Person Identifier&lt;br /&gt;
|Identification of the company following the eIDAS regulation:  country code / country code / company identifier&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event identification&lt;br /&gt;
|The identification of the business event (list of value: OOP TS  business event catalogue)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Business event timestamp&lt;br /&gt;
|Date and time of business event&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Subscription reference&lt;br /&gt;
|Identification of the subscription as registered at DO (local id)  which can be used in communication between DO and DE. Not essential but can  be useful in exception flows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1376</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1376"/>
		<updated>2021-05-06T12:17:08Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
&lt;br /&gt;
Activity Table &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|eProcedure&lt;br /&gt;
|User&lt;br /&gt;
|The eProcedure leads at the side of the data-evaluator to either the registration of the represented company or the registration of a branch of the represented company (the parent-company of the branch).&lt;br /&gt;
&lt;br /&gt;
A successful registration of the company or the branch of the company leads to a subscription to business events of the represented company. This is needed to assess impact of these business events on service delivery to the company or the branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend subscription requests because an error occurred at DO-side.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Initiate subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: subscribe&lt;br /&gt;
** period of subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: the delivery of an public service can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription?&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Cancel subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate cancel subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: cancel subscription&lt;br /&gt;
** specific end-date of the subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Lookup information on competent authority that facilitates subscription service (metadata tbd)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(should data requestor resolve participant id dynamically? Not needed, participant id is stable enough)&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Coordinator that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Send the request to subscribe or unsubscribe to the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward (un)subscription error message received from DT to DE&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Analyse error and take appropriate actions (error could be on side of DE of DO) (exception so no need to model this in detail)&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward the confirmation on the (un)subscription request (received from the DT) to the DE.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Technical validation including forwarding to data owner. Technical exception out of scope&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Functional check of request to subscribe: does company exists, are type of events/subscription supported, is DE authorized.&lt;br /&gt;
&lt;br /&gt;
Functional check of request to unsubscribe: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional check, the request is rejected.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content (mainly the link to the request and the error message) and send it to DT&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Forward to DR&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Data owner creates/ends the DE’s subscription on the company’s events.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
&lt;br /&gt;
* If messages resemble BRIS messages that would avoid extra work to be done; because this mechanism is in already in place&lt;br /&gt;
* Harmonised set of business events possibly needed.&lt;br /&gt;
* Register on evidence type: tbd&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Create a confirmation: (un)subscription result (success), timestamp, link to (un)subscription request and send to DT (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send confirmation to DR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log confirmation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A / M = Automated or Manual&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|An event regarding the company triggers the notification process. This event can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration as a result of the business event.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify DE4A event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO determines the DE4A Business event name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the DO must have a mapping of it's own business events to the list of DE4A business events.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Check the subscription register for subscribers to the company that is the subject of the business event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions found: continue notification process&lt;br /&gt;
|-&lt;br /&gt;
|'''Extract evidence'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Delete this step. (sending evidence or changed data is another type of notification process)&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification, mainly the DE4A business event name and the timestamp the event took place.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Move from a list of subscribers to single notifications (one for each subscriber) and lookup the routing information for each notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send notification, receive the acknowledgement that the notification has been received by the DR and update the audit log with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|DR performs a technical validation of the event notification and forward it to the DE. A technical exception flow is out of scope of this process description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log received message as part of audit trail?&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Check the notified business event and determine the action to be taken. &lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* Company identifier&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active. Afterwards this will have to be analysed this to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The business event is not relevant for the DE and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Update company information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|THe lookup pattern is triggered to request a new copy of the Company Registration Evidence.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Notify responsible party or organizational unit (that then contacts the company if needed).&lt;br /&gt;
&lt;br /&gt;
Depends on process, case by case, if this can be automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
	<entry>
		<id>https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1353</id>
		<title>Subscription and Notification Pattern</title>
		<link rel="alternate" type="text/html" href="https://wiki.de4a.eu/index.php?title=Subscription_and_Notification_Pattern&amp;diff=1353"/>
		<updated>2021-05-06T10:14:43Z</updated>

		<summary type="html">&lt;p&gt;Bart.vanbekkum: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Introductory text&lt;br /&gt;
&lt;br /&gt;
=== Functional Variants of the Subscription and Notification Pattern ===&lt;br /&gt;
Two distinct business requirements for Subscription and Notification Pattern: Updating of previously shared Evidence or being informed about an Event&lt;br /&gt;
&lt;br /&gt;
Technically also two different approaches to Notification: Sending updated Data of a defined Evidence type or Event Notifications that contain only the identification data and the event type. Technical approach and business requirement do not relate one two one, giving rise to potential hybrid approaches. &lt;br /&gt;
&lt;br /&gt;
Event The reference Architecture for the DE4A projects focusses the Subscription and Notification Pattern on Event Notification, which can be combines with the [[Lookup Pattern]] to cover the updating previously shared evidence use case. [23-04-2021: tables below still represent a hybrid approach and need rework] &lt;br /&gt;
&lt;br /&gt;
=== Working Hypotheses ===&lt;br /&gt;
&lt;br /&gt;
== Business Process ==&lt;br /&gt;
&lt;br /&gt;
=== Event Subscription ===&lt;br /&gt;
&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
&lt;br /&gt;
Activity Table &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type*'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger initiate subscription'''&lt;br /&gt;
|eProcedure&lt;br /&gt;
|User&lt;br /&gt;
|The eProcedure leads at the side of the data-evaluator to either the registration of the represented company or the registration of a branch of the represented company (the parent-company of the branch).&lt;br /&gt;
&lt;br /&gt;
A successful registration of the company or the branch of the company leads to a subscription to business events of the represented company. This is needed to assess impact of these business events on service delivery to the company or the branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The  subscription process can also be triggered for technical reasons: for instance to resend subscription requests because an error occurred at DO-side.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Initiate subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Initiate subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: subscribe&lt;br /&gt;
** period of subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: subscriber should unsubscribe and re-subscribe if participant-id changes. To be able to do so, subscriptions have to be registered at the DE.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger cancel subscription'''&lt;br /&gt;
|eProcedure / Public service / Notification&lt;br /&gt;
|Service&lt;br /&gt;
|Potential triggers to cancel a subscription are:&lt;br /&gt;
&lt;br /&gt;
* Public service: the delivery of an public service can lead to the need to cancel the subscription (the public service has ended, e.g. a multi-year subsidy procedure, the country can decide to cancel the  branch-office registration).&lt;br /&gt;
&lt;br /&gt;
* eProcedure: the user can also withdraw from service and thereby initiating cancellation of the subscription?&lt;br /&gt;
&lt;br /&gt;
* Notification: after receiving a notification the assessment can be that the subscription is no longer needed (exception flow).&lt;br /&gt;
&lt;br /&gt;
* Technical reasons: for instance an error at the DO-side could lead to the need to resend the request to cancel a subscription.&lt;br /&gt;
|-&lt;br /&gt;
|'''Cancel subscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Cancel subscription:&lt;br /&gt;
&lt;br /&gt;
* Collect data and formulate cancel subscription need:&lt;br /&gt;
** company identifier&lt;br /&gt;
** all events of subset/type of events (specific event catalogue)? tbd&lt;br /&gt;
** type of action: cancel subscription&lt;br /&gt;
** specific end-date of the subscription? tbd&lt;br /&gt;
* Forward to Data requestor (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Lookup event provider routing information'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Lookup information on competent authority that facilitates subscription service (metadata tbd)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(should data requestor resolve participant id dynamically? Not needed, participant id is stable enough)&lt;br /&gt;
|-&lt;br /&gt;
|'''Inform National Coordinator that un-subscription was not successful'''&lt;br /&gt;
|DR&lt;br /&gt;
|User&lt;br /&gt;
|In case of the cancellation of a subscription there is a slight chance the participant ID of DO has changed: a manual process deals with this (unhappy) flow.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription request'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Send the request to subscribe or unsubscribe to the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward (un)subscription error'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward (un)subscription error message received from DT to DE&lt;br /&gt;
|-&lt;br /&gt;
|'''Investigate reason for (un)subscription error'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Analyse error and take appropriate actions (error could be on side of DE of DO) (exception so no need to model this in detail)&lt;br /&gt;
|-&lt;br /&gt;
|'''Forward confirmation'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|Forward the confirmation on the (un)subscription request (received from the DT) to the DE.&lt;br /&gt;
|-&lt;br /&gt;
|'''Log (un)subscription information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The confirmation is logged to complete the audit trail.&lt;br /&gt;
&lt;br /&gt;
Note: register in a way that it is easily readable (optional: include subscription id).&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate (un)subscription request'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Technical validation including forwarding to data owner. Technical exception out of scope&lt;br /&gt;
|-&lt;br /&gt;
|'''Evaluate (un)subscription request'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Functional check of request to subscribe: does company exists, are type of events/subscription supported, is DE authorized.&lt;br /&gt;
&lt;br /&gt;
Functional check of request to unsubscribe: does subscription exists.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the request does not pass the functional check, the request is rejected.&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare (un)subscription error message'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Collect the content (mainly the link to the request and the error message) and send it to DT&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription error message'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Forward to DR&lt;br /&gt;
|-&lt;br /&gt;
|'''Register (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Data owner creates/ends the DE’s subscription on the company’s events.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
&lt;br /&gt;
* If messages resemble BRIS messages that would avoid extra work to be done; because this mechanism is in already in place&lt;br /&gt;
* Harmonised set of business event needed.&lt;br /&gt;
* Register on evidence type?&lt;br /&gt;
|-&lt;br /&gt;
|'''Confirm (un)subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Create a confirmation: (un)subscription result (success), timestamp, link to (un)subscription request and send to DT (if applicable)&lt;br /&gt;
|-&lt;br /&gt;
|'''Send (un)subscription confirmation'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send confirmation to DR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log confirmation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A / M = Automated or Manual&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* A user centric perspective is that the user can cancel the subscription and prefers to provide the changes in company registration manually. This is out of scope.&lt;br /&gt;
* Separation of domains:&lt;br /&gt;
* BRIS domain: if a branch of a certain company type (limited company) is registered in the Business Register of MS the consequences are:&lt;br /&gt;
* The subscription is already covered by BRIS and legally necessary as long as branch is registered.&lt;br /&gt;
* User has no influence on subscription process&lt;br /&gt;
* SDG domain, if company is registered at DE:&lt;br /&gt;
* subscription and explicit request as long as eProcedure runs? tbd&lt;br /&gt;
* BRIS: covers some cases; check at DE if subscription is already covered by BRIS?&lt;br /&gt;
&lt;br /&gt;
=== Event Notification ===&lt;br /&gt;
Business Process (picture)&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Activity / UC'''&lt;br /&gt;
|'''Role''' &lt;br /&gt;
|'''Type'''&lt;br /&gt;
|'''Description'''&lt;br /&gt;
|-&lt;br /&gt;
|'''Trigger Change in registered company'''&lt;br /&gt;
|Company representative / SP&lt;br /&gt;
|User&lt;br /&gt;
|A change in the company registration triggers the notification process. The change in company registration can be initiated by:&lt;br /&gt;
&lt;br /&gt;
* a representative of the company itself, e.g.: merger, change of owner.&lt;br /&gt;
* a public service, e.g.: change of postal code, death of representative, court of law ruling.&lt;br /&gt;
|-&lt;br /&gt;
|'''Change company registration'''&lt;br /&gt;
|DO&lt;br /&gt;
|User&lt;br /&gt;
|Standard process of the Data Owner - Business Register - to process changes in company registration.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify event'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|The DO matches the changes in company registration to the business event catalogue (event monitoring), identifies the business event that has taken place and determines which processes are related to the business event.&lt;br /&gt;
&lt;br /&gt;
The DO triggers all process(es) related to the identified event:&lt;br /&gt;
&lt;br /&gt;
* if the change matches with OOP TS event catalogue: continue OOP TS notification process&lt;br /&gt;
* if the change matches with other event catalogue(s) (e.g. BRIS): trigger relevant process(es)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that changes of the company can be out of scope of the DE4A/DBA-pilot and therefore not lead to a notification.&lt;br /&gt;
&lt;br /&gt;
Note that an event could resort under BRIS and under OOP TS regulation; e.g. a cross-border merger of a company and Bolagsverket and RVO have a subscription on this company: this leads to a BRIS notification to Bolagsverket and an OOP TS notification to RVO.&lt;br /&gt;
|-&lt;br /&gt;
|'''Check subscription'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Check the subscription registration for subscribers to the company that is the subject of the business event:&lt;br /&gt;
&lt;br /&gt;
* No active subscriptions: end of process&lt;br /&gt;
* Active subscriptions found: continue notification process&lt;br /&gt;
|-&lt;br /&gt;
|'''Extract evidence'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Extraction of changed data to include in notification (could be part of prepare notification step).&lt;br /&gt;
|-&lt;br /&gt;
|'''Prepare notification message and subscriber list'''&lt;br /&gt;
|DO&lt;br /&gt;
|Service&lt;br /&gt;
|Make a list of the subscribers to notify and create the payload of the notification. The payload includes the  changed data, so changed data is not missed when different notifications follow shortly after each other. The original value and new value of the changed elements are included and not the whole Company Registration evidence (sometimes the original value is needed (e.g. EUID).&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve service metadata'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Move from a list to single notifications (one for each subscriber) and lookup the routing information for each notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resolve subscriber participant ID and inform National Coordinator'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|If address / DE participant id is not found in the metadata, manual action is needed: contact DE / MS of participant id to analyse the exception and take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Request from DE to resend event notifications'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Exception flow for missed notifications (failed or non-failed): if a DE misses notifications a resend of notifications can be requested.&lt;br /&gt;
|-&lt;br /&gt;
|'''Resend past event notifications'''&lt;br /&gt;
|DT&lt;br /&gt;
|User&lt;br /&gt;
|The resending of previously sent notifications requires a manual action at the DT.&lt;br /&gt;
|-&lt;br /&gt;
|'''Send event notification'''&lt;br /&gt;
|DT&lt;br /&gt;
|Service&lt;br /&gt;
|Send notification, receive the acknowledgement that the notification has been received by the DR and update the audit log with both the event notification and the acknowledgement.&lt;br /&gt;
|-&lt;br /&gt;
|'''Validate event notification'''&lt;br /&gt;
|DR&lt;br /&gt;
|Service&lt;br /&gt;
|DR performs a technical validation of the event notification and forward it to the DE. A technical exception flow is out of scope of this process description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Log received message as part of audit trail?&lt;br /&gt;
|-&lt;br /&gt;
|'''Determine event response'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|Check the notified business event and determine the action to be taken. &lt;br /&gt;
&lt;br /&gt;
Note that every determination result is logged as a part of the audit trail or for internal reasons:&lt;br /&gt;
&lt;br /&gt;
* EUID&lt;br /&gt;
* Notified event&lt;br /&gt;
* Request id&lt;br /&gt;
* Determined response&lt;br /&gt;
* Timestamp of determination&lt;br /&gt;
|-&lt;br /&gt;
|'''Request unsubscription'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|When the company cannot be identified or is no longer active. Afterwards this will have to be analysed this to find the cause of this apparently wrong subscription and to take appropriate measures.&lt;br /&gt;
|-&lt;br /&gt;
|'''Dismiss event'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The business event is not relevant for the DE and is dismissed. No further actions need to be taken.&lt;br /&gt;
|-&lt;br /&gt;
|'''Update company information'''&lt;br /&gt;
|DE&lt;br /&gt;
|Service&lt;br /&gt;
|The company data that is registered by the DE is updated, using the information in the notification.&lt;br /&gt;
|-&lt;br /&gt;
|'''Identify business responses and notify responsible party'''&lt;br /&gt;
|DE&lt;br /&gt;
|User&lt;br /&gt;
|Notify responsible party or organizational unit (that then contacts the company if needed).&lt;br /&gt;
&lt;br /&gt;
Depends on process, case by case, if this can be automated or manually.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
&lt;br /&gt;
* A functional response from DE to DO, for example to inform that appropriate actions have been taken, are out of scope of DE4A / OOP TS (it is part of BRIS requirements though). Check.&lt;br /&gt;
* Notifications from DE to DO (resulting from changes in the branch registration) are out of scope of DE4A / OOP TS.&lt;br /&gt;
&lt;br /&gt;
== Process Realization ==&lt;br /&gt;
?All on one Page or do we create sub-pages for Business Process and Process Realization?&lt;br /&gt;
&lt;br /&gt;
== Used by the following use cases ==&lt;br /&gt;
&lt;br /&gt;
[[Use Case &amp;quot;Doing Business in Another Member State&amp;quot; (DBA UC2)|DBA (UC2)]]&lt;br /&gt;
&lt;br /&gt;
== Application collaborations ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
[[Category:wip]]&lt;/div&gt;</summary>
		<author><name>Bart.vanbekkum</name></author>
	</entry>
</feed>