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 to 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.
For each of these roles, DITAS provides a dedicated SDK which simplifies the life of the actors involved in the management of the related VDC. 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