What are stages?
Stages are the building blocks of CCIL. They are small non-interactive units of logic (Java POJOs) which take inputs and provide outputs. By themselves, nothing particular can be accomplished - some open files, others write input to a file handler, database or stream. Organized in pipelines however, they can accomplish almost everything, as far as no interactivity is involved.
CCIL is designed to run at backend processing servers without any human interaction.
Stages are typical CyberCore services - POJOs, specified in the server configuration file.
Let us take as example the Hello World! tutorial.
Contents
Implementation class
TBA
Registration in the server
We need to tell the server to instantiate the stage at startup, so it become available for the execution engine:
service:echo rdf:type entity:service ; entity:implementation "net.ccil.stages.generic.EchoStage" ; entity:classpath "" ; entity:arguments "" .
In the example above, we had registered the net.ccil.stages.generic.EchoStage to be instantiated on startup and registered under the name echo. Yes, you might have a single class registered under many names. In our experience however, it was never necessary.
Use it in a context
The next logical step is to put the unit of logic in some real usage. As mentioned already, using data involves contexts.
Put in a pipeline
TBA
Configure the invocation
TBA