Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | august-berry |
View: | 219 times |
Download: | 0 times |
Welcome to the Welcome to the Quebec JDF Quebec JDF TutorialTutorial
Tutorial Session Speakers
• Henny van Esch - Optichrome
• Rainer Prosi - Heidelberg
Outline
• Architectural Overview of JDF
• Experience with JDF
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 is based on semantic structures originally defined by:– Adobe PJTF– CIP3 PPF
• JDF Job Definition + JMF Messaging +JDF Capabilities + ICS Documents define the JDF Framework
JDF on Another Slide- 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!
• 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
CIP4 Reference Model
Extended
MISExtended
MIS
Postpress
Customer Facility
Print Shop Management
Print Shop
Press
Prepress
Base
MISBase
MIS
Job Creation
Customer
PrintBuyer
Print ShopManager
PrepressOperator
PressOperator
PostpressOperator
CreativeProfessional
CreateDocument
CreateDocument
Negotiation & Quote
Sales Rep
CustomerService Rep
PrepressManager(s)
PrepressManager(s)
PressManager(s)
PressManager(s)
PrepressPrepress
PressPress
PostpressPostpress
CreateJDF Intent
CreateJDF Intent
ProductDescription
(with ranges)
PostpressManager(s)
PostpressManager(s)
ProductDescription
ProductDescription
(Actual values)
LimitedProcess
LimitedProcess
LimitedProcess
Estimating &Order Entry
Estimating &Order Entry
ProductionScheduling
ProductionScheduling
JDF Encoding
• XML Encoding
• External references via URI/URL
• XML Schema for Data Type Definitions
• Extensibility using XML name spaces
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 purposes
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
• Less Precise Product Intentat the Job Root Node
• Abstract “ProcessGroup” Nodes or “Gray Box” nodes in between
• Detailed individual or combined Processes in the Leaf Nodes
Input (Resources) Output (Resources)JDF
Node
Start End
TimeScheduling
Product Intent vs. Process Modeling
• Goal of Product Intent Description– Customers view of the “thing” they want to manufacture
– Contract Negotiation
– Process Independent
CoverCover
Color PagesColor Pages
B/WPagesB/W
Pages
BookBook
ContentsContents
Product Intent vs. Process Modeling
• Goal of Process Modeling – Interface between MIS and Production– Process interdependencies – Manufacturing Instruction Details
Gray Boxes
• Incomplete Model of a Process• The MIS View of the process
– It’s only important if it affects the cost!– Thus, parameters not affecting costs are not
important
• Exact Process execution is potentially undefined– Ordering of steps is not necessarily predefined– Detailed Work Steps may be left out
• E.g. MIS knows RIPping, but not Trapping or ColorSpaceConversion
Audit Objects
• Logging of Job Execution
– Actual times
• Start time
• End time
• Job Phases
• Logging of Changes
– Resources
• used 85g Paper instead of 80g
• Used Roll inventory #123, not #456
– Consumables
– Actual Amounts produced or consumed
• Status Summary • Event Log
Job / Customer Information
• CustomerInfo
– Map Subcontracting via Localized Customer
Information in any JDF Node
– Customer ID
– Addresses (Delivery, Invoice, …)
• NodeInfo
– Scheduling
– Deadlines
– Processing Time Estimation
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 – Node Type
• Individual process types and their respective resources are defined: e.g.– Interpreting
– Trapping
– ConventionalPrinting
– DigitalPrinting
– Cutting
– Folding
– Verification
– Delivery
– …
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 orGray Box
•ProcessGroup
Combined Node
Res1ResRes
Res2
ProcessGroupRes 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
• Based on Adobe PJTF and CIP3 PPF– Intent Resources for product intent nodes
– Prepress : Adobe PJTF
– Press, Finishing: CIP3 PPF
• Internal to JDF or External Links to well-defined Formats – Thumbnails, Preview Files, ICC Profiles, Content Data
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
• Parameters are not attributes but rather structured Span Elements with the following attributes:
– Range: list of allowed values
• Names
• Numbers
• Ranges of Numbers / Strings
– OfferRange: list of proposed values
– Preferred: one preferred value
– Actual: The selected value from Range or Preferred
JDF Resources - Details
• Special handling of multiple Parts, e.g.:– Sheets
– Separations
– Waste
– Tiles
– Versions
• Redo one part of a large resource
– Only the yellow plate of the front surface of sheet #17
• Parallel processing of partitioned resources
• Selection of devices / operators
JDF Resources - Partitioning
• One Resource may specify multiple entities
• 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
JDF Node
Ro
ot In
pu
t Reso
urce
Sh
eet=S
1S
heet=
S2
Ro
ot O
utp
ut R
esou
rce
Sh
eet=S
1S
heet=
S2
Partitioned Resources with matching partition keys are connected.
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
• Bind a Resource to a Node• Define Resource Usage (input or output)• Link to a Subset / Part of a Resource
– E.g. Cyan Plate of the Front of Sheet #1– Define the Amount
• Allow reuse of Resources by multiple processes– One resource may be linked
by multiple ResourceLinks
• Links define the process network
Parent Node
Child Node 1 Child Node 2
Resource 1
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“
JDF RunList Resource Simple Example with ResourceRef
<RunList ID="Link0003" Class="Parameter" Status=”Available“ PartIDKeys=“Run”>
<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>
</RunList>
<LayoutElement ID=“L1” ElementType="document“ Class="Parameter" Status=”Available“>
<FileSpec URL=”File:///File1.pdf” MimeType="application/PDF"/>
</LayoutElement>
The ResourceRef
The Reference
dResource
Inline Resource
ConventionalPrinting JDF Node Example
ConventionalPrinting
ExposedMedia(Plate)
Media
Ink
Resource Links
Component(including amount)
InkZoneProfile
ParametersLayout
(Control Marks)
NodeInfo•Planned StartTime•Planned EndTime
AuditPoolActual Resource UsageActual Time Summary
The JDF Node – Execution Requirements
• A Node is executable when all required input resources are available
– Serial Processing -- Standard
– Parallel Processing -- Partial Resources
– Overlapping Processing -- Pipes
– Iterative Processing -- Draft Resources
• Node dependencies allow process configuration
– A proof node can create an Approval which is needed for
the press node to operate
Node Executability
Not Executable
Not Available
Available
Available
ResourceLinks
Resource ResourceLink JDF Node
Executable
Available
Available
Available
ResourceLinks
Resource ResourceLink JDF Node
Node Executability
Not Available
Available
Available
Not Executable
Waiting
Links
Available
Available
Not Available
Links
Node ExecutabilityAnd Networks
Not Available
Available
Available
Not Executable
Running
Links
Available
Available
Available
Links
Node ExecutabilityAnd Networks
Available
Available
Available
Executable
Links
Completed
Links
Available
Available
Available
Node ExecutabilityAnd Networks
CoverCover
BWPagesBW
Pages
ColorPagesColorPages
BookBook
ContentsContents
Job Description Models supported by JDF I
• Product Definition– No Process
– Customer view
– Segmentation by Product
Components
• Serial Processing
RIPRIP PrintPrint BindBind
Job Description Models supported by JDF II
• Parallel Processing
• Overlapping Processing
PrintPrint
FoldFold
FoldFold
BindBind
BindBindPlateSetPlateSet PrintPrint
Job Description Models supported by JDF III
• Iterative Processing
– Informal Iterative Processing using Draft Resources
– Formal Iterative Processing using JMF Messages
EditEdit ProofProof
LayoutLayout
JDF Tree / Network Structure
parent JD Fnode
1 2 3 A 7
4 5 6 P rocess A : 4 + 5 + 6
1
2
3
4 5
6
7in. out.
JDF - Spawning and Merging
• 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 source Context
• Audits
• Modified Resources
Spawning + Merging
Master JDF
ExecutableSub-JDF 1
ExecutableSub-JDF 2
Step 1 -
Prior to Spawning
Spawning + Merging
Master JDF
ExecutableSub-JDF 1
LockedSub-JDF 2
Spawned Executable
Sub-JDF
Step 2 -
Spawned,
Prior to Execution
Spawning + Merging
Master JDF
ExecutableSub-JDF 1
LockedSub-JDF 2
Spawned completedSub-JDF
Step 3 -
Spawned,
After independent
Execution
Prior to merging
Spawning + Merging
Master JDF
ExecutableSub-JDF 1
MergedSub-JDF 2
Step 4 -
After Execution
After Merging
JMF Messaging
• Real-time data interchange format• Small XML structures
– JDF is referenced via URL, not bound into message
– Idea is to minimize network traffic and delay transmission of data until it is actually needed
– Send potentially interesting information as soon as it is available
JMF Messaging
• Used for:– Snapshots of Job / Device status
– Dynamic job update
– Job submission and Queue/QueueEntry handling
– Capabilities discovery
– Plug + Play bootstrapping (Future)
• Generally used within an Intranet
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
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 message:
<JMF DeviceID="SP013" SenderID="MIS1“TimeStamp="2006-05-05T12:32:48-06:00">
<Command ID="m3829" Type="SubmitQueueEntry">
<QueueSubmissionParamsURL="http://jobserver/getJob?
job=10047"
ReturnJMF="http://jobserver/jmfservice"
Priority="50"/>
</Command>
</JMF>
JMF Message Types
• Examples of JMF message 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
JDF Capabilities Ahead
• Interoperability
• Capabilities
• Workflow
• PPD’s and Schemas
• Capabilities Theory
• Capabilities Overview
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 are “Capabilities”?
Capabilities allow actors in the workflow to determine what some other actor can do...
What are Capabilities?
Of course, there’s no requirement that any of the actors actually
be people…
Who are the actors?
• Job submission utilities (both to a print shop and within the print shop)
• Print shops• MIS systems• Prepress workflow managers• Applications• Individual pieces of equipment• Operators of offline equipment• And the list goes on…
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.
An example workflow
Prepress Workflow Controller
RIP
Trap
Color Adjust
Impose
An example workflow
Prepress Workflow Controller
RIP
Trap
Color Adjust
Impose
Ask for capabilities
An example workflow
Prepress Workflow Controller
RIP
Trap
Color Adjust
Impose
Capabilities File
Configuration UI for
jobs
An example workflow
Prepress Workflow Controller
RIP
Trap
Color Adjust
Impose
The UI is created from
the capabilities file!
An example workflow
Prepress Workflow Controller
RIP
Trap
Color Adjust
Impose
The JDF+PDF
Official Warning
Details Ahead!!
What about PPDs and Schemas?
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 PPDs and Schemas?
Schemas• Describe the aggregated capabilities of JDF
(processes & resources)
• 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
– 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
Remember, the schema
only specifies the aggregated
capabilities of JDF
Capabilities Theory
JDF defines a Capabilities Model based on....
– A Device is the “Thing” that executes one or more JDF Nodes
– A JDF Node is defined by its resources + resource
links
• e.g.: A Press has a set of allowed Media and a set of
press parameters
Capabilities Theory
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– 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 persistent capabilities
• Define defaults and (un)/supported features• JMF messages for plug and play in heterogeneous
environments• Specify Localization
Device Parameter Space
Area covered by device capabilities
Restriction to 3 dimensions for display purposes only
Constrained AreaConstrained Area
Valid Parameter PointValid Parameter PointInvalid Parameter PointInvalid Parameter Point
Capabilities Overview
Feature Macros (JDF 1.2)
• Allows a set of multiple JDF controls to be represented by a single abstract control in a user interface.
– ScannerQuality: (draft, good, best)
– sets resolution, color mode, …
Capabilities Overview
Localizations (JDF 1.2)• Feature names and individual values can be
localized (even true and false)• Also used with constraints to provide localized
descriptions (for UI) of the error described when the constraint test fails
Capabilities Overview
Feature Availability (JDF 1.2)
• The feature is installed on the device and is available for use.
• The feature has not been installed on the device.
• The feature has been installed on the device, but may not be used until licensed.
• The feature is installed and licensed on the device, but has been disabled.
Capabilities Overview
UI Hints (JDF 1.2)
• Feature grouping
• Unit type
– Angle, length, weight,…
• Whether a feature should be displayed– The feature should be displayed.– The feature should not be displayed.– The feature should be displayed only for administrators.– The feature should be conditionally displayed.– The feature should be displayed only
in vendor support situations.• Icons to represent the device
Capabilities Overview
• JMF (Job Messaging Format) capabilities
– Which JMF messages are supported
– Specifics for each message
• JMF Bootstrapping for Device Discovery
Capabilities Overview
Performance Data
• Minimum/Maximum/Average setup time
• Minimum/Maximum/Average cleanup time
• Average/Worst case run rate
Capabilities Link the Workflow Together !
PrintTalk – www.printtalk.org
• JDF describes the product to be produced• PrintTalk describes the business context of
the 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
– Reference Device• Alces Project
– Reference Manager• CheckJDF – JDF Validator web service• FixJDF - – JDF update web service
History of JDF
1999: 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 enhanced2004: JDF 1.2 is released
– More additional processes
– Even more mature and consistent 2005: First set of ICS documents are published
– JDF 1.3 is released
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 Legacy System Longevity
Why ICS ?
JDF A
ICS
JDF B
Product A Product B
InteroperabilityConformanceSpecifications
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 will
communicate in a meaningful way.
– Product Certification will be based on ICS Compliance
• Avoid multiple, incompatible JDF Dialects
ICS Document Structure
Base ICS
JDF Specification
Prepress to Conv. Printing
ICS
MIS ICS
MIS toSheetfed
Conv.Printing
ICS
MIS toPrepress
ICS Binding ICS
TBDMIS to
Domain ICS
Integ. DigiPrint
ICS
LayoutCreator
toImposit.
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
the 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?: May Read. Not a Conformance requirement
JDF Tutorial
Thank you very much for your attention!