Anforderungen der industriellen Produktion an eine serviceorientierte Architektur Jochen Traunecker gridsolut GmbH + Co. KG Rauberweg 26 D-73249 Wernau jochen@traunecker.net Zusammenfassung Anhand des Beispiels einer fiktiven Toasterpro- duktion werden Schlüsselkomponenten der industriellen Produktion im Kontext einer serviceorientierten Architektur vorgestellt. Die atomare Organisationseinheit der industriellen Produktion in Form des Arbeits- systems wird näher betrachtet und abstrahiert. Die Anforderungen der industriellen Produktion an eine serviceorientierte Architektur werden anhand eines skizzierten Metamodells vorgestellt und am Beispiel der Datenversorgung und Entsorgung verdeutlicht. 1 Industrielle Produktion Unter industrieller Produktion versteht man die Erzeugung von Ausbringungs- gütern (Produkten) aus materiellen und nichtmateriellen Einsatzgütern (Produk- tionsfaktoren) nach bestimmten technischen Verfahrensweisen. Der industrielle Produktionsprozess setzt sich aus einzelnen Abschnitten, die jeweils einen be- stimmten Teilprozess der Produktion eines Erzeugnisses umfassen, zusammen. Die Ausführung eines Abschnittes erfolgt in organisatorischen Einheiten, den Arbeitssystemen: Ein Arbeitssystem ist die kleinste selbstständig arbeitsfähige Einheit in einem Produktionssystem [1]. 2 Einführendes Beispiel Toasterproduktion Als einführendes Beispiel soll eine fiktive Fließproduktionslinie für Toaster dienen, deren Aufbau in Abbildung 1 dargestellt ist. In dieser Produktionsstätte werden aus Blechen in der Gehäusepresse die Rohgehäuse für Toaster gepresst. Die Rohgehäuse bekommen in der Gehäuse- lackierung ihre Lackierung und werden in der Gehäusevormontage zusammen- gefügt. Die erste Qualitätsprüfung findet in der Prüfung für mechanische Bauteile statt. Die Steuerelektronik des Toasters sowie der Netzanschluss werden danach eingabut. Zum Schluss werden Warnhinweise angebracht. Abschließend wird vor dem Versand eine Endkontrolle durchgeführt. Die Fließproduktionslinie zur Toasterproduktion bietet die Möglickeit, Toaster individuell mit bestimmten Lacken zu lackieren (siehe Abbildung 2). Dazu wird CEUR ceur-ws.org Workshop ISSN 1613-0073 Proceedings Abbildung 1: Anordnung der Arbeitssysteme einer beispielhaften Toasterproduk- tion jeder Toaster mit einem Fertigungsauftrag versehen, der auch die Lackfarbe beinhaltet. Die Gehäuselackierung kann also anhand des Fertigungsauftrags entsprechend konfiguriert werden um den passenden Lack aufzubringen. Die Prüfung mechanischer Bauteile beinhaltet die Prüfung auf korrekte Lackierung eines jeden Toasters. Auch die folgenden Arbeitssysteme werden entsprechend des Fertigungsauftrags konfiguriert: die Auswahl des länderspezifischen Netzteils, die Anbringung der Warnhinweise, sowie die für das jeweilige Land gesetzeskonforme Endprüfung des Toasters. Abbildung 2: Variantenreiche Serienfertigung am Beispiel Lack 2.1 Arbeitssysteme der Toasterproduktion Eine atomare Organisationseinheit (Arbeitssystem Montage Netzanschluss) wird in Abbildung 3 detailliert dargestellt: Ein Barcodescanner liest vom Gehäuse dessen Auftragsnummer. Abhängig vom Auslieferungsland des Auftrages wird in der Konfigurationsdatenbank eine entsprechende Prozessdefinition zur Konfigura- tion der Steuerelektronik, zur Montage und zur Prüfung der Leistungsaufnahme abgefragt. Anschließend wird die eigentliche Montage entsprechend der Prozess- beschreibung automatisiert abgearbeitet und bei Bedarf mit dem Bedienpersonal des Arbeitssystems interagiert. Alle Arbeitssysteme der Beispielproduktion sollen möglichst lange autark arbeiten können. Sollte zum Beispiel die Auftragsda- tenbank temporär nicht verfügbar sein, darf dies nicht zu einem unmittelbaren Produktionsstop am Arbeitssystem führen. Durch die Replikation einer Teilmenge Abbildung 3: Arbeitssystem Montage Netzanschluss des Datenbestandes der Auftrags- und Konfigurationsdatenbank auf den Industrie- PC des Arbeitssystems können nicht langdauernde Störungen der Infrastruktur kompensiert werden. Die Arbeitssysteme werden durch diverse Datenbanksysteme mit Daten ver- sorgt und können in diese ihrerseits Daten der Produktion entsorgen. Durch Produktionsüberwachungssysteme kann die Produktion beobachtet werden. Mit den Systemen zur Produktionskonfiguration können die Arbeitssysteme verwaltet werden. 2.2 Abstrahiertes Arbeitssystem Ein Arbeitssystem kann, wie in Abbildung 4 dargestellt, abstrahiert beschrieben werden. Das Arbeitssystem baut sich dabei aus folgenden Bausteinen auf: Prozessverzeichnis Die für ein bestimmtes Arbeitssystem relevanten Prozess- definitionen sind in diesem Verzeichnis hinterlegt. In Abbildung 5 ist eine Prozessdefinition auszugweise skizziert und beschreibt die Interaktion des Arbeitssystems mit dem Produkt, dem Informationsraum, den technischen Anlagen sowie den Werkern. Informationsraum der Produktion In diesem Informationsraum liegen alle produktionsrelevanten Informationen, die sowohl abgefragt als auch aktuali- siert werden können. Technische Anlagen und Werkerinteraktion Die technischen Anlagen in- teragieren mit dem Produkt. Laufzeitumgebung Die Prozessdefinitionen können durch die Laufzeitumge- bung abgearbeitet werden. Die Laufzeitumgebung sucht sich dabei für jedes zu bearbeitende Produkt aus dem Prozessverzeichnis die gültigen Prozessde- fintionen aus. Anhand der im Prozessverzeichnis hinterlegten Prozessdefinitionen können die Schnittstellen eines Arbeitssystems zum Informationsraum abgeleitet werden. Auch lassen sich damit die Abhängigkeiten zwischen den Arbeitssystemen folgern. Abbildung 4: Abstrahiertes Arbeitssystem Abbildung 5: Skizzierte Prozessdefinition eines Arbeitssystems 3 Anforderungen der industriellen Produktion an eine SOA Die Eigenschaften einer serviceorientierten Architektur und deren Realisierung in Form von Web-Services eines Service Bus werden in [2] ausführlich aufge- zeigt. Als fundamentale Anforderung der industriellen Produktion an eine SOA kann ihr Beitrag zur Minimierung der Kosten der informationstechnologischen Infrastruktur gesehen werden: – Betriebs- und Wartungskosten – Integrationskosten der Arbeitssysteme – Kosten der Restrukturierung der Arbeitssysteme Eine SOA sollte also bestrebt sein, lediglich die tatsächlich geforderten Qualitäts- ansprüche der gebundenen Service Requester zu bedienen. Die drei Basisrollen einer SOA (Service Provider, Service Requester und das Service Verzeichnis) und deren Interaktionsmuster (Veröffentlichen, Finden und Binden) werden in Abbildung 6 (a) dargestellt. Im Kontext der industriellen Produktion sollte die Rolle des Service Creators hinzugefügt werden (siehe Abbildung 6 (b) ): Ein Service Requester sucht dabei nicht mehr direkt im Service Verzeichnis, sondern nutzt einen Service Creator, um einen Dienst mit entsprechenden Qualitäten (QoS [3]) gegebenenfalls erzeugen zu lassen. Die neue Rolle ist notwendig, da davon ausgegangen werden kann, dass geforderte Servicequalitäten bestimmter Dienste in der SOA zum Zeitpunkt der Suche noch nicht vorhanden sind. Fehlen Infrastrukturkomponenten oder Kapazitäten zur Erzeugung eines geforderten Service Providers, dann sollte der Service Creator Empfehlungen zur Ausgestaltung der Infrastruktur geben. Abbildung 6: Rollen in einer SOA (a) Basis Rollen einer SOA (b) Erweiterte Rollen einer SOA Die Realisierung einer SOA für die industrielle Produktion sollte ein möglichst umfassendes Metamodell pflegen. In dieses Modell könnten dabei folgende Aspekte einfließen: Netzwerkinfrastruktur Wie ist das zugrunde liegende Netzwerk aufgebaut? Welche Komponenten sind in der Netzwerktopologie vertreten, welche Ser- vicequalitäten können diese anbieten? Wie sind die individuellen Service Provider und Service Requester angebunden? Kann auf Servicequalitäten des Netzwerks Einfluss genommen werden [4, 5]? Rechenkapazität Welche Rechenkapazität ist vorhanden? Wie sind die indivi- duellen Arbeitssysteme ausgestattet? Können Rechner der Arbeitssysteme temporär Daten aufnehmen? Kann Software auf die individuellen Arbeitssys- teme ausgerollt werden? Software Welche Softwarekomponenten sind verfügbar? Welche Infrastruktur wird von den Softwarekomponenten erwartet? Wie können sie installiert werden? Domänenmodelle Welche Metamodelle sind Grundlage der Domänenmodelle [6, 7]? Wie werden Produkte der industriellen Produktion modelliert [8]? Welche Produktmodelle gibt es? Prozessmodelle Wie werden die Prozessmodelle zur Bearbeitung der Produkte modelliert [9]? Welche Prozessdefinitionen gibt es? Datenlieferanten Welcher Service liefert Daten einer bestimmten Qualität, Quantität und zu welchen Zeiten [10, 11]? Datenkonsumenten Welcher Service benötigt Daten einer bestimmten Qua- lität, Quantität und zu welchen Zeiten? Der Service Creator könnte zum Beispiel - wie in Abbildung 7 skizziert - an- hand der Metadaten für ein Arbeitssystem einen Service Endpunkt erzeugen, der Daten direkt ins Langzeitarchiv übermittelt. Im Fehlerfall (Netzwerkseparierung, Nichtverfügbarkeit des Langzeitarchivs) würde dem Aufrufer des Services ein Fehler gemeldet werden. Abbildung 7: Service Endpunkt Beispiel A Alternativ könnte der Service Creator wie in Abbildung 8 skizziert auf einem Arbeitssystem Software installieren, die der Laufzeitumgebung einen Service Endpunkt anbieten könnte. Dieser Service Endpunkt würde alle Daten auf dem Arbeitssystem zwischenspeichern und erst dann an das Langzeitarchiv übermitteln. Darüber hinaus könnte eine Peer-to-Peer-Verbindung zu einem weiteren Arbeitssystem aufgebaut werden, um Daten direkt zu übermitteln. Sollte das Langzeitarchiv temporär nicht verfügbar sein, würde dies zu keinem Fehler führen und die beiden direkt abhängigen Arbeitssysteme könnten ihre Aufgaben erfüllen. 4 Ausblick Das hier vorgestellte Beispiel der Toasterproduktion stellt eine starke Verein- fachung der realen industriellen Produktion dar. Eine methodisch fundierte Erhebung der Besonderheiten der industriellen Produktion im Hinblick auf die Einbettung in eine serviceorientierte Architektur könnte zu einem umfassenden Katalog an Anforderungen führen. Das skizzierte Metamodell einer SOA in der industriellen Produktion könnte detailliert modelliert werden. Darüber hinaus können Methoden und Algorithmen zur dynamischen Konfiguration der Akteuere recherchiert und auf Brauchbarkeit hin geprüft werden [12–16]. Literatur 1. Günther, H.O., Tempelmeier, H.: Produktion und Logistik. Springer-Verlag, New York (2005) Abbildung 8: Service Endpunkt Beispiel B 2. Papazoglou, M.P.: Web Services: Principles and Technology. Pearson Education (2008) 3. Sabata, B., Chatterjee, S., Davis, M., Sydir, J.J., Lawrence, T.F.: Taxonomy for qos specifications. In: Workshop on Object-Oriented Real-Time Dependable Systems (WORDS), IEEE Computer Society (1997) 4. Tanenbaum, A.S.: Computer Networks, Fourth Edition. Pearson Education, Upper Saddle River, New Jersey (2003) 5. Schmidt, K.: High Availability and Disaster Recovery. Springer-Verlag, Berlin Heidelberg (2006) 6. Allemang, D., Hendler, J.: Semantic Web for the Working Ontologist. Morgan Kaufmann (2007) 7. Date, C., Darwen, H.: Foundation for Object / Relational Databases. Addison Wesley Longman (1998) 8. Evans, E.: Domain-Driven Design. Pearson Education (2004) 9. Leymann, F., Roller, D.: Production Workflow Concepts and Techniques. Prentice- Hall, Upper Saddle River, New Jersey (2000) 10. Mühl, G., Fiege, L., Pietzuch, P.: Distributed Event-Based Systems. Springer-Verlag, Berlin (2006) 11. Batini, C., Scannapieco, M.: Data Quality. Springer-Verlag, Berlin (2006) 12. Murch, R.: Autonomic Computing. Pearson Education (2004) 13. Fellenstein, C.: On Demand Computing. Pearson Education (2005) 14. Foster, I., Kesselman, C.: The Grid2 Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers (2004) 15. Berman, F., Hey, A., Fox, G.: Grid Computing: making the global infrastructure a reality. John Wiley and Sons Ltd (2003) 16. Joseph, J., Fellenstein, C.: Grid Computing. Pearson Education, Inc. (2004)