Transcript Slide 1

Welcome to the
Montreal JDF Tutorial
Tutorial Session Speakers
• Henny van Esch - Optimus
• Rainer Prosi - Heidelberg
JDF on One Slide
• JDF is a Graphic Arts Job Ticket
Data Interchange Format Specification
- JDF is not an Application or System
•
•
•
•
JDF is encoded in XML
Content is referenced, not embedded
JDF is extensible
JDF Job Definition
JMF Messaging
JDF Capabilities
ICS Documents define the JDF Framework
JDF on Another 2 Slides
- Goals and Requirements • Why JDF?
– Automation increases Efficiency
– Digital information reduces errors compared to paper
job jackets
– Information allows for informed decisions
– We have a digital content workflow with a paper based
management workflow – there is room for
improvement!
JDF on Another 2 Slides
- Goals and Requirements • What does JDF enable?
– Setup a Job in the graphic arts from the view point of:
• Technical Applications
• Management Information Systems
• Customers
– Collect data that is relevant to a Job from origination to
delivery
• Business Data
• Technical Data
• Realtime Job Tracking
• Comprehensively describe many areas of the
graphic arts
Customer requirements for
JDF
Customers can be either End Customer or business
partner!
• Describe the final product or the requested service
• Details may vary in detail from very rough to very
detailed
• Allow price and contract negotiations
• Job Tracking
• Manage the approval cycle
• Change order Management
What you do not need to know
about JDF1
<JDF ID="n1" Status="Waiting" Type=“Product" Version="1.2“/>
<ResourcePool>
<Layout Class="Parameter" ID="r112" Status="Unavailable">
<Signature>
<Sheet SurfaceContentsBox="0 0 1842.5197 1417.3228">
<Surface Side="Front">
<MarkObject CTM="1 0 0 1 42 66" Ord="0"/>
%PDF-1.3
%âãÏÓ
1 0 obj <</Type /Page /Parent 9 0 R /Resources 3 0 R /Contents 2 0 R
/BleedBox [ 0 0 635 881 ] /TrimBox [ 0 0 627 873 ] /Thumb 37 0 R >>
endobj
2 0 obj<</Length 698 /Filter /FlateDecode>>
stream
H‰ìSMk1ýþ:¦‡q,Ëöxzk6H¡ì„B(aºùêîB³¡ÿ¾’å™
@sï!büÞÓ³4úmžÀx‚œ=
1 - unless you are a JDF developer
CIP4 Reference Model
Sales Rep
Customer
Print
Buyer
Customer
Service Rep
Negotiation
& Quote
Create
JDF Intent
Creative
Professional
Job Creation
Customer Facility
Production
Scheduling
Product
Description
(with ranges)
Prepress
Prepress
Operator
Product
Description
Product
Description
(Actual values)
Create
Document
Gray Box
Prepress
Manager(s)
Prepress
Gray Box
Press
Manager(s)
Estimating &
Order Entry
Press
Gray Box
Press
Operator
Base
Press
MIS
Extended
MIS
Postpress
Manager(s)
Print Shop
Manager
Print Shop Management
Print Shop
Postpress
Postpress
Operator
Postpress
CIP4 リファレンスモデル
販売担当者
各工程へ
カスタマー
サービス担当者
顧客
プリント
バイヤー
値段交渉
& 見積
JDF
インテント
作成
ドキュメント
作成
専門家
生産
スケジュール
顧客
プリプレス
プリプレス
作業者
製品内容詳細
プリプレス
各工程へ
製品内容
詳細
(概算)
製品内容詳細
(実値)
プレス
責任者
見積
受注入力
プレス
各工程へ
プレス
作業者
プレス
基本MIS
応用MIS
ポストプレス
責任者
印刷会社
責任者
仕事の発生
プリプレス
責任者
ポストプレス
ポストプレス
作業者
印刷会社の管理
印刷会社
ポストプレス
JDF
in the
workflow
Postpress
&
Delivery
JDF for MIS / Production
Control
Postpress
&
Delivery
• Management
– Send setup to all workflow participants
• Job Tracking
– Track Status of Jobs (may be distributed over many devices)
– Track Status of Devices (may process multiple jobs)
• Estimating
– Estimate cost based on Costing feedback of prior jobs
• Costing
– Calculate cost based on feedback
• JMF Signals
• Audits
• Reporting
– Generate report statistics over multiple jobs and devices
JDF in Creative
Postpress
&
Delivery
• Specify the Context of a Page
– Is this page a cover?
– Page 3 of this PDF file is page 17 of the book..
• Specify Product Details
– Media to use
– Binding Options
– Color Options
• Track Times spent on Creative Work
• Specify Schedules and Deadlines
JDF in Asset Transfer
(Data Transfer)
Postpress
&
Delivery
• Link incoming Content Files
to user Jobs
– Replace File naming conventions for content import
– Page 7 of this PDF is Page 17 of the Book
– This is advertisement X for Periodical Y, Edition Z
• Retain Preflight Information from Customer
– Preflight Profiles (What was checked)
– Preflight Reports (What were the results)
– Replace proprietary Preflight profiles and word documents
with an open standard preflight specification format
JDF in Prepress
Workflow
•
Track Milestones of a job
– All pages are approved
– All plates are ready
•
Specify Color separations to use
•
Specify Proofing options
– Hard copy Proof
– Soft Proof
•
Scheduling
•
Audit
– Time spent
– Plate Media usage
•
High level specification of the Sheet Layout –
– Stripping
– Media size
Postpress
&
Delivery
JDF in Press
Postpress
&
Delivery
• Track Milestones of a job
– All Sheets Printed
• Specify Color Separations to print
• Define Coatings
• Specify Media
– Printer Supplied or Publisher Supplied
• Track and Specify Amounts Produced or Consumed
– Waste
– Overage
• Scheduling
JDF in Postpress
Postpress
&
Delivery
• Track Milestones of a job
– Signatures have been folded
– Binding is Completed
• Specify Folding Schemes
• Specify Binding
• Track and Specify Amounts Produced or
Consumed
– Waste
– Overage
• Scheduling
JDF in Delivery
• Track Milestones of a job
– Products have been Delivered
• Specify Product Packing
– Pallets
– Cartons
– Boxes
– Wrapping
• Track and Specify Amounts Delivered
– Individual tracking of Deliveries
• Scheduling
Postpress
&
Delivery
JDF Requirements for technical
applications and devices
• Informationen for the device
– Unambiguous setup data for the device
– Container (or reference) to machine dependent
setup data for repeat jobs
– Fully automatic setup
– Allow operator intervention
– Dynamic modifications to running jobs
JDF Requirements for technical
applications and devices
• Information from the device
– Shop floor data collection
– Container (or reference) to machine dependent
setup data for future repeat jobs
– Allow tracking of operator intervention
– Track device or operator initiated modifications
of job parameters
MIS and JDF/JMF
What is an MIS
Software TLAs:
– MIS: Management Information System
– ERP: Enterprise Resource Planning
– MES: Manufacturing Execution System
– PPS: Production Planning System
–…
• Print MIS systems are all of the above
– Specific for Print
– Also provides information to management
What is an MIS
• MIS is (possibly) the wrong term
– MIS is a Role - not always a single system
– Main tasks:
• Created Quotations to customers
• Handles Customer Order Entry
• Creates Production Jobs and Job Tickets
• Does Production Scheduling
• Handles Material Logistics (stock and purchasing)
• Does Job Tracking and Job Costing
• Includes Invoicing (Billing) and Accounting
Before MIS
• Everything was manual
• Paper job tickets passed around
• Information about production written on
paper
• At job completion, papers were filed
Before JDF
• MIS manages / tracks information about jobs
• Paper job tickets still passed around
• Information about production written on paper
• Option to have shop floor data collection terminals for
capturing costing information in real-time
• At job completion, papers are filed
• Data captured by shop floor data collection stored /
managed by MIS
• Much information managed / tracked by production
systems still “hidden from MIS
MIS With JDF
• MIS passes data it knows to JDF-enabled production
systems or integration system
• JDF-enabled production systems can add more data
to the JDF ticket
– Production parameters
– Costing data
– General notes
• JDF ticket passed back to MIS
• Bridges the islands of information that used to exist
Comparison: MIS vs. Integration
System
• 2 Strategies of Workflow Implementation
– MIS as the leading system
• MIS controls individual devices directly
– Production Integration System as the leading system
• MIS passes control of individual devices to an integration
system
• Integration system controls individual devices
• Products are generally either:
– an MIS that adds features of Production Control
– A Production Control System that adds features of an MIS
Official Warning
Details Ahead!!
JDF Encoding
• XML Encoding
• External references via URI/URL
• XML Schema for Data Type Definitions
• Extensibility using XML name spaces
<JDF ID=“N1" Type="Product" Status=”Waiting" Version=“1.3">
<ResourcePool>
<NodeInfo Class="Parameter" Status=”Available“ ID="Link0001" />
<RunList ID="Link0002" Class="Parameter" Status=”Available"/>
<FileSpec MimeType=“Application/PDF”
URL=“File://host/dir/MyPDF.PDF”/>
</ResourcePool>
<ResourceLinkPool>
<NodeInfoLink rRef="Link0001" Usage=”Input"/>
<RunListLink rRef="Link0002" Usage=”Input”>
<Ext:FooBar xmlns:Ext=“www.FooBar.edu” MyFoo=“Bar”/>
The Building Blocks
of the JDF Framework
• JDF Node
– Description of a Process, Process Group, Gray Box or Product
• JDF Resource
– Description of a parameter set or physical entity
• JDF ResourceLink
– Link between JDF Nodes and Resources
• JDF Capabilities Descriptions
– Limitation of a JDF interface
• JMF Messages
– Real time data interchange format
• ICS Documents
– Specification of limits of the JDF for individual use cases in the
workflow
The JDF Node
• Description of a generic Process
– The “Verb” in JDF
– Do something at a given time
– Structured container for Scheduling and Auditing
• One JDF node type for both Products and Processes
JDF
Node
Input
(Resources)
Output
(Resources)
Scheduling
Time
Start
End
Product Intent
• Goal of Product Intent Description
– Customers view of the “thing” they want to manufacture
– Contract Negotiation
• Pricing for multiple
options
Book
– Process Independent
• Pages are known
Contents
• Imposition is not
Cover
B/W
Pages
Color
Pages
MIS View and Gray Boxes
• MIS has incomplete knowledge of a Process
– It’s only important if it affects the cost!
– Thus, parameters not affecting costs are often unknown
• Manufacturing details are not all known
– Prepress is seen as platemaking
• RIP, Color management, trapping etc. are
beyond the scope of an typical MIS
• Imposition may be roughly known
– Number up
– Sheet size
– NO register mark positions
• Solution: Gray Boxes
Process Description
• Goal of Process Description
– Interface between MIS and Production
– Models Process interdependencies
• Don’t start printing before the plates are made.
– May contain Manufacturing Instruction Details
Audit Objects
• Logging of Job Execution Results
– Actual times
• Start time
• End time
• Job Phases (Setup, Running, Stopped, Cleanup, …)
• Logging of Changes
– Resources
• used 85g Paper instead of 80g
• Used Roll inventory #123, not #456
– Consumables and produced output:
• Actual Amounts produced, consumed or wasted
• Status Summary
• Event Log
The JDF Node – Node Type
• Individual process types and their respective resources are
defined: for instance
– 11 General Processes, for instance:
• Verification
• Buffer
– 39 Prepress Processes, for instance:
• Interpreting
• ImageSetting
– 4 Press Processes, for instance:
• ConventionalPrinting
• DigitalPrinting
– 52 Postpress Processes, for instance:
• Folding
• Cutting
• Stitching
• 106 predefined processes in JDF 1.4
(incl. deprecated processes)
Combination of JDF Nodes
• Don’t recreate a new Process Type for Permutations of known
Processes!
• Create combinations of multiple defined processes into one
process, e.g.:
• online finishing = printing + folding +cutting;
• in-RIP trapping = trapping + RIPping
• Three types of Combination Nodes
– Combined Node: All internal interfaces are hidden
• Smart multi-function device
– ProcessGroup: Internal nodes are accessible
• Without Sub elements (Gray Box)
– MIS view
• With Sub elements
– Workflow group in a department
– Subcontract
Combined vs. ProcessGroup
•Combined Node or Gray Box (from MIS)
Combined Node
Res
Res
Res1
Res2
•ProcessGroup or expande Gray Box (From Device)
ProcessGroup
Res
Res
Res1
Res2
JDF Resources
•
Specification of Parameters of
– Product Intent description
– Logical Entities, e.g RIP Parameters, Imposition setup
– Physical Entities, e.g. Media, Devices, Plates
•
Partially based on Adobe PJTF and CIP3 PPF
– Prepress : Adobe PJTF
– Press, Finishing: CIP3 PPF
– Intent Resources for product intent nodes
•
•
May be internal to JDF
May be External Links to well-defined Formats
–
–
–
–
Thumbnails,
Preview Files
ICC Profiles
Content Data
• PDF
• PS
• PPML
• …
JDF RunList Resource Simple
Example
<RunList ID="Link0003" Class="Parameter" Status=”Available“
PartIDKeys=“Run”>
<RunList Run=“1” Pages="0 ~ 10">
<LayoutElement ElementType="document">
<FileSpec URL=”File:///File1.pdf”
MimeType="application/PDF"/>
</LayoutElement>
</RunList>
<RunList Run=“2” Pages=”2 ~ -1">
<LayoutElement ElementType="document">
<FileSpec URL=”File:///File2.pdf”
MimeType="application/PDF"/>
</LayoutElement>
</RunList>
</RunList>
JDF Resources - Intent
Resources
• Used to describe product intent
• Parameters are not attributes but rather structured
Span Elements with the following attributes:
– Range: list of allowed values
Book
• Names
• Numbers
• Ranges of Numbers / Strings
Contents
Cover
Color
Pages
– Preferred: one customer preferred value
– Actual: The single value from Range or Preferred that the
printer commits to providing
– OfferRange: List of values proposed by the printer
B/W
Pages
JDF Resources - Partitioning
•
One Resource may specify a set of multiple entities
– Sheets
– Plates
– Documents in a RunList
– …
•
•
Multiple Partition type levels, e.g.: Sheet, Side, Separation
Inheritance model
– specify common attributes once
– Overwrite individual attributes / elements
•
Select individual or multiple parts with a ResourceLink
Partitioned Resource Common parameters
Cyan Separation parameters
Magenta Separation parameters
Yellow Separation parameters
Partitioning and Nodes
Partitioned Resources
with matching sets of partition keys are connected.
Sheet=S1
Sheet=S2
Sheet=S2
Root Output Resource
Sheet=S1
Root Input Resource
JDF Node
Partitioned Ink Resource
Example
<Ink ID=“InkID" Brand=”ProcessBrand" Class="Consumable"
Status=“Available" MediaType="Coated"
PartIDKeys="Separation">
<Ink Separation="Cyan">
<Color CMYK="1 0 0 0"/>
</Ink>
<Ink Separation="Magenta">
<Color CMYK="0 1 0 0"/>
</Ink>
<Ink Separation="Yellow">
<Color CMYK="0 0 1 0"/>
</Ink>
<Ink Separation="Black">
<Color CMYK="0 0 0 1"/>
</Ink>
<Ink Brand=”SpotBrand" Separation="Heidelberg Spot
Blau">
<Color CMYK="0.7 0.7 0.3 0.7" ColorantUsage="spot"/>
</Ink>
</Ink>
ResourceLink
• Binds a Resource to a JDF Node
• Name mangling: Resource+“Link“
• Define Resource Usage
– Input
– Output
• Link to a Subset / Part of a Resource
– E.g. Cyan Plate of the Front of Sheet #1
– Defines the Amount for a given process
• Allow reuse of Resources by
multiple processes
– One resource may be linked
by multiple ResourceLinks
Parent Node
Resource 1
• Links define the process
network
Child Node 1
Child Node 2
Link
ResourceRef
• Used to reference a Resource from within
another JDF Element
• May contain one Part element to select
individual partition
• Equivalent to an inline occurence of the
referenced resource
• Name mangling: Resource+“Ref“
• Ink  InkRef…
JDF RunList Resource Simple
Example with ResourceRef
<RunList ID="Link0003" Class="Parameter" Status=”Available“
PartIDKeys=“Run”>
The
ResourceRef
<RunList Run=“1” Pages="0 ~ 10">
<LayoutElementRef rRef=“L1”>
</RunList>
<RunList Run=“2” Pages=”12 ~ -1">
<LayoutElement ElementType="document">
<FileSpec URL=”File:///File2.pdf” MimeType="application/PDF"/>
</LayoutElement>
</RunList>
Inline
Resource
</RunList>
<LayoutElement ID=“L1” ElementType="document“ Class="Parameter"
Status=”Available“>
The
Referenced
Resource
<FileSpec URL=”File:///File1.pdf” MimeType="application/PDF"/>
</LayoutElement>
Job / Customer Information
• CustomerInfo
– Customer ID
– Addresses
• Delivery
• Invoice
• Approver
• NodeInfo
– Scheduling
– Deadlines
– Processing Time Estimation
• Since JDF 1.3 NodeInfo and CustomerInfo are “plain resources”
– May be referenced
– May be partitioned
ConventionalPrinting JDF Node Example
ExposedMedia
(Plate)
Media
AuditPool
Ink
Actual Resource Usage
Actual Time Summary
ConventionalPrinting
InkZoneProfile
NodeInfo
•Planned Start time
•Planned End time
Resource
Links
Component
(including
amount)
JDF Node simple Example
<JDF ID=“N1" Type="Product" JobID="HDM1" JobPartID=“p1”
Status=”Waiting" Version=“1.3">
<ResourcePool>
<NodeInfo Class="Parameter" Status=”Available“
ID="Link0001" />
<SomeInputResource ID="Link0002" Class="Parameter"
Status=”Available"/>
<Component ID="Link0003" Class="Quantity"
Status=”Unavailable" DescriptiveName="SomeOutputResource"/>
</ResourcePool>
<ResourceLinkPool>
<NodeInfoLink rRef="Link0001" Usage=”Input"/>
<SomeInputResourceLink rRef="Link0002" Usage=”Input"/>
<ComponentLink rRef="Link0003" Usage=”Output"/>
</ResourceLinkPool>
<AuditPool/>
</JDF>
The JDF Node – Execution
Requirements
• A Node is executable when all required input
resources are available
• Additional Parameters allow detailed
scheduling/planning
– JDF/@Activation=“Held”
– NodeInfo/@FirstStart
– …
• Additional Resource dependencies allow more
sophisticated process configuration
– A proof node can create an Approval which is needed for
the ConventionalPrinting node to execute
Node Executability
Resource
ResourceLink
JDF Node
Not
Available
Not Executable
Available
Resource
Links
Available
Node Executability
Resource
ResourceLink
JDF Node
Available
Executable
Available
Resource
Links
Available
Node Executability
And Networks
Waiting
Not
Available
Available
Links
Not Executable
Available
Available
Not
Available
Available
Links
Node Executability
And Networks
Running
Not
Available
Available
Links
Not Executable
Available
Available
Available
Available
Links
Node Executability
And Networks
Completed
Available
Available
Links
Executable
Available
Available
Available
Available
Links
Job Description Models
supported by JDF I
• Product Definition
Book
– No Process definitions
Contents
– Customer view
Cover
– Segmentation by Product
Components
BW
Pages
• Serial Processing
RIP
Print
Bind
Color
Pages
Job Description Models
supported by JDF II
• Parallel
Processing
Fold
Bind
Print
Fold
• Overlapping
Processing
PlateSet
Print
Bind
Job Description Models
supported by JDF III
• Iterative Processing
Edit
Proof
Layout
JDF - Spawning and Merging –
why?
• Parallel processing requires multiple devices
that are processing to write information to JDF
simultaneously
• Must define “Ownership” of a sub-node to
avoid race conditions.
– If two applications write at a similar time, the latest
wins.  Need to ensure that either
• Only one can be written, or
• The latest data is certainly the correct data
JDF - Spawning and Merging –
how?
• Spawn individual nodes of the JDF Tree for
independent processing
– Parallel Processing
– Subcontracting
• Support for Partitioning – e.g. only sheet #1
• Merge back after processing
– Retain information added by executing device or
application
• Audits
• Modified Resources
• Modified Amounts in ResourceLinks
Spawning + Merging
Master JDF
Executable
Sub-JDF 1
Step 1 Prior to Spawning
Executable
Sub-JDF 2
Spawning + Merging
Master JDF
Executable
Sub-JDF 1
Locked
Sub-JDF 2
Step 2 -
Spawned,
Prior to Execution
Spawned
Executable
Sub-JDF
Spawning + Merging
Master JDF
Executable
Sub-JDF 1
Locked
Sub-JDF 2
Step 3 Spawned,
After independent
Execution
Prior to merging
Spawned
modified
Sub-JDF
Spawning + Merging
Master JDF
Executable
Sub-JDF 1
Step 4 -
After Execution
After Merging
Merged
Sub-JDF 2
JMF Messaging
• Semi Real-time data interchange format
– Small XML structures
– Uses HTTP as transport protocol
– Used for:
• Snapshots of Job / Device status
• Dynamic job information update (Change Orders)
• Job submission and Queue/QueueEntry (Job List) handling
• Plug + Play bootstrapping (Future)
– Generally used within an Intranet
• Security issues are under development
JMF Message Families
• JMF messages fall into six categories
– Command
• Receiver is instructed to take an action, or to modify
the state of something
– Query
• Receiver is instructed to return information about
something. No action is taken, no states are changed
– Response
• Used to immediately return result of command or
query
• Synchronous messaging – command/query and
response are exchanged on same open connection
(HTTP Channel)
JMF Message Families
• JMF message categories (cont’d)
– Acknowledge
• Used to return the result of a command after some time has
passed
• Asynchronous messaging – empty response returned
immediately on same connection as command with
indication that Acknowledgement will be sent later
– Signal
• Used to send notifications of events or change in status
• Typically result of a query with a subscription embedded in it
• Subscription sets up persistent channel
– Registration
• Request for commands
• Used to set up triangular workflows
• E.g. MIS tells prepress to send a Command to Press
Example –
SubmitQueueEntry:
<JMF DeviceID="SP013" SenderID="MIS1“
TimeStamp="2009-03-05T12:32:48-06:00">
<Command ID="m1“ Type="SubmitQueueEntry">
<QueueSubmissionParams
URL="http://jobserver/getJob?job=10047"
ReturnJMF="http://jobserver/jmfservice"
Priority="50"/>
</Command>
</JMF>
JMF Message Types
• Example JMF messages that fall within the six categories
– Command
• SubmitQueueEntry, AbortQueueEntry, ReturnQueueEntry,
HoldQueue, ResumeQueue
– Query
• KnownControllers, KnownDevices, Status
– Response
• Various related to various commands/queries
– Acknowledgement
• Various related to various commands/queries
– Signal
• Status, Resource, Occupation
– Registration
• Resource
JMF Status Signals
• Complete Tracking of Device Stati over time
• Device sends JMF on:
– Power up
– Each Statuschange (begin of a new Phase)
• Idle [-> Setup] -> Productive [-> Cleanup] -> Idle
– Shift change, Operator Change
– “Heartbeat” for long running jobs
• Every N Seconds
• Every M Copies of output
– (Just before) Power down of the device
JMF Status Signal Definitions
• JobID, JobPartID, Part (e.g. SheetName, Separation…)
• Job Status: closed list with <10 values (Waiting, InProgress,
Completed, Aborted…)
• Device Status: closed list with <10 values (Running, Down,
Idle…)
• StatusDetails: Open List with initial list of predefined
values
• List of active modules (# press modules, varnishing, …)
• Operation Mode (Productive, Maintenance…)
Comparison: JMF Status – Reason Codes
• JMF Status
• Reason/Job Codes
– „Plug and Play“
– Customizable
– Detailed Information
– Requires
Customization to
map receivers
reason code on all
devices
– Receiver must map
JMF to internal work
code
– Single, more
complex
customization
– Multiple, simpler
customizations
Comparison of JMF and Audits
JMF
Audit
•References JDF Ticket
•Part of JDF Ticket
•(Quasi) Real time
•After Job Completion
•Current Status
•Status Summary
•Job or Device Context
•Only Jobcontext
•Unproductive Times can
be tracked
•Unproductive Times can
NOT be tracked
•Potentially incomplete
•Complete for the job
–Network down
JDF Capabilities
It’s all about
Interoperability !!!
If you don’t know about
capabilities, you won’t be
able to “interoperate”…
It’s all about Interoperability!!
But if you do, you can use
the right tools…
What can Capabilities be used For?
• Determining what products a print shop
could produce.
– Allows the creation of JDF Intent (product descriptions).
• Determining what equipment is available
in a shop.
– Allows MIS systems to take JDF Intent and determine
production steps to produce job.
• Creating a UI to allow configuration of job
processing for a piece of equipment or
application.
• Preflighting a JDF before processing
by a JDF consumer.
What about PPDs?
PPDs (PostScript Printer Driver)
• Provide basic capabilities information
about a printer
• Allow printer options to be configured by specifying
PostScript snippets
• Provide a simple constraints mechanism for UI
• Allow controls to be localized
(but typically just for the “advanced” dialog)
What about XML Schemas?
XML Schemas
• Describe the aggregated capabilities of JDF
(processes, resources, ResourceLinks, …)
• Do not support constraints definitions
• Do not support localizations
• Do not allow a device to specify a subset
of the aggregated capabilities
So what are Capabilities?
• XML-based
Remember,
the schema only
specifies the
aggregated
capabilities
of JDF
– Of course…
– The capabilities description directly reflects the
structure of the JDF itself.
• Constrains a device implementation against the
schema
– Either the JDF schema or an extension schema
– Does not require the schema to be used to work
Capabilities Theory
A Device is the “Thing” that executes one or more
JDF Nodes
JDF Parameters are either.....
• independent of one another, or
• can be expressed as a list of allowed independent
sets
– e.g. a Scanner can scan at 1000 dpi grayscale, or 500 dpi color
• May be further constrained by logical boolean
expressions, e.g.:
– The Device can print Duplex
– The Device can print Transparencies
– Setting Duplex and Transparency at the same time is
constrained
Capabilities Theory
• Performance may be specified
– Maximum +
– Average
– Depending on further Job parameters
• Allow specification of current and allowed
capabilities
– Current: What kind of Media is in the tray
– Allowed: What kind of Media may be loaded in the tray
• Defines defaults
• Specifies User Interface Localization
Device Parameter Space
Area covered by device
capabilities
Valid Parameter Point
Invalid Parameter Point
Constrained Area
Restriction to 3 dimensions for display purposes only
PrintTalk
• Format to specify the context of a JDF in a
business transaction
– JDF describes the product to be produced
– PrintTalk describes the business
context of the JDF product
• Request For Quote
• Quotation
• Purchase Order
• Invoice
• Change Order
– PrintTalk also contains Pricing Information
CIP4 Open Source
Development Tools
•
•
•
•
XML Schema
C++ API
Java API
JDF Editor
– Visualise JDF + JMF
– Send Messages
– Update or Validate JDF + JMF
• Elk Project, Bambi Project
– Reference Device implementations
• Alces Project
– Reference Manager
• Web Tools: http://www.cip4.org/JDFUtility/
– CheckJDF – JDF Validator web service
– FixJDF - – JDF update web service
Interoperability Conformance Specifications
• Define a set of Interoperability
Conformance Specifications – ICS
– The term “JDF Compliant” does not immediately
imply that two arbitrary applications will
communicate.
• Sending RIP instructions to a Folding Machine is not
useful…
– Two applications that comply with a given ICS
communicate in a meaningful and useful way.
– Product Certification is based on ICS Compliance
Why ICS ?
JDF A
Product A
ICS
JDF B
Interoperability
Conformance
Specifications
Product B
Complete ICS Document Structure
MIS to
MIS
to
Sheetfed
Layout Prepress MIS to
Web / Conv. MIS to Office
Prepress
Creator
to
News Printing Finish Digital
ICS
to
Conv.
ICS
ICS
Print
ICS
Imposition Printing
ICS
ICS
ICS
MIS ICS
JMF ICS
Base ICS
JDF Specification
Integ.
Digital Binding
Print
ICS
ICS
ICS documents
• Provide the basis for certification
• Ensure that products MUST read
/ write / accept certain conditions
– Interoperability between applications
• Limited functionality in the initial
ICS versions
– Additional functionality is optional but not certifiable
– Multiple levels
– More functionality will be added in future ICS versions
Read – Write Conformance
• JDF Specification: Describes the valid cardinality of
parameters in a JDF or JMF instance
• ICS: Specifies conformance requirements for an application
or device
– W: Must write. The application only conforms, if it always writes
the parameter
– W?: May Write. Not a Conformance requirement
– W: Conditional write conformance. External conditions exist
that require an application to write.
– !W: Must NOT write. The application does not conform, if it
writes the parameter.
– R: Must read. The Information must be “parsed and
appropriately processed”
– R  : Conditional Read. Conditions exist that MAY require read
support
– R?: May Read. Not a Conformance requirement
• Default: R? / W?
CIP4 Product Certification
•Certified for a specific
domain ICS
•Details of how
products JDF interface
performs
•Security that certified
applications will
interoperate
•Carried out by
PIA/GATF on behalf of
CIP4
History of JDF
Adobe, Agfa, MAN and Heidelberg form the GAT initiative with the goal of
defining a job ticket for the Graphic Arts that also integrates MIS.
2000: The CIP3 Consortium takes ownership of the standard.
2001: JDF 1.0 is released.
2002: JDF 1.1 is released.
– Ambiguities/Bugs found in implementation were removed
– Additional Processes were added
– Consistency between diverse areas was enhanced
2004: JDF 1.2 is released
– More additional processes
2005: First set of ICS documents are published
JDF 1.3 has been released
– More additional processes
2006: Concentrated on JDF 1.3 ICS documents
– First Products are certified (Layout Creation/Imposition)
2007: First JDF 1.3 ICS documents released,
– concentrating on JDF 1.4 and Product Certification
2008: JDF 1.4, ICS, Certification
Experience with JDF Advantages
 Single grammar for specifying job data in the
graphic arts industry
 Integration of Production, Customer and MIS
 Multiple views for Production, Customer and MIS
 Definition of production networks
 Combined Processes
 Defined communication protocol, not only data
structures
 Extensible Model
 Interaction with other Standards in GA
Experience with JDF - Challenges /
Obstacles
 Number of processes in the graphic arts
 Creative
 Prepress
 Press
 Finishing
 Fulfillment
 Complexity of the standard
 Size of the Specification
 Moving from the Abstract Idea to a Concrete Implementation
 Flexibility of the Specification
 Unclear Role of Production networks in Interfacing with Devices
 private extensions
 Definition of abstract coordinate systems
 Versioning and Legacy System Longevity
JDF 1.4: Changes
•
•
•
•
•
Content Creation
Dynamic Marks
Improved automated Imposition
Varnishing
Packaging & Label
• CAD for Die Cutting
• JMF Security
– Reliability
– Authentication
• …
JDF Tutorial
Thank you very much for your attention!