Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Introduction to JDF / JMF
1. Introduction to
JDF / JMF
Stefan Meißner (stefan.meissner@saxoprint.de)
2. Glossar
• JDF – Job Definition Format
(Technical description of a print job or process step)
• JMF – Job Messaging Format
(Infrastructure for communication)
• MIS – Management Information System
(Controlling unit where JDF Devices can be connected and maintained)
• JDF Device
(A device or application which directly works on a print job)
• JDF Controller
(A logical set of JDF Devices)
3. JDF Requirements and Goals
• Automation raises Efficiency
• Process Integration / Prozess Transparency
– Supervision of Jobs
– Production Data Acquisition (PDA)
– Consistently Interface for all Devices and Applications
• Vendor Independent Standard
• Digital automated Information decreases Transcription Errors
4. JDF – Job Definition Format
• Specification for a detailed Job- and Process step description in
Graphical Artwork Industry (similar to „JobTicket“)
→ JDF is NOT a Software and is NOT a System
• Vendor independent Standard
• JDF is based on XML
• Binary Data (like Graphics...) are referenced, NOT embeded.
5. JMF – Job Messaging Format
• Infrastructure / Communication system of JDF
• JMF Message Families: Query, Command, Signal...
• JMF is based on XML and HTTP
• Usage:
• Real-time job and device status enqueries
• Dynamic job updates
• Job submission and queueing
• Typically used on Intranets
7. Typically JDF Architecture
Native
Communication
JDF Device
Device 1
JDF Controller JDF Device
MIS Controller Device 2
JDF Device
Device 3
8. Architecture: Heidelberg
Native
Communication
JDF Device
SM 105-4
JDF Controller JDF Device
PressRoom
MIS SM 105-5+L
Manager
JDF Device
SM 105-8+P
9. Architecture: KBA
Native
Communication
JDF Device
Rapida
106-5
JDF Controller JDF Device
Rapida
MIS Logotronic
106-5
JDF Device
Rapida
105-8
+ Option:
MIS Interface
10. Disadvantages Architecture
Sketch „Typically Architecture“:
Device 1
MIS Controller Device 2
Device 3
• MIS is not able to connect the JDF Device directly
→ JDF Controller is „Single Point of Failure“
• An additional pice of software is required (JDF Controller).
11. Prefered Architecture
JDF Device
Device 1
JDF Device
MIS Device 2
JDF Device
Device 3
➔ JDF Devices allow to be connected directly
12. JDF Dialects
• JDF is just a specification. Parts and depth of implementation
for each JDF Device depends on vendor.
• ICS (Interoperability Conformance Specifications) are the
Lowest Common Denominator.
13. JDF – Technology of the 1990s
The fundamental JDF Concepts were designed in the 1990s as a
part of prepress digitalization:
• Replacement of Job Bags; One JDF File per Job
• Communication via Hotfolder / MIME
• Concurrency management via „spawn“ and „merge“
• JDF also includes Workflow-Logic
• JDF is based on an early version of XML
➔ Enhancements in framework requires some updates
in JDF Concepts...
14. Problem: Job Bag
JDF is common known as „Digital Job Bag“ .
But:
Job Bags are data storage, defines workflow logic and even can
be archived.
Job Bag Archive
Job Data: PDA:
Workflow-Logic:
15. Problem: Job Bag
Theory: One managed, archived and central File
per Job ?!?!?
But what about...
• … Concurrency (Transactions) ??
• … Fail Over / Load Balancing (Clustering) ??
• … Data Analysis (Data Mining) ??
• … Online Backup (Live Backup Systems) ??
16. Best Practice: Job Bag
• Extract Job Data to Database
• Extract PDA to Database
• Extract Workflow-Logic to a Workflow-Engine
Database: Workflow-Engine:
Job Bag: PDA:
17. Best Practice: JDF / JMF
JDF is only a Technology for Communication!
→ No Data Storage – No Workflow-Logic!
Generate, optimized for
Target-Device (Dialect)
Database
Extract details and
write to DB
➔ JDF as Interface Technology
18. Best Practice: Architecture
(self made) MIS
Advantages Architecture:
– Clear and simple JDF Documents
– JDF is optimized for Target-Device
Database
(Handling of JDF Dialects)
– Workflow Transparency
– High Performance / Scalability
19. Communication: JMF Families
• JMF Command
– Recipient has to run actions or change the status.
• JMF Query
– Recipient has to return information.
– No action; Status doesn't change.
• JMF Response
– Synchronous response on JMF Command or JMF Query.
– Using synchronous messages, request and response are using the
same http channel.
20. Communication: JMF Families
• JMF Acknowledge
– Submission asynchronous Messages.
– Will be referenced in synchronous Response message.
• JMF Signal
– Publish device status changes or events.
– „Fire and Forget“
– Configuration via Subscription Messages
• JMF Registration
– Request for a Command
– e.g. triangle relationship between MIS ↔ Prepress ↔ Press
21. JMF Samples
• JMF Command
– SubmitQueueEntry (Job Submission)
– ReturnQueueEntry (Returns a Job from a Device)
– HoldQueue / ResumeQueue (Queue controlling)
• JMF Query
– KnownMessages (Request for supported JMF Messages)
• JMF Signal
– Status (Publication of device status e.q. Setup, Processing,...)
– Notification (Publication of device events e. q. Faults)
22. JMF Families – Practical Example
Following a structural example of a PDA using the JMF Famililes
JMF Query and JMF Signal.
• JMF Query (Subscription of Status- and Notification Signals)
• JMF Signal (Status- and Notification Signals for PDA)
MIS (BDE) JDF Device
JMF Status Query
JMF Status Query Resp.
JMF Status Signal
e. q. 10 Seconds
JMF Status Signal
JMF Status Signal
23. Structure JMF Message
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-06-30T17:23:00+01:00" Version="1.4">
[...]
</JMF>
• JMF Root-Tag
• Attributes required: SenderID, TimeStamp, Version, MaxVer.
• For more (optional) Attributes look at JDF Spec or ICS JMF.
➔ Fundamental Structure of a JMF Message
24. Structure ICS / JDF Spec
Section of JMF ICS:
w MUST be written. JDF only is valid when Parameter is
written.
w? MAY written. No Conformance Requirements.
w← MUST be written if some rutime condition is met.
!w MUST NOT be written. JDF is invalid when Parameter
is written.
r MUST be read and supported.
r← MUST be read and supported, if some runtime
condition is met.
r? MAY be read and supported.
27. More JDF / JMF Samples
More helpful JDF / JMF
Samples you can find in JDF
Specification:
Appendix S -
„List of Examples“
(JDF Spec 1.4a, p1119 ff.)
31. CIP4 Tooling: Bambi 2
• JDF Device Simulator
(„Virtual Print Production“)
– Developer test framework
– Simulations
• Online Demo:
http://bambi.jdf4you.org
➔ Bambi 2 is a JDF Device Simulatior.
32. CIP4 Tools: Bambi 2
Bambi 2 - Basic
• Extended Functionality
• URL:
http://localhost:8080/bambi-2/overview
Bambi App
• Bambi 2 as Executable File
(can be started by a double click)
• Includes „Bambi 2“ as well as
„Bambi 2 - Basic“
➔ Bambi 2 is available in several versions.
33. Bambi 2 – JMF Interface
• Communication via HTTP
• JMF Interface is aURL
– Each Device one URL
(DeviceId extracted from URL)
– One URL for all Devices
(DeviceId extracted from JDF File)
JMF Interface:
http://127.0.1.1:8080/bambi-2/jmf/03-SpeedmasterXL105-1
37. Alces: Overview
JMF Interface:
DeviceInfo: URL of JMF Interface
Common Device Details
JMF History:
Overview sent and
received messages.
KnownMessages:
Liste of supported
JMF Messages
QueueStatus:
Queue Details
➔ Alces is a very useful Tool for connecting and
integrating JDF Devices.
38. Alces: Goals
Goals Alces:
• Basic Functionality Test of JMF Interfaces
• Simplify Integration of JDF Devices
• Fault Analysis
• MIS Simulator (Management Information System)
• „Status-Ping“
• ...
➔ CIP4 Alces is a very common tool which meets many
requirements when integrating JDF Devices.
39. HowTo: KnownMessages
1. Press Connect:
Connect to JDF Device
2. JMF Query KnownMessages:
Run by click
3. Messagetransfered messages.
Displays all
History:
➔ Query for supported Messages of a JDF Device.
40. HowTo: Queue Operations
1. JMF Query KnownMessages:
Execute JMF Query like describe in slide before.
2. JMF Queue Commands:
Run JMF Queue Commands.
3. Queue JDF Device:
Queue Details of JDF Device
Deactivate queue
Reset queue
Info: The Queue also will be displayed in Bambi.
Activate queue
➔ Queue controlling and supervising for a JDF Device.
41. HowTo: SubmitQueueEntry
1. JMF Query KnownMessages:
Execute JMF Query like descibed before.
2. JMF Command SubmitQE:
Run JMF Command SubmitQueueEntry.
3. Choose specific Job-JDF:
Path JDF Samples: „[Desktop]/workshop/jdf“
➔ Job Transmission to a JDF Device.
42. JDF-VM – The Virtual Machine
The Virtual Machine preinstalled with CIP4 JDF Tools.
Download Address:
http://download.jdf4you.org
➔ Perfect for JDF Beginners: Just download, import into
Oracle Virtual Box and start...
43. JDF-VM - Installation
Installation Guide JDF-VM:
1) Installation and start of Oracle VirtualBox
2) Download and extract JDF-VM
3) Import Appliance by choosing „jdf-vm.ovf“ in Oracle Virtual Box
4) Go through the Import Wizard
Choose File
„jdf-vm.ovf“
Wizard Controlling