CIP4 Tools The CIP4 JDF APIs Java C++ The CIP4 JDF Editor CheckJDF Elk.

Slides:



Advertisements
Similar presentations
CIP4 JDF APIs JDF Editor Elena Skobchenko
Advertisements

OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
The Elk Project Ola Stering Uppsala University Sunday, November 6, 2005 Strasbourg.
Web Services Using SOAP, WSDL, and UDDI
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
 Fundamentals of Web Design.  Describe the history and theory of XHTML  Understand the rules for creating valid XHTML documents  Apply a DTD to an.
Depositing e-material to The National Library of Sweden.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
JAXB Java Architecture for XML Bindings. What is JAXB? JAXB defines the behavior of a standard set of tools and interfaces that automatically generate.
Tutorial 11 Creating XML Document
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Chapter 13 XML Concept of XML Simple Example of XML XML vs. HTML in Syntax XML Structure DTD and CDATA Sections Concept of SAX Processing Download and.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Guide to Using Message Maker Robert Snelick National Institute of Standards & Technology (NIST) December 2005
JDF Toolkits for JDF and JMF
The Document Object Model (DOM) & Asynchronous Javascript And XML (AJAX) : an introduction UFCEKG-20-2 : Data, Schemas and Applications.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Job Messaging Format (JMF) Tutorial Claes Buckwalter, Linköping University Doug Belkofer, EFI Sunday, April 24, 2005 PIA/GATF, Pittsburgh.
The Elk Framework A Device Framework Claes Buckwalter Linköping University, Sweden Sunday, November 5, 2006 Quebec City, Canada.
JDF Application Programming Interface Dr. Rainer Prosi
XML 1 Enterprise Applications CE00465-M XML. 2 Enterprise Applications CE00465-M XML Overview Extensible Mark-up Language (XML) is a meta-language that.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
What is XML?  XML stands for EXtensible Markup Language  XML is a markup language much like HTML  XML was designed to carry data, not to display data.
 XML is designed to describe data and to focus on what data is. HTML is designed to display data and to focus on how data looks.  XML is created to structure,
XML Parsers Overview  Types of parsers  Using XML parsers  SAX  DOM  DOM versus SAX  Products  Conclusion.
Electronic Commerce COMP3210 Session 4: Designing, Building and Evaluating e-Commerce Initiatives – Part II Dr. Paul Walcott Department of Computer Science,
XP Tutorial 9 1 Working with XHTML. XP SGML 2 Standard Generalized Markup Language (SGML) A standard for specifying markup languages. Large, complex standard.
XML Registries Source: Java TM API for XML Registries Specification.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters.
JDF Toolkits for JDF and JMF Niels Böger. JDF Library and API Read, write, work with JDF and JMF files Additional high-level routines –spawn / merge MIME.
Das Software Bauhaus 6. November 2005, © ixact GmbH 2005confidential 1 ixJED JDF toolset ixact GmbH Dr. Karsten Wendt
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Web Technologies COMP6115 Session 4: Adding a Database to a Web Site Dr. Paul Walcott Department of Computer Science, Mathematics and Physics University.
Internet Technologies Review Week 1 How does Jigsaw differ from EchoServer.java? What abstractions are made available to the servlet writer (under.
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
XML Study-Session: Part III
CIP 4 Tools Tutorial ixJED Scripting at work November 6, 2005 Koen Van de Poel.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
JDF – An Overview.
Alces A Tool for Testing JDF Software Claes Buckwalter Linköping University Sunday, November 6, 2005 Strasbourg.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Martin Kruliš by Martin Kruliš (v1.1)1.
JMF Dr. Rainer Prosi CTO, CIP4 Senior Software Architect, Heidelberg.
To Certification Tutorial - Darmstadt. to 2 JDF Certification Background Product certification –Exclusive agreement with CIP4 –Started certifying in 2006.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
XML Tools (Chapter 4 of XML Book). What tools are needed for a complete XML application? n Fundamental components n Web infrasructure n XML development.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
C Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Introduction to XML Standards.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
7-Mar-16 Simple API XML.  SAX and DOM are standards for XML parsers-- program APIs to read and interpret XML files  DOM is a W3C standard  SAX is an.
20 November 2002ApacheCon US - Las Vegas, Nevada 1 Xerces2: The Sequel With No Equal Andy Clark.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
1 Web services for DIP LDIWG meeting C.H.Sicard 7 Jan 2003.
SOAP, Web Service, WSDL Week 14 Web site:
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
Unit 4 Representing Web Data: XML
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
XML in Web Technologies
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Chapter 7 Representing Web Data: XML
Continuous Automated Chatbot Testing
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
XML Problems and Solutions
Student: Popa Andrei-Sebastian
Presentation transcript:

CIP4 Tools The CIP4 JDF APIs Java C++ The CIP4 JDF Editor CheckJDF Elk

Reasons for an open source JDF API JDF uses XML as a Database, not as a Markup Language lots of ID-IDREF linking Inheritance by nesting Enhanced Validation in addition to XML Schema Use of the same code base simplifies interoperability between vendors Compile-time code validation through type safe classes instead of generic string based calls Same spec interpretation through a common high level code base Providing an open source API reduces barriers to adapting a JDF workflow

Technical Requirements Platform independent Mapping of new C++ interfaces to preexisting JAVA interfaces thread safety Not thread-safe other than standard xerces Support any character encodings Unicode inside

Xerces Open source validating XML parser Freely usable in commercial code C++ and Java version exist Validating and non-validating parsers Schema based on SUN and IBM XML parsers Use version 2.2 or higher in C++ 2.4 in JAVA download site:xml.apache.org

NameSpaces in the JDFLib (DOM Standard) Namespaces (DOM Lvl1/Lvl2) are supported! Prefix != NameSpaceURI: Example: xmlns:HDM=“www.heidelberg.com” Prefix Handling: GetElement(“HDM:MoonPhase”); XMLNS Handling: GetElement(“MoonPhase”,”www.heidelberg.com”); Mixed XMLNS / Prefix handling is not supported GetElement(“MoonPhase”,”HDM”); GetElement(“HDM:MoonPhase”,”www.heidelberg.com”); Mixing DOM lvl 1 and 2 may be hazardous to your code: <JDF:JDF ID=“i1” JDF:ID=“i2”>

High Level Design Features Xerces provides both SAX and DOM Parsers JDF requires an object tree in memory in order to navigate links / references ==> Use the DOM implementation as base (C++) No pointers, only lightweight DOM wrapper classes. (C++) Standard Template Library Strings Vectors Maps (C++) gracefully handles Null elements nullElement.GetAttribute(“foo”) returns “”; Java implementation relies on standard Java interfaces

Type-Safe Code Generator Java and C++ are generated Schema still has limits: requires element ordering or unlimited Cardinality nesting support not available API validation is always stronger than Schema validation Based on standard schema with additional meta-data (annotations) Naming Conventions based on the JDF Specification Schema Generator Automatic Classes

JDF Parser Class Layers DOM_Element: Xerces KElement: STL String wrapper JDFElement: First JDF specific layer JDFResource: Resource Abstraction layer JDFAutoRunList: Automatic Schema-Generated RunList Abstraction layer JDFRunList: Hand-Coded

Additional Open Source Utilities (C++ Only – Included in Java.xxx) Not directly parser related Simplify JDF implementation Mime Handling HTTP Message Client interface SSL Support PNG Support PNG GreyScale Separations File IO abstraction

CIP4 JDF Editor Java based tool to display JDF and JMF Validating Based on JDFLib-J Mac and Win version Pros very nice Process view free Future improved Process view CheckJDF validation

Screenshot JDF editor

JDF Validators check complete context, links CheckJDF future: CIP4 JDF Editor

CheckJDF CIP4 DOS tool to check against Pros Cons schema (Xerces parser, XML limitations) JDF rules (more strict) Correct links between resources Name mangling Unlinked Resources Links that reference Nirvana Correct Partitioning Misspelt separation names Pros check if file is valid or not (or nearly valid) Cons output is difficult to read in case of errors also available as service on CIP4 website

Web based CheckJDF 1.2 http://www.cip4.org/intern/checkjdf/upload.php

CheckJDF output Output of the XERCES schema validation follows: error Datatype error: Type:InvalidDatatypeValueException, Message:Value 'Ready' is not in enumeration . error ID attribute 'RNL00O_D' was referenced but never declared ********************************************************** Output of checkJDF proper follows: dangling ResLink: <RunListLink xmlns="http://www.CIP4.org/JDFSchema_1_1" ProcessUsage="Document" Usage="Input" rRef="RNL00O_D"/> Warning: Separation Name not in ColorPool: Zwart !!! InValid Element: /JDF/ResourcePool[1]/ColorPool[1] ColorPool !!! Invalid Attribute: Status = Ready !!! InValid Element: /JDF/ResourcePool[1]/ColorantControl[1] ColorantControl !!! Invalid Element - (potential reference to invalid element): ColorPoolRef !!! InValid Element: /JDF/JDF[1]/JDF[1]/JDF[3]/ResourceLinkPool[1]/RunListLink[1] !!!

Elk A JDF Device Framework based on CIP4’s JDFLib-J Claes Buckwalter CCMT, Linköping University, Sweden http://media.itn.liu.se

Claes Buckwalter M.Sc. in Media Technology and Engineering 1997-2003 Print production Ph.D. Student 2003-2007? Workflow and process automation in the printing industry

Centre for Creative Media Technology Linköping University LiU Linköping Institute of Technology LiTH Department of Science and Technology ITN Centre for Creative Media Technology CCMT Located at Campus Norrköping

Elk A JDF Device Framework based on CIP4’s JDFLib-J

Goal To design and implement an application framework, in Java, that provides the basic services needed by a JDF device and that allows pluggable JDF device implementations.

Deliverables An application framework for JDF devices Default implementations of services Conformance with: Base Conformance ICS MIS Base Conformance ICS, level 3 A JDF device implementation based on the application framework Simulate the behavior of a process

The Elk Framework Package name: org.cip4.elk Interfaces and abstract classes that specify the services needed by a Device: Incoming/outgoing message dispatchers JMF processors/handlers JMF servlet Queue Process Subscription manager Factory for JDF elements

Incoming JMF Dispatcher JMF Command/Query/Signal Synchronous Asynchronous Incoming JMF Dispatcher Registers subscriptions KnownMessages Processor QueueStatus Processor SubmitQueueEntry Processor Status Processor Events Processor Other JMF Processors Events Events Queue Poll for new job Process Subscription Manager Dispatches subscription queries Acknowledge Signal Signal Outgoing JMF Dispatcher JMF Acknowledge/Signal JDF

Reference Implementation Package name: org.cip4.elk.impl Concrete implementations of the classes defined in the Elk Framework: Dispatching JMF servlet Synchronous message dispatchers 10 JMF processors Memory-based subscription manager Memory-based queue Approval process MIME package reader Tool for accessing URLs (http, https, file, ftp)

Approval Device KnownMessagesJMFProcessor QueueStatusJMFProcessor HoldQueueJMFProcessor Dispatching JMFServlet Subscribing Incoming JMFDispatcher ResumeQueueJMFProcessor MemoryQueue CloseQueueJMFProcessor OpenQueueJMFProcessor ElkStartupServlet SubmitQueueEntryJMFProcessor ApprovalProcess DeviceConfig StatusJMFProcessor FileUtil EventsJMFProcessor StopPersChannelJMFProcessor SynchronousHttpOutgoing JMFDispatcher SimpleSubscription Manager

Test Tools Command-line client for sending JMF, JDF and MIME Proxy support HTTPS support Servlet for testing MIME-sending clients http://cog.itn.liu.se:8080/elk/mime

To be done... The Elk Framework Reference implementation Refactor JMFProcessor into 3 interfaces SignalProcessor QueryProcessor CommandProcessor More inter-device events Add/refactor as reference implementation evolves Reference implementation Add support for all (38) JMF message types Asynchronous messaging Full subscription/persistent channel support Receive and submit MIME Full queue support Better process implementation

Timeline T&I 2004-09-15 T&I 2004-10-06 A simple JDF process  HTTP JMF server  HTTP JMF client HTTP protocol fetcher  Full queue support T&I 2004-10-06 JMF Subscription service  MIME packages  Reading CID protocol fetcher (Device capabilities)

Release 0.5 A binary and source release will be posted on the project web site this week http://cog.itn.liu.se/~clabu/files/elk/

Live Demo http://cog.itn.liu.se:8080/elk/jmf Send a KnownMessages query to it http://cog.itn.liu.se:8080/elk/mime Send MIME packages to it