Pipes perform tasks. Each task is a small component of a larger request. For example, if you want to save form information to a database, you would need to break that request into its component tasks. These tasks could include loading the form, looking up database information, mapping the form metadata, and so on. Each of these tasks is performed by a separate pipe.
Pipes use parameters to pass data in and out of the data bucket. The data bucket
is the data container that is passed to each pipe in turn as it is executed. Pipes can take data (for example Forms, strings, binary data) out of the data bucket, put data in or modify data that is already in the data bucket. It is how pipes communicate and exchange data.
Each pipe is described by the following files:
Pipe source file
The pipe's source file declares the pipe's package, imports other classes, and creates a new public class that names the pipe.Pipe activator file
The pipe's source file must always extend the PipeImpl class. The primary method contained inside this class is the performWork method. This method defines the task performed by the pipe.
The pipe activator file is a Java™ file that registers the pipe when the bundle is loaded. It must extend the PipeActivator class.Pipe manifest file
The pipe manifest file describes the pipe and the extension it is part of, as well as providing implementation, bundle, classpath, and service component information.
Most importantly, the manifest file lists which services to start and the external Java packages you must import. You must list every required package and ensure that the names are entered correctly or your pipe will not work.
Parent topic: Forms Services Platform technical overview