140 likes | 335 Views
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 JDF-enabled device. Modify JDF instances. Create JDF instances. Send JDF instances.
E N D
The Elk Projecthttp://elk.itn.liu.se Ola Stering Uppsala UniversitySunday, November 6, 2005 Strasbourg
The Elk Project • An open source Java framework that provides the generic functionality required of a JDF-enabled device Modify JDF instances Create JDF instances Send JDF instances Execute 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 QueueStatusProcessor Message Processors Message Processors State Changes State Changes Poll for new job Job Queue Process Subscription Manager Outgoing Messaging Gateway HTTP
Overview of Important Classes org.cip4.elk.device <<interface>>IncomingJMFDispatcher <<interface>>OutgoingJMFDispatcher org.cip4.elk dispatches JMF to JDFElementFactory <<interface>>JMFProcessor <<interface>>SubscriptionManager org.cip4.elk.device org.cip4.elk.queue <<interface>>Process <<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 DispatchingJMFServlet SubscribingIncomingJMFDispatcher ResumeQueueJMFProcessor MemoryQueue CloseQueueJMFProcessor OpenQueueJMFProcessor ElkStartupServlet SubmitQueueEntryJMFProcessor ConventionalPrintingProcess DeviceConfig StatusJMFProcessor FileUtil EventsJMFProcessor StopPersChannelJMFProcessor AsynchronousHttpOutgoingJMFDispatcher SimpleSubscriptionManager
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
Thank you for listening! Ola Steringolst6875@student.uu.se