1. Praktische Einführung in
JDF / JMF
Stefan Meißner (stefan.meissner@saxoprint.de)
Dipl.-Ing. (FH) für Druck- und Medientechnik
2. Zielstellung
Der Fokus liegt weniger auf JDF als auf JMF.
Am Ende des Workshops wissen Sie, wie
Sie eine einfache Betriebsdatenerfassung mit Hilfe von
JDF / JMF realisieren können.
3. Agenda
• Einführung in JDF / JMF
• CIP4 Tooling
• Praxisbeispiel BDE
• jdf4you.org – Die JDF Community
5. Glossar
• JDF – Job Definition Format
(Beschreibung eines Auftrags oder Prozessschritts)
• JMF – Job Messaging Format
(Infrastruktur zur Kommunikation im JDF Umfeld)
• MIS – Management Information System
(Zentrales Programm als Steuereinheit aller angeschlossenen Geräte)
• JDF Device
(Ein Maschine oder Software welche direkt Arbeit an einem Auftrag verrichtet.
• JDF Controller
(Kapselt eine Gruppe von JDF Devices)
6. JDF Anforderungen und Ziele
• Automatisierung erhöht die Effizienz
• Integrierte Prozesse / Prozess Transparenz
– Auftragsverfolgung
– Betriebsdatenerfassung
– Einheitliche Schnittstelle zu Maschinen / Anwendungen
• Herstellerunabhängiger Standard
• Digitale Informationen verringern Fehlerquellen im Vergleich zur
Auftragstasche aus Papier
7. JDF – Job Definition Format
• Spezifikation für detaillierte Auftrags- / Prozessschritt-
beschreibung in der grafischen Industrie (wie „JobTicket“)
→ JDF ist keine Software und kein System
• Herstellerunabhängiger Standard
• JDF ist in XML kodiert
• Binärdaten (Grafiken etc.) werden referenziert, nicht eingebettet
8. JMF – Job Messaging Format
• Bildet Infrastruktur / Kommunikationssystem
• JMF Message Families: Query, Command, Signal...
• Überschaubare XML Strukturen
• Anwendung
• Echtzeit Auftrags- und Maschinenstatus
• Dynamische Auftragsveränderung
• Job Übertragung und Warteschlangen
• Plug & Play (In Zukunft)
• Typischerweise im Intranet angewandt
11. Architektur: Beispiel Heidelberg
Native
Kommunikation
JDF Device
SM 105-4
JDF Controller JDF Device
PressRoom
MIS SM 105-5+L
Manager
JDF Device
SM 105-8+P
+ Option:
MIS Schnittstelle
12. Architektur: Beispiel KBA
Native
Kommunikation
JDF Device
Rapida
106-5
JDF Controller JDF Device
Rapida
MIS Logotronic
106-5
JDF Device
Rapida
105-8
+ Option:
MIS Schnittstelle
13. Nachteile Architektur
Skizze „Typische Architektur“:
Device 1
MIS Controller Device 2
Device 3
• JDF Controller ist „Single Point of Failure“
• Meist keine direkte Kommunikation MIS ↔ JDF Device möglich
• JDF Controller muss häufig erst erworben weden
• JDF Controller muss häufig erst zusätzlich mit MIS Schnittstelle
ausgerüstet werden
➔ JDF / JMF wird leider häufig nur als teures
zusätzliches Feature angeboten.
14. Besserere Architektur
JDF Device
Device 1
JDF Device
MIS Device 2
JDF Device
Device 3
➔ Jedes JDF Device besitzt eine JDF Schnittstelle, wird
allerdings so herstellerseitig nicht angeboten.
15. JDF Dialektik
• Vom Standard haben sich unterschiedliche Dialekte gebildet, da
es sich bei JDF lediglich um eine Spezifikation handelt und es
jedem Hersteller selbst überlassen ist welche Teile und wie weit
diese in dessen Produkten umgesetzt werden sollen.
• ICS (Interoperability Conformance Specifications) definieren
den Kleinsten Gemeinsamen Nenner
• Vergleich mit HTML, je näher man am Kern bleibt, desto höher
die Kompatibilität
• Interops zur Steigerung Kompatibilität
16. JDF – Technologie der 90er
Die grundlegenden JDF Konzepte wurden im Rahmen der
„Digitalisierung der Druckvorstufe“ entwickelt und dem damaligen
Stand der Technik angepasst:
• JDF sollte Auftragstasche ersetzen; Eine JDF Datei pro Auftrag
• Kommunikation über Hotfolder / MIME
• Konkurrierende Zugriffe über „spawn“ und „merge“
• JDF beinhaltet Workflow-Logik
• Basiert auf frühe Version von XML
➔ Neue Technologien / Rahmenbedingungen erfordern
Überarbeitung und Anpassung der JDF Konzepte...
17. Problem: Auftragstasche
JDF wird häufig als „digitale Auftragstasche“ bezeichnet.
Jedoch:
Auftragstaschen sind Datenspeicher, beschreiben die Workflow-
Logik und können archiviert werden.
Auftragstasche Archiv
Auftrag: BDE:
Workflow-Logik:
18. Problem: Auftragstasche
Theorie: Eine Datei pro Auftrag die zentral abgelegt,
verwaltet und archiviert wird ?!?!?
Aber was ist mit...
• … Konkurrierende Zugriffe (Transaktionen) ??
• … Ausfallsicherheit / Load Balancing (Clustering) ??
• … Datenauswertung / -analysen (Data Mining) ??
• … Online Sicherungen (Live Backup Systeme) ??
19. Best Practice: Auftragstasche
• Auftragdaten in die Datenbank
• BDE in die Datenbank
• Workflow-Logik in eine Workflow-Engine
Datenbank: Workflow-Engine:
Auftrag: BDE:
20. Best Practice: JDF / JMF
JDF sollte rein nur zur Kommunikation genutzt werden!
→ Keine Datenhaltung – Keine Workflow-Logik!
Generieren, optimiert für
Ziel-Device (Dialektik)
Datenbank
Informationen extrahieren
und in DB schreiben
➔ JDF als reine Schnittstellentechnologie
21. Best Practice: Architektur
(eigenes) MIS
Vorteile Architektur:
– Kleine, einfache JDF Dokumente
– JDF ist optimiert für Ziel-Device
Datenbank
(Beherrschung JDF Dialektik)
– Transparenter Workflow
– Workflowsteuerung über Auftragsdaten
– Höhere Performance / Skalierbarkeit
22. Best Practice: Kommunikation
• HTTP vs. Hotfolder
– HTTP Response Code gibt Ergebnis der Verarbeitung zurück
– HTTP unterstützt Response Messages / Acknowledge
– HTTP ermöglicht synchrone und asynchrone Kommunikation
• MIME (Base64) vs. RESTful
– Umwandlung Binäre ↔ ASCII (MIME) ist rechenintensiv und
langsam (...und außerdem nicht mehr zeitgemäß).
– RESTful basiert auf HTTP; Binärdaten können gestreamt werden.
➔ Best Practice: Kommunikation über HTTP und JMF
23. Kommunikation: JMF Families
• JMF Command
– Empfänger muss Aktion ausführen oder Status ändern.
• JMF Query
– Empfänger soll Informationen zurückliefern.
– Keine Aktion ausführen; Status bleibt unverändert.
• JMF Response
– Synchrone Antwort auf JMF Command oder JMF Query.
– Bei synchronem Nachrichtenaustausch wird für Nachricht und
Antwort derselbe HTTP Kanal genutzt.
24. Kommunikation: JMF Families
• JMF Acknowledge
– Übermittlung Zeitverzögerter Nachrichten (asynchron).
– Wird in synchronen Response Message angekündigt.
• JMF Signal
– Publizieren eines Statuswechsel oder Ergeignis von Geräten
– „Fire and Forget“
– Einstellungen / Konfiguration durch Subscription Messages
• JMF Registration
– Anfrage nach einem Command
– Dreiecksbeziehung MIS ↔ Vorstufe ↔ Druckmaschine
25. JMF Beispiele
• JMF Command
– SubmitQueueEntry (Übermittlung Auftrag an JDF Device)
– ReturnQueueEntry (Rückgabe Auftrag vom JDF Device)
– HoldQueue / ResumeQueue (Steuerung Warteschlnage eines JDF Devices)
• JMF Query
– KnownMessages (Mitteilung der vom Gerät unterstützten JMF Messages)
• JMF Signal
– Status (Mitteilung des aktuellen Maschinenstatus wie z. B. Setup, Processing,...)
– Notification (Mitteilung über ein Ereignis wie z. B. Störungen)
26. JMF Families - Praxisbeispiel
Mit Blick auf nachfolgendes Praxisbeispiel sind vor allem folgende
JMF Families interessant:
• JMF Query (Anforderung aller Ereignis- und Statussignale)
• JMF Signal (Ereignis- und Statussignale zur Betriebsdatenerfassung)
MIS (BDE) JDF Device
JMF Status Query
JMF Status Query Resp.
JMF Status Signal
z. B. 10 Sekunden
JMF Status Signal
JMF Status Signal
27. Grundgerüst 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
• Erforderliche Attribute: SenderID, TimeStamp, Version, MaxVer.
• Weitere (optionale) Attribute können in der JDF Spec oder im
ICS JMF nachgelesen werden.
➔ Grundgerüst einer JMF Message
28. Aufbau ICS / JDF Spec
Ausschnitt aus JMF ICS:
w MUSS geschrieben werden. JDF ist nur valide wenn
Parameter gesetzt.
w? DARF schreiben. Keine Konformitätsanforderungen.
w← Bedingtes MUSS-Schreiben entsprechend externe
Bedingungen.
!w DARF NICHT geschrieben werden. JDF ist invalide
wenn Parameter gesetzt ist.
r MUSS gelesen und angemessen verarbeitet werden.
r← Bedingtes Lesen entsprechend externe Bedingungen.
r? DARF lesen. Keine Konformitätsanforderungen.
31. Weitere JDF / JMF Beispiele
Weitere hilfreiche JDF / JMF
Beispiele finden Sie in der JDF
Spezifikation unter
Appendix S -
„List of Examples“
(JDF Spec 1.4a, p1119 ff.)
32. JDF Ausblick
Es gibt Ideen / Konzepte zur Erweiterung bzw. Überarbeitung des
JDF Standards:
– Vereinfachung der Strukturen
– Minimierung der Komplexität
– Überarbeitung Workflow-Logik / Abhängigkeiten
– Anpassung an aktuellen XML Standard
(XPath etc.)
– Anpassung an aktuelle Technologien
(Web Services, Datenbanken etc. )
➔ CIP4 erweitert den JDF / JMF Standard auf Basis von
Anforderungen u. Interessen seiner Mitglieder.
34. Übersicht CIP4 Tooling
JDF Tools von CIP4:
• CIP4 Bambi 2 (JDF Device Simulator)
• CIP4 Alces (JDF Integrations Tool / MIS Simulator)
• JDF-VM (Virtual Machine vorinstalliert mit CIP4 Tools)
• …
Bitte CIP4 Lizenzbestimmungen beachten!
➔ CIP4 stellt diverse Entwickler-Tools für JDF bereit.
35. CIP4 Tooling: Lizenz
• CIP4 Software ist Open Source
(CIP4 Subversion Repository: http://svn.cip4.org/svnroot/trunk.)
• Frei verfügbar für nicht-kommerzielle Nutzung
(Kann jederzeit in frei verfügbaren Applikationen integriert werden.)
• Frei verfügbar für hausinterne Software
(Kann jederzeit in eigene Softwareprojekte integriert und genutzt werden.)
• Nutzung von CIP4 Software in kommerziellen Produkten nur für
CIP4 Full- und Partner Members
(Die Nutzung von CIP4 Software in kommerziellen Produkten ist
ausschließlich CIP4 Full- und Partner Members gestattet.)
36. CIP4 Mitgliedschaft
Jeder kann CIP4 Mitglied werden, sich in den JDF Work Groups
einbringen und so am JDF Standard mitentwickeln.
Jährliche Mitgliedsbeiträge:
– Associated Member 150,- $
– Full Member 3.000,- $
– Partner Member 15.000,- $
➔ Weitere Informationen zur CIP4 Mitgliedschaft auf
http://www.cip4.org.
39. CIP4 Tooling: Bambi 2
• JDF Device Simulator
(„Virtuelle Druckerei“)
– Testframework für
Entwicklung
– Simulationen
• Onlinedemo:
http://bambi.jdf4you.org
➔ Bambi 2 – Ein Tool zur Simulation von JDF Devices.
40. CIP4 Tooling: Bambi 2
Bambi 2 - Basic
• Erweiterter Funktionsumfang
• URL:
http://localhost:8080/bambi-2/overview
Bambi App
• Bambi 2 als Executable
(kann mit Doppelklick gestartet werden)
• Beinhaltet „Bambi 2“ wie auch
„Bambi 2 - Basic“
➔ Bambi 2 ist in unterschiedlichen Ausführungen
verfügbar.
41. Allg. Konfiguration Bambi 2
• Konfiguration basiert auf Namenskonventionen
• Aktive Konfiguration unter „/tmp/bambi-2/conf/config/“
Allgemeine Konfiguration Bambi / JDF Devices
Mitarbeiter die sich anmelden können
Konfiguration JobPhases für jedes in der Datei
devices.xml konfiguriertes JDF Device.
➔ Bambi 2 kann „out-of-the-box“ betrieben werden.
Konfigurationen sind initial NICHT notwendig.
42. Bambi 2: Beschreibung SM
Abstrakte Beschreibung
Speedmaster XL 105 – 8:
• Einrichten: 10 min
4.000 Bg./h
• Fortdruck: 15.000 Bg./h
• Waschen: 5 min
• Fehlerquote: 3%
➔ Abstrakte Beschreibung einer Druckmaschine
43. Bambi 2: JobPhases SM
Die einzelnen Phasen, welche zur Produktion eines Auftrags an
einer Maschine durchlaufen werden, werden als „JobPhases“
bezeichnet und sind mit dem „DeviceStatus“ definiert.
• Einrichten: DeviceStatus: „Setup“
• Fortdruck: DeviceStatus: „Running“
• Waschen: DeviceStatus: „Cleanup“
➔ JobPhase wird über Attribut „DeviceStatus“ definiert.
Vgl. JDF Spec 1.4a „3.11.4.6.1 ModulePhase“ (S. 129)
45. Bambi 2: Beschr. Prepress
Abstrakte Beschreibung
Druckvorstufe:
• Rippen: 5 min
• CtP: 30 Platten / h
JobPhases: 2 x Running
(Unterscheidung durch DeviceStatusDetails)
➔ In der Realität gibt es aktuell leider nur sehr wenige
Belichter welche sich via JDF ansteuern lassen.
47. Bambi 2 – Übersicht
Lister aller JDF Devices
Details zu einem Device
– Device Details
(Allg. Geräteinformationen)
– Warteschlange
(Liste aller Jobs / Queue-Handling)
– Subscriptions
(Aktive Subscriptions z. B. Status /
Notifications)
– Login / Logout
(Mitarbeiter Management)
48. Bambi 2 – JMF Schnittstelle
• Kommunikation über HTTP
• JMF Schnittstelle ist eine URL
– Jedes Device hat eigene URL
(DeviceId wird aus URL extrahiert)
– Eine URL für alle Devices
(Zuordnung über DeviceId in JDF)
JMF Schnittstelle:
http://127.0.1.1:8080/bambi-2/jmf/03-SpeedmasterXL105-1
52. Alces: Übersicht
JMF Schnittstelle:
DeviceInfo: URL der JMF Schnittstelle
Allg. Geräteinformationen
JMF History:
Übersicht gesendeter /
empfangener JMF
Messages
KnownMessages:
Liste unterstützer
JMF Messages
QueueStatus:
Infos zur Warteschlange
➔ Alces ist ein sehr hilfreiches Tool bei der Anbindung
von JDF Devices.
53. Alces: Zweck
Einsatzmöglichkeiten Alces:
• Funktionstest / Testen JMF Schnittstelle
• Integrationshilfe für JDF Devices
• Fehlersuche / -analyse
• Simulator für ein MIS (Management Information System)
• „Status-Ping“
• ...
➔ CIP4 Alces ist ein vielseitiges Tool welches sehr
unterschiedlich genutzt werden kann.
54. Beispiel: KnownMessages
1. Verbindung aufbauen:
Mit JDF Device verbinden
2. JMF Query KnownMessages:
Ausführen durch Klick auf Button
3. Message History: Response
Zeigt JMF Query und JMF
in Klartext
➔ Anfrage nach unterstützen JMF Messages für ein
JDF Device.
55. Beispiel: Queue Operations
1. JMF Query KnownMessages:
JMF Query ausführen, wie im vorherigen Beispiel beschrieben.
2. JMF Queue Commands:
JMF Warteschlangen Commands ausführen.
3. Queue JDF Device:
Detailanzeige zur Warteschlange eines JDF Devices
deaktivieren
zurücksetzen
Info: Queue wird auch in Bambi direkt angezeigt.
aktivieren
➔ Steuerung der Warteschlange eines JDF Devices.
56. Beispiel: SubmitQueueEntry
1. JMF Query KnownMessages:
JMF Query ausführen, wie im vorherigen Beispiel beschrieben.
2. JMF Command SubmitQE:
JMF Command SubmitQueueEntry ausführen.
3. Auswahl spezifisches Auftrags-JDF:
Beispiel JDFs unter „[Desktop]/alces-testdata/jdf“
➔ Übermittlung eines Jobs an ein JDF Device.
57. JDF-VM – The Virtual Machine
Vorinstallierte Virtual Machine mit CIP4 Bambi 2 und CIP4 Alces.
Download Adresse:
http://download.jdf4you.org
➔ Ideal für Einsteiger: Einfach herunterladen, in Oracle
Virtual Box importieren und starten...
58. JDF-VM – The Virtual Machine
• Verfügbar auf http://download.jdf4you.org
• Vorinstallierte und konfigurierte JDF Tools
• Erstellt mit Oracle VirtualBox OSE
→ VirtualBox Download URL: http://www.virtualbox.org
• Betriebssystem: Ubuntu 10.04 LTS
• „Getting Start“ Guide auf Desktop
(benutzerdefinierte Proxy-Einstellung, Sprache, Tastatur-Layout etc.)
59. JDF-VM - Installation
Installationsanleitung JDF-VM:
1) Oracle VirtualBox installieren und starten.
2) JDF-VM herunterladen und entpacken.
3) Appliance importieren und vorher entpackte Datei „jdf-vm.ovf“ auswählen.
4) Import Wizard durcharbeiten und abschließen.
Datei „jdf-vm.ovf“
auswählen
Wizard Steuerung
61. Fachliche Komponenten BDE
Benötigte Komponenten zur Umsetzung einer einfachen BDE:
• Anforderung von periodischen u. ereignisgesteuerten
Nachrichten:
– Status Nachrichten
– Aufgetretene (Fehler-) Meldungen
• Möglichkeit zum Zurücksetzen von Nachrichten-Anforderungen
• Exception Handling
• Datenspeicherung und -analyse
➔ Fachliche Anforderungen für eine erste, einfache
Betriebsdatenerfassung via JDF / JMF.
62. Technische Komponenten BDE
• Kommunikation
– HttpRequest / HttpStream zum versenden und empfangen von
synchronen Nachrichten.
– URL für den Empfang von asynchronen Nachrichten.
• Datenhaltung und Datenauswertung
– Datenbank zur Speicherung empfangener Informationen
( !! NICHT Nachrichten speichern !! )
– Benutzeroberfläche zur Steuerung und Auswertung der BDE.
➔ WebServer wie z. B. Tomcat, Jetty, IIS... vereinfachen
das Senden und Empfangen von Nachrichten.
63. Kommunikation via JDF / JMF
Generieren, optimiert für
Ziel-Device (Dialektik)
Datenbank
JDF Device
Informationen extrahieren
und in DB schreiben
JDF / JMF NUR zur Kommunikation
– KEINE Speicherung / Archivierung von JDF / JMF Dokumenten !!
– Alle JDF / JMF DÜRFEN ERST zur Laufzeit bei Bedarf generiert werden
– Informationen aus empfangenen Nachrichten MÜSSEN extrahiert
und in eine Datenbank gespeichert werden.
64. Allgemeine Architektur MIS
HttpRequest JMF Command / JMF Query
HttpResponse
MIS (BDE) (sync.) JMF Response
Listener Url JMF Acknowledge / JMF Signal
(async.)
Attatchment-
JDF Device
RESTful (HttpStream)
URL (sync.)
• Synchrone Nachrichten über
HttpRequest / HttpResponse.
Datenbank • URL für Asynchrone Nachrichten.
• Attatchments (JDF Dokumente etc.)
werden vom Empfänger via http
nachgeladen.
65. JMF Query: Subscriptions
Anforderung von periodischen und ereignisgesteuerten
Nachrichten von einem JDF Device (sog. JMF Signals).
JMF Query: Status Subscription
Anforderung eines periodischen Signals und aller
Statusänderungen.
JMF Query: Notification Subscription
Anforderung aller (Fehler-) Meldungen
66. JMF Signals
Asynchrone Nachrichten welche periodisch (Heartbeat) oder
immer wenn ein Ereignis auftritt vom JDF Device gesendet wird.
JMF Signal: Status
Nachricht mit aktuellen Statusinformationen
für ein JDF Device.
JMF Signal: Notification
Nachricht welche die aktuell auf einem JDF Device
aufgetretene Meldung mit Fehlercode beinhaltet.
67. JMF Cmd: StopPersistentChannel
Zurücksetzen aller JMF Signal Anforderungen von einem
JDF Device für einen Empfänger (MIS).
JMF Command: StopPersistentChannel
Alle Anforderungen für eine registrierte Listener
URL zurücksetzen.
68. Exception Handling
• Für jede JDF / JMF Aktion wird synchron unmittelbar eine
Antwort (Response) mit Bestätigung oder Fehlermeldung
(Notification) zurückgeschickt.
• Dauert Abarbeitung der JDF / JMF Aktion zu lange beinhaltet
die unmittelbare Antwort einem Hinweis auf eine nachfolgende
Acknowledge Nachricht welche dann das Ergebnis beinhaltet.
69. Prozessablaufplan BDE
MIS (BDE) JDF Device
Anfrage unterstützte
Nachrichten JMF Query: KnownMessages
Nachricht bearbeiten
JMF Response: KnownMessages
Prüfen ob Funktionalität
unterstützt wird.
JMF Query: SubscriptionStatus
JMF Query: SubscriptionNotification Subscription speichern
und ausführen
JMF Signal: Status
JMF Signal: Status
JMF Signal: Notification
Subscription
zurücksetzen JMF Command: StopPersitentChannel
70. JMF Query: KnownMessages
Anfrage nach unterstützen JDF / JMF Aktionen für ein
JDF Device.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-08-30T17:23:00+01:00" Version="1.4">
<Query ID="Q001" Type="KnownMessages"/>
</JMF>
71. JMF Response: Known Messages
Response beinhaltet eine Liste aller unterstützten Aktionen eines
JDF Devices mit detaillierter Beschreibung.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" MaxVersion="1.4"
SenderID="03-SpeedmasterXL105-1" TimeStamp="2011-05-30T08:23:49-04:00"
Version="1.4" >
<Response ID="m_110530_082349354_000019" Type="KnownMessages">
<MessageService Acknowledge="false" Command="true" JMFRole="Receiver"
Persistent="false" Query="false" Registration="false" Signal="false"
Type="HoldQueue" URLSchemes="http" />
[...]
</Response>
</JMF>
72. JMF Query: SubscriptionStatus
Anforderung eines periodischen Status Signals (Heartbeat) und
wenn immer sich ein Attribut aktualisiert.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2004-08-30T17:23:00+01:00" Version="1.4">
<Query ID="Q001" Type="Status">
<Subscription RepeatTime="10" URL="http://127.0.1.1:9090/alces/jmf">
<ObservationTarget ObservationPath="*" />
</Subscription>
<StatusQuParams DeviceDetails="Full" EmpolyeeInfo="true" JobDetails="Full"
QueueInfo="true" />
</Query>
</JMF>
73. JMF Query: Subscription Notification
Anforderung eines Notification Signals für jede (Fehler-) Meldung
welche auf dem JDF Device auftritt.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-08-30T17:23:00+01:00" Version="1.4">
<Query ID="Q001" Type="Notification">
<Subscription URL="http://127.0.1.1:9090/alces/jmf">
<ObservationTarget ObservationPath="*" />
</Subscription>
</Query>
</JMF>
75. JMF Signal: Notification
Notification Signal welches beim Auftreten einer (Fehler-) Meldung
vom JDF Device gesendet wird.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-08-30T17:23:00+01:00" Version="1.4">
<Signal ID="1" SenderID="03-SpeedmasterXL105-1" Type="Notification" refID="Q01">
<Notification AgentName="JDF Writer" AgentVersion="1.4a BLD 64" Type="Event"
Class="Event" JobID="J893" JobPartID="1" TimeStamp="2011-06-14T09:42">
<Employee ProductID="E1" Roles="Operator">
<Person DescriptiveName="Steve Hiebert" />
</Employee>
<Event EventID="57" EventValue="Event57" />
<Comment>Paper Jam</Comment>
</Notification>
</Signal>
</JMF>
76. JMF Command: StopPersistentChannel
Zurücksetzen aller Subscriptions eines JDF Devices
für eine URL.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-08-30T17:23:00+01:00" Version="1.4">
<Command ID="ALCES_EOEBCX_31_20110614120458" Type="StopPersistentChannel">
<StopPersChParams URL="http://127.0.1.1:9090/alces/jmf" />
</Command>
</JMF>
77. JMF Response: Error
Wenn ein Fehler beim Verarbeiten einer Nachricht auftritt wird ein
Error – Response zurückgegeben.
<?xml version="1.0" encoding="UTF-8"?>
<JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4"
TimeStamp="2011-08-30T17:23:00+01:00" Version="1.4">
<Response ID="1" ReturnCode="101" Type="SubmitQueueEntry" refID="C1">
<Notification AgentName=“JDF Writer" AgentVersion="1.4a" Class="Error" ID="N1"
TimeStamp="2011-06-14T10:10:43-04:00" Type="Error">
<Comment AgentName="JDF Writer" AgentVersion="1.4a" ID="1">
Unable to queue request: No matching nodes. Check Types and DeviceID
- Error code = 101 - failed to add entry: invalid or missing params.
</Comment>
</Notification>
</Response>
</JMF>
78. Ausblick
• Implementierung Submit- / ReturnQueueEntry
– Übermittlung von Jobs and JDF Device
– Auswerten JDF Audits
• Herausforderung:
JDF Nachrichten sind spezifischer entsprechend Ziel Device
→ Idee für ein weiteres Seminar
➔ Ideen für einen weiteren Workshop, falls interesse
besteht...
79. JDF AuditPool
Mit dem JDF Command „ReturnQueueEntry“ wird das JDF
welches mit „SubmitQueueEntry“ anfangs dem JDF Device
übergeben wurde wieder and das MIS zurückgegeben mit
zusätzlichen Node „AuditPool“.
Inhalt AuditPool Elemet:
– Produktionszeiten / -history
– Benötigte Resourcen
– Aufgetretene (Fehler-) Meldungen
– …
➔ JDF AuditPool enthält selben Informationen welche
auch bereits Subscriptions versendet wurden.
80. Vergleich JMF vs. JDF Audits
• Referenziert JDF Dokument • Integriert in JDF Dokument
• Übertragung in Echtzeit • Nach Abarbeitung
• Momentanstatus • Zusammenfassung
• Wartungszeiten etc. wird • Nur Auftragszeiten werden
erfasst erfasst
• Potentiell unvollständig • Vollständig
– Netzwerkprobleme
– Lösung: Reliable Signals
82. jdf4you.org
JDF als Community
• Kostenlose Nutzung
• Entwickelte Tools in LGPL
• Austausch zu JDF
• Diskussionen
➔ jdf4you.org als offenes Community Projekt rund um
das Thema JDF.
83. jdf4you.org
• Eine Community lebt von Ihren Mitgliedern
• Neue aktive Mitglieder sind immer Willkommen...
– (Weiter-) Entwicklung von Tools
– Betreuung einzelner Forum / Themenbereiche
– …
Ab sofort ist auch ein Forum für die Deutsche Usergruppe
eingerichtet, welcher auf Anfrage beigetreten werden kann.