Date post: | 30-Mar-2015 |
Category: |
Documents |
Upload: | antony-ryland |
View: | 214 times |
Download: | 2 times |
The Elk Projecthttp://elk.itn.liu.se
Ola SteringUppsala University
Sunday, November 6, 2005Strasbourg
The Elk Project
• An open source Java framework that provides the generic functionality required of a JDF-enabled device
Send JDF instancesSend JDF instances
Read JDF instancesRead JDF instances
Device
Receive JDF instances
Receive JDF instances
Modify JDF instances
Modify JDF instancesCreate JDF
instancesCreate JDF instances
Execute JDF instances
Execute JDF instances Receive JMF
messagesReceive JMF
messages
Send JMF messagesSend JMF messages
The Elk Project
Process implementationProcess implementation
The Elk FrameworkThe Elk Framework
Device
Print Production Workflow
Print Production Workflow
JDF InstancesJMF Messages
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
Incoming Messaging Gateway
Incoming Messaging Gateway
Outgoing Messaging Gateway
Outgoing Messaging Gateway
ProcessProcessJob QueueJob Queue Subscription Manager
Subscription Manager
State Changes
Poll for new job
HTTP
State Changes
QueueStatusProcessor
QueueStatusProcessorMessage ProcessorsMessage ProcessorsMessage
Processors
HTTP
Architecture Overview
Device
Overview of Important Classes
org.cip4.elk.device
<<interface>>IncomingJMFDispatcher
<<interface>>IncomingJMFDispatcher
<<interface>>JMFProcessor
<<interface>>JMFProcessor
<<interface>>OutgoingJMFDispatcher
<<interface>>OutgoingJMFDispatcher
<<interface>>SubscriptionManager
<<interface>>SubscriptionManager
dispatches JMF to
org.cip4.elk.device
<<interface>>Process
<<interface>>Process
org.cip4.elk.queue
<<interface>>Queue
<<interface>>Queue
org.cip4.elk
JDFElementFactoryJDFElementFactory
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 DeviceElk Reference Device
AsynchronousHttpOutgoing
JMFDispatcher
AsynchronousHttpOutgoing
JMFDispatcher
SubscribingIncoming
JMFDispatcher
SubscribingIncoming
JMFDispatcher
ConventionalPrintingProcessConventionalPrintingProcess
MemoryQueueMemoryQueue
SimpleSubscriptionManager
SimpleSubscriptionManager
KnownMessagesJMFProcessorKnownMessagesJMFProcessor
QueueStatusJMFProcessorQueueStatusJMFProcessor
HoldQueueJMFProcessorHoldQueueJMFProcessor
SubmitQueueEntryJMFProcessorSubmitQueueEntryJMFProcessor
OpenQueueJMFProcessorOpenQueueJMFProcessor
CloseQueueJMFProcessorCloseQueueJMFProcessor
ResumeQueueJMFProcessorResumeQueueJMFProcessor
StatusJMFProcessorStatusJMFProcessor
EventsJMFProcessorEventsJMFProcessor
StopPersChannelJMFProcessorStopPersChannelJMFProcessor
DeviceConfigDeviceConfig
FileUtilFileUtil
ElkStartupServletElkStartupServlet
DispatchingJMFServlet
DispatchingJMFServlet
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
Volunteers?
Live Demo
• http://clabu2.itn.liu.se/elk/jmfThe 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