The major goal of the DITAS SDK is to manage the life-cycle of the VDC that is directly connected to the life-cycle of the VDC Blueprint (i.e., the descriptor of the VDC) which goal is manyfold:
- to describe the characteristics of the exposed data sources
- to support the application designer when looking for the dataset that could be interesting for his/her purposes.
- to support the DITAS execution environment to properly deploy all the components composing the VDC needed to expose the data.
Different roles are involved in the management of the VDC:
- The data administrator is the owner of data sources and has complete knowledge of them. The data administrator takes advantage of DITAS to enable the provisioning of some of the internal data that s/he would like to make accessible by other subjects. Depending on the subject and the consent of usage, the visibility on these data can be partial or total. With DITAS, the data administrator can simplify the process of making her/his data available as, through the VDC, the DITAS platform is able to optimize the data provisioning by means of data and computation movement. In fact, the data administrator has only the task to define the exposed API, i.e., the Common Access Framework (CAF), reflecting the methods to access the data.
- The application developer is the actor in charge of creating the VDC. Based on the data sources made available by the data administrator s/he responsible for defining the code able to expose the API defined by the data administrator. Depending on the case, the data processing developed can be a simple connection to the provided data sources or complex data analytics. As a result, the application developer is able to provide a complete specification of a VDC. It is worth noting, that in several cases the same actor will hold both the data administrator and the application developer roles.
- The application designer represents the service consumer and her/his goal is twofold. On the one hand, the goal is to select the most suitable VDC with respect to her/his requirements. For this reason, the DITAS platform has to provide a matchmaker able to compare the application requirements and the capabilities offered by a VDC. This matchmaking is mainly driven by the data utility which encompasses the quality of service, quality of data, and reputation aspects. On the other hand, she/he has to check if the VDC is really providing what has been promised both according to functional and non-functional perspective.
- The DITAS operator is responsible for the run-time platform; this includes the responsibility for maintaining the applications running. The system operator has no specific application or data knowledge, but rather dependent on the monitoring tools to verify that all the applications are properly running, to monitor the corrective actions the DITAS platform is taking, and to provide feedback at design-time by suggesting refinements of the data utility specification.
According to the DITAS approach, the first move must be done by the data administrator which has to define and prepare the so-called DAL (Data Access Layer) module, i.e., the component in charge of managing the access to the data that are going to be made public. Once, the DAL is properly defined and implemented, the application developer will develop the VDC which contains the module in charge of processing the data and to expose them according to a REST interface (i.e., the CAF). The work of the application developer ends with the generation of the Abstract VDC Blueprint and its publication in the Resolution Engine.
On the other side, the data consumer, i.e., the application designer, will rely on the Resolution Engine to retrieve all the Abstract VDC Blueprint which are compliant to the expressed functional and non-functional requirements. At this point, the application designer, among the list of candidates, will select the most suitable Abstract VDC Blueprint and will invoke the DITAS Execution Engine to deploy the needed infrastructure to make the data accessible.
For each of the identified roles, DITAS provides a dedicated SDK that simplifies the life of the actors involved in the management of the related VDC according to the process described. Depending on the role, the SDK is provided in different flavors: e.g., CLI, GUI, web applications. Details on the SDK offered for each of the roles follow:
- SDK for Data Administrator
- SDK for VDC Developer (Application Developer)
- SDK for Application Designer
- SDK for DITAS Operator