Job Messaging Format (JMF) Tutorial

Download Report

Transcript Job Messaging Format (JMF) Tutorial

The Elk Project
http://elk.itn.liu.se
Ola Stering
Uppsala University
Sunday, November 6, 2005
Strasbourg
The Elk Project
• An open source Java framework that provides
the generic functionality required of a JDFenabled device
Create JDF
instances
Modify JDF
instances
Execute JDF
instances
Send JDF
instances
Receive JMF
messages
Read JDF
instances
Send JMF
messages
Receive JDF
instances
Device
The Elk Project
Print Production
Workflow
JDF Instances
JMF Messages
The Elk Framework
Device
Process implementation
The Elk Project
• Consists of two parts
– The Elk Framework
• Mainly specifies interfaces and abstract classes
– The reference implementation
• Concrete implementations of the framework
• Simulated processes
• Is deployed as a web application
The Elk Framework
• Package name: org.cip4.elk
• Interfaces and abstract classes that specify
the services needed by a device:
– Incoming/outgoing message dispatchers
– JMF processors
– Queue
– Process
– Subscription manager
– Factory for JDF elements
Architecture Overview
HTTP
Device
Incoming
Messaging
Gateway
Message
QueueStatus
Message
Processor
Processors
Processors
State Changes
State Changes
Job Queue
Poll for
new job
Process
Outgoing
Messaging
Gateway
HTTP
Subscription
Manager
Overview of Important Classes
org.cip4.elk.device
<<interface>>
IncomingJMFDispatcher
<<interface>>
OutgoingJMFDispatcher
dispatches JMF to
<<interface>>
JMFProcessor
org.cip4.elk.device
<<interface>>
Process
org.cip4.elk
JDFElementFactory
<<interface>>
SubscriptionManager
org.cip4.elk.queue
<<interface>>
Queue
Reference Implementation
• Package name: org.cip4.elk.impl
• Concrete implementations of the classes defined in
the Elk Framework:
– Servlet for receiving JMF
– Outgoing dispatcher for sending JMF
– >10 JMF processors
– Memory-based subscription manager
– Memory-based queue
– Approval process, ConventionalPrinting process
– MIME package reader
Elk Reference Device
KnownMessagesJMFProcessor
QueueStatusJMFProcessor
HoldQueueJMFProcessor
Dispatching
JMFServlet
Subscribing
Incoming
JMFDispatcher
ResumeQueueJMFProcessor
CloseQueueJMFProcessor
MemoryQueue
OpenQueueJMFProcessor
ElkStartupServlet
SubmitQueueEntryJMFProcessor
DeviceConfig
FileUtil
StatusJMFProcessor
EventsJMFProcessor
StopPersChannelJMFProcessor
Asynchronous
HttpOutgoing
JMFDispatcher
SimpleSubscription
Manager
ConventionalPrintingProcess
To Be Done…
• The Elk Framework
– Add/refactor as reference implementation evolves
• Reference implementation
– Full compliance to Base ICS Level 3 
– Other ICS’s
– Add support for all JMF message types
– Secure messaging as defined in JDF 1.3
– Full subscription/persistent channel support
– Receive MIME 
– Submit MIME
– Full queue support
– Device capabilities 
– More process implementations
Live Demo
• http://clabu2.itn.liu.se/elk/jmf
The reference implementation web
application. Send a KnownMessages Query
to it to find out what it can do.
• http://clabu2.itn.liu.se/elk/
A GUI for the Elk Device. The Queue and
Configuration of the Device can be viewed.
• HELK – Human operable ELK, a human
Device.
Why Elk?
• The Framework
– Implement a JDF Device
– Simulate processes
• The reference implementation
– Simulation of processes
– Testing, Elk is conformant with Base ICS
– Getting to know JDF/JMF
More Information
• The project web site: http://elk.itn.liu.se
– Binaries
– Source code
– Documentation
• Javadoc
• Developers Tutorial
• Design, UML diagrams
• Tools used: CIP4 JDFLib-J, Jakarta HttpClient, Servlet API
• A JDF-enabled Workflow Simulation Tool, Claes
Buckwalter, TAGA 2005 Proceedings
Thank you for listening!
Ola Stering
[email protected]