SlideShare ist ein Scribd-Unternehmen logo
Praktische Einführung in
          JDF / JMF




Stefan Meißner (stefan.meissner@saxoprint.de)
Dipl.-Ing. (FH) für Druck- und Medientechnik
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.
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
  (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)
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
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
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
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>
Typische JDF Architektur


                   Native
                Kommunikation
                                JDF Device

                                  Device 1


      JDF Controller            JDF Device

MIS     Controller                Device 2


                                JDF Device

                                  Device 3
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
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
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.
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.
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
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...
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:
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) ??
Best Practice: Auftragstasche

• Auftragdaten in die Datenbank
• BDE in die Datenbank
• Workflow-Logik in eine Workflow-Engine


  Datenbank:                           Workflow-Engine:


   Auftrag:    BDE:
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
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
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
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.
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
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)
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
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
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.
JMF Query: KnownMessages
Query 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>
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
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.)
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.
CIP4 Tooling
Ü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.
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.)
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.
Typische JDF Architektur


                   Native
                Kommunikation
                                JDF Device

                                  Device 1


      JDF Controller            JDF Device

MIS     Controller                Device 2


                                JDF Device

                                  Device 3
CIP4 Tooling - Architektur


Alces                Bambi
                             JDF Device

                               Device 1


         JDF Controller      JDF Device

   MIS     Controller          Device 2


                             JDF Device

                               Device 3
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.
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.
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.
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
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)
Config JobPhases: Speedmaster
Konfiguration 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>
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.
Config JobPhases: Suprasetter
Konfiguration 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>
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)
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
CIP4 Tooling: Alces
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.)
JMF Query: KnownMessages
Query 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>
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.
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.
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.
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.
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.
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...
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.)
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
Praxisbeispiel BDE
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.
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.
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.
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.
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
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.
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.
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.
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
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>
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>
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>
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>
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>
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>
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>
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>
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...
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.
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
JDF Community: jdf4you.org
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.
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.
Vielen Dank für
       Ihre Aufmerksamkeit!
Interesse geweckt?




       Interesse an JDF / JMF ??

→ Saxoprint bietet Praktikas, Abschlussarbeiten und
     Festanstellungen zum Thema JDF / JMF.

Weitere ähnliche Inhalte

Was ist angesagt?

Deploying PHP applications with Phing
Deploying PHP applications with PhingDeploying PHP applications with Phing
Deploying PHP applications with Phing
Michiel Rook
 
Udev for Device Management in Linux
Udev for Device Management in Linux Udev for Device Management in Linux
Udev for Device Management in Linux
Deepak Soundararajan
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with Spring
VMware Tanzu
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
Akihiro Kitada
 
100+ run commands for windows
100+ run commands for windows 100+ run commands for windows
100+ run commands for windows
Anand Garg
 
Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
Marna Walle
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
Stefano Babic
 
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
InfluxData
 
Upgrade to IBM z/OS V2.5 technical actions
Upgrade to IBM z/OS V2.5 technical actionsUpgrade to IBM z/OS V2.5 technical actions
Upgrade to IBM z/OS V2.5 technical actions
Marna Walle
 
DB2 pureScale Technology Preview
DB2 pureScale Technology PreviewDB2 pureScale Technology Preview
DB2 pureScale Technology Preview
Cristian Molaro
 
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
InfluxData
 
Rhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformanceRhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformance
sprdd
 
Spark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross LawleySpark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross Lawley
Spark Summit
 
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Shirshanka Das
 
Apache flume - an Introduction
Apache flume - an IntroductionApache flume - an Introduction
Apache flume - an Introduction
Erik Schmiegelow
 
Java Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsJava Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame Graphs
Brendan Gregg
 
Linux io-stack-diagram v1.0
Linux io-stack-diagram v1.0Linux io-stack-diagram v1.0
Linux io-stack-diagram v1.0
bsd free
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Giuseppe Paterno'
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Kentaro Ebisawa
 

Was ist angesagt? (20)

Deploying PHP applications with Phing
Deploying PHP applications with PhingDeploying PHP applications with Phing
Deploying PHP applications with Phing
 
Udev for Device Management in Linux
Udev for Device Management in Linux Udev for Device Management in Linux
Udev for Device Management in Linux
 
Implementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with SpringImplementing Microservices Security Patterns & Protocols with Spring
Implementing Microservices Security Patterns & Protocols with Spring
 
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
100+ run commands for windows
100+ run commands for windows 100+ run commands for windows
100+ run commands for windows
 
Upgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 PlanningUpgrade to IBM z/OS V2.5 Planning
Upgrade to IBM z/OS V2.5 Planning
 
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
 
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
RESTful API – How to Consume, Extract, Store and Visualize Data with InfluxDB...
 
Upgrade to IBM z/OS V2.5 technical actions
Upgrade to IBM z/OS V2.5 technical actionsUpgrade to IBM z/OS V2.5 technical actions
Upgrade to IBM z/OS V2.5 technical actions
 
DB2 pureScale Technology Preview
DB2 pureScale Technology PreviewDB2 pureScale Technology Preview
DB2 pureScale Technology Preview
 
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
 
Rhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformanceRhel cluster gfs_improveperformance
Rhel cluster gfs_improveperformance
 
Spark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross LawleySpark Summit EU talk by Ross Lawley
Spark Summit EU talk by Ross Lawley
 
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
Databus: LinkedIn's Change Data Capture Pipeline SOCC 2012
 
Apache flume - an Introduction
Apache flume - an IntroductionApache flume - an Introduction
Apache flume - an Introduction
 
Spring AMQP × RabbitMQ
Spring AMQP × RabbitMQSpring AMQP × RabbitMQ
Spring AMQP × RabbitMQ
 
Java Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame GraphsJava Performance Analysis on Linux with Flame Graphs
Java Performance Analysis on Linux with Flame Graphs
 
Linux io-stack-diagram v1.0
Linux io-stack-diagram v1.0Linux io-stack-diagram v1.0
Linux io-stack-diagram v1.0
 
Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2Filesystem Comparison: NFS vs GFS2 vs OCFS2
Filesystem Comparison: NFS vs GFS2 vs OCFS2
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
 

Andere mochten auch

PrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrintPrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrint
Stefan Meissner
 
XJDF und Print 4.0
XJDF und Print 4.0XJDF und Print 4.0
XJDF und Print 4.0
Stefan Meissner
 
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
Takako Miyagawa
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_ux
Saori Matsui
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
 
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
Amazon Web Services Japan
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Andere mochten auch (9)

PrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrintPrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrint
 
XJDF und Print 4.0
XJDF und Print 4.0XJDF und Print 4.0
XJDF und Print 4.0
 
OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳OmegaTでドキュメント翻訳
OmegaTでドキュメント翻訳
 
0528 kanntigai ui_ux
0528 kanntigai ui_ux0528 kanntigai ui_ux
0528 kanntigai ui_ux
 
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
 
女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -女子の心をつかむUIデザインポイント - MERY編 -
女子の心をつかむUIデザインポイント - MERY編 -
 
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
[AWSマイスターシリーズ] Amazon CloudFront / Amazon Elastic Transcoderによるコンテンツ配信
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Ähnlich wie Praktische Einführung in JDF / JMF

Infrastructure Solution Day | Core
Infrastructure Solution Day | CoreInfrastructure Solution Day | Core
Infrastructure Solution Day | Core
Microsoft Österreich
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
panagenda
 
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerEffizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
JomaSoft
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
Andreas Schulte
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
Digicomp Academy AG
 
PHP UG Karlsruhe - Zend Framework Introduction
PHP UG Karlsruhe - Zend Framework IntroductionPHP UG Karlsruhe - Zend Framework Introduction
PHP UG Karlsruhe - Zend Framework Introduction
maexpower
 
Rapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und ApplikationRapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und Applikation
JomaSoft
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Niels de Bruijn
 
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
BOSTON Server & Storage Solutions GmbH
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
Jürg Stuker
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Torsten Kleiber
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
Georg Knon
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
Splunk
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
Splunk
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
panagenda
 
SQL Server Transaction Log Deep Dive Session - PASS Hamburg
SQL Server Transaction Log Deep Dive Session - PASS HamburgSQL Server Transaction Log Deep Dive Session - PASS Hamburg
SQL Server Transaction Log Deep Dive Session - PASS Hamburg
Sascha Lorenz
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
camunda services GmbH
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as Code
DevOps Meetup Bern
 
JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!
Christian Kaltepoth
 

Ähnlich wie Praktische Einführung in JDF / JMF (20)

Infrastructure Solution Day | Core
Infrastructure Solution Day | CoreInfrastructure Solution Day | Core
Infrastructure Solution Day | Core
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 ServerEffizienter Hardware LifeCycle auf Oracle SPARC M7 Server
Effizienter Hardware LifeCycle auf Oracle SPARC M7 Server
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
PHP UG Karlsruhe - Zend Framework Introduction
PHP UG Karlsruhe - Zend Framework IntroductionPHP UG Karlsruhe - Zend Framework Introduction
PHP UG Karlsruhe - Zend Framework Introduction
 
Rapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und ApplikationRapid Deploy von OS, Virtualsierung und Applikation
Rapid Deploy von OS, Virtualsierung und Applikation
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 
SplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case HelvetiaSplunkLive! Zürich 2016 - Use Case Helvetia
SplunkLive! Zürich 2016 - Use Case Helvetia
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
SQL Server Transaction Log Deep Dive Session - PASS Hamburg
SQL Server Transaction Log Deep Dive Session - PASS HamburgSQL Server Transaction Log Deep Dive Session - PASS Hamburg
SQL Server Transaction Log Deep Dive Session - PASS Hamburg
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source JavaJBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
JBoss jBPM und Drools - Geschäftsprozesse und Regeln mit Open Source Java
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as Code
 
JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!JSF vs. GWT? JSF und GWT!
JSF vs. GWT? JSF und GWT!
 

Praktische Einführung in JDF / JMF

  • 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
  • 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. Typische JDF Architektur Native Kommunikation JDF Device Device 1 JDF Controller JDF Device MIS Controller Device 2 JDF Device Device 3
  • 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.
  • 29. JMF Query: KnownMessages Query 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. 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. 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.
  • 37. Typische JDF Architektur Native Kommunikation JDF Device Device 1 JDF Controller JDF Device MIS Controller Device 2 JDF Device Device 3
  • 38. CIP4 Tooling - Architektur Alces Bambi JDF Device Device 1 JDF Controller JDF Device MIS Controller Device 2 JDF Device Device 3
  • 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)
  • 44. Config JobPhases: Speedmaster Konfiguration 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. 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. Config JobPhases: Suprasetter Konfiguration 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. 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
  • 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. JMF Query: KnownMessages Query 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. 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>
  • 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. 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.
  • 84. Vielen Dank für Ihre Aufmerksamkeit!
  • 85. Interesse geweckt? Interesse an JDF / JMF ?? → Saxoprint bietet Praktikas, Abschlussarbeiten und Festanstellungen zum Thema JDF / JMF.