From Piped to Interactive Work Flows
The micro services model is apt at creating small reusable components. These maybe assembled into larger work flows. The feasibility of this approach has meanwhile been proven in concept by a work flow for collation, consisting of a number of identified steps with connected and interchangeable micro services.
Simple Work Flows
As long as options (work flow parameters) can be assigned at the very start of the process, micro services 'piping' to establish larger meaningful work flows is rather straightforward. Figure 1 shows a single micro service solution, Figure 2 a 'piped' or composite one. The composite model is currently actually used for a proof of concept collation work flow. Individual steps in that work flow may be serviced by one or two 'piped' micro services. And individual micro services may be exchanged to provide for different implementations, thus tweaking the work flow process to specific needs. A micro services pre-processor that turns unstable Middle Dutch spelling into a regularized token stream, may be replaced (redirected) through a Greek morphology pre-processor to adapt the work flow for classical Greek. (Figure 3 shows this principle for several work flows.)
Fig. 1: Single Micro Service Solution
Fig. 2: 'Piped' Micro Services Solution
Interactive Work Flows
A difficulty still to be solved is how to construct a work flow from several micro services if one (and especially if *more*) of those needs to interact with the user/scholar. It's clear that a lot of work flows will have the need for interaction (e.g. annotation, commenting etc.) The difficulty in this arises from the need for the micro services (or any other solution) to be able to negotiate the information the user is inputting into the current data that is being passe into the micro service.
Micro Repositories and 'Smart Data'
A possible solution to this problem may be a specialized micro service that acts as a temporary micro repository to store the 'working' state of the data that's being put through the pipe line. Figure 4 demonstrates this potential solution. Alternatively these micro repositories might be DOI identified 'smart' data repositories or objects. That is: data sets 'living' in the cloud, uniquely identified through a persistent identification scheme, decorated with a number of services (like authentication and authorization) and able to retrieve and store changes to the state of the data.
Fig. 4: A possible solution to interaction