Praktische Einführung in          JDF / JMFStefan Meißner (stefan.meissner@saxoprint.de)Dipl.-Ing. (FH) für Druck- und Med...
Zielstellung    Der Fokus liegt weniger auf JDF als auf JMF.      Am Ende des Workshops wissen Sie, wieSie eine einfache B...
Agenda• Einführung in JDF / JMF• CIP4 Tooling• Praxisbeispiel BDE• jdf4you.org – Die JDF Community
Einführung in JDF / JMF
Glossar• JDF – Job Definition Format  (Beschreibung eines Auftrags oder Prozessschritts)• JMF – Job Messaging Format  (Inf...
JDF Anforderungen und Ziele• Automatisierung erhöht die Effizienz• Integrierte Prozesse / Prozess Transparenz   – Auftrags...
JDF – Job Definition Format• Spezifikation für detaillierte Auftrags- / Prozessschritt-  beschreibung in der grafischen In...
JMF – Job Messaging Format• Bildet Infrastruktur / Kommunikationssystem• JMF Message Families: Query, Command, Signal...• ...
Beispiel: JMF Status Signal<JMF MaxVersion="1.4" SenderID="03-SpeedmasterXL105-1" TimeStamp="2011-05-30T10:07:19-04:00"   ...
Typische JDF Architektur                   Native                Kommunikation                                JDF Device  ...
Architektur: Beispiel Heidelberg                       Native                    Kommunikation                            ...
Architektur: Beispiel KBA                   Native                Kommunikation                                           ...
Nachteile Architektur          Skizze „Typische Architektur“:                                                    Device 1 ...
Besserere Architektur                                       JDF Device                                         Device 1   ...
JDF Dialektik• Vom Standard haben sich unterschiedliche Dialekte gebildet, da  es sich bei JDF lediglich um eine Spezifika...
JDF – Technologie der 90erDie grundlegenden JDF Konzepte wurden im Rahmen der„Digitalisierung der Druckvorstufe“ entwickel...
Problem: AuftragstascheJDF wird häufig als „digitale Auftragstasche“ bezeichnet.Jedoch:Auftragstaschen sind Datenspeicher,...
Problem: AuftragstascheTheorie:    Eine Datei pro Auftrag die zentral abgelegt,            verwaltet und archiviert wird ?...
Best Practice: Auftragstasche• Auftragdaten in die Datenbank• BDE in die Datenbank• Workflow-Logik in eine Workflow-Engine...
Best Practice: JDF / JMFJDF sollte rein nur zur Kommunikation genutzt werden!                          → Keine Datenhaltun...
Best Practice: Architektur(eigenes)   MIS                  Vorteile Architektur:                     – Kleine, einfache JD...
Best Practice: Kommunikation• HTTP vs. Hotfolder   – HTTP Response Code gibt Ergebnis der Verarbeitung zurück   – HTTP unt...
Kommunikation: JMF Families• JMF Command  – Empfänger muss Aktion ausführen oder Status ändern.• JMF Query  – Empfänger so...
Kommunikation: JMF Families• JMF Acknowledge   – Übermittlung Zeitverzögerter Nachrichten (asynchron).   – Wird in synchro...
JMF Beispiele• JMF Command   – SubmitQueueEntry (Übermittlung Auftrag an JDF Device)   – ReturnQueueEntry (Rückgabe Auftra...
JMF Families - PraxisbeispielMit Blick auf nachfolgendes Praxisbeispiel sind vor allem folgendeJMF Families interessant:• ...
Grundgerüst JMF Message <?xml version="1.0" encoding="UTF-8"?> <JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Al...
Aufbau ICS / JDF SpecAusschnitt aus JMF ICS:w    MUSS geschrieben werden. JDF ist nur valide wenn     Parameter gesetzt.w?...
JMF Query: KnownMessagesQuery und Response KnownMessages: <?xml version="1.0" encoding="UTF-8"?> <JMF xmlns="http://www.CI...
JMF Cmd: SubmitQueueEntryÜbermittlung Auftrag (JDF / QueueEntry) an Device <?xml version="1.0" encoding="UTF-8"?> <JMF xml...
Weitere JDF / JMF Beispiele      Weitere hilfreiche JDF / JMF      Beispiele finden Sie in der JDF      Spezifikation unte...
JDF AusblickEs gibt Ideen / Konzepte zur Erweiterung bzw. Überarbeitung desJDF Standards:   – Vereinfachung der Strukturen...
CIP4 Tooling
Übersicht CIP4 ToolingJDF Tools von CIP4:• CIP4 Bambi 2 (JDF Device Simulator)• CIP4 Alces (JDF Integrations Tool / MIS Si...
CIP4 Tooling: Lizenz• CIP4 Software ist Open Source  (CIP4 Subversion Repository: http://svn.cip4.org/svnroot/trunk.)• Fre...
CIP4 MitgliedschaftJeder kann CIP4 Mitglied werden, sich in den JDF Work Groupseinbringen und so am JDF Standard mitentwic...
Typische JDF Architektur                   Native                Kommunikation                                JDF Device  ...
CIP4 Tooling - ArchitekturAlces                Bambi                             JDF Device                               ...
CIP4 Tooling: Bambi 2               • JDF Device Simulator                  („Virtuelle Druckerei“)                   – Te...
CIP4 Tooling: Bambi 2            Bambi 2 - Basic            •   Erweiterter Funktionsumfang            •   URL:           ...
Allg. Konfiguration Bambi 2• Konfiguration basiert auf Namenskonventionen• Aktive Konfiguration unter „/tmp/bambi-2/conf/c...
Bambi 2: Beschreibung SM           Abstrakte Beschreibung           Speedmaster XL 105 – 8:           • Einrichten:       ...
Bambi 2: JobPhases SMDie einzelnen Phasen, welche zur Produktion eines Auftrags aneiner Maschine durchlaufen werden, werde...
Config JobPhases: SpeedmasterKonfiguration SpeedmasterXL 105-1: ./config/job_03-SpeedmasterXL105-1.xml  <BambiJob Error="3...
Bambi 2: Beschr. Prepress                Abstrakte Beschreibung                Druckvorstufe:                • Rippen:    ...
Config JobPhases: SuprasetterKonfiguration Suprasetter105-1: ./config/job_01-Suprasetter105-1.xml  <?xml version="1.0" enc...
Bambi 2 – ÜbersichtLister aller JDF DevicesDetails zu einem Device   – Device Details      (Allg. Geräteinformationen)   –...
Bambi 2 – JMF Schnittstelle    • Kommunikation über HTTP    • JMF Schnittstelle ist eine URL       – Jedes Device hat eige...
CIP4 Tooling: Alces
Alces: Ablaufplan „Verbinden“                  Alces (MIS)                        Bambi (SpeedmasterXL105-1)     Button „V...
JMF Query: KnownMessagesQuery und Response KnownMessages: <?xml version="1.0" encoding="UTF-8"?> <JMF xmlns="http://www.CI...
Alces: Übersicht                                                         JMF Schnittstelle:    DeviceInfo:                ...
Alces: ZweckEinsatzmöglichkeiten Alces:• Funktionstest / Testen JMF Schnittstelle• Integrationshilfe für JDF Devices• Fehl...
Beispiel: KnownMessages                            1. Verbindung aufbauen:                                  Mit JDF Device...
Beispiel: Queue Operations                                  1. JMF Query KnownMessages:                                   ...
Beispiel: SubmitQueueEntry                           1. JMF Query KnownMessages:                               JMF Query a...
JDF-VM – The Virtual MachineVorinstallierte Virtual Machine mit CIP4 Bambi 2 und CIP4 Alces.                              ...
JDF-VM – The Virtual Machine• Verfügbar auf http://download.jdf4you.org• Vorinstallierte und konfigurierte JDF Tools• Erst...
JDF-VM - InstallationInstallationsanleitung JDF-VM:1) Oracle VirtualBox installieren und starten.2) JDF-VM herunterladen u...
Praxisbeispiel BDE
Fachliche Komponenten BDEBenötigte Komponenten zur Umsetzung einer einfachen BDE:• Anforderung von periodischen u. ereigni...
Technische Komponenten BDE• Kommunikation   – HttpRequest / HttpStream zum versenden und empfangen von     synchronen Nach...
Kommunikation via JDF / JMF              Generieren, optimiert für               Ziel-Device (Dialektik)         Datenbank...
Allgemeine Architektur MIS                HttpRequest        JMF Command / JMF Query               HttpResponseMIS (BDE)  ...
JMF Query: SubscriptionsAnforderung von periodischen und ereignisgesteuertenNachrichten von einem JDF Device (sog. JMF Sig...
JMF SignalsAsynchrone Nachrichten welche periodisch (Heartbeat) oderimmer wenn ein Ereignis auftritt vom JDF Device gesend...
JMF Cmd: StopPersistentChannelZurücksetzen aller JMF Signal Anforderungen von einemJDF Device für einen Empfänger (MIS).  ...
Exception Handling• Für jede JDF / JMF Aktion wird synchron unmittelbar eine  Antwort (Response) mit Bestätigung oder Fehl...
Prozessablaufplan BDE                  MIS (BDE)                                   JDF Device   Anfrage unterstützte      ...
JMF Query: KnownMessagesAnfrage nach unterstützen JDF / JMF Aktionen für einJDF Device. <?xml version="1.0" encoding="UTF-...
JMF Response: Known MessagesResponse beinhaltet eine Liste aller unterstützten Aktionen einesJDF Devices mit detaillierter...
JMF Query: SubscriptionStatusAnforderung eines periodischen Status Signals (Heartbeat) undwenn immer sich ein Attribut akt...
JMF Query: Subscription NotificationAnforderung eines Notification Signals für jede (Fehler-) Meldungwelche auf dem JDF De...
JMF Signal: Status<JMF MaxVersion="1.4" SenderID="03-SpeedmasterXL105-1" TimeStamp="2011-05-30T10:07:19-04:00"   Version="...
JMF Signal: NotificationNotification Signal welches beim Auftreten einer (Fehler-) Meldungvom JDF Device gesendet wird. <?...
JMF Command: StopPersistentChannelZurücksetzen aller Subscriptions eines JDF Devicesfür eine URL. <?xml version="1.0" enco...
JMF Response: ErrorWenn ein Fehler beim Verarbeiten einer Nachricht auftritt wird einError – Response zurückgegeben. <?xml...
Ausblick• Implementierung Submit- / ReturnQueueEntry   – Übermittlung von Jobs and JDF Device   – Auswerten JDF Audits• He...
JDF AuditPoolMit dem JDF Command „ReturnQueueEntry“ wird das JDFwelches mit „SubmitQueueEntry“ anfangs dem JDF Deviceüberg...
Vergleich JMF vs. JDF Audits• Referenziert JDF Dokument     • Integriert in JDF Dokument• Übertragung in Echtzeit       • ...
JDF Community: jdf4you.org
jdf4you.org              JDF als Community              • Kostenlose Nutzung              • Entwickelte Tools in LGPL     ...
jdf4you.org• Eine Community lebt von Ihren Mitgliedern• Neue aktive Mitglieder sind immer Willkommen...   – (Weiter-) Entw...
Vielen Dank für       Ihre Aufmerksamkeit!
Interesse geweckt?       Interesse an JDF / JMF ??→ Saxoprint bietet Praktikas, Abschlussarbeiten und     Festanstellungen...
Nächste SlideShare
Wird geladen in …5
×

Praktische Einführung in JDF / JMF

10.812 Aufrufe

Veröffentlicht am

Eine einfache praktische Einführung in das Themengebiet JDF / JMF. Ideal für Einsteiger welche sich in die Technologie einarbeiten wollen.

Veröffentlicht in: Technologie
0 Kommentare
2 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
10.812
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
921
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
2
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Praktische Einführung in JDF / JMF

  1. 1. Praktische Einführung in JDF / JMFStefan Meißner (stefan.meissner@saxoprint.de)Dipl.-Ing. (FH) für Druck- und Medientechnik
  2. 2. Zielstellung Der Fokus liegt weniger auf JDF als auf JMF. Am Ende des Workshops wissen Sie, wieSie eine einfache Betriebsdatenerfassung mit Hilfe von JDF / JMF realisieren können.
  3. 3. Agenda• Einführung in JDF / JMF• CIP4 Tooling• Praxisbeispiel BDE• jdf4you.org – Die JDF Community
  4. 4. Einführung in JDF / JMF
  5. 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. 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. 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. 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
  9. 9. Beispiel: JMF Status Signal<JMF MaxVersion="1.4" SenderID="03-SpeedmasterXL105-1" TimeStamp="2011-05-30T10:07:19-04:00" Version="1.4"> <Signal ID="m_101221_15541420_002604" Type="Status"> […] <DeviceInfo DeviceID="03-SpeedmasterXL105-1" DeviceOperationMode="Productive" DeviceStatus="Running" Speed="12586" StatusDetails="Good"> <JobPhase Amount="219" JobID="JB-002" JobPartID="1" PercentCompleted="21.96933333" PhaseAmount="22" PhaseStartTime="2011-05-30T10:07:14-04:00" PhaseWaste="0" QueueEntryID="QE-002" Status="InProgress" StatusDetails="producing node" TotalAmount="1000" Waste="12" /> <Employee ProductID="E6" Roles="Operator"> <Person DescriptiveName="Stefan Meissner" /> </Employee> </DeviceInfo> <Queue DescriptiveName="Speedmaster XL 105-8-P Nr. 1" DeviceID="03-SpeedmasterXL105-1" Status="Running"> <QueueEntry DescriptiveName="4/4 Perfecting" DeviceID="03-SpeedmasterXL105-1" JobPartID="1" JobID="JB-002" QueueEntryID="QE-002" StartTime="2011-05-30T10:06:21-04:00" Status="Running" SubmissionTime="2011-05-30T10:06:20-04:00" /> </Queue> </Signal></JMF>
  10. 10. Typische JDF Architektur Native Kommunikation JDF Device Device 1 JDF Controller JDF DeviceMIS Controller Device 2 JDF Device Device 3
  11. 11. Architektur: Beispiel Heidelberg Native Kommunikation JDF Device SM 105-4 JDF Controller JDF Device PressRoomMIS SM 105-5+L Manager JDF Device SM 105-8+P + Option: MIS Schnittstelle
  12. 12. Architektur: Beispiel KBA Native Kommunikation JDF Device Rapida 106-5 JDF Controller JDF Device RapidaMIS Logotronic 106-5 JDF Device Rapida 105-8 + Option: MIS Schnittstelle
  13. 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. 14. Besserere Architektur JDF Device Device 1 JDF DeviceMIS Device 2 JDF Device Device 3 ➔ Jedes JDF Device besitzt eine JDF Schnittstelle, wird allerdings so herstellerseitig nicht angeboten.
  15. 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. 16. JDF – Technologie der 90erDie grundlegenden JDF Konzepte wurden im Rahmen der„Digitalisierung der Druckvorstufe“ entwickelt und dem damaligenStand 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. 17. Problem: AuftragstascheJDF 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. 18. Problem: AuftragstascheTheorie: 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. 19. Best Practice: Auftragstasche• Auftragdaten in die Datenbank• BDE in die Datenbank• Workflow-Logik in eine Workflow-Engine Datenbank: Workflow-Engine: Auftrag: BDE:
  20. 20. Best Practice: JDF / JMFJDF 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. 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. 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. 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. 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. 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. 26. JMF Families - PraxisbeispielMit Blick auf nachfolgendes Praxisbeispiel sind vor allem folgendeJMF 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. 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. 28. Aufbau ICS / JDF SpecAusschnitt 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.
  29. 29. JMF Query: KnownMessagesQuery und Response KnownMessages: <?xml version="1.0" encoding="UTF-8"?> <JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" MaxVersion="1.4" TimeStamp="2011-05-30T17:23:00+01:00" Version="1.4"> <Query ID="Q001" Type="KnownMessages"/> </JMF> <?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>
  30. 30. JMF Cmd: SubmitQueueEntryÜbermittlung Auftrag (JDF / QueueEntry) an Device <?xml version="1.0" encoding="UTF-8"?> <JMF xmlns="http://www.CIP4.org/JDFSchema_1_1" SenderID="Alces" TimeStamp="2011-08-30T17:23:00+01:00" Version="1.2"> <Command ID="M001" Type="SubmitQueueEntry"> <QueueSubmissionParams URL="http://127.0.0.1:9090/jdf/Elk_ConventionalPrinting.jdf" ReturnJMF="http://127.0.0.1:9090/alces/jmf" /> <QueueFilter MaxEntries="4" QueueEntryDetails="Brief" /> </Command> </JMF>Wichtige Nodes / Attribute//QueueSubmissionParams[@URL] (RESTful) Pfad zur übermittelnden Datei//QueueSubmissionParams[@ReturnJMF] Ziel URL für ReturnQueueEntry Command
  31. 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. 32. JDF AusblickEs gibt Ideen / Konzepte zur Erweiterung bzw. Überarbeitung desJDF 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.
  33. 33. CIP4 Tooling
  34. 34. Übersicht CIP4 ToolingJDF 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. 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. 36. CIP4 MitgliedschaftJeder kann CIP4 Mitglied werden, sich in den JDF Work Groupseinbringen 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.
  37. 37. Typische JDF Architektur Native Kommunikation JDF Device Device 1 JDF Controller JDF DeviceMIS Controller Device 2 JDF Device Device 3
  38. 38. CIP4 Tooling - ArchitekturAlces Bambi JDF Device Device 1 JDF Controller JDF Device MIS Controller Device 2 JDF Device Device 3
  39. 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. 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. 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. 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. 43. Bambi 2: JobPhases SMDie einzelnen Phasen, welche zur Produktion eines Auftrags aneiner 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)
  44. 44. Config JobPhases: SpeedmasterKonfiguration SpeedmasterXL 105-1: ./config/job_03-SpeedmasterXL105-1.xml <BambiJob Error="3"> <JobPhase Duration="600" DeviceStatus="Setup" DeviceStatusDetails="Waste" NodeStatus="Setup" NodeStatusDetails="node setup"> <Amount Resource="Component:Output" Speed="4000" Waste="true"/> <Amount Resource="Media:Input" Speed="4000" Waste="true" /> </JobPhase> <JobPhase Duration="9999" DeviceStatus="Running" DeviceStatusDetails="Good" NodeStatus="InProgress" NodeStatusDetails="producing node"> <Amount Resource="Component:Output" Speed="13000" /> <Amount Resource="Media:Input" Speed="13000" /> </JobPhase> <JobPhase Duration="300" DeviceStatus="Cleanup" DeviceStatusDetails="WashUp" NodeStatus="Cleanup" NodeStatusDetails="cleaning up"> <Amount Resource="Component:Output" Speed="0" /> <Amount Resource="Media:Input" Speed="0" /> </JobPhase> </BambiJob>
  45. 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.
  46. 46. Config JobPhases: SuprasetterKonfiguration Suprasetter105-1: ./config/job_01-Suprasetter105-1.xml <?xml version="1.0" encoding="UTF-8"?> <BambiJob Error="3"> <JobPhase Duration="300" DeviceStatus="Running" DeviceStatusDetails="Ripping" NodeStatus="InProgress" NodeStatusDetails="Ripping"> <Amount Resource="Component:Output" /> <Amount Resource="Media:Input" /> <Amount Resource="UsageCounter:Input" /> </JobPhase> <JobPhase Duration="9999" DeviceStatus="Running" DeviceStatusDetails="Good" NodeStatus="InProgress" NodeStatusDetails="producing node"> <Amount Resource="Media:Input" Speed="30" /> <Amount Resource="ExposedMedia:Output" Speed="30" /> </JobPhase> </BambiJob>
  47. 47. Bambi 2 – ÜbersichtLister aller JDF DevicesDetails 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. 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
  49. 49. CIP4 Tooling: Alces
  50. 50. Alces: Ablaufplan „Verbinden“ Alces (MIS) Bambi (SpeedmasterXL105-1) Button „Verbinden“Generieren JMF Query „KnownMessages“ JMF: QueryKnownMessages Message Received Interpretation Message Generieren JMF Response JMF: ResponseKnownMessages „KnownMessages“Interpretation Response Button generieren und anzeigen ➔ „Verbinden“ arbeitet im Hintergrund m. JMF Queries: (Status, DeviceInfo, QueueStatus etc.)
  51. 51. JMF Query: KnownMessagesQuery und Response KnownMessages: <?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> <?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>
  52. 52. Alces: Übersicht JMF Schnittstelle: DeviceInfo: URL der JMF Schnittstelle Allg. Geräteinformationen JMF History: Übersicht gesendeter / empfangener JMF MessagesKnownMessages:Liste unterstützerJMF Messages QueueStatus: Infos zur Warteschlange ➔ Alces ist ein sehr hilfreiches Tool bei der Anbindung von JDF Devices.
  53. 53. Alces: ZweckEinsatzmö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. 54. Beispiel: KnownMessages 1. Verbindung aufbauen: Mit JDF Device verbinden2. 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. 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. 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. 57. JDF-VM – The Virtual MachineVorinstallierte 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. 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. 59. JDF-VM - InstallationInstallationsanleitung 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
  60. 60. Praxisbeispiel BDE
  61. 61. Fachliche Komponenten BDEBenö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. 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. 63. Kommunikation via JDF / JMF Generieren, optimiert für Ziel-Device (Dialektik) Datenbank JDF Device Informationen extrahieren und in DB schreibenJDF / 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. 64. Allgemeine Architektur MIS HttpRequest JMF Command / JMF Query HttpResponseMIS (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. 65. JMF Query: SubscriptionsAnforderung von periodischen und ereignisgesteuertenNachrichten 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. 66. JMF SignalsAsynchrone Nachrichten welche periodisch (Heartbeat) oderimmer 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. 67. JMF Cmd: StopPersistentChannelZurücksetzen aller JMF Signal Anforderungen von einemJDF Device für einen Empfänger (MIS). JMF Command: StopPersistentChannel Alle Anforderungen für eine registrierte Listener URL zurücksetzen.
  68. 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. 69. Prozessablaufplan BDE MIS (BDE) JDF Device Anfrage unterstützte Nachrichten JMF Query: KnownMessages Nachricht bearbeiten JMF Response: KnownMessagesPrü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. 70. JMF Query: KnownMessagesAnfrage nach unterstützen JDF / JMF Aktionen für einJDF 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. 71. JMF Response: Known MessagesResponse beinhaltet eine Liste aller unterstützten Aktionen einesJDF 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. 72. JMF Query: SubscriptionStatusAnforderung eines periodischen Status Signals (Heartbeat) undwenn 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. 73. JMF Query: Subscription NotificationAnforderung eines Notification Signals für jede (Fehler-) Meldungwelche 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>
  74. 74. JMF Signal: Status<JMF MaxVersion="1.4" SenderID="03-SpeedmasterXL105-1" TimeStamp="2011-05-30T10:07:19-04:00" Version="1.4"> <Signal ID="m_101221_15541420_002604" Type="Status"> […] <DeviceInfo DeviceID="03-SpeedmasterXL105-1" DeviceOperationMode="Productive" DeviceStatus="Running" Speed="12586" StatusDetails="Good"> <JobPhase Amount="219" JobID="JB-002" JobPartID="1" PercentCompleted="21.96933333" PhaseAmount="22" PhaseStartTime="2011-05-30T10:07:14-04:00" PhaseWaste="0" QueueEntryID="QE-002" Status="InProgress" StatusDetails="producing node" TotalAmount="1000" Waste="12" /> <Employee ProductID="E6" Roles="Operator"> <Person DescriptiveName="Stefan Meissner" /> </Employee> </DeviceInfo> <Queue DescriptiveName="Speedmaster XL 105-8-P Nr. 1" DeviceID="03-SpeedmasterXL105-1" Status="Running"> <QueueEntry DescriptiveName="4/4 Perfecting" DeviceID="03-SpeedmasterXL105-1" JobPartID="1" JobID="JB-002" QueueEntryID="QE-002" StartTime="2011-05-30T10:06:21-04:00" Status="Running" SubmissionTime="2011-05-30T10:06:20-04:00" /> </Queue> </Signal></JMF>
  75. 75. JMF Signal: NotificationNotification Signal welches beim Auftreten einer (Fehler-) Meldungvom 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. 76. JMF Command: StopPersistentChannelZurücksetzen aller Subscriptions eines JDF Devicesfü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. 77. JMF Response: ErrorWenn ein Fehler beim Verarbeiten einer Nachricht auftritt wird einError – 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. 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. 79. JDF AuditPoolMit dem JDF Command „ReturnQueueEntry“ wird das JDFwelches mit „SubmitQueueEntry“ anfangs dem JDF Deviceübergeben wurde wieder and das MIS zurückgegeben mitzusä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. 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
  81. 81. JDF Community: jdf4you.org
  82. 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. 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.
  84. 84. Vielen Dank für Ihre Aufmerksamkeit!
  85. 85. Interesse geweckt? Interesse an JDF / JMF ??→ Saxoprint bietet Praktikas, Abschlussarbeiten und Festanstellungen zum Thema JDF / JMF.

×