A service is a flow you can interact with. That is, it receives requests, processes it and returns a result of the processing.
A service in Flow Director always has a shell that provides the interface to the service. More about shells later in this chapter.
Flow as a Service
This is the most basic variant of a service. Create a flow, add a shell and you can interact with the flow. It turns into a service. A service flow serves requests for the particular App.
REST as a Service
To expose a service as REST service, you create the service flow first and add a shell. This makes the service independent from the actual usage. Then either make the shell REST aware or add a flow that works as a REST request handler on a route that you define through the Web API. This REST request handler then interacts with the service flow through the shell.
App as a Service
Instead of creating multiple services within the same App, use one App per service so that your business application consists of multiple independent services that interact with each other. A service App exposes its shell. To make it accessible from other Apps, grant access from the Flow Director Management App.