Service Design Considerations
In service-driven design, the service contract or interface of each functional component is formalized first. The processing logic behind the service simply becomes an implementation detail that is encapsulated. This section describes some important factors to consider when using the service-driven approach.
Choosing Between Abstract Process Starters, Services, and Service Subprocesses
Choose a process starter activity to start a process when an event occurs. There can be only one process starter in a process.
Choose a service if you want to expose the operations available in a process outside the application module.
Choose a service subprocess to make your business process easier to understand and debug. A subprocess is invoked by a parent process and the output of the subprocess is used in the main process. A parent process calls a subprocess in two ways: in-line and non-in-line. At run time, an in-line subprocess executes as part of the parent process' job, while a non-in-line subprocess spawns a new job.