14
The Elk Project http://elk.itn.liu.se Ola Stering Uppsala University Sunday, November 6, 2005 Strasbourg

The Elk Project elk.itn.liu.se

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: The Elk Project elk.itn.liu.se

The Elk Projecthttp://elk.itn.liu.se

Ola SteringUppsala University

Sunday, November 6, 2005Strasbourg

Page 2: The Elk Project elk.itn.liu.se

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

Page 3: The Elk Project elk.itn.liu.se

The Elk Project

Process implementationProcess implementation

The Elk FrameworkThe Elk Framework

Device

Print Production Workflow

Print Production Workflow

JDF InstancesJMF Messages

Page 4: The Elk Project elk.itn.liu.se

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

Page 5: The Elk Project elk.itn.liu.se

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

Page 6: The Elk Project elk.itn.liu.se

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

Page 7: The Elk Project elk.itn.liu.se

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

Page 8: The Elk Project elk.itn.liu.se

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

Page 9: The Elk Project elk.itn.liu.se

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

Page 10: The Elk Project elk.itn.liu.se

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?

Page 11: The Elk Project elk.itn.liu.se

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.

Page 12: The Elk Project elk.itn.liu.se

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

Page 13: The Elk Project elk.itn.liu.se

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

Page 14: The Elk Project elk.itn.liu.se

Thank you for listening!

Ola [email protected]