job messaging format (jmf) tutorial claes buckwalter, linköping university doug belkofer, efi...

25
Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Upload: whitney-hancock

Post on 27-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Job Messaging Format (JMF) Tutorial

Claes Buckwalter, Linköping UniversityDoug Belkofer, EFI

Sunday, April 24, 2005PIA/GATF, Pittsburgh

Page 2: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Overview

• Transport protocols for JMF

• JMF Message families

• JMF over HTTP

• MIME packaging

• Open issues in JMF

Page 3: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

What is a JMF Message?

• An XML document contained in

– a file written to a folder

– the body of a HTTP request or HTTP response

• Some usages

– Job submission

– Snapshots of job and device status

– Dynamic job update

– Queue support

Page 4: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Transport Protocols for JMF

• File Protocol

– JMF is written to and read from a folder in a file system

– Unidirectional

– Asynchronous

• HTTP Protocol

– JMF is sent in the body of a HTTP request/response

– Bidirectional

– Synchronous and asynchronous

– Required by Base ICS Level 2 and 3

– Optionally secure with HTTPS

Page 5: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

JMF Message Families

• Command — requests a state change

• Query — requests information

• Response — synchronous reply to a Command or Query

• Acknowledge — asynchronous reply to Command (and Query in 1.3)

• Signal — a response to a subscribed Query

• Registration — tell the receiver to send Commands to a specified URL (new in 1.3)

Page 6: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Command

Manager WorkerCommand / Response

Manager WorkerCommand / Response

Acknowledge

Page 7: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Query

Manager WorkerQuery / Response

Manager WorkerQuery / Response

Acknowledge JDF 1.3

Page 8: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Signal

Manager WorkerQuery / Response

Signal

Signal

Signal

Page 9: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Registration

Manager Worker/ManagerRegistration / Response

Command / Response

Worker

Command / Response

Command / Response

Page 10: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Message Types

• Bootstrapping (still under construction)

– Plug & play Pressroom

• Device Information

– Consumable Level

– Status

– Settings

– Currently executing jobs

• Job Status / Progress Messages

– Job Phase

– Job Progress

– Events

– Job Modifications - NewJDF

Page 11: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Message Types continued

• Queue Handling

– Set Priority

– Reorder / Group jobs

– Hold / restart queued jobs

– Abort running Job

• Job Submission

– Submission via HTTP

• JDF + Content in MIME package

– File Based JDF submission

• hot folder

• URL

Page 12: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Message Types continued

• Device Control

– Startup

– Shutdown

– Resource Modification

– Flush Resources

Page 13: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Pipes

• Pipe Interactions

– models the phone call from operator to operator

– Start Production

– Stop Production

– High Water / Low Water marks

– Individual Resource Requests

– Resource Changes for iterative processing

Page 14: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Messages vs. Audit Elements

• JMF Messages

– Transports Job information in quasi real time

– Methods defined for

• Unidirectional Signals

• Bi-directional Query-Response Pairs– Immediate Synchronous Responses

– Delayed Asynchronous Responses

• Audit Objects

– Logs actual, post-facto job properties in the JDF

• Resource Usage and Modifications

• Process Times

• Events

– Logged in the JDF Job Ticket

– Transported inside the Job Ticket

Page 15: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Levels of JMF Messaging

• Base ICS Level 1

– No messaging

• Base ICS Level 2

– Signal messages — hard wired subscriptions to Queries

– Manager requires a HTTP server

– Worker requires a HTTP client

• Base ICS Level 3

– Query, Command, Response and Acknowledge messages

– Manager and worker both require a HTTP client and server

Page 16: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

JMF over HTTP

• JMF messages are transported in the body of a HTTP POST request or HTTP response

• JMF Command, Query, Signal and Acknowledge are sent in a the body of a HTTP POST request

• JMF Response is sent in the body of a HTTP response

Page 17: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

JMF over HTTP

• If the HTTP POST body contains a

– JMF Query or Command

• The HTTP response body contains a JMF Response

– JMF Signal or Acknowledge

• The HTTP response body is empty

• If the HTTP body contains a JMF message the HTTP header Content-type must be set to application/vnd.cip4-jmf+xml

Page 18: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

JMF Example

JMF Query

JMF Query

<?xml version="1.0" encoding="UTF-8"?><JMF SenderID="JMFTransmitter" TimeStamp="2005-01-23T10:10:03+01:00" Version="1.2" xmlns="http://www.CIP4.org/JDFSchema_1_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Query ID="0815" Type="Status" xsi:type="QueryStatus"/></JMF>

JMF Response

JMF Response

<?xml version="1.0" encoding="UTF-8"?><JMF SenderID="No ID configured" TimeStamp="2005-01-23T10:10:10+01:00" Version="1.2" xmlns="http://www.CIP4.org/JDFSchema_1_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Response ID="R0815" Type="Status" xsi:type="ResponseStatus" refID="0815"> <DeviceInfo DeviceStatus="Idle"> <Device Class="Implementation" DeviceID="Elk" ID="Elk1234" KnownLocalizations="En" ModelName="Elk" Status="Available"/> </DeviceInfo> </Response></JMF>

Manager Worker

Page 19: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

MIME Packaging

• A JMF message may be bundled in a MIME encoded package together with a JDF job ticket and other digital assets

• The MIME package is sent in the body of a HTTP POST request

• The HTTP header Content-type must be multipart/related

Page 20: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

MIME Packaging

• The content in the MIME package must be in the following order:

• JMF and JDF refer to other files in the package using the CID URL scheme: cid:[email protected]

Position Content Content Type

0 JMF message application/vnd.cip4-jmf+xml

1 JDF job ticket application/vnd.cip4-jdf+xml

2 to N Digital assets Depends on asset

Page 21: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

New in JMF for 1.3

• Authentication

– Standard Client-server authentication with certificates

over HTTPS

– How should certificates be exchanged and installed?

– Proposal in final stages for JDF 1.3, uses new

RequestForAuthentication message for exchanging

certificates.

– KnownMessages message extended to indicate which

messages are supported via non-authenticated channels

versus those requiring a authenticated channel

Page 22: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

New in JDF 1.3

• New message family “Registration”• Allows directing commands to be sent to a

particular place• Examples:

– MIS that is not interested in resource commands indicating availability of plates can direct prepress to send those commands directly to the press control system

– Vice-versa – can direct prepress to send them to MIS

Page 23: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Open Issues in JMF

• Discovery

– Some discovery is possible, once you know how

to contact other controllers/devices

– Missing part is auto-discovery of how to contact

other controllers/devices

– Proposal has been made to use ZEROCONF for

this, postponed until we have a champion to

lead the effort

– Will not make JDF 1.3

Page 24: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

References

• JMF messaging– JDF Specification 1.2, Chapter 5

http://www.cip4.org/documents/jdf_specifications/JDF1.2.pdf

– Base ICShttp://www.cip4.org/document_archive/documents/ICS-Base-1.0.pdf

– CIP4's JMF Working Group

• CIP4's Elk Framework– An open source implementation of JMF

messaging with Base ICS Level 3 support

– Project homepage: http://elk.itn.liu.se

Page 25: Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh

Thank you for listening!