Chapter 2 of the IREn InGrid User Guide
The User's View
Internally, IREn InGrid distributes formatting jobs, records their activity to the log, and monitors the grid performance. Whatever the system around it is doing, the role of its core remains constant. For the user, IREn InGrid provides a choice of ways to submit tasks and receive responses. The three current interfaces are the active folder (Actinia), network server (Toaster), and the SOAP server (Fairy). Additional proxying interface Fork allows starting multiple interfaces simultaneously. It is especially useful for running multiple IREn InGrid interfaces at the same time as Windows service.
2.1. Actinia
Actinia is basically a service of the Active Folder within the local file system. Once a source document appears there (e.g., the user drops a file using a normal file manager), Actinia notices it, picks it up, and sends it for formatting to one of servers in the grid. As soon as the formatting completes, Actinia then stores the formatted document in the output folder. The output folder can be the same as, or different from, the input one. This approach works when the user sends the document for processing, for example, when a different player needs the formatted document, or when the document leaves the system in another medium (for example, printed and delivered in a hard-copy form).
2.1.1. Story: Actinia in a Bank
A typical usage is a bank generating statements, bills, invoices, personalized mails etc. Different programs installed on many servers generate different kinds of documents, each with its own styling and each with its own data retrieved from the database. The documents are generated as XML, styled by using application-specific transforms into XSL-FO, then all documents are placed into the inbound folder of IREn InGrid's Actinia. Actinia picks them up and places generated PostScript files into the output folder. A separate program monitors the output folder and sends the final documents to a number of print devices according to labels embedded into the documents. The service to the Bank is that of a dedicated print room!
2.2. Toaster
Toaster is a network-activated service. It monitors a network connection, accepts source styled documents (XSL-FO), and sends back the formatted documents to the user via the same connection. Unlike the Actinia case, the client always receives the result of processing in an electronic form for local print generation. This is suitable when the user requesting document processing and is both the producer of XML sources and the consumer of their formatted output.
2.2.1. Story: DocBook Formatting Online
A university server provides with a formatting facility for student projects. Students submit their documents marked up in DocBook XML via the Web interface and get them back as printable PDF. The Web server connects to the IREn InGrid server via the intranet, sends the source, receives the formatted document, and then forwards it to the students' browser. This saves a considerable amount of time and effort instead of each student configuring and learning about DocBook processing locally.
2.3. Fairy
Fairy is a SOAP/REST server which accepts source documents (XSL-FO) and sends formatted documents back via the same connection to the requestor (a client application). It can be easily tied with any application which supports SOAP, because writing SOAP and REST clients is an easy task.
2.3.1. Story: Microsoft Excel to Adobe PDF conversion
A stylesheet to convert Microsoft Excel's XML output into XSL-FO is stored on the HTTP server. Users compose their Microsoft Excel spreadsheets, press the button "Xls2Fo" in a toolbar, and a VBA program converts their spreadsheet to XML, adds to it processing instruction specifying XSL stylesheet and, with help of Microsoft Office Web Services Toolkit, sends it for formatting to Fairy SOAP Web service.
2.4. Fork
Fork is basically an integrator of an arbitrary number of services listed above (Actinia, Toaster, and Fairy). Its configuration file contains a list of config files, each of which, in turn, configure corresponding IREn InGrid instances for each list entry. Fork then starts each listed instance. Additionally, it provides a Web interface for monitoring status of all started instances. Using Fork is an alternative to manually starting multiple IREn InGrid instances from the command console with their own config files passed as parameters.
2.5. XSL Transformation
IREn InGrid, in Actinia, Toaster, and Fairy configurations, can apply XSL transformation to input documents. IREn InGrid nodes recognize xml-stylesheet processing instruction with type of "text/xml" or "text/xsl" and apply the associated stylesheets to the source document. It allows to distribute both transformation and processing among the grid nodes, and fully utilize the power of the formatting framework.
For example, an installation dedicated to the formatting of DocBook documents may provide access to DocBook XSL stylesheets stored on a local server; the nodes will load and apply the stylesheets, and then format the generated XSL FO into PDF or PostScript.