Introduction to JDF / JMFStefan Meißner (email@example.com)
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)
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
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.
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
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).
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.
JDF – Technology of the 1990sThe fundamental JDF Concepts were designed in the 1990s as apart 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...
Problem: Job BagJDF is common known as „Digital Job Bag“ .But:Job Bags are data storage, defines workflow logic and even canbe archived. Job Bag Archive Job Data: PDA: Workflow-Logic:
Problem: Job BagTheory: 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) ??
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:
Best Practice: JDF / JMFJDF 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
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
Communication: JMF Families• JMF Command – Recipient has to run actions or change the status.• JMF Query – Recipient has to return information. – No action; Status doesnt change.• JMF Response – Synchronous response on JMF Command or JMF Query. – Using synchronous messages, request and response are using the same http channel.
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
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)
JMF Families – Practical ExampleFollowing a structural example of a PDA using the JMF FamililesJMF 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
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
Structure ICS / JDF SpecSection 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.
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.
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.
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
Alces: Overview JMF Interface: DeviceInfo: URL of JMF Interface Common Device Details JMF History: Overview sent and received messages.KnownMessages:Liste of supportedJMF Messages QueueStatus: Queue Details ➔ Alces is a very useful Tool for connecting and integrating JDF Devices.
Alces: GoalsGoals 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.
HowTo: KnownMessages 1. Press Connect: Connect to JDF Device2. JMF Query KnownMessages: Run by click 3. Messagetransfered messages. Displays all History: ➔ Query for supported Messages of a JDF Device.
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.
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.
JDF-VM – The Virtual MachineThe 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...
JDF-VM - InstallationInstallation Guide JDF-VM:1) Installation and start of Oracle VirtualBox2) Download and extract JDF-VM3) Import Appliance by choosing „jdf-vm.ovf“ in Oracle Virtual Box4) Go through the Import Wizard Choose File „jdf-vm.ovf“ Wizard Controlling