Jump to: navigation, search

Difference between revisions of "SMILA/Documentation/Pipelets"

(New page: This page describes Pipelets, ProcessingServices and their lifecycle. == Definition == Pipelets and ProcessingServices are reusable Java Components in a BPEL workflow and can be orchest...)
 
Line 10: Line 10:
  
 
=== ProcessingServices ===
 
=== ProcessingServices ===
A ProcessingServices is an OSGi service (preferably a Declarative Services) that implements the interface <tt>org.eclipse.smila.processing.ProcessingService</tt>. It's lifecycle and configuration are NOT managed by the workflow engine, but by the OSGi runtime. An instance of a ProcessingService can be shared between multiple Pipelines and so are frequently accessed by multiple threads. Technical details on ProcessingServices development can be found in the tutorial [[SMILA/Development_Guidelines/How_to_write_a_ProcessingService|How to write a ProcessingService]].
+
A ProcessingServices is an OSGi service (preferably a Declarative Services) that implements the interface <tt>org.eclipse.smila.processing.ProcessingService</tt>. It's lifecycle and configuration are NOT managed by the workflow engine, but by the OSGi runtime. An instance of a ProcessingService can be shared between multiple Pipelines and so is frequently accessed by multiple threads. Technical details on ProcessingServices development can be found in the tutorial [[SMILA/Development_Guidelines/How_to_write_a_ProcessingService|How to write a ProcessingService]].
  
  
 
== Pipelet Lifecycle ==
 
== Pipelet Lifecycle ==
 
+
The following diagram shows the lifecycle of Pipelets.<br/>
 
[[Image:Lifecycle_of_Pipelets.png]]
 
[[Image:Lifecycle_of_Pipelets.png]]
  
 
== ProcessingService Lifecycle ==
 
== ProcessingService Lifecycle ==
 
+
The following diagram shows the lifecycle of ProcessingServices.<br/>
 
[[Image:Lifecycle_of_ProcessingServices.png]]
 
[[Image:Lifecycle_of_ProcessingServices.png]]
  
  
 
== Combined Lifecycle ==
 
== Combined Lifecycle ==
 
+
The following diagram shows the lifecycle of both Pipelets and ProcessingServices.<br/>
 
[[Image:Lifecycle_of_Pipelets_and_ProcessingServices.png]]
 
[[Image:Lifecycle_of_Pipelets_and_ProcessingServices.png]]
  
  
 
[[Category:SMILA]]
 
[[Category:SMILA]]

Revision as of 04:49, 26 September 2008

This page describes Pipelets, ProcessingServices and their lifecycle.

Definition

Pipelets and ProcessingServices are reusable Java Components in a BPEL workflow and can be orchestrated like any regular BPEL Service. Both are used to process the data contained in [[[SMILA/Glossary#R|Records]].

Pipelets

A Pipelet is a POJO that implements the interface org.eclipse.smila.processing.SimplePipelet. It's lifecycle and configuration are managed by the workflow engine. An instance of a Pipelet is not shared by multiple Pipelines (workflows), even multiple invocations of a Pipelet in the same Pipeleline do not share the same instance. Each <invokePipelet>Pipeline has it's own instance. An instance may still be accessed by multiple threads, for example if the same Pipeline is executed in parallel. Technical details on Pipelet development can be found in the tutorial How to write a Pipelet.


ProcessingServices

A ProcessingServices is an OSGi service (preferably a Declarative Services) that implements the interface org.eclipse.smila.processing.ProcessingService. It's lifecycle and configuration are NOT managed by the workflow engine, but by the OSGi runtime. An instance of a ProcessingService can be shared between multiple Pipelines and so is frequently accessed by multiple threads. Technical details on ProcessingServices development can be found in the tutorial How to write a ProcessingService.


Pipelet Lifecycle

The following diagram shows the lifecycle of Pipelets.
Lifecycle of Pipelets.png

ProcessingService Lifecycle

The following diagram shows the lifecycle of ProcessingServices.
Lifecycle of ProcessingServices.png


Combined Lifecycle

The following diagram shows the lifecycle of both Pipelets and ProcessingServices.
Lifecycle of Pipelets and ProcessingServices.png