Universität Passau Fakultät für Informatik und Mathematik Lehrstuhl für Mathematik Schwerpunkt Digitale Bildverarbeitung Prof. Dr. Tomas Sauer Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) Konzept eines zentralen Fertigungsdaten-Management-Systems Florian Bürchner Studienfach Erstprüfer Zweitprüfer Matrikelnummer Datum Informatik Prof. Dr. Tomas Sauer Prof. Dr. Ilia Polian 55508 7. Mai 2014 Danksagung Zunächst möchte ich mich bei all denjenigen bedanken, die mich während der Anfertigung dieser Masterarbeit unterstützt und motiviert haben. Ganz besonders gilt dieser Dank Prof. Dr. Tomas Sauer, der den Kontakt zur ZF Friedrichshafen AG für mich bereits im Rahmen eines Praktikums und nun auch für diese Abschlussarbeit hergestellt hat und Dr. Werner Schnitzlein, der seitens der ZF dieses interessante Thema ermöglicht hat und sich für eine Kooperation zwischen Universität und Unternehmen einsetzt. Weiterhin bedanke ich mich bei Prof. Dr. Ilia Polian, der sich als Zweitprüfer zur Verfügung gestellt hat. Ebenfalls bedanken möchte ich mich bei meinem Betreuer Dipl.-Inf. Joseph Mandic für seine ausgiebige Unterstützung und seine konstruktive Kritik, die mich oft auf den richtigen Kurs zurückgebracht hat. Weiterhin danke ich Dipl.-Ing. Ralf Kleinschmidt ohne dessen Hilfe und Bemühungen in etlichen Diskussionen diese Arbeit nicht zustande gekommen wäre. Auch M. Eng. Patrick Peter danke ich, dass er mir stets mit Rat und Tat zur Seite stand und immer ein offenes Ohr für mich hatte. Außerdem bedanke ich mich bei B. Eng. Alex Nowitschkow, der immer für mich ansprechbar war und mich mit guten Ideen unterstützt hat. Nicht zuletzt gebührt meiner Familie großer Dank, insbesondere meinen Eltern, die mir mein Studium ermöglicht und mich in all meinen Entscheidungen unterstützt haben. 3 4 Inhaltsverzeichnis Abkürzungsverzeichnis 1. Einleitung 1.1. Problemstellung 1.2. Motivation . . . 1.3. Zielsetzung . . 1.4. Abgrenzung . . 1.5. Überblick . . . 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Systemlandschaft 2.1. PLM–Strategie . . . . . . . . . 2.2. Applikationen im FDO–Bereich 2.2.1. Übersicht . . . . . . . . 2.2.2. Axalant . . . . . . . . . 2.2.3. FATool . . . . . . . . . . 2.2.4. SAP . . . . . . . . . . . 2.2.5. EdgeCAM . . . . . . . . 2.2.6. ProE/CREO . . . . . . 2.3. Schnittstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 11 11 12 12 13 . . . . . . . . . 15 16 19 19 20 23 28 29 29 29 3. Grundlagen 3.1. Systemanalyse . . . . . . . . . . 3.1.1. Standards . . . . . . . . 3.1.2. Architektur–Frameworks 3.2. Anforderungsanalyse . . . . . . 3.2.1. Methoden . . . . . . . . 3.2.2. Modellierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 34 34 39 44 45 48 4. Ist–Zustand 4.1. Übersicht . . . . . . . . . . 4.2. Status–Quo . . . . . . . . . 4.2.1. Aufbau . . . . . . . . 4.2.2. Datenbank . . . . . . 4.2.3. Schnittstelle . . . . . 4.2.4. Interaktive Rückgabe 4.2.5. Transferdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 57 58 59 59 62 63 . . . . . . . . . . . . . . 5 Inhaltsverzeichnis 4.3. Schwachstellen im Ist–Zustand . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5. Soll–Konzept–Szenario 5.1. Bestehendes Soll–Konzept . . . . . . . . 5.1.1. Übersicht . . . . . . . . . . . . . 5.1.2. Lastenheft . . . . . . . . . . . . . 5.1.3. Schwachstellen . . . . . . . . . . 5.1.4. Bewertung . . . . . . . . . . . . . 5.2. Erweitertes Soll–Konzept . . . . . . . . . 5.2.1. Erweiterungen im Lastenheft . . . 5.2.2. Schwachstellen des Ist–Zustands . 5.2.3. Schwachstellen des Soll–Zustands 5.3. Zusammenfassung . . . . . . . . . . . . . 6. Umsetzung 6.1. Problemstellung . . . . . . . . . . . . . 6.2. Ansatz . . . . . . . . . . . . . . . . . . 6.3. Implementierung . . . . . . . . . . . . 6.3.1. Synchronisation von Materialien 6.3.2. Parsen der Transfer–Queue . . . 6.3.3. Suche nach Dokumentstämmen 6.3.4. Überprüfen der Wiedervorlage . 6.4. Verifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 73 73 77 85 89 90 90 95 100 108 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 . 109 . 110 . 111 . 113 . 113 . 115 . 116 . 118 7. Fazit 123 Anhang 124 Tabellenverzeichnis 143 Abbildungsverzeichnis 145 Literaturverzeichnis 147 6 Abkürzungsverzeichnis BLD BOM BTL CAD CAE CAM DMZ DNC ERP FDM FDO FHM KWZ PDM PDO PLM SMID SML WKZ Bildkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Bill of materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Bauteil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Computer–Aided–Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Computer–Aided–Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Computer–Aided–Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Demilitarized–Zone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 Distributed–Numerical–Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 Enterprise–Ressource–Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Fabric–Data–Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Fertigungsdatenorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Fertigungshilfsmittel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Komplettwerkzeug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Product–Data–Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Produktdatenorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Product–Lifecycle–Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Sachmerkmal–ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Sachmerkmalleiste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 7 Abkürzungsverzeichnis 8 1. Einleitung Die Frage nach der optimalen IT–Struktur im Cloud–Zeitalter stellt Unternehmen heutzutage vor große Herausforderungen. Der Wunsch interne Daten weltweit und standortunabhängig zur Verfügung zu stellen wirft die Frage auf, ob periphere Systeme wie die IT–Landschaft besser zentral organisiert oder als verteilte Ressourcen verwaltet werden sollen. Der Grund für eine Neuausrichtung sind oftmals neue Anforderungen an alte Systeme, die teilweise eine Anpassung der IT–Architektur des gesamten Unternehmens nach sich ziehen. Dabei sind diese Anpassungen unumgänglich, um neue Technologien und Lösungen nutzen zu können und somit die Wettbewerbsfähigkeit zu wahren. Auch die Zentralisierung bringt eine Reihe von Vorteilen gegenüber verteilten, dezentralen Systemen mit sich. Neben der Möglichkeit an allen Standorten auf zuverlässige und aktuelle Daten und Dokumente zuzugreifen, was durch einen konsistenten und einheitlichen Datenbestand sichergestellt wird, können neue Standorte auch leichter in die schon bestehende IT–Landschaft integriert werden. Doch die Zentralisierung wirft auch neue Fragen auf wie Zugriffskontrollen, die Konfliktbehandlung oder die Performanz beim Zugriff. Für die Zentralisierung eines bestehenden Systems sind mehrere Architekturmodelle denkbar, die abhängig von bestimmten Qualitätsfaktoren mehr oder weniger geeignet sind. Diese Faktoren beziehen sich auf technische Anforderungen wie die Qualität der Netzanbindung der verschiedenen Standorte, die Zugriffsmethoden auf einzelne Dateien oder logische Faktoren wie Zugriffsberechtigungen. Den vorgestellten Architekturen ist allen ein Master–System übergeordnet, das in regelmäßigen zeitlichen Intervallen Kenntnis über alle im Netz existierenden Daten hat. Abbildung 1.1.: Direktzugriff auf den Master–Server Das bekannteste Modell der Zentralisierung stellt der Direktzugriff dar, wie er in Abbildung 1.1 dargestellt ist. Hierbei greifen entfernte Standorte direkt auf den Master–Server 9 1. Einleitung zu, was zum Vorteil hat, dass viele Probleme, wie sie durch vollständig verteilte Systeme entstehen, wegfallen. Die Zugriffsberechtigungen können leichter umgesetzt werden und der Freigabestatus sowie Änderungen an Dateien stehen immer zuverlässig und aktuell zur Verfügung. Der entscheidende Aspekt bei diesem Modell ist aber dennoch die Datenübertragungsrate zwischen den Standorten, da die entsprechenden Dateien oft sehr groß sind und dies inakzeptable Zugriffszeiten nach sich ziehen kann. Abbildung 1.2.: Replikation der Dateien auf den Slave Eine mögliche Lösung für dieses Problem wäre die Trennung von den eigentlichen Dateien und deren Meta–Daten, sodass ausschließlich die Dateien auf die verschiedenen Standorte repliziert werden, die Meta–Daten aber zentral gehalten und über das Netz abgerufen werden. In einem solchen hybriden System, wie es in Abbildung 1.2 zu sehen ist, sind die Zugriffszeiten auf Dateien deutlich verbessert. Dennoch müssen die Dateien auf die dezentralen Server der einzelnen Standorte repliziert werden und bei Änderungen auch wieder mit dem Master–Server abgeglichen werden. Da dies durch die großen Datenmengen nur in bestimmten zeitlichen Abständen möglich ist, kann es sein, dass Dateien und die zugehörigen Meta–Daten zeitweise inkonsistent vorliegen. Abbildung 1.3.: Replikation der Dateien inklusive der Meta–Daten auf den Slave Eine weitere Möglichkeit ist die Replikation, wie sie in Abbildung 1.3 dargestellt ist. Hierbei handelt es sich bei den dezentralen Servern der einzelnen Standorte um eine komplette Kopie des Master–Servers inklusive der Meta–Daten. Dadurch ergibt sich nun auch ein asynchroner Abgleich, der Konflikte nach sich ziehen kann, wenn Dateien und damit die zugehörigen Meta–Daten auf verschiedenen Systemen gleichzeitig verändert werden. Bei großen Dateien und gleichzeitig schlechter Netzanbindung kann dieses Modell den Zugriff auf Daten erleichtern, schafft aber dadurch auch die typischen Probleme, wie sie bei verteilten Systemen auftreten. [ES09] 10 1.1. Problemstellung In dieser Arbeit soll das aktuelle Architekturmodell der Fertigungsdaten–Management– Software FATool für die ZF Friedrichshafen AG analysiert werden und weitere konzeptionelle Modelle entwickelt werden, die eine Zentralisierung berücksichtigen. 1.1. Problemstellung Eine unternehmensweit zentrale Ausrichtung der Fertigungsdaten–Management–Software FATool ist das Thema dieser Arbeit. Ein Konzept über den Soll–Zustand ist bereits vorhanden, wobei durch den hohen Detailgrad der Beschreibung beim Leser bereits tiefe Einsichten in das System gefordert sind und damit keine Transparenz vermittelt werden kann. Die aufgeschlüsselten Anwendungsfälle beschreiben bisher nur die Anforderungen an das System, reflektieren aber nicht die Probleme, die in der Praxis auftreten können. Vor diesem Hintergrund muss neben einer detaillierten Dokumentation auch eine exakte Analyse durchgeführt werden, die untersucht, ob bereits im Ist–Zustand bestehende Probleme durch das neue Konzept gelöst werden können oder dadurch neue Probleme hervorgerufen werden. In Anbetracht der gefunden Schwachstellen soll ein eigenes Konzept zur Zentralisierung erarbeitet werden, das Lösungsansätze für die bekannten Probleme bietet. Die Suche nach Lösungen für Anforderungen an den Ist–Zustand stellt einen weiteren wichtigen Punkt im Prozess der Zentralisierung dar. Dabei handelt es sich um Probleme, die bereits bekannt sind, aber bisher nicht gelöst werden konnten. Es ist offensichtlich, dass solche Schwachstellen vor der eigentlichen Zentralisierung gelöst werden müssen, denn Anforderungen an die Systeme, die im Ist–Zustand nicht funktionieren, werden auch im Soll–Zustand nicht funktionieren können. 1.2. Motivation Der bedeutendste Punkt der Zentralisierung ist die konzernweite Nutzung aller produktionsrelevanten Daten. Da produzierende Betriebe meist eine große Menge an Objekten in ihrem Materialstamm verwalten, ist es von enormer Bedeutung vor der Entwicklung eines neuen, aktuell erforderlichen Teils zu wissen, ob ein solches – an einem anderen Standort – schon existiert. Die Entwicklung neuer Materialien ist aufwendig, denn sie müssen entworfen, gezeichnet und im PDM–System mit Teilestamm und Stückliste angelegt werden. Deshalb ist es nicht nur kostengünstiger, sondern auch zeitsparender, bereits existierende Teile wieder zu verwenden, als eine Neuentwicklung zu veranlassen. Ein weiterer positiver Nebeneffekt der zentralen Verwaltung ist, dass alle Benutzer auf einen einheitlichen Datenbestand zurückgreifen können. Des Weiteren wird die Anbindung neuer Standorte an das zentralisierte System vereinfacht, da die Architektur nicht mehr entscheidend verändert werden muss. 11 1. Einleitung 1.3. Zielsetzung Mit der vorliegenden Arbeit soll ein Beitrag geleistet werden, um den Prozess der Zentralisierung zu unterstützen und nachhaltig zu verbessern. Im Einzelnen werden dabei folgende Ziele verfolgt: • Dokumentation des Ist–Zustands und des bereits existierenden Soll–Konzepts für spätere Supportaufgaben • Analyse der bestehenden Konzepte anhand wissenschaftlicher Kriterien und Identifizierung eventueller Schwachstellen • Bereitstellen eines eigenen Soll–Konzepts unter Berücksichtigung der aufgedeckten Schwachstellen mit entsprechenden Lösungsansätzen • Erarbeitung von technischen Lösungen der Schwachstellen des Ist–Zustands für einen reibungslosen Betrieb des zentralisierten Konzepts Durch die gewonnenen Erkenntnisse werden Empfehlungen für die Umsetzung der Zentralisierung ausgesprochen. Während die Analyse der bestehenden Systeme rein konzeptionell durchgeführt wird, soll für eine der gefundenen Anforderungen eine Lösung erarbeitet und diese im Anschluss implementiert und validiert werden. 1.4. Abgrenzung Untersuchungsgegenstand dieser Arbeit ist die Zentralisierung der FDM–Software FATool. Dieser Prozess betrifft verschiedene Bereiche, zum Einen die Applikation selbst, zum Anderen die Umstellung bzw. Vorbereitung der Systeme und Schnittstellen innerhalb des ZF–Konzerns. Während der innere Aufbau von FATool aufgrund des geschlossenen Quellcodes als Black–Box zu betrachten ist, liegt die Verantwortung für die Vorbereitung der systemeigenen Strukturen innerhalb der ZF Friedrichshafen AG. Aus diesem Grund beschäftigt sich diese Arbeit mit der Analyse der vorhandenen Konzepte und eigenen Konzeptvorschlägen. Es wird jedoch kein Leitfaden geliefert der die Zentralisierung im Detail beschreibt. Dies erfordert eine enge Zusammenarbeit mit dem Software–Hersteller und ist nicht als ein Ein–Mann–Projekt zu verstehen. Vielmehr soll diese Arbeit einen Baustein im Prozess der Zentralisierung darstellen. Bei den Schnittstellen wird aus Gründen der Komplexität nur die Axa2FASys– Schnittstelle betrachtet. Andere Schnittstellen werden nur funktional beschrieben. 12 1.5. Überblick 1.5. Überblick Die Gliederung der Arbeit ist darauf ausgelegt beim Leser ein Verständnis über die Gesamtproblematik der Zentralisierung des FDM–Systems mit denen im ZF–Konzern eingesetzten Systeme zu entwickeln. Die beteiligten System werden exemplarisch am Standort Passau aufgezeigt. Daraufhin werden die notwendigen theoretischen und wissenschaftlichen Grundlagen erarbeitet und im Anschluss bei der Analyse und Konzeption angewendet. In Kapitel 2 soll zunächst ein Überblick über alle Systeme gegeben werden, die in Beziehung zu FATool stehen. Des Weiteren sollen die Schnittstellen zwischen diesen Systemen und FATool beschrieben werden. Das Kapitel 3 stellt den Theorieteil dieser Arbeit dar und soll die nötigen Grundlagen für eine Analyse und Bewertung von Software–Architekturen schaffen. Darauf aufbauend wird in Kapitel 4 der Ist–Zustand dokumentiert und analysiert und anschließend seine Schwachstellen ausgearbeitet. In Kapitel 5 wird das bereits bestehende Soll–Konzept analysiert und ein eigenes Konzept erarbeitet, das die bereits herausgestellten Schwachstellen beseitigt. Kapitel 6 beinhaltet einen Lösungsansatz für eine der zuvor analysierten Anforderungen. Es umfasst außerdem deren Implementierung und Validierung. In Kapitel 7 wird abschließend ein Fazit abgegeben, in dem der Fortschritt im Hinblick auf den Beginn der Arbeit beleuchtet wird und ein Ausblick auf zukünftige Aufgabenfelder der Zentralisierung gegeben werden. 13 1. Einleitung 14 2. Systemlandschaft Die ZF Friedrichshafen AG ist ein weltweit agierendes Unternehmen mit 75.000 Mitarbeitern in 26 Ländern mit 121 Produktionsgesellschaften. Im Jahr 2011 wurde der Konzern neu strukturiert und besteht seither aus den vier Divisionen Antriebstechnik, Fahrwerkstechnik, Nutzfahrzeugtechnik und Industrietechnik. Die Geschäftsfelder der Divisionen können Abbildung 2.1 entnommen werden. Des Weiteren besteht das Gemeinschaftsprojekt ZF Lenksysteme GmbH, an dem die ZF Friedrichshafen AG und die Robert Bosch GmbH jeweils zur Hälfte beteiligt sind. [ZF12b] Aktionäre: 93,8 % Zeppelin-Stiftung und 6,2 % Dr. Jürgen und Irmgard Ulderup Stiftung Antriebstechnik Fahrwerktechnik Nutzfahrzeugtechnik Industrietechnik Lenksysteme* Automatgetriebe Achssysteme Lkw- und VanAntriebstechnik Arbeitsmaschinensysteme Pkw-Lenksysteme Handschaltgetriebe/ Doppelkupplungsgetriebe Fahrwerkkomponenten Prüfsysteme Nkw-Lenksysteme Sonder-Antriebstechnik Pkw-Lenksäulen Marine-Antriebstechnik Global Aftermarket Bus-Antriebstechnik Gummi & Kunststoff Nkw-Achssysteme Achsgetriebe Dämpfungsmodule Nkw-Fahrwerkmodule Antriebsmodule Gusstechnologie Luftfahrt-Antriebstechnik Nkw-Dämpfertechnologie Nkw-Antriebsstrangmodule Windkraft-Antriebstechnik * ZF Lenksysteme GmbH ist ein Gemeinschaftsunternehmen, an dem die ZF Friedrichshafen AG und die Robert Bosch GmbH jeweils zu 50 % beteiligt sind. Stand: Mai 2013 Abbildung 2.1.: Strukturierung des ZF–Konzerns [ZF12b] Als Global Player hat der ZF–Konzern auch hohe Anforderungen an seine IT–Systeme. Die Globalisierung fordert die Verfügbarkeit von Daten unabhängig von Standorten und setzt voraus, dass während aller Phasen des Produktlebenszyklus ein gemeinsamer Zugriff auf alle für das Produkt relevanten Informationen gegeben ist. ([ES09], S. 18) Nachfolgend werden für die weitere Arbeit wichtige Begriffe definiert. Im Anschluss werden die verschiedenen Systeme am Standort Passau erklärt, die in dieser Strukturierung in vielen anderen ZF–Standorten eingesetzt werden. Des Weiteren werden auch die Kommunikationskanäle zwischen den einzelnen Systemen beschrieben. 15 9 2. Systemlandschaft 2.1. PLM–Strategie Für Unternehmen, die in einem globalen Umfeld agieren, ist es Voraussetzung dynamisch auf sich wandelnde Märkte zu reagieren, um ihre Wettbewerbsfähigkeit zu wahren. Dieser Markt fordert eine ständige Verbesserung der Durchlaufzeiten von Produkten, reduzierte Kosten über den gesamten Produktlebenszyklus, zunehmende Absicherung bezüglich der Produkthaftung und den daraus abgeleiteten Regeln für das Qualitätsmanagement. Abbildung 2.2.: Phasen im Produktlebenszyklus [Bau06] Daraus ergeben sich neue Anforderungen an den Produktentstehungsprozess, der aus der Produktentwicklung und der Entwicklung von Fertigungstechnologien besteht. Der Produktentstehungsprozess umfasst die komplette Planung und Entwicklung von Produkten und ihren zugehörigen Betriebsmitteln, Ressourcen, Fertigungs– und Montageprozessen, deren Herstellung sowie Nutzung, Betrieb und Recycling. In Abbildung 2.2 sind die einzelnen Phasen des Lebenszyklus mit ihren zugeordneten Tätigkeiten abgebildet. [ES09] Dies bedeutet für die IT, alle betroffenen Bereiche wie Mensch, Daten und Prozesse zu verknüpfen, um die Produkt– und Prozesskomplexität beherrschen zu können. Die hierfür eingesetzte Strategie heißt Product–Lifecycle–Management (PLM), das durch die Konsolidierung verschiedener Systeme eine Informationsstrategie definiert, die für jedes Unternehmen speziell und damit einzigartig ist. Durch eine vollständig vernetzte Unternehmenswelt ermöglicht das PLM eine unternehmensübergreifende Arbeitsteilung, um Produkte zu entwickeln, zu produzieren, zu unterstützen oder schließlich wieder vom Markt zu nehmen. Der Stellenwert der PLM–Strategie wird deutlich, wenn man bedenkt, dass die Neuentwicklung eines Kraftfahrzeugs in Europa und den USA vor zwanzig Jahren rund sechs bis sieben Jahre dauerte, während es heute nur noch zwei bis drei Jahre sind. [Sen09] Die Hauptaufgabe besteht in der Verwaltung aller Informationen, die am Lebenszyklus eines Produktes beteiligt sind, um eine bessere Kontrolle über die Teilprozesse zu erhal- 16 2.1. PLM–Strategie ten und dadurch eine transparente Aufstellung über Aufwände und Erträge ermitteln zu können. Die Vorteile, die sich daraus ergeben, sind im Einzelnen: • • • • Time-to-Market reduzieren Zeit- und Kostenreduktion Qualitätsverbesserung der Produkte Erhöhung der Innovation Um diese Ziele zu erreichen werden IT–Lösungen verwendet, die die virtuelle Produktentstehung unterstützen. Eine wesentliche Rolle spielen dabei die sogenannten Autorensysteme, wie Computer–Aided–Design (CAD) mit dem die funktionalen und geometrischen Grundlagen des Produkts erarbeitet werden, Computer–Aided–Manufacturing (CAM), das zur Steuerung von Fertigungs– und Montagemaschinen dient und Computer–Aided– Engineering (CAE) mit dessen Hilfe die Technologien zur Simulation und Berechnung zur Verfügung gestellt werden. [ES09] Ein ganz wesentlicher Bestandteil eines vollständigen PLM–Konzepts ist ein Enterprise– Ressource–Planning (ERP) System, das die verfügbaren Ressourcen für den betrieblichen Ablauf optimiert. So lassen sich Ressourcen wie Kapital, Betriebsmittel und Personal steuern, kontrollieren und koordinieren. Den Kern einer jeden PLM–Strategie bildet jedoch das Product–Data–Management (PDM) System, das die zentrale Lösung für den Produktentstehungsprozess darstellt. Die ersten PDM–Systeme dienten zur Dokumentverwaltung und sind aus der Problematik heraus gewachsen die zunehmende Anzahl an CAD–Dokumenten zusammen mit den gescannten Papierdokumenten zu verwalten. Schnell wurden die PDM–Systeme auch an die Produktstruktur angebunden, was die Einführung von unternehmensweit harmonisierten Stammdaten und Stücklistenstrukturen zur Folge hatte. Deshalb bildeten PDM– Systeme den Grundstein des heutigen PLM–Konzepts und sind daher als der administrative Backbone1 zu sehen. PLM ist aber nicht nur ein „Baukasten“ aus verschiedenen Softwarelösungen, die gebündelt eingesetzt werden, sondern vielmehr eine integrierte Philosophie und Vorgehensweise mit einer ganzheitlichen Behandlung und Beeinflussung des Produktlebens. Das heißt, PLM kann nicht als einmalige Aufgabe gesehen werden, da es aufgrund der Integrationsfähigkeit ein Dauerzustand ist. Der ständige Zuwachs an 2D– und 3D–Daten, sowie abgeänderte Prozesse und neue Anforderungen an das Management von Fertigungsdaten innerhalb des ZF–Konzerns, machten es erforderlich zwischen Produktdaten und Fertigungsdaten zu unterscheiden. Während die Produktdatenorganisation (PDO) alle Dokumente und Objekte für die Entwicklung eines Produktes verwaltet, werden bei der Fertigungsdatenorganisation (FDO) alle Daten verwaltet, die für die Herstellung des Produktes relevant sind. Dazu zählen unter anderem die Fertigungshilfsmittel (FHM), die als Unterkategorie der Betriebsmittel einzuordnen sind, allerdings nicht an einen bestimmten Ort gebunden sind. Im Gegensatz 1 Ein Backbone als Teil eines Computernetzwerkes verbindet mehrere Netzwerke miteinander und stellt so die Möglichkeit zum Informationsaustausch zur Verfügung. 17 2. Systemlandschaft zu Maschinen sind Werkzeuge (WKZ), Spannmittel und Vorrichtungen für Maschinen, aber auch die NC-Programme zur Steuerung der Maschinen als typische FHM zu benennen. Wie in Abbildung 2.3 zu sehen ist, beginnt die PDO weit früher als die FDO, da die FDO um die Produkte herum arbeitet und damit für die Produktion relevant ist. Dies bedeutet konkret, falls sich am Produkt etwas ändert, so ändern sich auch die entsprechenden Betriebsmittel der Fertigung. Obwohl die Administrationsprozesse unterschiedliche Bereiche abdecken, werden sie beide durch das standardisierte PDM–System verwaltet. Sie basieren also auf einer einheitlichen Datenbank, aber stellen unterschiedliche Sichten auf das gleiche System zur Verfügung, sodass durch diese Sichten die spezifischen Management–Prozesse repräsentiert werden. Abbildung 2.3.: Eingliederung des PDO und FDO Prozesses [ZF12a] Die Stammdaten und Dokumenttypen werden gleich verwaltet, dennoch gibt es einige Unterschiede in den Prozessen, die in Tabelle 2.1 dargestellt sind. PDO–Prozess Komplexes Statusnetz (ca. 70 Level) Viele Prozessschritte (>300 Übergänge) Viele Verantwortlichkeiten Änderungsmanagement Komplexe Stücklisten Lange Entwicklungszyklen FDO–Prozess Einfaches Statusnetz (7 Levels) Wenige Prozessschritte (30 Übergänge) Wenige Verantwortlichkeiten Kein Änderungsmanagement Einfache Stücklisten (FHM) Kurze Entwicklungszyklen Tabelle 2.1.: Gegenüberstellung von PDO und FDO [ZF12a] Die Vorteile, die sich aus der Trennung dieser Prozesse ergeben, sind: • Erhöhte Prozesssicherheit durch weniger Management–Aufwand • Fehlerminimierung und schnellere Verfügbarkeit • Kosten– und Bestandsreduktion Systeme, die sich mit der Verwaltung und Organisation der Fertigungsdaten befassen, heißen Fabric–Data–Management (FDM) Systeme. 18 2.2. Applikationen im FDO–Bereich 2.2. Applikationen im FDO–Bereich Im Folgenden werden die bisher vorgestellten Systeme konkret benannt und ihre Aufgaben und Einsatzgebiete erläutert. Außerdem werden Interaktionen zwischen den Systemen gesondert dargestellt. 2.2.1. Übersicht In Abbildung 2.4 ist eine eingeschränkte Sicht auf die am Standort Passau eingesetzten IT–Systeme gegeben. Diese Übersicht erhebt keinen Anspruch auf Vollständigkeit und soll lediglich die Beziehungen zwischen den Systemen genauer darstellen. Andere Sichtweisen auf die verwendeten Systeme sind möglich, jedoch für diese Arbeit nicht relevant. Abbildung 2.4.: IT–Systeme im FDO–Bereiche am Standort Passau [Pet12] Das Herzstück stellt das globale PDM–System Axalant dar, das ortsunabhängig und unternehmensübergreifend zur Verfügung steht. Hier sind alle Daten abgelegt, die entweder der PDO oder FDO zugeordnet sind, sodass alle Softwaresysteme entweder direkt oder indirekt – durch andere Systeme – mit Axalant in Verbindung stehen. Im Mittelpunkt dieser Arbeit steht das FDM–System FATool, das ebenfalls eng mit Axalant verknüpft 19 2. Systemlandschaft ist. FATool wird ebenfalls direkt aus der Produktion heraus genutzt und besitzt außerdem eine direkte Schnittstelle zum ERP–System SAP, dem CAD–System ProE/CREO und der CAM–Anwendung EdgeCAM. Mit NC-Simul ist es möglich das Bewegungsprofil der Maschine anhand der NC-Programme, die von EdgeCAM geliefert werden, zu simulieren. PartSolutions bietet normgerechte Beschreibungen von Einzelteilen in Form von 3D-Modellen, die vor allem von den CAD–Systemen verwendet werden. AutoCAD ist ebenfalls ein CAD–System, das für die Zeichnung von 2D-Modellen verwendet wird. 2.2.2. Axalant Das PDM–System Axalant ist das strategische und technische Informationssystem und dient der Speicherung, Verwaltung und Bereitstellung aller produkt- und fertigungsbezogenen Daten und Dokumente. Es ist ein globales, unternehmensweites System, das durch eine Verteilung der Informationen eine enge Zusammenarbeit in der Entwicklung und Produktion über den gesamten Globus ermöglicht. [ZF10] Die Vorteile, die sich durch den Einsatz des PDM–Systems ergeben, sind im Einzelnen: • Gezielter und geschützter Zugriff auf aktuelle, technische Unterlagen und Dokumente rund um die Uhr, unabhängig vom Standort im ZF–Netzwerk • Verwaltung von Produktdaten und technischen Dokumenten, als auch Fertigungshilfsmitteln entlang des Produktentstehungsprozesses • Weltweite Kollaboration in der Erstellung und Änderung von gemeinsamen Daten Im Folgenden wird auf die wichtigsten Eigenschaften des globalen PDM–Systems eingegangen. Klassensystem Ein Klassensystem dient der Ordnung und Strukturierung von gleichartigen Elementen für die eine Beschreibung gegeben ist. Es besteht aus mehreren einzelnen Klassen, die durch bestimmte Merkmale beschrieben werden, wobei die Zuordnung der Merkmale je nach Klasse variiert. Eine Klasse fast somit Elemente zusammen, die gleiche oder ähnliche Merkmale besitzen. Das Zuordnen eines Materialstamms zu einer Klasse nennt man Klassifizierung, wobei die Übersicht über alle Elemente einer Klasse, mit deren Merkmalen und Merkmalswerten, Sachmerkmalleiste (SML) genannt wird. Das Zuweisen von Merkmalswerten zu den einzelnen Sachmerkmalen, wird im Allgemeinen Bewertung genannt. Die spezifische Beschreibung von Objekten durch Merkmalswerte erlaubt eine gezielte Suche nach Elementen mit bestimmten Merkmalen. Neben einer Kosten- und Zeitersparnis und der Minimierung für das Anlegen von redundanten Daten, durch eine gewissenhafte Beschreibung von Objekten, ergeben sich durch das Klassensystem folgende Vorteile: • • • • 20 Elemente können nach bestimmten Ordnungskriterien zusammengefasst werden Materialien können genauer beschrieben werden Der Ergebnisraum der Materialsuche ist eingeschränkt Die Suche nach Materialien verkürzt sich 2.2. Applikationen im FDO–Bereich Die Klassen selbst sind hierarchisch angeordnet und stellen mit spezifischen Ober- und Unterklassen einen Klassenbaum dar. Die Oberklassen sind grundsätzlich abstrakte Klassen und beinhalten Unterklassen, wobei die Blätter des Baumes die eigentlichen Materialien sind. Abbildung 2.5.: 2D–Sachmerkmale nach DIN4000 [Pet12] Für die Klassifizierung wird die DIN40002 verwendet, die als Basis für eine einheitliche Beschreibung der Sachmerkmalleisten dient und als Standard innerhalb des ZF-Konzerns gilt. Der Aufbau der DIN4000 ist in eine vierstufige Hierarchie eingeteilt, wobei die erste Ebene die Sachmerkmal-Normen enthält, die zweite Ebene die Gegenstandsgruppen, die dritte Ebene die Teilefamilien und als vierte Ebene die Bildkennung (BLD), die ähnlichen Materialien unterschiedliche Merkmalsattribute zuweist. In Abbildung 2.5 ist ein Stufenbohrer mit drei Stufen abgebildet. Dieser ist in der DIN4000-81 „Bohr– und Senkwerkzeuge mit nicht lösbaren Schneiden“ zu finden und besitzt die Bildkennung 2. Die BLD ordnet diesem Stufenbohrer die Merkmale zu, die aus der Abbildung ersichtlich werden, wie als Beispiel „B4 Nutzlänge“, „B5 Gesamtlänge“, „B6 Spannutenlänge“ etc. Stammdaten Als Stammdaten werden jene Daten bezeichnet, die selbstständig, ohne Beziehung zu anderen Daten aussagefähig sind. Dabei wird in Axalant zwischen den Typen Materialstamm und Dokumentenstamm unterschieden. Beiden gemeinsam sind identifizierende Attribute, die zur eindeutigen Bestimmung eines Stammsatzes dienen, wie die Dokument- oder Materialnummer und den Funktionsattributen, die zusätzliche Informationen für anderweitige Prozesse bereit halten. Der Materialstamm definiert Materialien, also physikalisch greifbare Objekte, über einen Materialstammsatz, der die zur Verwaltung eines Materials notwendigen Informationen, wie Materialnummer, Benennung, Werkstoff, Abmessung, Status bereithält. Der Dokumentenstammsatz hingegen beschreibt das Material und bezeichnet einen Datensatz mit Metadaten, wie Dokumentnummer, Benennung, Gültigkeit und den zugeordneten Dateien. Durch die Metadaten werden alle Informationen bereit gehalten, die zur Identifikation, zum Austausch, zur Verwaltung und Nutzung eines Dokuments benötigt werden. [ZF13] 2 Diese Norm legt Begriffe und Grundsätze zur Gestaltung von Merkmalen, Merkmal–Listen und Konformitätsklassen fest. Diese Merkmale bilden die Grundlage der Kommunikation, zum Beispiel zwischen Anwendern und Lieferanten. Ein weiteres Ziel ist die Kategorisierung dieser Merkmale in Konformitätsklassen, unter anderem zur Vereinheitlichung des Datenaustauschs. 21 2. Systemlandschaft Berechtigungen Die Berechtigungskontrolle in Axalant ist hierarchisch in vier Stufen aufgebaut und dient primär zum Schutz der hinterlegten Informationen. • 1. Stufe: Sichtbarkeit Die Sichtbarkeit beschränkt den Zugriff auf Metadaten von Stammsätzen und wird über Verteilerflags gesteuert. Nur an Standorten für die das Verteilerflag an einem spezifischen Datensatz gesetzt ist, können diesen auch einsehen. • 2. Stufe: Rollen Durch Rollen werden unterschiedliche Berechtigungsstufen umgesetzt, die verschiedene Funktionen, wie Anlegen, Bearbeiten oder Betrachten, an einem Stammsatz freigeben. Rollen sind als ein Container zu verstehen, der alle einem Benutzer zugewiesenen Berechtigungen umfasst. Bei jeder ausgeführten Aktion in Axalant wird unabhängig vom Datensatz überprüft, ob der Anwender die entsprechenden Rollen besitzt. • 3. Stufe: Änderungshoheiten Die Änderungshoheit ist als vierstellige Zahlenkombination angegeben und ist Datensätzen als auch Anwendern zugeordnet. Durch die Änderungshoheit wird das für eine Änderung zuständige ZF-Geschäftsfeld bestimmt, sodass Anwender nur Datensätze verändern können bei denen die Änderungshoheiten mit der des Anwenders übereinstimmen. • 4. Stufe: Owner–Group–World–Prinzip Jeder Datensatz in Axalant ist einem bestimmten Eigentümer und damit einer Gruppe zugeordnet. So kann für jeden Datensatz explizit angegeben werden welche Rechte der Eigentümer, die zugehörige Gruppe und alle anderen besitzen. Die möglichen Rechte sind eingeteilt in „kein Zugriff“, „lesen“, „schreiben“ und „löschen“. Stücklisten Durch Stücklisten (engl. Bill of materials (BOM)) wird in einer strukturierten Anordnung von Objekten beschrieben, welche Materialien oder andere Positionen wie Stücklistentexte in einem Produkt verwendet werden. Die Stücklisten sind entsprechend im Materialstamm hinterlegt und werden in Axalant angelegt und geändert. Status Der Statuswechsel am FDO–Materialstamm dient zur Darstellung des Reifegrades. Die Übergänge zwischen den Status sind in Abbildung 2.6 dargestellt, wobei die Status „In Vorfreigabe (FK540)“ und „Freigegeben (FK550)“ wichtige Abläufe im Prozess anstoßen. Abbildung 2.6.: Statuswechsel im FDO–Bereich [ZF10] 22 2.2. Applikationen im FDO–Bereich Der Statuswechsel auf „In Vorfreigabe“ signalisiert, dass das Material seitens der Konstruktion angefragt wurde, es allerdings noch keinen finalen Reifegrad besitzt. In diesem Fall wird der Materialstamm nach SAP übertragen. Der Statuswechsel nach „Freigegeben“ bedeutet, dass ein Material seitens der Konstruktion freigegeben ist und in den Fertigungsprozess integriert werden kann. Eine erneute Übertragung an das SAP –System wird dadurch angestoßen. Neue Daten werden angelegt oder bereits vorhandene überschrieben. Besitzt ein Material eine Stückliste, kann es nur freigegeben werden, falls alle Elemente der Stückliste ebenfalls freigegeben sind. 2.2.3. FATool Das FDM–System FATool ist das Informationssystem zur systematischen Organisation aller Betriebsmittel, insbesondere aller Werkzeuge. Der Organisation liegt ebenfalls das in der DIN4000 und ISO133993 definierte Klassifizierungssystem in Sachmerkmalleisten zu Grunde. Die logische Verwaltung der Betriebsmittel hat im Einzelnen folgende Vorteile: • Reduziert die Typenvielfalt von WKZ und FHM • Reduziert den Lager- und Umlaufbestand • Reduziert den Werkzeugverbrauch Während FATool am Anfang ausschließlich für die NC-Programmverwaltung ausgelegt war, wurde im Lauf der Zeit das Bedürfnis nach mehr Funktionalität größer, sodass heute verschiedene Module im Umlauf sind. Die Module, die in der Betriebsmittelverwaltung zum Einsatz kommen, werden im Folgenden dargestellt: • Klassifizierung Bei der Klassifizierung ist zu beachten, dass neue Materialien immer zuerst im führenden System Axalant anzulegen sind, denn nur dort wird eine eindeutige Materialnummer erstellt. Die eigentliche Klassifizierung wird aber häufig in FATool durchgeführt, da es übersichtlicher gestaltet ist und nicht alleine die Sachmerkmalattribute darstellt, sondern auch deren Beschreibung. • Komplettwerkzeug (KWZ) Verwaltung Dient der Verwaltung von Werkzeugen, die aus mehreren verschiedenen Bauteilen zusammengesetzt sind und an die CAM–Systeme übergeben werden können. • Bauteil (BTL) Verwaltung Umfasst alle Teile, die in irgendeiner Form weiter verwendet werden sollen, wie Bohrer, Fräser oder Wendeschneidplatten, wobei die Bauteile in der Klassifizierung nach DIN4000 gruppiert sind. • Allgemeine Sachmerkmalverwaltung Zu jedem Werkzeug sind die zugeordneten Merkmale und deren Werte abrufbar und 3 Werkzeugdatendarstellung und –austausch. – Übersicht, fundamentale Prinzipien und allgemeines Informationsmodell. 23 2. Systemlandschaft über eine Stückliste ist die Referenzierung in die Bauteilebene möglich. Der Zusammenbau der Stücklisten erfolgt normalerweise in CREO und wird in Axalant gespeichert. Die zugehörigen Werkzeuggrafiken können ebenfalls als 2D– oder 3D–Grafik eingesehen werden. Insbesondere die Verwaltung und Erstellung von Komplettwerkzeugen ist möglich. • Lagerverwaltung Die Lagerverwaltung unterteilt sich in die Gruppen Lagerstammdaten, physikalische Lagerdaten und Lagerfunktionen. Die Lagerstammdaten sind Voraussetzung um eine Lagerverwaltung aufzubauen, wie Artikeldaten, Lieferantendaten oder Lagerorte. Die physikalischen Daten beziehen sich auf Objekte, die tatsächlich vorhanden sind, also auf den Artikel mit Informationen zu Standort, Anzahl oder dem Prüfdatum. Zu den Lagerfunktionen zählen unter anderem das Bestellwesen sowie die Inventur. • Prüfmittelverwaltung Hier werden alle Prüf– und Messmittel eingetragen, sodass diese in regelmäßigen Abständen auf ihre Maßhaltigkeit überprüft werden können und dabei die entsprechenden Prüfungen, Durchführungstermine und Ergebnisse erfasst werden können. Ein weiterer wesentlicher Bestandteil ist die NC–Programmverwaltung in der alle Daten, die für ein NC–Programm erforderlich sind, verwaltet werden. In dieser Verwaltung ist auch die Kopplung mit dem CAM–System untergebracht und die Zuordnung von KWZ zu einem NC–Programm, die nicht nur für die CAM–Systeme wichtig sind, sondern auch für die Übergabe von Werkzeuginformationen an die CNC–Maschine. Neben der Maschinenverwaltung spielt in dieser Kategorie auch die Werkzeug–Ist–Datenverwaltung eine große Rolle. Hier werden die Maße aus der Werkzeugvoreinstellung verwaltet. Obwohl FATool inzwischen an vielen Standorten verfügbar ist, sind die Ausprägungen des Systems durch die Modulstruktur durchaus unterschiedlich. Im Folgenden wird auf die wichtigsten Eigenschaften des FDM–Systems eingegangen: Sachmerkmalleisten Der Aufbau von FATool ist durch die Sachmerkmalleisten bestimmt. Die SML sind unterteilt durch ihre Bildkennung, die darüber entscheidet welche Sachmerkmale zugeordnet werden. So können verschiedene Ausprägungen einer Gruppe klassifiziert werden, sodass nur eine Auswahl an Merkmalen angezeigt wird, um die Lesbarkeit zu erhalten. Sachmerkmale sind also Definitionen bestimmter Daten wie Artikelnummer, Durchmesser oder Werkstoff und werden in Gruppen zusammengefasst, den Sachmerkmalleisten. Jedes Sachmerkmal ist innerhalb des ganzen Systems eindeutig durch eine Sachmerkmal– ID (SMID) definiert. Alle Datensätze, die in der gleichen Sachmerkmalleiste abgebildet werden sollen, müssen daher mit den in der SML verfügbaren Merkmalen bestimmt werden können. Zur besseren Übersicht sind zusammengehörige Sachmerkmalleisten in Modulen gruppiert. Eine Übersicht über den Vorgang der Klassifizierung mit SML ist in Abbildung 2.7 dargestellt. 24 2.2. Applikationen im FDO–Bereich Abbildung 2.7.: Sachmerkmalleisten–System in FATool [Fas10] 25 2. Systemlandschaft Gruppen Die Authentifizierung zum Start der Applikation läuft über den Windows– Benutzernamen. Die Benutzerberechtigungen in FATool sind in Gruppen unterteilt, wobei beim Programmstart überprüft wird, ob der Benutzer in einer der entsprechenden Windows–Usergruppen eingetragen ist. Je nach Art der Anwendung gibt es im ZF–Konzern verschiedene Nutzergruppen, die mit einer dreistelligen Standortkennung beginnen. Für Passau ergeben sich hiermit vier Gruppen: • • • • PAS-FASYS-CAM, für die Programmierung PAS-FASYS-ADMIN, für Administratoren PAS-FASYS-VIEW, für die Arbeitsplanerstellung PAS-FASYS-DNC, für die Fertigung Innerhalb von FATool gibt es weitere Gruppen, die die Sichtbarkeit der einzelnen Module regeln. Diese Gruppen sind im Einzelnen: • • • • • • • • BTL, Bauteilverwaltung KAL, Prüfmittelverwaltung KWZ, Komplettwerkzeugverwaltung PVW, NC–Programmverwaltung SYS, FATool Administration LVS, Lagerverwaltung PMV, Prüfmittelverwaltung SML, Sachmerkmalleistenverwaltung Die einzelnen Module sind nur sichtbar, wenn der Benutzer in den entsprechenden Gruppen eingetragen ist. Berechtigungen FATool bietet auch die Möglichkeit die Funktionen auf einzelne Sachmerkmalleisten zu beschränken. Hierfür gibt es ein Berechtigungssystem, das auf jede einzelne Leiste angewendet werden kann. Kennung 0 1 2 3 4 Berechtigung kein Zugriff zeigen editieren anlegen löschen Tabelle 2.2.: Zugriffsrechte in FATool Die möglichen Berechtigungen sind in Tabelle 2.2 dargestellt, wobei diese Rechte addierend zu verstehen sind, sodass jede übergeordnete Berechtigung die darunterliegenden beinhaltet. Für jede Leiste werden zwei Kennungen zugeordnet, wobei die erste Berechtigungskennung für den Datensatz ist und die zweite für die dazugehörigen Dateien. Ein Auszug möglicher Konstellationen der Berechtigungskennungen ist in Tabelle 2.3 abgebildet und die Maske zur Vergabe von Berechtigungen auf Leistenebene mit Zuordnung von Standorten in FATool ist im Anhang A.2 unter Abbildung A.8 zu finden. 26 2.2. Applikationen im FDO–Bereich Datensatz 0 2 3 4 Dateien 0 0 3 4 Berechtigung Kein Zugriff auf Daten oder Dateien Editieren der Daten, kein Zugriff auf Dateien Anlegen von Datensätzen und Dateien Volle Zugriffsrechte Tabelle 2.3.: Auszug möglicher Berechtigungen in FATool Lizenzen FATool besitzt einen eigenen Lizenzserver, der dezentral für jeden Standort zur Verfügung steht und die Lizenzen an die lokalen Clients verteilt. Sollte ein Client die Applikation öffnen, so wird automatisch die richtige Lizenz vom Lizenzserver angefordert. Die richtige Anzahl an gekauften Lizenzen muss gut kalkuliert sein, denn ist das System unterlizenziert, so ist ein effektives Arbeiten nicht möglich, da auf freie Lizenzen gewartet werden muss. Eine Überlizenzierung ist aus betriebswirtschaftlicher Sicht nicht erstrebenswert. Dabei ist jedoch zwischen verschiedenen Arten von Lizenzen zu unterscheiden, je nachdem wie FATool verwendet wird. Eine Aufstellung der möglichen Lizenzen kann in Tabelle 2.4 eingesehen werden. Lizenz FATool View CAM INV ASM PCD COMx WVE PCDEdt MDE MDEMap DCOM EXT Beschreibung Basis-Lizenz Viewerlizenz (Read-only) Lizenz für die NC-Verwaltung mit Bereitstellungsfunktion Lizenz für die Lagerverwaltung Lizenz für die Werkzeugverwaltung Lizenz für die FAPcd IPC–DNC–Client Software Maschinenlizenz aus dem FAPcd Lizenz für die Werkzeugvoreinstellung Lizenz für FAPcd mit der Option „Editieren der SML–Datenbank“ Lizenz für Maschinen–Daten–Erfassung Lizenz für Maschinen im MDE Anzahl der max. Aufrufe vom DCOM–Server Lizenz für externe Schnittstellen (CREO, SolidWorks, etc.) Tabelle 2.4.: Lizenztypen für FATool Die PCD–Lizenz ist mit FAPcd4 für die Fertigung gedacht, wobei über sogenannte IPC– DNC–Clients5 das NC–Programm direkt auf die Maschine geholt wird. Die COM6 –Lizenz 4 FAPcd ist ein PC-bedientes DNC–System als Standardanwendung. Insel–PCs werden verwendet um mehrere Maschinen anzusteuern und mit NC-Programmen zu versorgen. 6 COM steht für eine serielle Schnittstelle bei der die Bits nacheinander über die Leitung übertragen werden. 5 27 2. Systemlandschaft wird ebenfalls in der Fertigung für Server benötigt, die Maschinen mit serieller Schnittstelle ansteuern. Mit PCDEdt kann an der Fertigungsmaschine das NC–Programm noch geändert werden. Die Module MDE7 , MDEMap8 und WVE werden in Passau nicht verwendet. Die DCOM9 –Lizenz wird für den DCOM–Server benötigt, der versucht die Netzwerklast zu verringern. 2.2.4. SAP Als ERP–System wird im ZF–Konzern SAP R/3 eingesetzt, das zur Steuerung und Verwaltung der Personalwirtschaft, der Logistik, der Arbeitsplanung und des Rechnungswesens dient. Da diese Faktoren keine allgemeine Systemlösungen zulassen, sondern höchstens branchenspezifisch ausgerichtet sind, muss das verwendete SAP –System in einem Customizing 10 –Prozess an die Erfordernisse des Unternehmens angepasst werden. Das führende System für die Materialstamm– und Stücklistenverwaltung bleibt jedoch Axalant. Abbildung 2.8.: Architektur der SAP–Systeme im ZF–Konzern Aus diesem Grund gibt es innerhalb der ZF eine Reihe vieler verschiedener lokaler ERP– Systeme, die an die unterschiedlichen Standorte angepasst sind und daher unabhängig voneinander funktionieren. Wie in Abbildung 2.8 dargestellt, ist allen lokalen Systemen ein SAP–Master übergeordnet, der die Daten aus Axalant an die lokalen ERP–Systeme verteilt, vorausgesetzt der SAP–Standort ist in Axalant für den jeweiligen Standort eingetragen. Durch diese enge Verknüpfung des PDM– und ERP–Systems ist es möglich fertigungsrelevante Informationen an die werksspezifischen Installationen zu verteilen. Die übertragenen Daten werden unter anderem genutzt, um Arbeitspläne zu erstellen, die Auslastung der Fertigungsmaschinen zu kontrollieren oder Bestellungen durchzuführen. 7 Lizenz zur Maschinendaten–Erfassung in der Applikation. Entsprechende MDE Lizenz für die Maschine. 9 Distributed Component Object Model ist ein RPC–System von Microsoft, das die Erstellung von Softwarekomponenten ermöglicht, die unabhängig von der Programmiersprache eingesetzt werden können und diese Komponenten über ein Rechnernetz kommunizieren zu lassen. 10 Unter Customizing versteht man die Anpassung eines Serienprodukts an die spezifischen betriebswirtschaftlichen Anforderungen eines Unternehmens. 8 28 2.3. Schnittstellen 2.2.5. EdgeCAM EdgeCAM ist das strategische CAM–System im ZF–Konzern, welches diverse CAD– native–Daten einlesen kann. Es dient der Erstellung von NC-Programmen für Fertigungsmaschinen im Bereich Drehen, Drehzentren, Bearbeitungszentren sowie Erodieren. Die NC–Programme müssen für die Steuerung der DNC–Maschinen übersetzt werden, wozu ein Postprozessor erforderlich ist, der in einer Compilersprache oder in einem PP– Assistenten innerhalb von EdgeCAM erstellt werden kann. Die in EdgeCAM über die Jahre stark verbesserte Simulation mit Darstellung von Werkzeugen und Fertigungsmaschinen, macht den Bedarf an zusätzlicher Software in der Fertigungssimulation geringer. Für Bauteile bei denen auf höchste Präzision gesetzt wird, kommt die Software NCSimul zusätzlich zur Simulation in EdgeCAM zum Einsatz. Dabei erlaubt NCSimul eine Simulation aller CNC–Steuerungen und Maschinen unter Berücksichtigung der physikalischen Maschinenachsen, sodass Programme nicht nur verifiziert, sondern auch optimiert werden können. 2.2.6. ProE/CREO Das strategische CAD–System im ZF–Konzern ist ProE, welches innerhalb der ZF im Jahre 2013 durch die neuere Version CREO ersetzt wurde. Dieses System wird primär für die Modellierung von 3D–Daten verwendet und wird gleichermaßen im PDO– als auch im FDO–Bereich eingesetzt. Für immer wiederkehrende Materialien verwendet CREO den normgerechten 3D–CAD– Katalog der Software PartSolutions. Hier findet man Standard–Bauteile, wie Schrauben, Unterlegscheiben oder Federn, die somit leicht in CREO als 3D–Modell importiert werden können. Für die Modellierung von 2D–Layouts, wie es häufig bei der Erstellung von Grundrissen vorkommt, wird im ZF–Konzern AutoCAD verwendet. 2.3. Schnittstellen FATool ↔ Axalant Zwischen Axlant und FATool besteht eine Schnittstelle, die je nach Art der übertragenen Daten entweder unidirektional oder bidirektional sein kann. Die unidirektionale Verbindung findet Verwendung bei der Übertragung von Geometriedaten, von 3D–, 2D– und nicht-digitalen Zeichnungen, sowie von Stücklisten. Da Axalant das zentrale Archiv aller Daten ist, ist es auch die Datenquelle für FATool. Nach FATool werden allerdings nur die relevanten FDO–Daten übertragen, sodass diese in beiden Systemen zur Verfügung stehen. Die Übertragung der SML–Daten stellt eine bidirektionale Verbindung dar, da sie die Basis der einheitlichen und systemübergreifenden Klassifizierung ist. Materialien müssen zwar wegen der Materialnummer immer in Axalant angelegt werden, da diese konzernweit eindeutig sein muss, die Klassifizierung kann jedoch auch in FATool vorgenommen werden. Nach der Aktualisierung der SML–Daten müssen diese anschließend wieder nach Axalant eingecheckt werden. Es werden allerdings nur Daten an FATool übertragen, die in Axalant freigegeben sind. 29 2. Systemlandschaft FATool → SAP Zwischen FATool und SAP besteht eine unidirektionale Schnittstelle. Dabei wird ein sogenannter Dokument–Info–Satz übertragen, der die Basisdaten zum eigentlich NC–Programm bereithält. Dieser beinhaltet den Arbeitsgang, die Maschinennummer, die NC–Programmnummer sowie den View des NC–Programms. FATool ↔ EdgeCAM Die Verbindung zwischen FATool und EdgeCAM ist bidirektional, denn FATool stellt die benötigten Daten zur Erzeugung der NC–Programme bereit, während die NC–Programme durch EdgeCAM erstellt bzw. bearbeitet und zurück übertragen werden. Dazu wird auf dem jeweiligen Client eine temporäre Datei gespeichert, die von EdgeCAM aufgerufen wird. Die für die Erstellung der NC–Programme benötigten Werkzeuge sind ebenfalls in FATool gespeichert und werden in den lokalen Toolstore von EdgeCAM geladen. Nachdem das Programm erstellt ist, wird der Toolstore wieder bereinigt und das fertige Programm zurück nach FATool übertragen. FATool ↔ ProE/CREO Die Schnittstelle zwischen FATool und CREO ist bidirektional, da FATool die nötigen Daten für das CAD–System zur Verfügung stellt. Dabei handelt es sich allerdings nur um die Metadaten, also die zugehörigen Merkmalswerte, während die CAD–Dateien selbst aus Axalant angefordert werden. Bei Änderungen an den Zeichnungen wird die entsprechende CAD–Datei wieder in Axalant abgespeichert, die geänderten Merkmalswerte zieht jedoch FATool beim Schließen der Schnittstelle. Durch eine interaktive Rückgabe zwischen FATool und Axalant werden die geänderten Merkmalswerte auch nach Axalant übertragen. Dabei ist zu beachten, dass die interaktive Rückgabe durch das Starten der Axalant–Applikation direkt am Client erfolgt. In FATool können außerdem Flächenmodelle aus den vorhandenen Merkmalsdaten erstellt werden. Dies geschieht durch einen im Hintergrund laufenden Generator, der von CREO zur Verfügung gestellt wird. Für Volumenmodelle sind in FATool parametrisierte Mastermodelle hinterlegt, die direkt an CREO übergeben werden. FATool ↔ DNC Distributed–Numerical–Control (DNC) bezeichnet computergestützte Werkzeugmaschinen, die in der Fertigung durch ein Computernetzwerk angesprochen werden können und die entsprechenden Bearbeitungsprogramme direkt in die Steuerung der Maschinen geladen werden können. Über FATool werden diese Fertigungsmaschinen mit den benötigten NC–Programmen versorgt, das ebenfalls die Auswahl der benötigten Werkzeuge enthält. Die Kommunikation zwischen FATool und der Maschine wird über einen als Proxy fungierenden DNC– Server in einer Demilitarized–Zone (DMZ) ermöglicht. Somit werden die Programme vom FATool –Server, der sich im Office–Netzwerk befindet, direkt über das sogenannte ShopFloor-Netzwerk in der Fertigung an die Maschine übergeben. Da es sich hier aber um eine bidirektionale Schnittstelle handelt, können Daten von der Maschine auch zurück an den FATool–Server übermittelt werden. Dies ist allerdings nur dann der Fall, wenn das Programm selbst Unstimmigkeiten beinhaltet und direkt an der Maschine geändert werden muss. 30 3. Grundlagen Das Thema dieser Arbeit ist die Architektur von FATool hinsichtlich einer Zentralisierung zu dokumentieren und analysieren. Dabei ist zunächst der Architekturbegriff zu klären, der vielfältige Ausprägungen besitzen kann und in verschiedenen Ebenen auftritt, die sich nicht leicht voneinander abgrenzen lassen. Abbildung 3.1.: Architekturpyramide [Sta08] Eine gelungene Trennung dieser Ebenen ist durch die Architekturpyramide in Abbildung 3.1 gegeben. Sie werden nach oben hin abstrakter und beeinflussen sich gegenseitig, sodass ihre Grenzen durch unter– oder übergeordnete Ebenen bestimmt sind. An der Spitze steht die Strategie in der die Ziele des Unternehmens formuliert werden, wobei hier ein klar definierter Zusammenhang zwischen Geschäftsprozessen und der IT steht. Darunter steht die Business–Architektur, die geschäftliche Prozesse und betriebswirtschaftliche Funktionen definiert. Die Informationsarchitektur definiert die Struktur und die Zusammenarbeit aller IT–Systeme eines Unternehmens, indem der Informationsfluss und die Schnittstellen der gesamten Systemlandschaft berücksichtigt werden. [Sta08] Während hier die Gesamtheit der Anwendungslandschaft betrachtet wird und die einzelnen Systeme als Bausteine gelten, beschäftigt sich die Softwarearchitektur mit dem detaillierten Aufbau eines einzelnen Bausteins. Durch ihre vielfältigen Aufgaben lässt sie sich nur schwer definieren und besitzt auch in der Fachliteratur eine Menge an unterschiedlichen Definitionen. In [BCK12] ist eine weitestgehend akzeptierte Version für die Definition von Softwarearchitektur zu finden: „The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the external visible properties of those components and the relationship among them.“ Es handelt sich also genauer um die Strukturierung des Systems, die Zerlegung in seine Teile, die Verantwortlichkeiten und das Zusammenspiel dieser Teile sowie deren Schnittstellen. Somit wird eine Vielzahl verschiedener Architekturentscheidungen in nur einem 31 3. Grundlagen Begriff zusammengefasst, wobei sehr unterschiedliche Punkte betroffen sein können. „Es kann um die Zerlegung des Gesamtsystems in Teile gehen (Strukturierung), um die Art, wie Fremdsysteme angebunden werden, um die Verwendung bestehender Bibliotheken, Komponenten oder Frameworks (make or buy?) und vieles mehr.“ [Zör12] Am Boden der Pyramide ist die IT-Infrastruktur angesiedelt, die sich generell mit Themen wie Hardware, Netztopologie und den eingesetzten Betriebssystemen und Datenbanksystemen beschäftigt. Die Ebenen Informationsarchitektur und Softwarearchitektur werden durch den Überbegriff Unternehmensarchitektur bzw. IT–Architektur zusammengefasst. Sie beschreibt die Elemente der IT und ihre Zusammenhänge untereinander sowie zu ihrer Umwelt und bietet daher eine abstrahierte, unternehmensweite Sicht auf alle Systeme in einem Unternehmen, um Lücken und Redundanzen in der Struktur und den Komponenten der IT schneller zu erkennen. [JS08] Sie ermöglicht außerdem eine reibungslose Unterstützung von Geschäftsprozessen durch Softwaresysteme und wird daher auch als Business–IT–Alignment bezeichnet. [Sta08] Vor diesem Hintergrund trifft für diese Arbeit der Begriff Softwarearchitektur am ehesten zu, da es sich um die Zerlegung eines einzelnen Systems handelt. Wenn auch die Sichtweise auf die Komponenten durch die Blackbox–Sicht eingeschränkt ist, so können doch die externen Merkmale sowie die Schnittstellen zu anderen Systemen charakterisiert werden. Wie in Abbildung 3.2 dargestellt ist, kann daher der innere Aufbau des Systems nicht beschrieben werden, sodass es sich hier bei der Architekturbeschreibung weniger um einen Bauplan als mehr um einen Ablaufplan handelt. Abbildung 3.2.: Blackbox [SH11] und Whitebox Die Aufgaben, die es innerhalb der Softwarearchitektur zu bewältigen gilt, sind ebenso schwer zu benennen wie ihre Definition. Die Hauptbereiche werden in [SH11] allerdings zu den folgenden zusammengefasst werden: • Anforderungen und Randbedingungen klären • Strukturen entwerfen • Technische Konzepte entwerfen • Architektur kommunizieren • Umsetzung begleiten • Architektur bewerten 32 Da im Rahmen dieser Arbeit die Strukturen durch das bestehende FATool bereits vorgegeben sind, ist der erste Schritt die Architekturdokumentation in der der Ist–Zustand charakterisiert und dokumentiert wird. Sind die Grundlagen geschaffen, können die Anforderungen an das neue System gestellt und in der Anforderungsanalyse richtig formuliert werden. Kriterien zur Bewertung von Architekturen werden ebenfalls erarbeitet. Das kommunizieren der Architektur ist ein begleitender und parallel stattfindender Prozess, der genauso wie die Umsetzung in dieser Arbeit nicht betrachtet wird. In Abbildung 3.3 ist die sog. „Architekturbrezel“ dargestellt, die aufzeigt, dass sich diese Arbeit nur auf den linken Teil der „Brezel“ beschränkt. Nachdem die Ziele in einem ersten Schritt in Form von funktionalen und nicht–funktionalen Anforderungen erhoben und detailliert beschrieben werden, kann die Architektur entwickelt werden, die durch Modelle und Konzepte charakterisiert ist. Abschließend werden diese Konzepte bewertet. Die rechte Seite der „Brezel“ ist explizit nicht Teil dieser Arbeit und beschäftigt sich mit der Implementierung und Evaluation sowie der Erarbeitung von Metriken zum Überwachen der Umsetzung. Abbildung 3.3.: „Architekturbrezel“ [Zör12] Die Gliederung dieses Kapitels unterliegt somit dem logischen Aufbau dieser Arbeit. Zunächst muss das bestehende System analysiert werden, sodass die benötigten Anforderungen an das Soll–Konzept erarbeitet werden können. Die gefundenen Schwachstellen müssen anhand von Anforderungen im Soll–Konzept gelöst werden. Eine abschließende Bewertung stellt das Soll–Konzept den Schwachstellen des Ist–Zustands gegenüber und zieht Bilanz ob diese erfüllt werden oder neue Schwachstellen entstehen lassen. 33 3. Grundlagen 3.1. Systemanalyse Der Erfolg einer Systemanalyse hängt explizit von der Qualität der Systemdokumentation ab. Da beide Begrifflichkeiten in der Literatur vorzufinden sind, aber nicht klar voneinander abgrenzbar sind, da sie sich denselben Techniken bedienen, werden beide in diesem Kapitel zusammengefasst behandelt. Die Systemanalyse kann dabei auf zweierlei Arten verstanden werden. Wenn ein bestehendes System so abgebildet wird wie es in der Realität vorzufinden ist, dann spricht man von der Ist–Analyse. Wird spezifiziert wie ein zukünftiges System auszusehen hat, dann spricht man von der Soll–Analyse. [Rup13] Um die gewonnen Ergebnisse explizit festzuhalten, werden diese in einer Dokumentation zusammengefasst. Der Begriff Dokumentation wird im Duden definiert mit dem „Zusammenstellen und Nutzbarmach[en] von Dokumenten, Belegen und Materialien jeder Art“. Somit hilft uns die Dokumentation Lösungen zu finden und diese nachvollziehbar und bewertbar zu machen. Ein weiterer Grund, der eine Dokumentation von Architekturen unabdingbar macht, sind Softwaresysteme, die viele Jahre im Einsatz sind und kontinuierlich weiterentwickelt werden, sodass durch unzureichende Dokumentation eine mangelnde Wartbarkeit entsteht und jede Änderung zu einem Risikospiel wird. (vgl. [Ahl12], S.12) Deshalb ist es ratsam, das Wissen, das in verschiedenen Köpfen steckt auf Papier zu bringen, um die Nachvollziehbarkeit der Systeme auch weiterhin aufrecht zu erhalten. Es ist auffällig, dass sich die in der Softwarearchitektur verwendeten Begriffe nicht immer eindeutig definieren lassen und ihnen nur schwer eindeutige Tätigkeiten zuzuordnen sind. Dies liegt einerseits an der Vielfältigkeit verschiedener Softwareprojekte, aber andererseits auch an einem fehlenden standardisierten Vorgehen für die Analyse und Dokumentation von Softwarearchitekturen. In anderen Disziplinen wie der Gebäudearchitektur gibt es längst standardisierte Verfahren zur Planerstellung, sodass jeder Konstrukteur die Konstruktionszeichnungen seiner Kollegen verstehen und weiterentwickeln kann. Auch in der Softwarearchitektur gibt es Ansätze in Form von Vorgehensmodellen und Frameworks, die versuchen einen Leitfaden für den Aufbau von Architekturen zu liefern und dabei ebenfalls ihre Individualität wahren. 3.1.1. Standards Ein Standard zur Beschreibung von Architekturen wurde von der IEEE Computer Society mit der Norm ANSI/IEEE 1471-2000 geschaffen. Diese wurde am 21. September 2000 freigegeben und am 15. Juli 2007 als ISO/IEC 42010 übernommen und gilt seither als internationaler Standard. Am 24. November 2011 wurde dieser Standard überarbeitet und erweitert. Die Norm bildet den Grundstein für Architekturbeschreibungen, bestimmt jedoch nicht wie die Architektur selbst auszusehen hat. Die Anwendungsgebiete für Architekturbeschreibungen sind im Einzelnen: • Beschreibung des Systems und dessen Entwicklung • Kommunikation unter den Stakeholdern des Systems 34 3.1. Systemanalyse • Bewertung und Vergleich von Architekturen • Planung, Management und Ausführung von Aufgaben der Systementwicklung 3.1.1.1. ISO/IEC/IEEE 42010:2007 Der vollständige Name dieser Norm lautet „Recommended Practice for Architectural Description of Software-Intensive Systems“ und standardisiert Architekturbeschreibungen für softwareintensive Systeme, die sich dadurch auszeichnen, dass das Design, der Aufbau, die Bereitstellung und die Evolution des ganzen Systems durch Software wesentlich beeinflusst wird. In Abbildung 3.4 ist dass Schlüsselkonzept der IEEE 1471-2000 abgebildet, das neben den Systemkomponenten auch die Einflussfaktoren auf das System und die nötigen Elemente zur Architekturbeschreibung berücksichtigt und in Relation stellt. Abbildung 3.4.: Konzeptionelles Architekturmodell nach IEEE42010:2007 [ISO07] Der Begriff System umfasst dabei individuelle Anwendungen von traditionellen Systemen, über Subsysteme, Produktlinien, Produktfamilien bis hin zu ganzen Unternehmen. Jedes 35 3. Grundlagen dieser Systeme ist bestimmt durch seine Umwelt, die die äußeren Einflüsse verkörpert und somit die Grenzen bezüglich der Anwendungsbereiche setzt. Ein oder mehr Stakeholder 1 haben Interessen am oder Belange an das System, wobei Belange diejenigen Anforderungen repräsentieren, die durch mehrere Stakeholder vertreten werden. Sie beziehen sich auf für die Entwicklung relevante Faktoren wie Performanz, Zuverlässigkeit, Sicherheit, Verteilung oder Evolvierbarkeit. Ein System existiert im Allgemeinen, um einen Auftrag in seiner jeweiligen Umwelt zu erfüllen, der wiederum durch die Stakeholder definiert wird. Ein System besitzt des Weiteren eine zugrunde liegende Architektur, die durch eine Architekturbeschreibung erfasst wird. Diese besteht selbst aus mehreren Bestandteilen und wird durch Sichten organisiert, die die Belange der Stakeholder widerspiegeln. Die Bedingungen für die Erstellung, Abbildung und Analyse von Sichten wird durch Sichtweisen festgelegt, die die Sprachen zur Beschreibung oder die Analysemethoden vorschreiben. Die Sichten sind zusammengesetzt aus einem oder mehreren Architekturmodellen, die aus den in den Sichtweisen festgelegten Regeln erstellt werden. Ein Architekturmodell kann dabei in mehr als einer Sicht beteiligt sein. [ISO07] Eine Architekturbeschreibung nach der ISO 42010:2007 muss die folgenden Kriterien beinhalten: • Kennzeichnung (ID), Versionsnummer und Übersichtsinformationen Ausstellungsdatum und Status, ausstellende Organisation Änderungshistorie, Zusammenfassung, Anwendungsbereich Kontext, Glossar, Referenzen • Identifikation der Stakeholder und ihre für das System relevanten Belange Benutzer, Erwerber, Entwickler, Instandhalter des Systems Ziel / Aufgabe des Systems Eignung des Systems, Durchführbarkeit, Risikoabschätzung Wartbarkeit, Einsatzfähigkeit, Evolvierbarkeit • Spezifikation einer jeden Sichtweise, die für die Repräsentation der Architektur ausgewählt wurde sowie die Begründung der Auswahl Kennzeichnung (Name), Stakeholder, Belange Beschreibungssprache, Modellierungstechniken, analytische Methoden • Eine oder mehrere Architektursichten 1 Kennzeichnung (ID) und einleitende Informationen Als Stakeholder wird eine Person oder Gruppe bezeichnet, die ein berechtigtes Interesse am Verlauf oder Ergebnis eines Prozesses oder Projektes hat. 36 3.1. Systemanalyse Darstellung des Systems mit den Sprachen, Methoden und Techniken der zugeordneten Sichtweise und Informationen zu Konfigurationen • Eine Beschreibung aller Inkonsistenzen unter den geforderten Bedingungen für eine Architekturbeschreibung • Eine Begründung für die Auswahl der Architektur 3.1.1.2. ISO/IEC/IEEE 42010:2011 Der vollständige Name der aktualisierten Norm lautet nun „Achitecture description“ und verwendet die bereits bekannten Sichtweisen von Architekturen, ein erweitertes Framework und zusätzlich Beschreibungssprachen für Architekturen. Abbildung 3.5.: Konzeptionelles Architekturmodell nach IEEE42010:2011 [ISO11] Der wesentliche Unterschied der aktualisierten Norm ist, dass die Architekturbeschreibung als eigentliches Produkt mehr in das Zentrum gerückt ist und nun aus mehreren Bestandteilen zusammengesetzt ist, wie in Abbildung 3.5 ersichtlich wird. Weiterhin hat 37 3. Grundlagen ein System eine Architektur, wobei dies etwas abstraktes darstellt und nur durch seine Beschreibung greifbar wird. Somit stellt die Beschreibung die eigentliche Architektur dar, wodurch das System identifizierbar wird. Stakeholder des Systems haben Belange, die durch Anforderungen, durch Designentscheidungen, die Implementierung und den Betrieb entlang des Systemlebenszyklus entstehen. Sowohl die Stakeholder als auch ihre Belange werden eindeutig durch die Architekturbeschreibung bestimmt. Die Belange werden durch Architektur–Sichten repräsentiert, die wiederum durch Sichtweisen in ihrer Erstellung, Interpretation und Analyse festgelegt sind. Die Sichten bestehen aus einem oder mehreren Architektur–Modellen, wobei Modellierungskonventionen von den Belangen abgeleitet werden. Diese Konventionen sind durch die Modellart festgelegt, die dieses Architektur–Modell bestimmen. Neue Elemente dieser Norm sind Korrespondenzen, die verwendet werden um Relationen zwischen einfachen Elementen auszudrücken. Jedes Konstrukt der Architekturbeschreibung kann ein solches einfaches Element sein, wobei die Korrespondenzen selbst durch die Korrespondenzregeln geleitet werden. Ein weiterer Bestandteil ist die Architektur– Begründung, die Erläuterungen und Argumentationen für bereits getroffene Architekturentscheidungen umfasst. Diese kann den Grund für Entscheidungen, mögliche Alternativen, eingegangene Kompromisse, mögliche Konsequenzen und Quellenangaben zu weiterführenden Informationen beinhalten. [ISO11] Eine Architekturbeschreibung nach der Norm IEEE 42010:2011 muss die folgenden Inhalte berücksichtigen: • Kennzeichnung der Architekturbeschreibung und Übersichtsinformationen • Identifikation der Stakeholder und ihrer Belange Benutzer, Betreiber, Erwerber, Besitzer, Anbieter, Entwickler, Erbauer, Instandhalter des Systems Zweck des Systems und die Eignung der Architektur um diesen Zweck zu erfüllen Potentielle Risiken und Einflüsse während des Lebenszyklus des Systems auf ihre Stakeholder Machbarkeit, Wartbarkeit und Evolvierbarkeit des Systems • Definition einer jeden Sichtweise, die in der Architekturbeschreibung verwendet wurde Belange, die durch diese Sichtweise betroffen sind und die dazugehörigen Stakeholder Modellarten, die in der Sichtweise verwendet werden und die verwendeten Modellierungssprachen, Begriffe, Konventionen, Techniken und analytische Methoden Referenzen zu den Quellen 38 3.1. Systemanalyse • Eine Sicht und ein Modell für jede genutzte Sichtweise Identifizierende Informationen sowie die Zuweisung der leitenden Sichtweise Architektur–Modelle, die alle Belange der leitenden Sichtweise berücksichtigen und das ganze System abdecken Aufnahme aller Probleme innerhalb einer Sicht bezogen auf die leitende Sichtweise • Geeignete Korrespondenzregeln, Korrespondenzen und eine Aufzeichnung aller Inkonsistenzen zwischen den erforderlichen Inhalten einer Architekturbeschreibung • Begründungen für die getroffenen Architekturentscheidungen 3.1.2. Architektur–Frameworks Die Verwendung von Architektur–Frameworks ist begründet in der Größe von Unternehmensarchitekturen und der Vielzahl an unterschiedlichen Komponenten, die dabei zum Einsatz kommen und somit sichergestellt wird, dass alle benötigten Aspekte berücksichtigt werden. Auch kann das Verwenden einer vordefinierten Struktur dabei helfen die Kommunikation zwischen den Stakeholdern zu verbessern. Sie wahren einen ganzheitlichen Blick auf die IT eines Unternehmens und berücksichtigen dabei die Organisation und zu verwendende Technologien bei der strategischen IT–Planung. Allerdings lassen sich Frameworks nur selten generisch verwenden, da sich große Unternehmen auch durch unterschiedliche Anforderungen auszeichnen und somit spezielle Anpassungen an den Frameworks nötig sind. Heutzutage gibt es daher mehr als 70 verschiedene Enterprise–Architecture–Frameworks auf dem Markt. Allen Frameworks gemeinsam ist jedoch, dass die jeweilige Unternehmensarchitektur durch verschiedene Sichten und Aspekte beschrieben wird. Die Sichten lassen sich abstrakt einordnen in eine Businessarchitektur, Datenarchitektur, Applikationsarchitektur und eine Technologiearchitektur. Die adressierten Aspekte sollen dabei eine Antwort liefern auf die Fragen: „Was?, Wie?, Wo?, Wer?, Wieso?, Wann?, Wohin? und Warum?“. [Han13] 3.1.2.1. Zachman Enterprise Architecture Framework Das Zachman–Framework ist eines der ersten und bekanntesten Architekturframeworks und beeinflusst auch noch heutige Frameworks maßgeblich. Es stellt die Analogie zwischen der IT– und Gebäudearchitektur her, die ähnlich komplex ist und ebenfalls die ganzheitliche Betrachtung von Architekturen fordert. [Kel12] „Entwurfsziel des Frameworks war die Bereitstellung von Beschreibungskonzepten, die geeignet sind, die vielfältigen Schnittstellen von Komponenten eines Informationssystems sowie deren Integration in die Organisation darzustellen.“ [Han13] 39 3. Grundlagen Auch beim Zachman–Framework kommen verschiedene Sichten zum Einsatz, die entlang der Zeilen angeordnet sind, wobei der Detaillierungsgrad der Ebenen von oben nach unten zunimmt. Oft spricht man hier auch von verschiedenen Rollen. Die Aspekte sind entlang den Spalten angeordnet und sind im Gegensatz zu den Sichten nicht sortiert. „Jede Sicht wird unter dem jeweiligen Blickwinkel des Aspekts beleuchtet und in den Spalten der Matrix dargestellt. Die Kombination aus allen Einträgen ergibt ein Gesamtbild des Unternehmens.“ [Han13] In Abbildung 3.6 ist die Matrix zum Zachman Enterprise Architecture Framework visualisiert. Abbildung 3.6.: Zachman–Framework [JS08] Somit ergeben sich 36 Kategorien um alle beteiligten Objekte darzustellen, sodass die Stakeholder aus den verschiedenen Sichten auf das Modell schauen können. Jeder dieser Sichten berücksichtigt dabei die Bedingungen der übergeordneten. Es ist allerdings auch möglich, dass untergeordnete Sichten übergeordnete beeinflussen, wobei die Bedingungen der einzelnen Sichten additiv zu verstehen sind. Dabei wird bei den Sichten unterschieden zwischen Planer, Besitzer, Designer, Builder, Programmierer und Nutzer. Die Perspektiven ergeben sich aus der Kombination mit den Aspekten Daten, Funktion, Netzwerk, Personen, Zeit und Motivation. Das Zachman–Framework ist allerdings nicht sehr weit verbreitet, da es extrem umfangreich ist und in der Praxis mehr auf prozessorientierte Vorgehensweisen gesetzt wird als auf modellzentrierte. [Kel12] 40 3.1. Systemanalyse 3.1.2.2. TOGAF The Open Group Architecture Framework ist das aktuell bekannteste und meist verwendete Modell zur Planung, Entwicklung und Wartung von Unternehmensarchitekturen. Es bietet einen generischen Ansatz, der versucht ein breites Spektrum an Anforderungen abzudecken, sodass auch TOGAF wie schon das Zachman–Framework für eine ad-hoc Anwendung zu schwergewichtig ist. Es kann jedoch leicht um Bestandteile anderer Frameworks ergänzt werden und umfasst den kompletten Lebenszyklus einer Unternehmensarchitektur, wobei immer die Informationslandschaften im Vordergrund stehen. [Han13] Das Modell einer Unternehmensarchitektur wird in TOGAF in 4 Domänen unterteilt: • Geschäftsarchitektur betrachtet die Strategie, die Geschäftsprozesse und die Organisation des Unternehmens. • Datenarchitektur beschreibt die Daten und deren Zusammenhänge sowie Prinzipien, die für die Geschäftsprozesse und Organisation benötigt werden. • Anwendungsarchitektur verwaltet die Anwendungen sowie deren Beziehungen untereinander und zu den Geschäftsprozessen. • Technologiearchitektur beschreibt die aktuelle technische Realisierung der IT– Infrastruktur sowie die technischen Standards. Die Datenarchitektur und die Anwendungsarchitektur werden oft zur Informationssystemarchitektur zusammengefasst. Die Dokumentation von TOGAF ist in sieben Abschnitte unterteilt, wobei die wichtigsten Teile die Architecture Development Method, das Architecture Content Framework und das Architecture Capability Framework sind. Abbildung 3.7.: Architecture Development Method2 1 In Abbildung 3.7 sind die acht Phasen der Architecture Development Method zu sehen. Die ersten beiden Phasen Prelim und A legen den Architekturkontext mit seinen Zielen und dem Zeitraum fest. Die Phasen B - D sind verantwortlich für die Architekturinhalte mit Ist– und Soll–Zustand der spezifischen Teilarchitekturen. Die Phasen E und F heißen Architekturtransitionsplanung und zeigen Möglichkeiten zur Realisierung mit entsprechender Bewertung auf. Die Phasen G und H sind die Steuerung der Implementierungsprojekte zur Überwachung, dass das Projekt den Anforderungen aus dem Soll–Konzept entspricht. Im letzten Schritt werden neue Anforderungen gesammelt, die für einen erneuten Durchlauf des Zyklus ausschlaggebend sind. http://pubs.opengroup.org/architecture/togaf8-doc/arch/Figures/adm.gif (abgerufen am 04. Februar 2014) 41 3. Grundlagen 3.1.2.3. arc42 Die Autoren Hruschka und Zörner bringen mit arc42 ein frei verfügbares Template auf den Markt, das vor allem übersichtlich und praxisorientiert ist. Angetrieben von der Problematik, dass viele Frameworks oder Vorgehensmodelle überladen sind und es mit hohem Aufwand verbunden ist solche Modelle überhaupt einsetzbar zu machen, wird mit arc42 eine leichtgewichtige Strukturvorlage geliefert, die lediglich eine feste Gliederung vorsieht. Natürlich ist diese Gliederung im Laufe der Zeit gewachsen und hat sich inzwischen bei vielen Projekten bewährt, sodass sie dem Architekten vor allem Zeit erspart, auch wenn durch eine feste Gliederung nicht immer alle Eventualitäten eines Softwareprojekts abgedeckt werden können. Sie ermöglicht neben dem Architekturprozess auch die Architekturdokumentation, wobei der Fokus allerdings auf einem einzelnen Softwaresystem liegt. Im Folgenden wird die Gliederung des Templates inhaltlich vorgestellt, das in drei Teile aufgeteilt ist. Der erste Teil widmet sich dem Problemraum, im zweiten Teil geht es um die Lösungsbeschreibung und im dritten Teil folgt eine Bewertung der Lösung. [Zör12] 1. Einführung und Ziele Beschreibung von Sinn und Zweck des Systems mit seinen funktionalen und nicht–funktionalen Anforderungen. Es wird mehr Wert auf Übersichtlichkeit gelegt als auf Vollständigkeit, da ein Einstieg in das zu lösende Problem geschaffen werden soll. Kurz und knapp sollen die Aufgabenstellung sowie die Qualitätsziele im Hinblick auf die wesentlichen Architekturziele beschrieben werden. 2. Projektbeteiligte Aufzählen von Personen oder Organisationseinheiten die das System und seine Architektur beeinflussen. Des Weiteren muss benannt werden, wie die jeweiligen Stakeholder mit dem System in Berührung stehen und was sie für das System leisten müssen. 3. Randbedingungen sind diejenigen Faktoren, die die Freiheitsgrade bei Entwurfsentscheidungen begrenzen und sind meist von Auftraggebern oder Stakeholdern vorgegeben. Man unterscheidet zwischen technischen Randbedingungen, wie Hardware, Software und betriebliche Randbedingungen (Betriebssystem, Datenbanken), organisatorischen Randbedingungen, wie Gesetzte, Vorschriften, Normen, Standards und Regularien, und Konventionen in Form von Programmier–, Dokumentations– oder Namenskonventionen. 4. Kontextabgrenzung Die Kontextabgrenzung sieht das ganze System als Blackbox mit seinen externen Schnittstellen und stellt eine Top–Level–Darstellung dar. Sie berücksichtigt auch Nachbarsysteme, die Schnittstellen zwischen ihnen, die ausgetauschten Daten sowie Datenformate, die Übertragungskanäle und Metainformationen. Man unterscheidet zwischen einem fachlichen Kontext, in dem die Funktion und das Umfeld des Systems aus einer geschäftlichen oder fachlichen Perspektive beleuchtet wird und dem technischen bzw. Verteilungskontext, in dem die technischen Kanäle und Übertragungsmedien zwischen dem System, seinen Nachbarn und deren Umgebung beschrieben wird. 42 3.1. Systemanalyse 5. Lösungsstrategie Hier wird ausgehend von der Aufgabenstellung, den Randbedingungen und den Qualitätsmerkmalen für die zentralen Entwurfsentscheidungen argumentiert. 6. Bausteinsicht Die Systembestandteile werden als Bausteine bezeichnet und stellen die statischen Strukturen des Systems dar. Durch eine Top–Down–Verfeinerung soll das System immer weiter in seine Bestandteile aufgebrochen werden, wobei immer zwischen Black– und Whitebox zu differenzieren ist. Da wir das System nicht in seine einzelnen Bestandteile zerlegen können, sondern als Blackbox betrachten, ist diese Sicht nur sehr eingeschränkt anwendbar. 7. Laufzeitsicht Diese Sicht verdeutlicht die Wirkungsweise des Systems zur Laufzeit. Neben der Zusammenarbeit von Laufzeitkomponenten, beschreibt diese Sicht auch konkrete, exemplarische Abläufe, die klären wie das System die wichtigsten fachlichen und technischen Anwendungsfälle bearbeitet. 8. Verteilungssicht Diese Sicht beschreibt die Ausführungsumgebungen des Systems, die in Form von Knoten (Prozessoren, Rechner, Speicher) angegeben werden. Auf ihnen werden Softwarebestandteile des Systems ausgeführt oder Daten gespeichert. 9. Typische Muster, Strukturen und Abläufe Dieses Kapitel dient um Redundanzen zu vermeiden, indem typische Strukturen oder Grundmuster, die oftmals innerhalb der Architektur wiederkehren, nur einmal beschrieben werden. 10. Technische Konzepte Hier werden die zentralen technischen Entscheidungen dargelegt, deren Verständnis für Projektbeteiligte von großer Bedeutung ist. Neben ihrer Beschreibung, gehört auch eine Begründung für die getroffenen Entscheidungen und eine Evaluation mit möglichen Alternativen in dieses Kapitel. 11. Entwurfsentscheidungen Hier werden die wesentlichen Entwurfsentscheidungen beschrieben, die sich in folgende Kategorien einordnen lassen: • Entscheidungen mit lang anhaltender Wirkung • Entscheidungen mit Überraschungseffekt für zukünftige Architekten • Entscheidungen unter hohem Risiko oder Zeitdruck getroffen • Entscheidungen mit enormer Auswirkung auf die Qualitätsmerkmale 12. Qualitätsszenarien werden aufgestellt, um mögliche Risiken und Nicht–Risiken hinsichtlich der geforderten Qualitätsmerkmale zu identifizieren. Auf Basis dieser Szenarien lassen sich die Qualitätsmerkmale operationalisieren und messbar machen. 13. Risiken Dieses Kapitel enthält eine geordnete Liste der erkannten technischen Risiken. 14. Glossar Eine Liste oder Tabelle der wichtigsten Begriffe mit Definition. 43 3. Grundlagen 3.2. Anforderungsanalyse Auf Basis der Anforderungen entsteht die Architektur, deshalb ist es besonders wichtig eine hohe Qualität bei der Beschreibung der Anforderungen zu gewährleisten. Generell sind Anforderungen als vom System bereitgestellte Funktionen zu verstehen. Die IEEE Computer Society beschreibt Anforderungen als: 1. „A condition or capability needed by a user to solve a problem or achieve an object.“ 2. „A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.“ 3. „A documented representation of a condition or capability as in 1. or 2.“ Eine Anforderung kann also eine abstrakte Beschreibung eines Services oder eine detaillierte funktionale Spezifikation sein, die entweder von einem Benutzer gebraucht wird oder vom System eingehalten werden muss. Sie dienen außerdem als Grundlage für weitere Prozessschritte und werden daher oft als Vertragsgrundlage genutzt. [GBBK10] Dabei sind Anforderungen allerdings oft nicht stabil, sodass sie sich während des Prozessfortschritts ändern. Ein häufiges Problem sind Widersprüchlichkeiten zwischen Anforderungsbeschreibungen, die zu Inkonsistenzen führen können, wenn viele Stakeholder am Projekt beteiligt sind und viele verschiedene Interessen verfolgt werden. Dies kann man vermeiden, indem man Anforderungen nach ihrer Relevanz priorisiert oder in stabile und volatile Anforderungen aufteilt, sodass auf Änderungen entsprechend schnell reagiert werden kann. Es gibt Kriterien durch die sich gute Anforderungen auszeichnen. Sie sind eindeutig definiert und abgegrenzt, verständlich, atomar, identifizierbar, einheitlich, notwendig und nachprüfbar. [GBBK10] Eine bekannte Klassifikation von Anforderungen ist die Aufteilung in funktionale und nicht–funktionale Anforderungen, wie sie in Abbildung 3.8 dargestellt ist. Während funktionale Anforderungen Funktionen beschreiben, die das System zur Verfügung stellen soll, beziehen sich nicht–funktionale Anforderungen eher auf Qualitätsmerkmale, statt ein spezifisches Verhalten zu definieren. Funktionale Anforderungen treffen also konkrete Aussagen wie das System auf bestimmte Eingaben reagieren oder sich in bestimmten Situationen verhalten soll. 44 Abbildung 3.8.: Klassifikation von Anforderungen [Rup13] 3.2. Anforderungsanalyse Die nicht–funktionalen Anforderungen beziehen sich auf das ganze System und nicht auf einzelne Systemfunktionen, wobei sie sichtbare Eigenschaften des Systems charakterisieren, wie Benutzerfreundlichkeit, Zuverlässigkeit oder Sicherheit. Die Trennung der beiden Begrifflichkeiten ist deshalb oft problematisch, denn erschließt man nicht–funktionale Anforderungen genauer, werden sie zu funktionalen. Die abstrakte Beschreibung der nicht–funktionalen Anforderungen führt zu einer weiteren Unterteilung in Qualitätsanforderungen und Randbedingungen. Die Qualitätsanforderungen spezifizieren detailliert die Qualität von Systemfunktionen und beziehen sich daher auf funktionale Anforderungen. Bezogen auf die „Zuverlässigkeit“ kann als Eigenschaft eines Qualitätsmerkmals zum Beispiel die „Fehlertoleranz“ angegeben werden. Randbedingungen schränken den Handlungsspielraum der Systementwicklung weiter ein und beinhalten als Beispiel Vorgaben an die Hardware. [Rup13] Zu Beginn der Anforderungsanalyse wird zunächst der Scope bestimmt, der den Umfang des Systems definiert. In dieser Analysephase wird der fachliche Umfang festgelegt, der sicherstellt, dass die Anforderungen auf Umsetzbarkeit geprüft werden und durch das explizite aufstellen von Nicht–Zielen das richtige System entwickelt wird. Die Anforderungsanalyse umfasst also das Erstellen und Warten eines Anforderungsdokuments bezüglich des Systems und dient der Bestimmung, Dokumentation und Überprüfung von Anforderungen. [Som07] 3.2.1. Methoden Die Anforderungen sind das Produkt der Anforderungsanalyse für deren Herleitung es verschiedene Methoden gibt: • Nicht–strukturierte Methoden: Natürliche Sprache • Semi–strukturierte Methoden: Basieren auf natürlicher Sprache, werden aber durch Vorlagen, ein eingeschränktes Vokabular und ergänzende Eigenschaften vorgegeben • Strukturierte Methoden: Folgen einer definierten Syntax, Notation oder formalen Spezifikation Im Folgenden werden bewährte Methoden zum Sammeln von Informationen über vorhandene Systeme und das anschließende Herauslösen von Benutzer– und Systemanforderungen vorgestellt. [GBBK10] 3.2.1.1. Anwendungsfälle (Use–Cases) Die Anwendungsfälle beschreiben die Erwartung der Umwelt an ein System auf Grundlage der Interaktionen zwischen dem Nutzer und dem System, indem der Nutzer ein fachliches Ziel zu verwirklichen versucht. Dabei sollen alle möglichen Szenarien berücksichtigt wer- 45 3. Grundlagen den, wobei der Detaillierungsgrad beliebig fein gewählt werden. [GBBK10] Eine bewährte Vorlage zur Beschreibung von Anwendungsfällen lieferte Cockburn mit folgendem Ansatz: Name und Identifier : Benennung mit geordneter Nummerierung Beschreibung Beteiligte Akteure: involvierte Personen oder Systeme Status: Fortschritt des Anwendungsfalls Verwendete Anwendungsfälle: Verwendung anderer Anwendungsfälle Auslöser: Gründe für das Ausführen eines Anwendungsfalls Vorbedingungen: Bedingungen, die eine Ausführung nach sich ziehen Invarianten: Bedingungen, die nicht verändert werden dürfen Nachbedingungen: Der zu erwartende Zustand nach erfolgreichem Durchlauf Standardablauf: Darstellung eines typischen Szenarios Alternative Ablaufschritte: Szenarien, die ebenfalls auftreten können Hinweise: kurze Beschreibung und Erklärung zum besseren Verständnis Änderungsgeschichte: Versionierung mit Autor und Datum Nicht nur das Systemverhalten kann durch Use–Cases sehr intuitiv beschrieben werden, sie dienen auch zur Abgrenzung der Nachbarsysteme, sodass der Betrachtungsgegenstand festgelegt werden kann. Zur modellhaften Beschreibung von Anwendungsfällen werden oft Sequenzdiagramme verwendet, auf die in Kapitel 3.2.2.1 eingegangen wird. 3.2.1.2. User–Stories Bei User–Stories beschreibt der Kunde selbst in wenigen Sätzen die Systemfunktionalität, wobei jede Story genau eine Funktionalität realisiert. Der Kunde ist über den ganzen Entwicklungszeitraum in das Projekt involviert, woraus sich die genaueren Anforderungen ergeben. Das Vorgehen ist entweder durch ein Schema vorgegeben oder völlig frei. Oft werden User–Story–Cards verwendet wie in Abbildung 3.9 dargestellt, die das Ziel verfolgen die Systemfunktionalität zu benennen, aber nicht zu ausführlich. Wie auf den Abbildung 3.9.: User–Story-Card mit Vorderseite links und Rückseite rechts 46 3 3.2. Anforderungsanalyse Story–Cards zu erkennen ist, muss jeder Beteiligte seine Rolle angeben, das Ziel das er erreichen möchte und den Nutzen für das System. Auf der Rückseite wird ein Akzeptanzfall beschrieben mit dem die Funktionalität abgenommen werden kann. Die User–Stories werden oft bei der agilen Softwareentwicklung eingesetzt, da die einzelnen Stories so beschrieben sind, dass sie im Rahmen eines Sprints4 umgesetzt werden können. Insgesamt werden bei der agilen Software–Entwicklung ca. 80 User–Stories entwickelt. [GBBK10] Für die Verwendung von User–Stories ergeben sich folgende Vor– und Nachteile: + Kurz und prägnant, daher gut wartbar + Fördern die Diskussion zwischen Kunde und Entwickler + Reduzieren das Risiko von Fehlentwicklungen – Können kaum als Vertragsgrundlage dienen – Sind personenzentriert – Starke Involvierung des Kunden ist unrealistisch – Sind stark interpretierbar, sodass ein Abnahmerisiko besteht 3.2.1.3. Szenarien Szenarien werden gerne verwendet, um auch die Meinung und Kritik der Stakeholder zu sammeln, die aus technikfernen Branchen stammen. An realen Beispielen wird durch eine geschäfftsprozessgetriebene Sicht die Rolle im Softwaresystem leichter verständlich und die Ausformulierung direkter Benutzerinteraktionen transparenter, sodass die erzeugte Resonanz zur weiteren Ausformulierung der Systemanforderungen verwendet werden kann. [Som07] Da Szenarien meist nur auf textbasierten Ansätzen beruhen, die durch Screenshots oder Diagramme unterstützt werden, sind sie eher als grobgranulare Sammlung von Informationen zu betrachten, die zwar für die Fachabteilungen als Dokumentationen dienen können, aber kaum Rechtssicherheit oder Verbindlichkeiten ausdrücken. [Rup13] Szenarien beginnen immer mit einer groben Beschreibung der enthaltenen Interaktionen und sollten nach [Som07] folgende Punkte enthalten: • Erwartungen an das Systems und die Benutzer zu Beginn des Szenarios • Ereignisablauf während des Szenarios • Auflistung potentieller Fehler während des Szenarios und mögliche Workarounds • Berücksichtigung gleichzeitig ablaufender Ereignisse 3 4 http://de.wikipedia.org/wiki/Story-Card (abgerufen am 28. Januar 2014) Bei Scrum wird inkrementell entwickelt und jedes Inkrement ist ein Time–Box von 30 Tagen und heißt Sprint. Mit jedem Durchlauf erhält der Kunde ein lauffähiges System, das sich dem Endprodukt immer weiter annähert. 47 3. Grundlagen • Beschreibung des Systems am Ende des Szenarios Das Hauptproblem bei Szenarien stellt meist eine fehlende Struktur bei den Beschreibungen dar, sodass keine inhaltliche Einheitlichkeit gewahrt wird, was die Lesbarkeit verschlechtert. Deshalb erheben Szenarien keinen Anspruch auf Vollständigkeit oder Redundanzfreiheit und auch Inkonsistenzen können nicht ausgeschlossen werden. [Rup13] 3.2.1.4. Interviews Interviews sind bei fast allen Anforderungsanalysen enthalten, da sie mit geringem Aufwand gute Ergebnisse erzielen können. Dabei werden den Projektbeteiligten Fragen zum aktuellen und zum zu entwickelnden System gestellt, wobei deren Antworten als die Anforderungen an das neue System gesehen werden. Bei Interviews unterscheidet man zwischen zwei verschiedenen Arten: • Geschlossene Interviews durch einen vordefinierten Fragenkatalog • Offene Interviews ohne Agenda mit vordefinierten Punkten Interviews sind gut geeignet um zu verstehen wie Beteiligte mit dem zugrunde liegenden System arbeiten und welche Probleme sich in der Praxis ergeben. Da die Beteiligten meist sehr tief im System verankert sind, setzen sie vieles, was dem Interviewer nicht klar ist, als selbstverständlich voraus. Deshalb ist es ratsam neben den Interviews auch noch andere Arten von Bestimmungsmethoden einzusetzen und durch die Mischung bessere Ergebnisse zu erzielen. Doch durch fehlende Dokumentationen sind Interviews oft die einzige Informationsquelle zur Anforderungsbestimmung. [Som07] 3.2.2. Modellierung Da wir nun Methoden kennengelernt haben wie das Wissen der unterschiedlichen Stakeholder zusammengetragen werden kann, müssen diese Informationen in eine Form gebracht werden, die es erlaubt von allen Projektbeteiligten verstanden zu werden. Für die Modellierung des erhobenen Wissens gibt es verschiedene Modellierungssprachen. Im Folgenden wird auf die UML, eine allgemeingültige, visuelle Sprache eingegangen und domänenspezifische Sprachen, die nur in einem speziellen Anwendungsgebiet gültig sind. [GBBK10] 3.2.2.1. Unified Modelling Language Während Softwareentwicklern früher einheitliche Tools und Sprachen zur Beschreibung von Architekturen fehlten, ist UML inzwischen als weltweit standardisiertes Verfahren anerkannt. Es wird verwendet um Analyse– oder Architekturmodelle von Softwarearchitekturen zu dokumentieren und baut auf verschiedenen Diagrammtypen auf, um unterschiedliche Sichten auf ein System repräsentieren zu können. [Sta08] 48 3.2. Anforderungsanalyse Verhaltensmodelle • Anwendungsfalldiagramm (Usecase Diagram) Anwendungsfalldiagramme stellen die Sicht der Akteure zwischen ihnen selbst und dem Anwendungsfall dar. Da es sich um ein Verhaltensmodell handelt, wird kein Ablauf modelliert. Man verwendet Anwendungsfalldiagramme zur Modellierung spezifischer Anforderungen an ein System. • Aktivitätsdiagramm (Activity Diagram) Aktivitätsdiagramme werden verwendet, um den Ablauf eines Anwendungsfalls zu beschreiben. Mit ihrer Hilfe lassen sich Vernetzungen von elementaren Funktionen sowie der Daten– und Kontrollfluss darstellen. Dabei zeigt es die Sicht auf die dynamischen Elemente des Systems. • Zeitverlaufdiagramm (Timing Diagram) Das Zeitverlaufdiagramm erlaubt eine zeitliche Sicht auf die dynamischen Aspekte des modellierten Systems. Somit lassen sich präzise zeitliche Aussagen treffen, sodass es sich vor allem zur Spezifikation von Interaktionen eignet. • Kommunikationsdiagramm (Communication Diagram) Kommunikationsdiagramme werden verwendet um zwischen assoziierten Objekten übertragene Nachrichten darzustellen. Durch Sequenzausdrücke wird beschrieben welche der Nachrichten parallel und welche sequentiell gesendet werden. 49 3. Grundlagen • Zustandsdiagramm (Statechart Diagram) Das Zustandsdiagramm wird verwendet um Systemzustände zu beschreiben. Dabei werden vor allem auch Zustandsänderungen und deren auslösende Ereignisse berücksichtigt. Das Diagramm wird immer als endlicher Automat abgebildet und kann zur Beschreibung des Systemverhaltens verwendet werden. • Interaktion–Übersichts–Diagramm (Interaction Overview Diagram) Interaktionsdiagramme werden dann verwendet, wenn Szenarien sehr groß werden und durch Aktivitäts– und Sequenzdiagramme dargestellt werden. Sie gewährleisten eine übersichtliche Darstellungen von komplexen Prozessen durch Modularisieren von einzelnen Ereignissen. • Sequenzdiagramm (Sequence Diagram) Mit Sequenzdiagrammen lässt sich die Sicht auf die zeitliche Ordnung des modellierten Systems darstellen, wobei Interaktionen zwischen Objekten berücksichtigt werden sowie deren Nachrichtenaustausch. Die Zeitachse verläuft senkrecht, die ausgetauschten Nachrichten werden durch horizontale Kanten dargestellt. 50 3.2. Anforderungsanalyse Strukturmodelle Da im Rahmen dieser Arbeit FATool wegen des geschlossenen Quellcodes als Blackbox betrachtet wird, werden die Strukturmodelle durch ihren Bezug zur Bausteinsicht nicht gebraucht. Als die kleinsten Bausteine bei Software werden die Klassen angesehen, auf die somit natürlich kein Zugriff möglich ist. Der Vollständigkeit halber sollen die Strukturmodelle aber aufgezählt werden: • Klassendiagramm (Class Diagram) • Paketdiagramm (Package Diagram) • Komponentendiagramm (Component Diagram) • Verteilungsdiagramm (Deployment Diagram) • Kompositions–Struktur–Diagramm (Composite Structure Diagram) • Objektdiagramm (Object Diagram) Diese Modelle können wegen der eingeschränkten Sichtweise nicht angewendet werden, deshalb liegt der Fokus auf der Laufzeitsicht. 3.2.2.2. Domain Specific Languages Eine Domain Specific Language wird verstanden als eine Modellierungssprache, die speziell für ein bestimmtes Problemfeld geschaffen wurde und nur spezifische Anwendungsbereiche dieser Domäne abdeckt. Durch eine hohe Ausdrucksstärke der Problemspezifität sind DSLs in der Regel nicht auf andere Domänen übertragbar. Man unterscheidet dabei zwischen textbasierten und visuellen DSLs, während erstere oft in XML formuliert werden, sind visuelle meist Erweiterung der UML. [Som07] Bekannte Beispiele für domänenspezifische Sprachen sind „reguläre Ausdrücke“ oder die „Structured Query Language“, die in mehreren Sprachen Verwendung finden oder systemunabhängig einsetzbar ist. 3.2.2.3. Entity–Relationship–Modell Das Entity–Relationship–Modell dient als Grundlage der semantischen Datenmodellierung und beschreibt in der Anforderungsanalyse die relationale Datenstruktur eines Systems. Dabei sind diese Modelle gängige Praxis zum Entwurf von Datenbankmodellen und bilden die Basis eines persistenten Informationssystems. Die Daten werden hierbei in Entitäten unterteilt – individuell identifizierbare Objekte der Wirklichkeit – und durch Beziehungen der Zusammenhang zwischen mehreren Entitäten abgebildet. Informationen und Eigenschaften, die im Kontext zu einer Entität stehen, werden Attribute genannt. Durch Kardinalitäten wird festgelegt wie die Entitäten miteinander in Beziehung stehen, also wie viele Verbindungen zwischen den Objekten erlaubt sind. [GBBK10] Hierbei gibt es folgende Möglichkeiten: 51 3. Grundlagen • 1:1 Entität A ist genau mit einer Entität B verbunden • 1:N Entität A kann mit keiner oder beliebig vielen Entitäten B verbunden sein. Entität B kann nur mit genau einer Entität A verbunden sein. • N:M Entität A ist mit keiner oder beliebig vielen Entitäten B verbunden. Gleiches gilt für Entität B im Bezug auf Entität A. Durch verschiedene Notationen haben sich unterschiedliche grafische Darstellungsformen für ER–Modelle entwickelt. Eine Übersicht über die verschiedenen Notationen ist in Abbildung 3.10 dargestellt. Abbildung 3.10.: Typische ER–Notationen 5 Das erste und bekannteste ER–Modell wurde 1976 durch Peter Chen eingeführt und wird deshalb auch als Chen–Notation bezeichnet. IDEF1X findet hauptsächlich im Bereich Computer–Aided–Manufacturing Anwendung. Die Bachman– sowie die Martin–Notation sind weit verbreitete Werkzeug–Diagramm–Sprachen. Die Min–Max–Notation war ein Standard, wurde aber durch die UML–Notation abgelöst.5 Trotz unterschiedlicher Darstellungsformen, drücken alle Notationen in Abbildung 3.10 denselben Sachverhalt aus. 5 http://de.wikipedia.org/wiki/Entity-Relationship-Modell (abgerufen am 04. Februar 2014) 52 4. Ist–Zustand Die Ist–Aufnahme des aktuell vorherrschenden Systems wurde nach den vorgestellten Techniken aus dem Grundlagenkapitel erarbeitet. Hierbei werden zunächst in einer Übersicht die bisherigen Prozesse von FATool in Interaktion mit dem PDM–System Axalant dargestellt, sowie der interne Aufbau näher erläutert. Anschließend wird der Status– Quo hinsichtlich der Zentralisierung relevanter Funktionen beschrieben und schließlich die Schwachstellen im Ist–Zustand herausgearbeitet und dokumentiert. 4.1. Übersicht Im Folgenden wird der Ist–Zustand, wie er in Abbildung 4.1 zu sehen ist, mit Schwerpunkt auf die AXA2FASys Schnittstelle dargestellt. Die Durchführung der Ist–Analyse ist Grundlage für das Bewerten der Soll–Architektur, denn Schwachstellen im bisherigen Konzept können leicht zu Problemen in zukünftigen Architekturen führen und stellen daher die Anforderungen an das Soll–Konzept. Abbildung 4.1.: Ist–Architektur Im Folgenden wird Abbildung 4.1, ausgehend vom Knoten Axalant, beschrieben. 53 4. Ist–Zustand • Das Herz des bisherigen Systems bildet Axalant, das alle Daten global zur Verfügung stellt und somit das führende System repräsentiert. Beim Anlegen von neuen Materialien muss stets mit Axalant begonnen werden, da die Materialnummern dort automatisch und kollisionsfrei mit einem Nummerngenerator erstellt werden und somit sichergestellt wird, dass diese konzernweit eindeutig sind. Ein weiterer Grund ist, dass in Axalant auch die Muss–Merkmale hinterlegt sind, also diejenigen SML–Datenfelder, die bei der Anlage neuer Materialien zwingend erforderlich sind und somit eine Pflichteingabe darstellen, um einen gültigen Eintrag erzeugen und anschließend freigeben zu können. Da Axalant aber nur eine rudimentäre Beschreibung zu den einzelnen Merkmalsfeldern bietet, ist das Anlegen von Materialien für den Anwender schwierig, sodass nach dem Erstellen der Muss–Kriterien zur weiteren Beschreibung nach FATool gewechselt wird. Dazu muss in Axalant zunächst der richtige SAP –Standort gesetzt werden, sodass die Daten an die gewünschten lokalen FATool –Installationen verteilt werden. Ebenfalls muss der Status des Materials geändert werden, um eine weitere Bearbeitung zu ermöglichen. Nach der Neuerstellung von Materialien ist deren Status in Axalant zunächst auf „510 In Arbeit“. Um die Bearbeitung in FATool zu ermöglichen, muss der Status auf „550 Freigegeben“ geändert werden. Das betreffende Material wird dann auf die sogenannte Auftragsliste gesetzt, die in regelmäßigen Abständen auf Einträge überprüft und nach FATool übertragen wird. • Die Kanten von Axalant in Richtung der zentralen FATool –Server tragen Bezeichnungen wie FP, PP, .., die als Abkürzungen der einzelnen SAP –Systeme gelten (FP für Friedrichshafen, PP für Passau). Zusammengefasst werden diese Abkürzungen als ein einzelnes Programm verstanden, das im Folgenden „Dispatcher“ genannt wird. Dieser wird in Passau verwaltet und verteilt je nach gesetztem SAP –Standort die Daten an die lokalen FATool –Systeme. Dieses Programm ruft im Minutentakt die Auftragsliste ab und stellt eine Verbindung zu den Schnittstellentabellen her. Sind in der Auftragsliste neue Materialien enthalten, so werden die neu erstellten Datensätze oder die durchgeführten Änderungen an die dezentralen FATool –Systeme weitergegeben und aktualisiert. In dieser Abbildung steht GP1 stellvertretend für das SAP –System in Schwäbisch– Gmünd. Dort läuft ebenfalls ein „Dispatcher“ nach dem gleichen Prinzip wie in Passau, allerdings versorgt dieser nur ZF–Lenksysteme mit Daten. Der Grund dafür ist, dass ZFLS ein Gemeinschaftsunternehmen ist und auch unabhängig vom ZF– Konzern funktionieren muss. Außerdem werden nur die für ZFLS relevanten Daten aus Axalant zur Verfügung gestellt, da in Axalant auch firmeninternes Wissen aus anderen Fertigungsbereichen gespeichert ist, das für andere Divisionen nicht sichtbar sein darf. • Die Materialien aus der Auftragsliste liegen nun dezentral und standortabhängig auf den jeweiligen FATool –Servern vor, die mit Passau, GNS, ..., Steyr bezeichnet werden. Eine Sonderstellung hat hier ZFLS, das unabhängig und eigenständig versorgt wird. 54 4.1. Übersicht • Wenn Materialien nun ergänzt oder geändert werden sollen, so erfolgt dies im FATool –Client. Nach Abspeichern der Änderungen beginnt eine interaktive Rückgabe der Merkmale nach Axalant. Dies bedeutet, dass die Axalant–Applikation automatisch geöffnet wird und die in FATool geänderten oder erstellten Merkmalswerte sofort in der richtigen Eingabemaske in Axalant zur Verfügung stehen. Die Rückgabe in die Eingabemaske von Axalant anstelle des direkten Schreibens in die Datenbank hat mehrere Gründe: Es werden nur Materialien nach FATool übertragen, die den Status „550 Freigegeben“ haben. Der Status selbst kann aber in FATool nicht geändert werden, sodass für etwaige Bearbeitungen der Status in Axalant auf „565 In Bearbeitung“ gesetzt werden muss. Sind die Eingaben überprüft, kann das Material wieder freigegeben werden. Somit wird es automatisch wieder auf die Auftragsliste gesetzt und die aktualisierte Version wird wieder an die relevanten Standorte verteilt. Ist einem Material jedoch mehr als ein SAP –Standort zugeordnet, kann dieses nur mit einer speziellen Sonderrolle geändert werden, die nur Key–Usern zugeteilt wird, da in der Regel eine Abstimmung mit den anderen Standorten notwendig ist. Die Interaktion zwischen Axalant und FATool kann fehlerträchtig sein, da nur Axalant die originale Eingabemaske bietet, die auf die zugrundeliegende Datenbank abgestimmt ist. Falls in FATool also Änderungen gemacht werden und sich diese Änderungen auf Merkmalsfelder beziehen, die in Axalant für das entsprechende Material nicht verfügbar sind, so kann dies bei der interaktiven Rückgabe in die Eingabemaske von Axalant leicht festgestellt werden. Sowohl Axalant als auch FATool gehen bei der Gestaltung von Merkmalen, Merkmalslisten und Konformitätsklassen strikt nach DIN4000 vor. Es kann jedoch vorkommen, dass Änderungen an der DIN nicht zeitgleich umgesetzt werden. Somit ist eines der Systeme auf einem aktuelleren Stand als das andere. Durch die bidirektionale Schnittstelle und den Austausch der Daten zwischen den Systemen, können solche Inkonsistenzen entdeckt und beseitigt werden. Durch den manuellen Statuswechsel in Axalant werden auch Schnittstellen angesprochen, die durch ein direktes Schreiben vernachlässigt würden. Somit findet nach dem Freigeben eines Materials die direkte Übertragung nach SAP statt. • Die Kommunikation zwischen dem dezentralen FATool –Server und dem FaTool – Client ist bidirektional, da es sich um eine Client–Server Anwendung handelt und somit die Interaktionen zwischen den beteiligten Komponenten verdeutlicht werden soll. Es werden allerdings auch Daten am lokalen FATool –Server gespeichert, die nicht an Axalant übertragen werden. Dabei handelt es sich um zusätzliche Informationen, die von Axalant nicht verwaltet werden können, wie es bei Mehrschneidensystemen der Fall ist. In FATool ist es möglich für dieses Werkzeug verschiedene Schneiden auszuwählen, denen verschiedene Nummern zugewiesen sind. In Axalant werden 55 4. Ist–Zustand diese Schneiden nicht berücksichtigt, sodass diese Informationen bei der interaktiven Rückgabe verloren gehen würden. Eine Auswahl über verschiedene Schneiden bei Komplettwerkzeugen in FATool mit zugehöriger Stückliste kann im Anhang A.2 in Abbildung A.7 eingesehen werden. Der bisherige Aufbau von FATool hat mit dem „Dispatcher“ bereits eine zentrale Komponente mit dem alle Standorte zentral aus Passau versorgt werden. Nur ZFLS stellt eine Ausnahme dar, das durch einen separaten „Dispatcher“ von Schwäbisch–Gmünd aus verwaltet wird. Trotz dieser zentralen Komponente treten alle Nachteile eines dezentralen Systems auf, da jeder Standort durch die Verteilung nur die Daten einsehen kann, die in Axalant mit seinem SAP –Standort gekennzeichnet sind und somit eine stark eingeschränkte Sicht auf das komplette System bieten. Dies führt unweigerlich zu Redundanzen und verursacht Mehrkosten, die durch das Neuerstellen von bereits an anderen Standorten vorhandenen Betriebsmitteln entstehen. Das oben beschriebene Zusammenspiel zwischen den Systemen wird in Abbildung 4.2 zum leichteren Verständnis noch einmal als Prozess dargestellt. Diese Abbildung stellt den vorhergesehenen Austausch von Materialstämmen zwischen Axalant und FATool dar. Abbildung 4.2.: Austausch von Materialstämmen Ausgehend von Axalant wird ein Material angelegt für das im nächsten Schritt die hinterlegten Muss–Merkmale ausgefüllt werden müssen. Nur durch das Bereitstellen der Muss–Kriterien kann ein Materialstamm freigegeben und somit synchronisiert werden. Zur Übertragung nach FATool muss lediglich ein Statuswechsel auf „550 Freigegeben“ am Materialstamm durchgeführt werden. Eine originalgetreue Darstellung der FDO– Materialstammmaske aus Axalant ist im Anhang A.2 bei Abbildung A.1 zu finden. Der gewünschte Datensatz ist dann in FATool verfügbar und kann um weitere Sachmerkmale ergänzt werden. Ist das Zuordnen von Merkmalswerten abgeschlossen, muss das Material wieder mit Axalant synchronisiert werden, sodass beide Systeme konsistent sind. Dazu setzt man in FATool den Betriebsmittelstatus auf „Warten auf Axalant Freigabe“ und es öffnen sich entsprechende Eingabemasken in Axalant. Hierbei handelt es sich um die Materiallistenstammmaske (FDO-ART-SLI) zum Statuswechsel und die Klassifizierungsmaske (FDO-GRP-ART-RLI) zum Eintragen der Merkmalswerte, die im Anhang A.2 in Abbildung A.2 und Abbildung A.3 dargestellt sind. Zusätzlich wurde dieser Eingabemaske ein Menü angefügt mit der Option „Zurück nach CAD“, um die Schnittstelle zu beenden. Dieser Vorgang wird als interaktive Rückgabe bezeichnet und setzt voraus, dass Axalant 56 4.2. Status–Quo im Hintergrund geöffnet ist sowie ein User mit ausreichenden Berechtigungen am System angemeldet ist. Um die in FATool ergänzten Daten nun übernehmen zu können, wird in Axalant der Status auf „565 In Nachbearbeitung“ gesetzt und der Materialstamm anschließend wieder freigegeben. Diese Übersicht liefert eine abstrakte Sicht auf die Architektur von FATool und Axalant. In Abschnitt 4.2 wird auf die Details von FATool eingegangen und in Abschnitt 4.3 werden Schwachstellen des Systems sowie mögliche Ausnahmefälle bei bekannten Prozessen beschrieben. 4.2. Status–Quo Wie bereits in der Übersicht angedeutet, werden die Daten zwischen Axalant und FATool mit Hilfe eines „Dispatchers“ synchronisiert. Bisher wurde dieses Programm mit den Abkürzungen der SAP –Standorte umschrieben, da genau diese in der Verteilung ausschlaggebend sind. Der „Dispatcher“ wird als Überbegriff für die Verteilung der Daten verwendet, wobei er als ein Zusammenspiel aus mehreren Programmen zu verstehen ist. Eine detailliertere Darstellung des Verteilungsprozesses ist in Abbildung 4.3 illustriert. Abbildung 4.3.: FATool Master– und Client–Service [Fas12] Die Verteilung ist aufgeteilt in einen Master–Service und einen Client–Service. Während der Master–Service in Passau verwaltet wird und somit schon als eine zentrale Einheit gesehen werden kann, laufen die Client–Services an jedem Standort gesondert. 57 4. Ist–Zustand Der Master–Service arbeitet auf den Schnittstellentabellen und verteilt Meta–Daten und die zugehörigen Dokumente. Dabei fungieren die Schnittstellentabellen als Zwischenspeicher für die Daten, die aus Axalant stammen und an die zugehörigen FATool –Zielsysteme verteilt werden sollen. Damit dieser Vorgang kontinuierlich stattfindet, ruft der Master– Service zeitgesteuert im Minutentakt bestimmte Funktionen auf und überprüft eine spezielle Tabelle innerhalb von Axalant. Diese Tabelle heißt Auftragsliste Datenexport und ist im Anhang A.2 in Abbildung A.4 dargestellt. Da die Schnittstellentabellen und die Axalant–Datenbank physikalisch getrennt sind, wird für die Übertragung ein Datenbank– Link verwendet. Jeder Standort hat seine eigenen FATool –Serversysteme, die vom Client–Service mit Daten versorgt werden. Genau wie der Master–Service wird dieser zeitgesteuert im Minutentakt aufgerufen und fragt beim Master–Service nach, ob für das entsprechende Zielsystem Einträge vorliegen. In diesem Fall werden Daten bzw. Dokumente in das jeweilige System übertragen und stehen diesem Standort lokal zur Verfügung. Die FATool –Anwendung selbst ist eine Client–Server Applikation und kommuniziert mit den lokalen Servern. Falls in FATool Änderungen vorgenommen werden, müssen diese auch in Axalant eingecheckt werden. Für den Rückweg der Aktualisierung gibt es keine automatischen Prozesse, sondern eine „interaktive Rückgabe“, die benutzergesteuert funktioniert. Dies hat unter anderem mit den Berechtigungen zu tun, die in Axalant benötigt werden, um Änderungen durchzuführen. 4.2.1. Aufbau Ein typischer Aufbau eines Serversystems zum Betrieb von FATool ist in Abbildung 4.4 zu sehen. Es ist allerdings anzumerken, dass sich der Aufbau je nach Standort unterscheiden kann, wobei es in erster Linie auf den Einsatzzweck von FATool ankommt. Des Weiteren müssen die verschiedenen Server, die hier logisch getrennt sind, physisch keine unterschiedlichen Maschinen sein. Abbildung 4.4.: Serveraufbau für FATool– Installation 58 Der Datenbank–Server wird vom Client– Service mit Daten beliefert und ist aufgeteilt in Konfigurations– und Daten– Tabellen. Technisch gesehen beherrscht FATool mehrere Datenbank–Systeme. Während in Passau Oracle verwendet wird, kommt in Gainesville Microsoft SQL Server zum Einsatz. Der Applikationsserver ist zuständig für die Umsetzung des Client–Server–Konzepts und stellt das Bindeglied zwischen der FATool –Client–Anwendung und den restlichen Servern dar. 4.2. Status–Quo Dokumente werden nicht in der Datenbank gespeichert, sondern liegen auf einem Dateiserver, der als Grundlage einen Verzeichnisbaum zur Strukturierung verwendet. Dies gewährleistet einen schnellen Zugriff auf große Dateien durch die Produktion. Der Lizenzserver verteilt je nach Verwendung automatisch die richtige Lizenz und muss immer lokal zur Verfügung stehen, da ein Ausfall eines Lizenzservers auch den Ausfall der Produktion nach sich ziehen könnte. Dies betrifft nur Standorte an denen DNC–Maschinen im Einsatz sind. 4.2.2. Datenbank Die Datenbank von FATool ist intern in Konfigurations– und Datentabellen aufgeteilt, wie in Abbildung 4.5 ersichtlich wird. Die Konfigurationstabellen sind fest vorgegeben und werden von der Client–Anwendung für etwaige Beschreibungen im Programm verwendet. Sie enthalten Leisteninformationen, die den Sachmerkmalen und Sachmerkmalleisten zugeordnet werden. Die Datentabellen enthalten die Nutzdaten, also die Werte zu den Merkmalen. Während die Konfigurationstabellen grundsätzlich vom System bereitgestellt werden und nicht verändert werden müssen, sind die Datentabellen manuell mit Einträgen zu füllen. Abbildung 4.5.: Datenbankstruktur [Fas10] Die Tabellen orientieren sich dabei an der DIN4000, wobei für jede Leiste eine eigene Tabelle angelegt wird. Um die Menge an Tabellen und Klassen einzugrenzen werden die Bildinformationen verwendet, sodass Sachmerkmale je nach Bildnummer den Leisten zugeordnet werden. 4.2.3. Schnittstelle Durch die Schnittstelle AXA2FASys (oder auch PDM2FATool genannt) soll der Austausch von Sachmerkmaldaten und Dokumenten zwischen FATool und Axalant sichergestellt werden. Beide Systeme basieren auf der DIN4000, die Klassenbenennung ist allerdings unterschiedlich, sodass Mapping–Funktionalitäten benötigt werden, um die Axalant–Klassen (z.B. TT0030) in die richtigen Leisten von FATool (z.B. DIN4000–90) importieren zu können. Ein Abgleich zwischen den Systemen ist in beide Richtungen möglich, wobei der 59 4. Ist–Zustand Weg von Axalant nach FATool automatisch abläuft und von FATool nach Axalant manuell durch die „interaktive Rückgabe“. Die Schnittstelle selbst arbeitet direkt auf Datenbankebene, sodass gewünschte Datensätze zunächst aus der ursprünglichen Datenbank kopiert und in Schnittstellentabellen zur Verfügung gestellt werden. Die Daten aus den Schnittstellentabellen werden schließlich abgeholt, quittiert und in die Zieldatenbank geschrieben. Für den Abgleich werden verschiedene Komponenten benötigt, wie der Master–Service, der den Zugriff auf die Schnittstellentabellen ermöglicht oder der Client–Service, der die Daten schließlich in die lokale Datenbank übernimmt, aber auch Komponenten, die seitens der ZF zur Verfügung gestellt werden müssen: • Axalant–Client zum Herauslesen und Zurückgeben der Daten • SQL–Prozeduren und Funktionen zum Bereitstellen von Daten in Schnittstellentabellen • CAX–Batch–Client zum Herauslesen der Dokumente aus Axalant Der Axalant–Client wird dann benötigt, wenn in FATool Betriebsmittel manuell in das System importiert werden sollen oder wenn durchgeführte Änderungen nach Axalant zurückgegeben werden. Dazu muss der Nutzer mit seinem Account in Axalant angemeldet sein, sodass die entsprechenden Berechtigungen des Anwenders geprüft werden können. Die SQL–Prozeduren werden zeitgesteuert durch den Master–Service aufgerufen und verwenden je nach durchzuführender Aktion verschiedene Funktionen, die auf den Schnittstellentabellen arbeiten. Dabei werden SML–Daten aus Axalant in diese Tabellen transportiert und durch Anfrage des Client–Service in die Konfigurations– und Datentabellen der lokalen FATool –Systeme verteilt. Hierfür werden die Konfigurationstabellen gebraucht, durch die beschrieben wird, wie eine Axalant–Klasse nach FATool gemappt wird. Sie beinhaltet die Quellleiste mit der zugehörigen Bezeichnung und die Zielleiste mit einer Bildkennung sowie einen Bezeichner für diese Leiste und einer Menge an Mapping–Regeln. Diese Regeln müssen manuell angelegt werden. Für Datensätze, die über keine geeignete Zielleiste in FATool verfügen, werden entsprechend der Konfiguration, vom System automatisch neue Leisten angelegt. Dies ist immer dann der Fall, wenn Klassen aus Axalant keiner entsprechenden Klasse in FATool zugeordnet werden können. Für die Datentabellen gilt, dass sie immer nur von einer Seite gepflegt werden, wobei es eine lesende und eine schreibende Seite gibt. Die schreibende ist in diesem Fall die vom Master–Service aufgerufene Prozedur. 60 4.2. Status–Quo In Tabelle 4.1 werden die Konfigurationstabellen der Schnittstelle aufgelistet: Tabelle AXA_GROUP_FATOOL_SYSTEM AXA_GROUP_DAT AXA_GRP_CLA AXA_ZF_PLANTS Beschreibung Zuordnungstabelle für Leisten zu den lokalen FATool – Zielsystemen. Enthält Informationen zur Axalant–Klasse wie den Klassencode, die Kurzbezeichnung oder die Beschreibung. Enthält die verschiedenen Merkmalsbeschreibungen, die einer Klasse zugeordnet sind. Für jedes Merkmal wird ein eigener Eintrag erstellt, der einer Klasse zugewiesen ist. Enthält die genaue Definition des Werks, da oft mehrere Werke an einem SAP –System hängen, ist die Abkürzung nicht ausreichend für eine eindeutige Identifikation. Tabelle 4.1.: Konfigurationstabellen der Schnittstelle In Tabelle 4.2 sind die Datentabellen der Schnittstelle aufgelistet: Tabelle AXA_MAT_FATOOL_SYSTEM AXA_GRP_ART AXA_MASTER_STR AXA_ZF_MAT_SAP AXA_FILE_FATOOL_SYSTEM AXA_MAT_FILE_DAT FATOOL_AXA_GRP_ART Beschreibung Zuordnungstabelle für Materialstämme zu FATool – Zielsystemen. Enthält die eigentlichen Merkmalswerte. Enthält die Stücklisten. Zuordnung von Materialstämmen zum entsprechenden Werk. Zuordnungstabelle für Dokumentstämme zu FATool – Zielsystemen. Enthält Dokumentinformationen und stellt die Verbindung zwischen Material– und Dokumentstamm her. Dient zur Datenübergabe von FATool nach Axalant. Tabelle 4.2.: Datentabellen der Schnittstelle Der CAX–Batch–Client ist schließlich zuständig für das Auschecken von Dokumenten aus Axalant. Dieser Prozess erstellt im Allgemeinen eine Kopie des betroffenen Dokuments und setzt es an der richtigen Stelle des Verzeichnisbaumes in FATool ein, sodass es auch in diesem System verfügbar ist. 61 4. Ist–Zustand Abbildung 4.6.: Übertragungsprozess In Abbildung 4.6 ist der Übertragungsprozess mit Prozeduren und Funktionen dargestellt. Ausgehend vom Master–Service wird die Prozedur CADIM_CICS zeitgesteuert aufgerufen. Diese überprüft die Auftragsliste (Datenexport) auf neue passende Einträge. Falls Einträge existieren werden die Sachmerkmale des Materialstamms mit der Funktion GRP_ART_P8 kopiert. Die Stücklisten werden mit MASTER_STR in die Schnittstellentabellen kopiert. Schließlich werden noch mit einer der drei MAT_FILE_DAT Funktionen die angehängten Dokumentstämme untersucht, wobei der Dokumenttyp für den Aufruf der entsprechenden Funktion entscheidend ist. Die beteiligten Aktionen bei der automatischen Übergabe sind in [Fas10] spezifiziert: • Stammdaten übernehmen • Stückliste übernehmen • Standortzuordnungen übernehmen • Massenänderungen zurückübergeben • Dokumente anfordern oder löschen 4.2.4. Interaktive Rückgabe Der Rückweg von FATool nach Axalant ist ein manueller Prozess der als „interaktive Rückgabe“ bezeichnet wird. In Abbildung 4.2 wurde bereits der Hin– und Rückweg als Prozess dargestellt. Bei der Rückgabe nach Axalant muss der Betriebsmittelstatus in FATool auf „6 Warte auf Axalant Freigabe“ gesetzt werden. Ein Axalant–Client mit angemeldeten Benutzer muss im Hintergrund laufen. Die Daten werden dann mit Hilfe einer Datei an Axalant übergeben. Die Datei enthält alle benötigten Daten, wobei die Sachmerkmale als Einzelzeilen eingetragen werden und als Trennzeichen zwischen Identifier und Werten 0xA5 verwendet wird. Währenddessen die Schnittstelle zu Axalant geöffnet ist, aktualisiert FATool zwar seine Oberfläche, aber es sind keine Benutzer–Interaktionen möglich. Nachdem die Schnittstelle zu Axalant geschlossen wurde, wird in FATool der Return–Code ausgewertet. Ist dieser 0, so werden die Daten aus Axalant noch einmal nach FATool geladen, da der Benutzer während der Rückgabe in Axalant noch ergänzende Eingaben machen könnte. Falls dabei der Axalant–Status des Materialstamms „550 Freigegeben“ lautet, so wird der Betriebsmittelstatus in FATool dementsprechend angepasst und auf „0 62 4.2. Status–Quo Freigegeben“ gesetzt. Falls der Return–Code -1 lautet, so wird eine Fehlerdatei ausgewertet und angezeigt. Der Betriebsmittelstatus bleibt im Fehlerfall auf „6 Warte auf Axalant Freigabe“, kann aber durch eine automatische Übergabe von Axalant nach FATool auf „0 Freigegeben“ geändert werden. 4.2.5. Transferdaten Um Einträge in den Schnittstellentabellen erzeugen zu können, bedient man sich der zugrunde liegenden Axalant–Tabellen, die die gewünschten Daten beinhalten. Die Datenbanksysteme von Axalant und FATool sind jedoch nicht nur physikalisch getrennt, sondern auch an unterschiedlichen Standorten. Während die Server für Axalant in Friedrichshafen stehen, sind sie für die Verwaltung von FATool in Passau angesiedelt. Daten, die von FATool importiert werden, müssen also von Axalant nach FATool transferiert werden, sodass man sie „Transferdaten“ nennt. Als technische Lösung wurden hierfür sogenannte Datenbank–Links verwendet, die in Oracle–Datenbanken zur Verfügung stehen. Ein Datenbank–Link ist als Pointer zu verstehen, der eine unidirektionale Verbindung zu einer anderen Datenbank ermöglicht. Dabei handelt es sich um zwei physikalische Datenbankserver, die als verteilte Systeme zu verstehen sind, aber als eine einheitliche logische Datenbank benutzbar werden. Der Vorteil den Datenbank–Links bieten ist, dass ein lokaler Benutzer eine andere Datenbank verwenden kann, ohne dabei als Benutzer der anderen Datenbank eingetragen zu sein. Die Verbindung kann dahingehend kontrolliert werden, dass beispielsweise nur „Stored Procedures“ zugelassen werden. Somit stellt der Datenbank–Link eine einfache Weise dar, um Datenbanken miteinander zu verbinden. Abbildung 4.7.: Funktionsweise eines 1 Database–Link In Abbildung 4.7 ist die Arbeitsweise eines Datenbank–Links dargestellt. Ein Benutzer stellt eine Anfrage an die lokale Datenbank, da diese einen Link zur Remotedatenbank gespeichert hat, wird die Anfrage an diese Datenbank umgeleitet. Der Benutzer selbst merkt davon nichts und kann die entfernte Datenbank mit Hilfe eines eindeutigen globalen Datenbanknamens direkt ansprechen. Globale Namen können mit Hilfe von Synonymen angelegt werden, sodass eine Tabelle, die auf einem anderen Host zu finden ist, ohne Angabe der kompletten URL erreicht werden kann. 1 http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm#i1007719 (abgerufen am 04. Februar 2013) 63 4. Ist–Zustand 4.3. Schwachstellen im Ist–Zustand 4.3.1. Inkonsistenz zwischen Sachmerkmalen Inkonsistente Sachmerkmale zwischen Axalant und FATool sind einfach herzustellen. Der Prozess zum Austausch von SML–Daten ist bereits in Abbildung 4.2 skizziert und wird in Abbildung 4.8 nun abgewandelt dargestellt. Es beginnt wie auch im vorhergesehenen Prozess mit dem Anlegen eines Materialstamms in Axalant. Der darauffolgende Schritt umgeht jedoch bereits zwei essentielle Vorgänge. In FATool kann ein neu angelegter Materialstamm mit der Funktion „Neues Betriebsmittel aus Axalant holen“ nach FATool importiert werden, unabhängig von dessen Status oder ausgefüllten Muss–Merkmalen. Ist dieser Materialstamm erst einmal in FATool verfügbar, können die Merkmalswerte beliebig ergänzt werden und der Betriebsmittelstatus auf „0 Freigegeben“ gesetzt werden, ohne dass Änderungen nach Axalant eingecheckt werden müssen. Das führende System Axalant wird dadurch umgangen und auch Folgesysteme wie SAP somit nicht aktualisiert. Abbildung 4.8.: Erzeugen von Inkonsistenzen zwischen SML–Daten Es muss zu keinem Zeitpunkt der Status auf „6 Warte auf Axalant Freigabe“ gesetzt werden, was die interaktive Rückgabe aktivieren würde. Inkonsistenzen sollten im Normalfall nur dann auftreten, wenn Mehrinformationen zur Verfügung stehen, die von einem der beiden Systeme nicht verarbeitet werden können, wie es bei KWZ mit mehreren Schneiden der Fall ist. 4.3.2. Eingeschränkte Suche Die Suche nach Betriebsmitteln in FATool ist auf den eigenen Standort begrenzt. Dies liegt einerseits an dem Verteilungskonzept, das mit den SAP –Standorten arbeitet und andererseits an den lokalen Installationen, wodurch jeder Standort seine eigene Datenbank besitzt. Das Problem besteht in der Redundanz bei der Fertigung von Betriebsmitteln. 64 4.3. Schwachstellen im Ist–Zustand Oft werden solche neu angelegt und entwickelt, obwohl sie an anderen Standorten bereits verfügbar wären, aber schlichtweg nicht gefunden werden oder einsehbar sind. Um trotzdem nach FHM an anderen Standorten suchen zu können, musste man bisher nach Axalant wechseln. War die Suche nach dem Betriebsmittel erfolgreich, so muss der eigene SAP –Standort eingetragen werden, der dieses Bauteil am lokalen Standort in FATool verfügbar macht. Ist jedoch mehr als ein SAP –Standort eingetragen, darf das Betriebsmittel nicht mehr geändert werden bzw. nur vom Standort mit der entsprechenden Änderungshoheit. Dies kann umgangen werden, indem eine Kopie des betroffenen Materialstamms in Axalant angelegt wird, der nur einen SAP –Standorteintrag enthält. 4.3.3. Klassenmapping Wie bereits beschrieben haben FATool und Axalant verschiedenartige Klassensysteme, auch wenn beide auf DIN4000 basieren. Dies erfordert ein Mapping beim Import von Klassen nach FATool. Die Herausforderung besteht darin, die Klassen in FATool aktuell zu halten, sodass beide Systeme auf denselben Grundlagen beruhen. Es ist jedoch – ähnlich wie beim Dokumentabgleich – schwierig festzustellen, wann Änderungen an den Klassen vorgenommen wurden. Wenn Änderungen in den lokalen FATool –Installationen vorgenommen werden, müssen diese für jeden Standort manuell ausgeführt werden, was mit einem enormen Zeitaufwand verbunden ist. So kann der komplette Update–Prozess zwischen acht bis zehn Stunden dauern, sodass während dieser Zeit auch Inkonsistenzen zwischen den Systemen auftreten können. 4.3.4. Änderungswesen Um Änderungen an Betriebsmitteln in FATool verfolgen zu können, kann ein Konfigurationsparameter gesetzt werden, der diese in einem Änderungslogbuch protokolliert. In diesem Logbuch werden allerdings nur der Änderungsuser und das Änderungsdatum gespeichert, sodass die ausgeführte Aktion nicht mehr nachvollziehbar ist. Durch das fehlende Änderungswesen können Änderungen teilweise nicht mehr rückgängig gemacht werden, da die Art der Änderung nicht mehr bekannt ist. 4.3.5. Aktualisierungen Bei Änderungen, die alle verfügbaren FATool –Installationen im ZF Konzern betreffen, wie dem Klassenmapping, müssen diese für alle Standorte manuell durchgeführt werden. Es muss also für jedes FATool –System die gleiche Aktion ausgeführt werden, wobei dieser Prozess zeitversetzt stattfindet und dadurch zeitbedingte Inkonsistenzen zwischen den Systemen entstehen. 65 4. Ist–Zustand 4.3.6. Dokumentabgleich Wenn in Axalant Änderungen an Dokumenten gemacht werden, wird FATool über diese Änderungen nicht in Kenntnis gesetzt, sodass zum Teil veraltete Dokumente im System kursieren. Der Grund dafür liegt in der Schnittstelle AXA2FASys, die zwar Statuswechsel am Materialstamm berücksichtigt, jedoch nicht am Dokumentenstamm. So werden die Dokumente nur aktualisiert, wenn auch Änderungen am Materialstamm vollzogen werden und der Datenexport über die Auftragsliste angestoßen wird, wie in Abbildung 4.9 dargestellt. Eine andere Möglichkeit ein Dokument in FATool zu aktualisieren führt über die Applikation selbst, indem die Funktion „Aktuelles Betriebsmittel aus Axalant holen“ gewählt wird und die entsprechende Materialnummer eingegeben wird. Beide Vorgehen sind jedoch umständlich und nicht intuitiv. Abbildung 4.9.: Dokumentabgleich mit bisherigen Möglichkeiten Ein weiteres Problem des Dokumentabgleichs stellt die Versionierung in Axalant dar. Bei versionierten Dokumente bleiben ältere im System erhalten, haben aber einen ungültigen Status. Die Dokumente in FATool werden nicht durch die neueren Versionen ersetzt. Erschwerend kommt hinzu, dass bei einem manuellen Aktualisierungsprozess in FATool, wie durch „Aktuelles Betriebsmittel aus Axalant holen“, das entsprechende Dokument trotz neuer Versionen nicht aktualisiert wird. Somit werden durch die Versionierung dauerhaft veraltete Dokumente in FATool gehalten. 4.3.7. Transferdaten Die Transferdaten sind aus der Gegebenheit erwachsen, dass die Datenbanken von FATool und Axalant nicht nur physisch, sondern auch örtlich getrennt sind. Das Problem bei den Transferdaten besteht darin, dass bei einer schlechten Anbindung des Standorts 66 4.3. Schwachstellen im Ist–Zustand auch der Datenbank–Link in seiner Geschwindigkeit reduziert ist. Dies führt zu langen Ladezeiten und macht große Auswertungen, Massenupdates oder Dokumentüberrollungen in einer angemessenen Zeit nahezu unmöglich. Vor allem viele kleine Anfragen an die Remote–Datenbank bremsen den Link aus, da sich die Verzögerung durch die Verbindung aufsummiert. Ein weiteres Problem des Datenbank–Link besteht im Aufbau der Queries. Anfragen, die nur wenige Bedingungen enthalten, können den Link schnell verlangsamen, da möglicherweise eine ganze Axalant–Tabelle empfangen werden muss und diese erst in den Cache der lokalen Datenbank geladen werden muss. In Abbildung 4.10 ist die aktuelle Situation mit den Transferdaten dargestellt. Die Da- Abbildung 4.10.: Transferdaten mit Verbindung über Datenbank–Link ten die gebraucht werden, um die Schnittstellentabellen zu füllen, sind in der Axalant Datenbank zu finden. Diese befindet sich jedoch in Friedrichshafen, während die FATool – Verwaltung in Passau ist. Die Prozeduren und Funktionen der Schnittstelle holen sich die Daten über den Link und speichern sie in Passau in den Übergabetabellen. Ein „Dispatcher“ ist zuständig für die Verteilung der Daten an die lokalen Zielsysteme. 4.3.8. Inkonsistenz zwischen Dokumenten Inkonsistenzen bei Dokumenten entstehen immer dann, wenn Dokumente direkt in FATool verwaltet werden sollen oder nicht nach Axalant eingecheckt werden. Da Axalant das strategische Dokumentverwaltungssystem ist, sollen alle Dokumente, die in FATool zur Verfügung stehen, auch primär in Axalant vorhanden sein. Generell ist es in FATool möglich einem Betriebsmittel ein Dokument manuell hinzuzufügen, was zu dem Problem führt, dass ein solches Dokument nicht von der Schnittstelle 67 4. Ist–Zustand berücksichtigt wird und damit sehr leicht Inkonsistenzen zwischen beiden Systemen erzeugt werden können. Selbst wenn das Einchecken des Dokuments nach Axalant gewünscht wird, muss zunächst manuell in Axalant ein Dokumentstamm angelegt werden. Ein weiteres gängigeres Szenario ist das Anlegen eines Materials mit dem darauffolgenden Erzeugen eines 3D–Modells, wie es in Abbildung 4.11 dargestellt ist. Hierbei kommen mehrere Systeme zum Einsatz, die farblich gekennzeichnet sind: Axalant in rot, FATool in gelb und CREO in grün. Des Weiteren sind auch zwei verschiedene Prozessabläufe gekennzeichnet, wobei der richtige in grün und der falsche in rot abgebildet ist. Abbildung 4.11.: Prozess vom Material zum 3D–Modell Der Prozess zum Anlegen eines neuen Materialstamms beginnt immer in Axalant, da hier unternehmensweit eindeutige Materialnummern vergeben werden. Da im aktuellen Zustand noch keine Merkmalswerte eingetragen sind, kann das Material in Axalant noch nicht freigegeben und somit nicht über die AXA2FASys Schnittstelle übertragen werden. In FATool gibt es allerdings die Möglichkeit Betriebsmittel manuell zu importieren, indem man die Funktion „Neues Betriebsmittel aus Axalant holen“ wählt und die entsprechende Materialnummer bereithält. Jetzt können die benötigten Merkmalswerte in FATool ausgefüllt werden und daraufhin ein 3D–Modell erzeugt werden. Dies geschieht im Hintergrund, indem CREO aufgerufen wird und eine STL2 –Datei erzeugt wird, die als 3D–Flächenmodell im FATool –Viewer betrachtet werden kann. Eine originalgetreue Darstellung der Betriebsmittelverwaltung von FATool mit Viewer und den verknüpften Dokumenten kann im Anhang A.2 in Abbildung A.6 eingesehen werden. Zur NC–Simulation wird allerdings ein Volumenmodell benötigt, das direkt in CREO erstellt wird. Dazu stellt FATool die Funktion „3D–Grafik aus CAD–Masterpart erzeu2 Surface Tesselation Language bezeichnet eine Sprache zur Beschreibung von Oberflächen durch Dreiecke, die von CAD–Systemen unterstützt wird und somit als eine Standardschnittstelle angesehen wird. 68 4.3. Schwachstellen im Ist–Zustand gen“ bereit, sodass die eingegebenen Merkmalswerte zusammen mit einem parametrisierten Mastermodell nach CREO übergeben werden. Bevor das Volumenmodell in CREO erzeugt werden kann, muss in Axalant ein Dokumentstamm zum zugehörigen Materialstamm angelegt werden. Dabei kann es nur einem Materialstamm zugeordnet werden, da das Dokument zu den Merkmalswerten des Materials passen muss. Allerdings besteht zwischen Material– und Dokumentstämmen im Allgemeinen eine n:m Beziehung, sodass einem Material mehrere Dokumentstämme zugeordnet sein können, aber einem Dokument auch mehrere Materialstämme wie in Abbildung 4.12 ersichtlich wird. Abbildung 4.12.: Beziehung zwischen Material– und Dokumentstamm CREO bietet hierfür die Funktion „Nach Axalant mit Rückfrage“, sodass in Axalant eine Maske erscheint mit der der Dokumentstamm angelegt und einem Material zugewiesen werden kann. Nach dem Anlegen stehen weitere durch Axalant standardisierte Parameter zur Verfügung, die zu dem 3D–Modell hinzugefügt werden müssen, um es mit dem Dokumentstamm zu verknüpfen. Hierfür sieht CREO die Funktion „Axalant Parameter zuordnen“ vor. Das 3D–Modell ist an dieser Stelle fertig und wird in FATool mit „Speichern der 3D–Grafik aus CAD“ zurückgeholt und damit die Schnittstelle zu CREO geschlossen. Das erzeugte 3D–Modell liegt in FATool als grafik.prt oder grafik.asm vor. Um die Merkmalswerte nun auch nach Axalant zu übertragen, wird die interaktive Rückgabe verwendet. Dazu setzt man den Betriebsmittelstatus in FATool auf „Warte auf Axalant Freigabe“ und die Schnittstelle wird geöffnet. Während dieser Zeit ist FATool nicht nutzbar und in Axalant erscheint die richtige vorausgefüllte Sachmerkmalleiste. Letzter Schritt in Axalant ist es die Merkmalswerte zu speichern und mit „Zurück nach CAD“ die Schnittstelle zu schließen. Diese Beschreibung stellt den normalen Prozess dar, wie er ablaufen sollte. In der Realität wird allerdings oft nur das 3D–Modell in CREO erzeugt und wieder nach FATool zurückgeholt. Dabei wird kein Dokumentstamm in Axalant angelegt und das CAD–Dokument steht nur in FATool zur Verfügung. Ohne dem Einchecken nach Axalant läuft dieser Prozess natürlich sehr viel schneller ab, aber andere Standorte haben keine Möglichkeit mit diesen Dokumenten zu arbeiten und es entstehen Inkonsistenzen zwischen den Systemen. 4.3.9. Dokumentverwaltung FATool besitzt keine eigene Dokumentverwaltung, sodass Dateien nur schwer als aktuell zu erkennen sind und oft redundant im System vorliegen. Dies ist in der Namenskonvention begründet, die in FATool gepflegt wird. So müssen TIF–Grafiken, die automatisch im 69 4. Ist–Zustand Viewer angezeigt werden sollen, den Namen egrafik.tif erhalten und STL– oder PRT– Dateien den Namen grafik.stl bzw. grafik.prt. Wenn Dokumente in Axalant gespeichert werden, so müssen Sie einem Dokumentstamm zugewiesen werden und bekommen automatisch eine AA–Nummer vom System. Will der Benutzer nun die Datei aus FATool mit der aus Axalant abgleichen, so ist dies wegen der verschiedenen Dateinamen nur bedingt möglich. Für den Benutzer ist es also schwer nachzuvollziehen, ob im System die aktuellste Datei vorliegt. Abbildung 4.13.: Redundanzen durch Namenskonventionen Redundanzen liegen dann vor, wenn der Anwender aus den hinterlegten Merkmalen und einem Mastermodell ein 3D–Modell erzeugen will, wie in Abbildung 4.13 gezeigt wird. Das Modell wird in CREO erzeugt, wobei der Benutzer die fertige PRT–Datei in Axalant einchecken muss. Dadurch wird automatisch ein Dokumentstamm erstellt und für diesen eine AA–Nummer generiert. Die aus CREO eingecheckte Datei trägt die AA–Nummer als Teil seines Dateinamen. Anschließend wird das Modell von CREO an FATool zurückgegeben und liegt ab sofort dort als grafik.prt vor. Durch die AXA2FASys Schnittstelle wird der neu erstellte Dokumentstamm mit FATool synchronisiert und somit das bereits existierende 3D–Modell erneut importiert, sodass es redundant vorliegt. 4.3.10. Datenleichen Beim Anlegen von neuen Materialien in Axalant, ohne einen darauffolgenden Statuswechsel, kann es dazu kommen, dass Datensätze, die ursprünglich zwischen Axalant und FATool synchronisiert wurden, nur noch in FATool existieren. Dies ist bei synchronisierten Datensätzen unbedingt zu vermeiden, da das System andernfalls Datenleichen enthalten kann. Der Prozess, der zu einem solchen unerwünschten Ergebnis führt, ist in Abbildung 4.14 dargestellt. Nach dem Erstellen des neuen Materials muss man unterscheiden, ob ein Statuswechsel stattgefunden hat. Falls ein Wechsel auf „550 Freigegeben“ durchgeführt wurde, wird das Material über die bestehende AXA2FASys Schnittstelle übertragen. Ist der Status auf „550 Freigegeben“ gesetzt, ist das unerwünschte Verhalten nicht zu beobachten, 70 4.3. Schwachstellen im Ist–Zustand Abbildung 4.14.: Prozess zum Erzeugen von Datenleichen da einmal freigegebene Materialstämme nicht mehr gelöscht werden können. Findet kein Statuswechsel statt, so kann das gewünschte Material manuell nach FATool geholt werden. Für den manuellen Import steht die Funktion „Neues Betriebsmittel aus Axalant holen“ zur Verfügung. Durch Angabe der entsprechenden Materialnummer wird das Betriebsmittel nach FATool importiert. Sollte es nun in Axalant gelöscht werden, bleibt der Datensatz in FATool bestehen, da die Änderungen von der Schnittstelle wegen des fehlenden Statuswechsels nicht berücksichtigt werden. Auch wenn dieser Fall nicht das geplante Vorgehen darstellt, ist er zu berücksichtigen, da unvorhersehbare User– Interaktionen zu diesem Verhalten führen können. 4.3.11. Betriebsmittelstatus In FATool gibt es verschiedene Betriebsmittelstatus, die unter anderem angeben, ob ein Betriebsmittel an einem Standort eingesetzt wird. Außerdem kann hier der Status zur interaktiven Rückgabe gesetzt werden. Es gibt demnach die folgenden Status für Betriebsmittel: • 0 Freigegeben • 1 Im Test • 2 Prüfen • 5 ungeprüft • 6 Warte auf Axalant Freigabe • 7 Archiv • 9 Gesperrt In der Verwendung von Betriebsmitteln ist der Betriebsmittelstatus allerdings nicht greifend. Das heißt, selbst wenn ein Bauteil nicht auf „0 Freigegeben“ gesetzt ist, kann es in Komplettwerkzeugen verwendet werden. Des Weiteren kann das Betriebsmittel auch verwendet werden, wenn der Status explizit auf „9 Gesperrt“ gesetzt ist. Dies hat eine irritierende Wirkung und führt dazu, dass der Betriebsmittelstatus durch die Anwender schlecht gepflegt und überhaupt berücksichtigt wird. 71 4. Ist–Zustand 4.4. Zusammenfassung In Tabelle 4.3 sind die gefunden Schwachstellen zusammenfassend dargestellt und mit einer Kurzbeschreibung nach ihrer Priorität sortiert, die von 1 (höchste) bis 3 reicht. ` Kurzbeschreibung Priorität ID Name 1 Eingeschränkte Suche Das Suchen von Betriebsmitteln ist auf 1 den eigenen Standort beschränkt. 2 Transferdaten Die Performance des Datenbank–Link er1 schwert die Durchführung von Massenupdates. 3 Aktualisierungen An jedem Standort müssen Änderun1 gen manuell durchgeführt werden, was zu kurzfristigen Inkonsistenzen führt. 4 Inkonsistenz zwischen Ein manuelles Hinzufügen von Dokumen2 Dokumenten ten, sowie das Erstellen von 3D–Modellen ohne nachfolgendes Einchecken in das PDM–System können Inkonsistenzen auslösen. 5 Inkonsistenz zwischen Eine Rückgabe der geänderten Merkmals2 Sachmerkmalen werte ist nicht erforderlich, sodass die Systeme auf unterschiedlichen Ständen sind. 6 Klassenmapping Änderungen an Klassen sind schwer fest2 zustellen und die Systeme demnach nicht konsistent. 7 Dokumentabgleich Veraltete Dokumente durch fehlendes Ver2 halten der Schnittstelle auf Änderungen am Dokumentstamm zu reagieren. 8 Datenleichen Manuell importierte Betriebsmittel wer2 den ohne zugehörigen Materialstamm als Datenreste im System gehalten. 9 Betriebsmittelstatus Der Betriebsmittelstatus greift nicht und 3 gesperrte Bauteile können dadurch in KWZ verwendet werden. 10 Änderungswesen Durchgeführte Änderungen sind ohne die 3 Protokollierung der ausgeführten Aktion schwer nachzuvollziehen. 11 Dokumentverwaltung Durch die Namensgebung ist es schwierig 3 festzustellen, ob eine Datei aktuell ist und es führt weiterhin zu Redundanzen. Tabelle 4.3.: Schwachstellen im Ist–Zustand 72 5. Soll–Konzept–Szenario In diesem Kapitel wird das bereits geplante Soll–Konzept anhand des Lastenhefts detailliert erläutert und gesondert auf Sachwachstellen eingegangen, die durch das neue Konzept hervorgebracht werden. Offene Punkte, die das bestehende Lastenheft nicht abdeckt, werden in einem erweiterten Soll–Konzept dargelegt und mögliche Lösungswege für die Schwachstellen des Ist– und Soll–Zustands beschrieben. In einer finalen Zusammenfassung wird überprüft, ob die gefundenen Schwachstellen durch das bestehende oder das erweiterte Soll–Konzept beseitigt werden. 5.1. Bestehendes Soll–Konzept Die folgenden Ideen zum Soll–Konzept sind dem Lastenheft vom 10.06.2013 entnommen und spiegeln das geplante Vorgehen wider. Zunächst wird eine Übersicht über die Architektur gegeben und dann auf das Lastenheft eingegangen, wobei jeder Punkt beschrieben und bewertet wird. Schließlich werden die Schwachstellen aufgezeigt, die durch das neue Konzept entstehen. 5.1.1. Übersicht Die Grundidee für die Architektur des Soll–Zustands besteht aus zwei getrennten FATool – Master–Servern, wobei einer für klassische ZF–Standorte verantwortlich ist und der andere für ZF–Lenksysteme. Dies ist erforderlich, da es zwischen ZF und ZFLS interne Konkurrenzsituationen gibt, sodass geheime Dokumente nur für die eigenen Zielsysteme sichtbar sein dürfen. Ein anderer Punkt ist die Eigenständig von ZFLS, das heißt die Systeme von ZFLS müssen bei einer eventuellen Trennung vom ZF–Konzern weiterhin lauffähig bleiben. Mappings und andere administrative Aufgaben werden dann nur noch auf einem der beiden Master–Server ausgeführt, sodass alle Zielsysteme und der Master–ZFLS mit den durchgeführten Änderungen synchronisiert werden und diese in allen Systemen konsistent verfügbar sind. Die lokalen Zielsysteme an den Standorten werden aus Gründen der Performanz erhalten bleiben. In der Produktion müssen Daten schnell und zuverlässig zur Verfügung stehen, sodass keine Leerlaufzeiten entstehen. Da es sich dabei oft um große Dateien handelt, müssen diese komplett mit dem zentralen Master–Server abgeglichen werden. Auch wegen den automatisch vergebenen Lizenzen muss der dezentrale, lokale Server bestehen bleiben, 73 5. Soll–Konzept–Szenario da ein Verbindungsausfall zum Master–Server auch den Ausfall der Produktion nach sich ziehen würde. Das zentrale Viewing der FATool –Daten erfordert das Öffnen eines neuen FATool –Clients, der Zugriff auf den zentralen Master–Server hat. Für den Import von gefundenen Betriebsmitteln muss weiterhin das SAP –Standortflag in Axalant wie schon im Ist–Zustand gesetzt werden, sodass das entsprechende Material am jeweiligen Standort verfügbar wird. Die Soll–Architektur des bereits bestehenden Konzepts ist in Abbildung 5.1 dargestellt und wird im Folgenden detailliert beschrieben. Abbildung 5.1.: Soll–Architektur • Das PDM–System Axalant ist weiterhin das führende System für die Klassifizierung und Stammdatenverwaltung, sodass neue Materialstämme nach wie vor dort angelegt werden müssen und somit konzernweit zur Verfügung stehen. Axalant selbst ist von der Zentralisierung des FATool nicht betroffen und die Änderungen, die um das System herum stattfinden, laufen für Axalant unsichtbar ab. • Die Dispatcher, die bisher als zentrale Einheit fungierten, werden nun auf den Master–ZF und Master–ZFLS verlegt. Damit sind in erster Linie die Schnittstellentabellen und der Master–Service betroffen, inklusiver ihrer PL/SQL Prozeduren und Funktionen. Die Verteilung der Daten auf die Master–Server läuft ebenfalls über die gesetzten SAP –Standorte. Während der Master–ZF für alle ZF internen Standorte verantwortlich ist, was mit den SAP –Standort Kürzeln FP, PP, .. verdeutlicht 74 5.1. Bestehendes Soll–Konzept wird und zusammenfassend mit ZFGRP1 beschrieben wird, ist der Master–ZFLS für alle Daten mit dem SAP –Standort GP1 verantwortlich, was mit ZFLS bezeichnet wird. Die beiden Master–Server beinhalten weitestgehend unterschiedliche Daten. Nur Datensätze denen sowohl ZFGRP als auch ZFLS als Standorteintrag zugewiesen ist, sind auf beiden verfügbar. Neben dem Master–Service läuft auch der Client–Service am Master–ZF, der das Master–FATool –Zielsystem mit Daten versorgt. Dieses Master–System wird ferner als „zentrales FATool“ bezeichnet. Der eigentliche Aktualisierungsprozess über den Dispatcher bleibt somit unverändert, mit dem Unterschied dass anstelle der standortspezifischen FATool –Systeme nun der Master–ZF und Master–ZFLS synchronisiert werden, die die Daten standortübergreifend verwalten. Die Administration des Dispatchers für ZFGRP unterliegt weiterhin der Abteilung FIDA5 in Passau. • Die Master–Server enthalten also einen Master– und einen Client–Service, um ihr FATool –System – das zentrale FATool – mit Daten zu versorgen. Sie sind allerdings auch verantwortlich für die Verteilung der Daten an die standortspezifischen FATool –Zielsysteme. Dazu muss ein weiterer Master–Service betrieben werden, der allerdings abgeändert wird, da die Schnittstelle des neuen Konzepts zwischen den Master–Servern und ihren dezentralen Zielsystemen eine bidirektionale Kommunikation vorsieht. Dies ist erforderlich, da zusätzliche Informationen, die von Axalant nicht verarbeitet werden können, trotzdem zentral zur Verfügung stehen sollen. Durch die „interaktive Rückgabe“ über Axalant würden diese Informationen verloren gehen und wären für andere Standorte nicht zugänglich. Dabei handelt es sich um Mehrschneidensysteme für die in Axalant nur ein Stammsatz mit nur einer Schneide existiert, in FATool jedoch flexibel verschiedene Schneiden zugeordnet werden können. Aber auch Benutzerdaten oder 3D–Modelle werden direkt von den standortspezifischen Systemen an den Master zurückgegeben. • Die dezentralen Server der einzelnen Standorte bleiben natürlich trotz des zentralen Master–Servers erhalten, da Fertigungsdaten immer standortabhängig sind. Auch in Anbetracht der Produktion müssen die Server für die Standorte lokal zur Verfügung stehen, denn ein Verbindungsausfall zum Master–Server könnte einen Produktionsstopp nach sich ziehen. Auf den lokalen Servern der Standorte läuft ein, hinsichtlich der bidirektionalen Schnittstelle, abgeänderter Client–Service, der beim Master–Server nach für ihn relevanten Daten anfragt. Die Verteilung erfolgt auch hier weiterhin anhand der SAP –Standorte, sodass die lokalen Zielsysteme immer eine Teilmenge an Daten des Master–Systems enthalten. • Die jeweiligen FATool –Zielsysteme werden durch den zuständigen Divisionsstandort administriert. Für die Industrietechnik (I–Division) ist Passau der Divisionsstandort und verwaltet somit auch Gainesville. Die „interaktive Rückgabe“ bleibt erhalten, um Änderungen mit Axalant abzugleichen. Zusätzlich kommt die Möglichkeit zum 1 Standorte können zu Gruppen zusammengefasst werden, sodass alle klassischen ZF–Standorte mit ZFGRP bezeichnet werden und ZF–Lenksysteme mit ZFLS. ZFGRP bezeichnet dabei alle Bereiche außer LS und Standorte in China. 75 5. Soll–Konzept–Szenario „Viewen der zentralen Master–Daten“ hinzu. Dies bedeutet für den Endanwender, dass er einen zusätzlichen FATool –Client öffnet, der auf die Daten des Master–ZF zugreift und somit standortunabhängig alle Daten einsehen kann. • Der Master–ZF Server wird vom Master–ZFLS mit Daten aus dem Bereich ZF– Lenksysteme versorgt. Hierbei muss jedoch zwischen den Änderungshoheiten unterschieden werden. Während alle Datensätze am Master–ZFLS als Standort ZFLS beinhalten, gibt es einige mit der spezifischen Änderungshoheit 4320. Das bedeutet, dass diese Datensätze nur für ZFLS sichtbar sind und somit nicht mit dem Master– ZF abgeglichen werden dürfen. Damit beinhaltet der Master–ZF Daten von ZFGRP und ZFLS, sodass ZFLS Endanwender auch ihre eigenen Daten beim Viewing am Master–Server zur Verfügung haben. • Durch das Viewen von Daten anderer Standorte, können Betriebsmittel leichter gefunden und in das eigene FATool –Zielsystem importiert werden. Dies geschieht, wie bereits beschrieben, durch das Setzen des SAP –Standorts am Materialstamm in Axalant, sodass die AXA2FASys Schnittstelle die Daten mit dem eben hinzugefügten FATool –System synchronisiert. Dies gilt auch für ZFLS Benutzer, die jedoch einen eigenen Master–Server haben, der ihr Zielsystem abgleicht. Sollen nun Daten synchronisiert werden, die Mehrinformationen beinhalten, solche die also nur von FATool verwaltet werden können (z.B. Mehrschneidensysteme), muss der Abgleich zwischen den beiden FATool –Master–Servern möglich sein, da in Axalant diese Informationen nicht verfügbar sind. Der Abgleich von gemeinsamen FATool –Daten findet also direkt zwischen den Master–Servern statt. • Bei Änderungen an Mappings von Klassendefinitionen müssen diese in Zukunft nur noch an einem System durchgeführt werden. Neben den Zielsystemen der ZFGRP, wird auch der Master–ZFLS mit geänderten Mappings synchronisiert, die nur einer Änderung am Master–ZF bedürfen, um alle FATool –Systeme einheitlich und konsistent zu halten. • Das Viewing der zentralen Master–Daten findet auch für ZFLS–Anwender auf dem Master–ZF Server statt, denn der Master–ZFLS beinhaltet nur Daten, die äquivalent mit dem ihres lokalen FATool –Zielsystems sind und somit der Vorteil zur Suche von Betriebsmitteln anderer Standorte zunichte wäre. Natürlich muss für das Viewing somit ein erweitertes Sichtenkonzept eingeführt werden, da es innerhalb der ZF interne Konkurrenten gibt, die Daten der jeweils anderen Standorte nicht einsehen dürfen. Diese Regelung besteht nicht nur zwischen ZFGRP und ZFLS, sondern auch zwischen Standorten innerhalb von ZFGRP, sodass das Sichtenkonzept ausreichend feingranular aufgebaut werden muss. 76 5.1. Bestehendes Soll–Konzept 5.1.2. Lastenheft Im Folgenden werden die Punkte des Lastenhefts zitiert, die in Relation mit dieser Arbeit stehen. Zu jedem Punkt werden zusätzliche Informationen mit detaillierter Beschreibung gestellt, damit die Anforderungen für den Leser verständlich werden. Falls Punkte fehlerhaft oder widersprüchlich beschrieben sind, wird in einer Anmerkung die Aussage richtig gestellt. Falls Punkte etwaige Schwachstellen enthalten, werden sie als solche markiert und im erweiterten Soll–Konzept mögliche Lösungswege vorgestellt. Konzepte, die FATool spezifisch sind und keine Verbindung zu den behandelten Themen dieser Arbeit aufweisen, werden in dieser Arbeit nicht berücksichtigt. Dies betrifft die Punkte „Konzept für Software–Releasewechsel“ und „Konzept für dezentrale Funktionserweiterungen je Standort“, sowie „Analyse der bestehenden Schnittstellen von FATool zu anderen IT– Systemen an den beteiligten Standorten“. Als Schnittstelle zu anderen IT–Systemen wird lediglich die Verbindung zu Axalant berücksichtigt. Berechtigungskonzept • „Die Sichtbarkeit der Daten aus dem PDM–System muss innerhalb der PDM2FATool–Schnittstelle realisiert werden.“ Die Schnittstelle zwischen Axalant und FATool berücksichtigt bereits die Änderungshoheit des Fertigungshilfsmittels bei der Übertragung. Bisher dient die Änderungshoheit in FATool rein informativen Zwecken und stellt keine funktionalen Eingriffe dar. Die Schnittstelle muss dahingehend erweitert werden, dass auch die Änderungshoheit des aktuell angemeldeten Benutzers verwendet und mit der des Fertigungshilfsmittels abgeglichen wird, um über die Sichtbarkeit von Daten entscheiden zu können. Das geplante Vorgehen für die Übertragung von Daten über die Schnittstelle ist zunächst, dass nur Daten übertragen werden, die von allen Standorten gesichtet werden dürfen. Schwachstelle Da auch im FDO–Bereich Datensätze existieren, die nur für bestimmte Standorte sichtbar sein sollen, reicht es nicht aus sensible Datensätze in der Schnittstelle zu filtern. Daher müssen die entsprechenden Berechtigungskonzepte aus Axalant nach FATool portiert werden. Dabei ist zu unterscheiden, ob die Sichtbarkeit die Meta–Daten, die verknüpften Dateien oder beides betrifft. • „Anwenderbezogene Änderungshoheit aus PDM–System muss in FATool zur Verfügung gestellt werden.“ In Axalant können einem Benutzer mehrere Änderungshoheiten zugewiesen sein, wobei jeder Benutzer in der Regel eine seinem Standort entsprechende Standard–Änderungshoheit besitzt. Diese wird unter anderem beim Anlegen von neuen Datensätzen verwendet, da jedes Objekt eine eindeutige Änderungshoheit besitzen muss. Um die anwenderbezogene Änderungshoheit in FATool umzusetzen, muss zusätzlich der Zugriffstyp auf Datensätze, dem die Attribute „Lesen“, „Schrei- 77 5. Soll–Konzept–Szenario ben“ und „Löschen“ sowie eine explizite Gültigkeit zugeordnet werden können, synchronisiert werden. Da die Menge an Benutzern in FATool nur eine Teilmenge der Benutzer in Axalant darstellt, können diese anwenderbezogenen Berechtigungen stündlich aktualisiert und gemappt werden. Schwachstelle Bei diesem Punkt wird davon ausgegangen, dass die anwenderbezogene Änderungshoheit als Berechtigungskonzept in FATool ausreichend ist. Dies muss zunächst einer Prüfung unterzogen werden. Unterschiedliche Benutzerverwaltungen für die verschiedenen Systeme würde einen enormen Overhead bedeuten, sodass ein Mapping der entsprechenden Benutzerrechte aus Axalant erstellt werden muss. Welche Berechtigungen portiert werden müssen, wird durch Aufstellen der Anforderungen ermittelt. • „Das im FATool bestehende Berechtigungskonzept zur Administration der FATool– Konfiguration muss verfeinert werden. Die Administratoren von FATool–Master müssen auf allen FATool-Zielsystemen angelegt werden.“ Den Administratoren der zentralen Server muss es erlaubt sein, sich auch auf die dezentralen Zielsysteme einzuloggen, um dort Anpassungen vornehmen zu können. Auf standortspezifische Tabellen sollten allerdings nur die jeweiligen Standortadministratoren Zugriff haben. Ihnen soll es außerdem erlaubt sein, zentral User anzulegen. Allerdings sollten sie keinen Zugriff auf die zentralen Mapping–Tabellen erhalten. Administrative Aufgaben, die den eigenen Standort betreffen, sollen durchführbar bleiben. Änderungen, die alle Zielsysteme betreffen, dürfen nur von zentralen Administratoren durchgeführt werden. Anmerkung Diese Anpassung ist außerhalb des Berechtigungskonzepts von Axalant durchzuführen und mit verschiedenen User–Rollen innerhalb von FATool umzusetzen. Die User–Rollen aus Axalant müssen dennoch berücksichtigt werden, sodass Änderungen nur an zulässigen Betriebsmitteln durchgeführt werden können. Integration der FATool–Installation bei ZFLS • „Systemtechnische Abbildung mit einem separaten Mastersystem ZFLS erforderlich.“ Wegen der Eigenständigkeit von ZFLS muss ein eigenständiges Mastersystem eingeführt werden, sodass ZFLS bei einer möglichen Abspaltung vom restlichen ZF–Konzern weiterhin autonom arbeiten kann. Eine Abbildung des Master–ZF betrifft dabei allerdings nur Konfigurationsdaten wie Klassendefinitionen, die auf dem administrativen Master–ZF gepflegt und auf Master–ZFLS abgebildet werden. Die eigentlichen Nutzdaten werden nicht vollständig zwischen den Systemen synchronisiert, da es auf beiden Seiten geheime Dokumente gibt, die für die jeweils andere Seite nicht sichtbar sein sollen. 78 5.1. Bestehendes Soll–Konzept • „ZF-Lenksysteme behält ihre eigenständige FATool Infrastruktur bei.“ Bereits im Ist–Zustand wurde der Dispatcher für ZFGRP und ZFLS separat betrieben. Im Soll–Zustand ist es ebenfalls so geplant, mit dem Unterschied, dass nun zunächst der zentrale Master–ZFLS mit den Daten synchronisiert wird und erst dann die Daten an das momentan einzige FATool –Zielsystem innerhalb ZFLS weitergereicht werden. Schwachstelle Durch die Eigenständigkeit und die getrennten Dispatcher ist ZFLS selbst zuständig für die Verteilung der Daten. Durch diese Selbstregulierung ist es theoretisch möglich, dass ZFLS auch Daten nach Master–ZFLS importiert, die nicht für ZF–Lenksysteme vorgesehen sind. Hierzu müssen in der jeweiligen Schnittstellenfunktion die gewünschten SAP –Standorte eingetragen werden. Dieses Vorgehen kann nicht unbemerkt bleiben, da die Datensätze im eigentlichen Zielsystem fehlen werden. Es sollte aber dennoch als Schwachstelle erwähnt werden. • „Die FATool–Daten aus LS werden durch FASys bei Anlage und Änderung an den ZF–Konzern zentralen Master repliziert. Dabei ist das Berechtigungskonzept aus Axalant (Änderungshoheit, Sichtbarkeit an Standorten) zu berücksichtigen.“ Ein Abgleich zwischen den Servern Master–ZF und Master–ZFLS ist grundsätzlich möglich, wobei Daten von ZFLS nur dann repliziert werden, falls ihre Änderungshoheit nicht 4320 ist. Darüber hinaus gibt es auch Datensätze, die virtuelle Standorte als Eintrag haben und somit erst gar nicht repliziert werden dürfen. Auch lesebeschränkte Daten sollen übertragen werden, allerdings sollen dabei nur die Meta–Daten zur Verfügung stehen. Die beiden Master–Systeme sind daher in ihrem Datenbestand relativ unterschiedlich. Gemeinsame Daten kommen nur durch die Replikation von ZFLS nach ZF zustande, wenn ZFGRP und ZFLS als Standorte eingetragen sind oder wenn Datensätze nach ZFLS importiert werden, die Mehrinformationen aus FATool beinhalten und direkt zwischen den Master–Servern abgeglichen werden. • „Für die LS–Anwender soll die Möglichkeit bestehen, die Daten im FATool–Master– ZF per Viewer anzusehen. Werden solche Teile bei ZFLS gebraucht, wird über einen SAP–Standort–Eintrag im PDM–System das Teil auch in das Mastersystem von ZFLS übertragen.“ Dadurch, dass ZFLS–Anwender auch Daten am zentralen Master–ZF viewen können, müssen erweiterte Berechtigungskonzepte umgesetzt werden, da am Master–ZF Datensätze existieren, die für ZFLS nicht sichtbar sein dürfen. Hierzu wird einerseits die Berechtigung des Users und andererseits die des Standorts überprüft, der durch die Schnittstelle über Axalant zur Verfügung gestellt wird. Der Standorteintrag in Axalant muss manuell durchgeführt werden und setzt ebenfalls die entsprechenden Berechtigungen in Axalant voraus. 79 5. Soll–Konzept–Szenario • „Der FATool–Master–ZF sollte alle FATool–Daten von ZF und ZFLS beinhalten.“ Da die Konfigurationsdaten ausschließlich am Master–ZF gepflegt werden, muss es sich bei diesem Punkt um die Nutzdaten handeln, die von Master–ZFLS nach Master–ZF übertragen werden. Da hier von allen FATool –Daten die Rede ist, müsste der Master–ZF den Master–ZFLS komplett beinhalten, was allerdings nicht der Fall ist, wie in Abbildung 5.2 zu sehen ist. 4320 ZFLS ohne 4320 ZFLS ohne 4320 Master ZFLS ..... Dielingen Padua Gainesville Passau Master ZF Abbildung 5.2.: Datenüberschneidung zwischen ZF und ZFLS Anmerkung Die beiden Systeme besitzen maximal eine gemeinsame Schnittmenge, die nur die Daten betrifft deren Änderungshoheit ungleich zu 4320 ist. Des Weiteren finden sich auch manuell nach Master–ZFLS importierte Daten in der Schnittmenge wieder, die in beiden Systemen verfügbar sind und ein Austausch über Zusatzinformationen stattgefunden hat. Alle Datensätze mit Änderungshoheit 4320 sind nur für ZFLS bestimmt und werden nicht mit Master–ZF repliziert. • „Einheitliche Klassifizierungs– und Mapping–Tabellen werden auf dem FATool– Master–ZF gepflegt, sodass beide Master auf dieselbe Basis zurückgreifen können. “ Die administrativen Aufgaben, wie das Anpassen von Mappings und Klassendefinitionen, müssen nur noch auf dem Master–ZF durchgeführt werden. Der Master–ZFLS wird direkt synchronisiert und alle FATool –Zielsysteme sind mit nur einer Anpassung aktuell und konsistent. 80 5.1. Bestehendes Soll–Konzept Zentrales Mapping der PDM–SML–Felder • „Der Ausgangspunkt für die FHM–Übertragung nach FATool sind die PDM– Klassen.“ Der Austausch von Fertigungshilfsmitteln zwischen Axalant und FATool basiert auf den zugrunde liegenden Klassen aus Axalant. Jedes Fertigungshilfsmittel wird einer Klasse in FATool zugeordnet, wofür zunächst ein Klassenmapping erstellt werden muss. Nur durch die richtige Zuordnung von Quell– und Zielleiste kann ein Import durchgeführt werden. • „Die benötigten Klassen je FATool–Zielsystem können nach entsprechender Abstimmung standortspezifisch festgelegt werden. Dies wird auf FATool–Master–ZF definiert und dann auf FATool–Master–ZFLS repliziert.“ Angenommen ein bestimmter Standort benötigt eine spezielle Klasse aus Axalant in seinem Zielsystem, dann läuft die Verteilung über Master–ZF, wobei die Klasse nur an den speziellen Standort ausgeliefert wird. Trotzdem bleibt sie am zentralen Master–Server verfügbar. Solche Klassenmappings werden ausnahmslos am Master–ZF gepflegt und auf den Master–ZFLS repliziert. Schwachstelle Wenn seitens ZFLS eine neue Klasse und damit auch ein neues Klassenmapping gebraucht wird, so kann dies am zentralen Master–ZFLS nicht durchgeführt werden, da Klassenmappings nur am Master–ZF definiert werden. Es fehlt eine Lösung wie ZFLS auch Klassenmappings verwalten und neu anlegen kann. • „Die betroffenen FATool–Leistendefinitionen (Sachmerkmale, Leisten und Bilder) werden auf die FATool–Zielsysteme sowie auch FATool–Master–ZFLS verteilt.“ Die einzige zu pflegende, zentrale Einheit stellt der Master–ZF dar, der FATool –Daten sowohl an die Zielsysteme, als auch an Master–ZFLS verteilt. Dadurch wird der Aufwand bei Anpassungen an Konfigurationsdaten minimiert und kann schnell und konsistent an alle anderen FATool –Installationen verteilt werden. • „In FATool–Master gibt es ein einheitliches zentrales Klassenmapping.“ Das einheitliche zentrale Klassenmapping erhält die Konsistenz zwischen den Systemen. Das Mapping ist somit für alle Standorte gleichermaßen bindend und kann nur zentral verändert werden, jedoch nicht standortspezifisch. • „FATool interne Leisten werden beim Releasewechsel zentral über FATool–Master aktualisiert. Die Verantwortung liegt hier bei der Firma FASys.“ Bei Einführung des zentralen Systems muss ebenfalls ein Releasewechsel der FATool –Applikation durchgeführt werden, der das neue Konzept unterstützt. Falls sich somit Änderungen an Konfigurationsdaten ergeben, muss zukünftig kein Patch mehr verteilt werden, sondern es werden die internen Leisten am Master–ZF 81 5. Soll–Konzept–Szenario angepasst und auf die Zielsysteme repliziert. • „Die Aktualisierung der standortspezifischen Leisten unterliegt der Verantwortung des jeweiligen Standortes.“ Unter standortspezifischen Leisten versteht man diejenigen Daten, die so speziell auf einen Standort zugeschnitten sind, dass sie nicht zentral gepflegt werden können. Dies ist bei der NC–Programmverwaltung der Fall, denn jeder Standort hat verschiedene DNC–Maschinen im Einsatz, sodass dieses Modul nicht standortübergreifend verwaltet werden kann. So besitzt jeder Standort am zentralen Master–ZF eine eigene standortspezifische Leiste, die die lokalen Daten enthält (z.B. ncpv_pas für Passau, ncpv_pdv für Padova). So werden standortabhängige Daten auch für andere Standorte einsehbar, wobei die Verteilung dezentral durchgeführt wird. Das zentrale Sichten dieser Daten ist mit der Vorreiterrolle in der Produktion begründet, die manche Standorte einnehmen und somit zukünftig für andere Standorte relevant werden. Schwachstelle Es ist nicht geklärt, ob Änderungen an standortspezifischen Leisten am Master–ZF oder am lokalen Zielsystem durchzuführen sind. • „Zusammenführung der vorhandenen Systeme in ein Mastersystem.“ Da die geplante Schnittstelle zwischen den FATool –Zielsystemen und den Master–Servern bidirektional sein wird, soll diese genutzt werden, um die Daten von den Zielsystemen auf den jeweiligen Master–Server zu replizieren. Die Urladung des Master–Systems kommt also von den Zielsystemen selbst. Schwachstelle Beim derartigen Zusammenführen von Daten kann es zu Konflikten kommen, die durch gemeinsam genutzte Datensätze mit unterschiedlichen Merkmalswerten zwischen den verschiedenen Standorten entstehen. Hier sind geeignete Maßnahmen zur Konfliktlösung zu entwickeln. Neue Funktionalitäten • „Viewing der zentralen Daten auf dem FATool–Master ZF muss möglich sein.“ Das Sichten der zentralen Daten wird durch einen Terminal–Server ermöglicht. Das zentrale FATool ist somit eine einmalig, zentral installierte Anwendung, die über leistungsfähige WAN–Leitungen von mehreren lokalen Benutzern verwendet wird. Der Terminal–Server bietet dabei nur Zugriff auf die Applikation selbst, sodass ein Benutzer eingeschränkte Rechte auf dem jeweiligen Server besitzt. Das zentrale FATool ist eine eigene Applikation und läuft unabhängig vom lokalen FATool. Anwender können so parallel im lokalen und im zentralen System suchen. 82 5.1. Bestehendes Soll–Konzept • „Datenabgleich“ „Automatischer Zielsystemen.“ Abgleich zwischen den FATool–Master und FATool– „Abgleich zwischen FATool–Master ZF und FATool–Master ZFLS.“ „Komplettwerkzeuge mit allen Schneiden müssen in die FATool–Zielsysteme übertragen werden.“ Der Abgleich von Daten zwischen dem Master–ZF und den lokalen Zielsystemen muss in beide Richtungen automatisch funktionieren. Der Grund für die Bidirektionalität liegt in den Zusatzinformationen, die nur von FATool gespeichert werden, nicht jedoch von Axalant und somit direkt zwischen dem lokalen und dem zentralen Server ausgetauscht werden. Die Zusatzinformationen und das Klassenmapping sowie gemeinsam genutzte Datensätze machen einen Abgleich zwischen dem Master–ZF und dem Master–ZFLS erforderlich. Komplettwerkzeuge mit mehreren Schneiden können somit in jedes beliebige Zielsystem übertragen werden, ohne dass Daten zwischen den Systemen verloren gehen. • „Im FATool–Zielsystem muss es möglich sein, vom FATool–Master einen bestehenden Datensatz zu kopieren.“ Diese Funktion wird immer dann benötigt, wenn es sich um Datensätze mit zusätzlichen Informationen handelt. Wird ein passendes Fertigungshilfsmittel im zentralen System gefunden, so wird es durch das Eintragen des eigenen SAP – Standorts in Axalant an das eigene FATool –Zielsystem übermittelt. Dabei bleiben die Informationen, die von Axalant nicht gespeichert werden können, auf der Strecke. Um diese Informationen dennoch zur Verfügung zu stellen, muss es eine Funktion geben, die es erlaubt komplette Datensätze aus dem Mastersystem zu kopieren. Abbildung 5.3.: Übertragen zusätzlicher Informationen zwischen den zentralen Systemen 83 5. Soll–Konzept–Szenario In Abbildung 5.3 ist dieses Szenario dargestellt, das mit dem Viewing der zentralen Master–Daten beginnt. Ist ein passendes Betriebsmittel gefunden, so wird in Axalant entweder der entsprechende SAP –Standort eingetragen oder, falls Änderungen am Material notwendig sind, der komplette Datensatz kopiert. Im nächsten Schritt wird dieser Datensatz durch die AXA2FASys Schnittstelle in das lokale Zielsystem übertragen. In beiden Fällen fehlen jedoch die Zusatzinformationen aus FATool. Hierzu soll es nun eine Funktion geben, um die zusätzlichen Informationen für einen Datensatz von Master–ZF abrufen und replizieren zu können. • „Produktverlagerungen“ „Es muss möglich sein ein NC–Programm samt Quellsourcen von einem FATool–Zielsystem über den FATool–Master auf ein anderes FATool–Zielsystem zu replizieren.“ Da in Axalant keine NC–Programme verwaltet werden, greift hier das Verteilungskonzept über die SAP –Standorte nicht. Obwohl die NC–Daten grundsätzlich standortabhängig sind, muss die Verlagerung von produktionsrelevanten Daten möglich sein. Wenn ein Standort nicht genügend Kapazitäten zur Produktion hat, so können andere Standorte mit freien Kapazitäten einen Teil der Produktion übernehmen. Voraussetzung für ein erfolgreiches Verlagern der Produktion sind natürlich kompatible Maschinen in der Fertigung. Deshalb braucht man Funktionen, die das Replizieren von NC–Programmen zwischen den Zielsystemen ermöglichen. 84 5.1. Bestehendes Soll–Konzept 5.1.3. Schwachstellen Im Folgenden werden die Schwachstellen, die im Lastenheft identifiziert werden konnten, herausgestellt und genauer erklärt. 5.1.3.1. Selbstkontrolle ZF–Lenksysteme übernimmt die Verteilung der für sie bestimmten Daten selbst. Hierfür verwalten sie ihren eigenen Dispatcher, der aus der Auftragstabelle in Axalant alle Einträge mit dem Standortflag „GP1“ selektiert und die Daten an das bisher einzige Zielsystem an Master–ZFLS weiterleitet. ZFLS besitzt eine eigene Schnittstelle nach Axalant, da es als Joint-Venture flexibel bleiben und auch bei einer möglichen Abspaltung weiterhin funktionieren muss. Doch die Schnittstelle wird auch selbst von ZFLS verwaltet und kann somit manipuliert werden. Durch das Hinzufügen oder Abändern von Standorteinträgen in den PL/SQL Funktionen können auch Datensätze, die für andere Standorte bestimmt sind, abgegriffen werden. Es bekommt das System den Vorzug, das die Auftragstabelle schneller abarbeitet. Im anderen System fehlt dieser Datensatz, da ein quittierter Eintrag als abgearbeitet gilt. In Abbildung 5.4 ist eine manipulierte Schnittstelle dargestellt, die eine fehlerhafte Verteilung der Daten erlaubt. Abbildung 5.4.: Fehlerhafte Verteilung durch manipulierte Schnittstelle Die Schnittstelle wurde dahingehend abgeändert, dass zwischen Axalant und Master– ZFLS fälschlicherweise Daten synchronisiert werden, die für Master–ZF bestimmt wären. Angenommen Master–ZFLS arbeitet die Auftragstabelle zum Datenexport schneller ab als Master–ZF, dann würde ein Datensatz, der eigentlich für Passau bestimmt wäre, nach Schwäbisch–Gmünd transferiert werden. Gleichzeitig würde dieser Datensatz im Passauer System fehlen, was dieses Vorgehen sicherlich schnell aufdecken würde. 85 5. Soll–Konzept–Szenario 5.1.3.2. Berechtigungskonzept Die Änderungshoheit als einziges Berechtigungskonzept nach FATool zu portieren, um die Sichtbarkeit von Stammdatensätzen zu regulieren, kann in manchen Situationen nicht ausreichend sein. Da es weiterhin vertrauliche Daten gibt, die nicht nur zwischen ZF und ZFLS zu verbergen sind, sondern auch zwischen bestimmten Standorten innerhalb ZFGRP, müssen explizit die Änderungshoheiten der betroffenen Stammdatensätze gesperrt werden. Das Filtern der gesperrten Änderungshoheiten wird durch die AXA2FAsys Schnittstelle übernommen. Dies hat allerdings den Nachteil, dass diese Daten auch für den berechtigten Standort nicht mehr verfügbar sind, da sie bereits in der Schnittstelle verworfen werden. Des Weiteren zieht dieses Vorgehen einen enormen organisatorischen Aufwand nach sich, der vor allem bei zukünftigen Änderungen ständig aktuell gehalten werden muss. Doch Änderungen in Axalant sind schwer feststellbar, sodass an dieser Stelle Inkonsistenzen vorprogrammiert sind. Ein anderer Ansatz ist, dass bereits die Schnittstelle die virtuellen Standorte auswertet, die in Axalant verwendet werden, um die Sichtbarkeit auf bestimmte Standorte einzugrenzen. Hat ein Datensatz nur Passau als virtuellen Standort eingetragen, so sind diese Daten für andere Standorte gar nicht erst existent. In der Schnittstelle zwischen Axalant und Master–ZF wird nun überprüft, ob der zu übertragende Datensatz als Standort ZFGRP besitzt und somit für alle klassischen Standorte sichtbar sein darf. Datensätze ungleich ZFGRP werden durch die Schnittstelle ausgefiltert. Entsprechend werden für ZFLS Datensätze verworfen, die als Standorte ungleich ZFLS sind. Da es für ZFLS nur ein FATool – Zielsystem gibt, sind die fehlenden Datensätze nicht so umfangreich wie es bei ZFGRP der Fall sein wird. In Abbildung 5.5 ist die Filterung bezüglich der virtuellen Standorte durch die Schnittstelle dargestellt. Der Datensatz mit dem Standorteintrag Passau wird somit von der Schnittstelle verworfen und ist keinem Standort zugänglich, selbst der befugte hat keinen Zugriff. Obwohl der organisatorische Aufwand somit eingegrenzt wird, bleibt das Problem, dass auch befugte Standorte auf ihre geheimen Daten keinen Zugriff haben, bestehen. Das direkte Filtern spricht für die Sicherheit der Daten, grenzt allerdings die Verfügbarkeit dieser stark ein, sodass auch dieses Konzept keine ideale Lösung bietet. Abbildung 5.5.: Filterung stelle durch Schnitt- Ein weiteres Problem der Änderungshoheit ist seine Position im Berechtigungsmodell von Axalant. Die virtuellen Standorte, die speziell die Sichtbarkeit der Daten in Axalant 86 5.1. Bestehendes Soll–Konzept regeln, sind der Änderungshoheit übergeordnet. Angenommen ein Anwender besitzt viele verschiedene Änderungshoheiten und das Konzept der virtuellen Standorte wird von der Schnittstelle nicht berücksichtigt, dann wäre es möglich, dass dieser Benutzer mit Stammdaten arbeiten kann, obwohl sie für seinen Standort gar nicht sichtbar wären. Im Umkehrschluss könnten Benutzer mit wenigen Änderungshoheiten auch entsprechend weniger Daten einsehen, was die Produktivität des Systems stark einschränkt. Somit ist es unumgänglich, dass die Schnittstelle die virtuellen Standorte unterstützt und zur Verfügung stellt. Die Verwendung der virtuellen Standorte in FATool wird daher als empfehlenswert angesehen. 5.1.3.3. Standortspezifische Änderungen Durch das Lastenheft wird nicht geklärt an welcher Stelle standortspezifische Änderungen durchzuführen sind. Im Allgemeinen sind zwei verschiedene Szenarien denkbar, wobei die Änderungen entweder am zentralen Master–Server – Master–ZF bzw. Master–ZFLS – durchgeführt werden und die Änderungen an das Zielsystem repliziert werden, oder alternativ die Änderungen direkt am Zielsystem durchgeführt werden und anschließend mit dem Master–Server abgeglichen werden. Abbildung 5.6.: Mögliche standortspezifische Anpassungen In Abbildung 5.6 sind die verschiedenen Möglichkeiten aufgezeigt, wobei Änderungen am lokalen Server durch blaue Kanten und Änderungen am zentralen Server durch rote Kanten dargestellt werden. Im Falle von ZFLS ist ein weiteres Szenario denkbar, das als grüne Kante dargestellt wird und Änderungen am Master–ZF vorsieht. Diese werden synchronisiert bis sie schließlich ebenfalls im Zielsystem vorhanden sind. Durch das Lastenheft wird jedoch nicht geklärt, ob standortspezifische Leisten zwischen den Master–Servern repliziert werden und an welchen Stellen Änderungen vorgesehen werden, was dieses Vorgehen ebenfalls relevant macht. 87 5. Soll–Konzept–Szenario 5.1.3.4. Datenmigration Die Master–Server sollen durch die mit ihnen verbundenen Zielsysteme in einen Initialzustand gebracht werden, um die Anforderung zu erfüllen, dass sie die Daten aller angebundenen Systeme enthalten. Hierfür wird die bidirektionale Schnittstelle verwendet, die es erlaubt Daten vom Zielsystem auf den zentralen Master zu replizieren. Verwenden jedoch mehrere Standorte die gleichen Stammdaten kann es zu Konflikten kommen. Diese treten immer dann auf, wenn gleiche Datensätze verschiedene Merkmalswerte aufweisen, was bisher in FATool möglich war. Durch diese Änderungen müssen Szenarien zur Konfliktlösung entwickelt werden. Abbildung 5.7.: Konflikt bei der Datenmigration Wie in Abbildung 5.7 verdeutlicht, können die verschiedenen Standorte innerhalb eines Materialstamms und desselben Merkmals verschiedene Werte aufweisen. Da der Master–ZF nur einen, für alle Standorte übergreifenden Datensatz speichern wird, muss er entscheiden welcher Merkmalswert übernommen wird. Bei Master– ZFLS tritt dieses Problem nicht auf, da bisher nur ein Zielsystem verknüpft ist und somit keine Konflikte entstehen können. Bei dieser Art der Datenmigration werden zwar die Mehrinformationen aus FATool berücksichtigt, wichtige Informationen aus Axalant zur Umsetzung des Berechtigungskonzepts fehlen jedoch. So muss ein Konzept zur Datenmigration entwickelt werden, das beide Systeme unterstützt und die gewünschten Informationen im Master–Server bereitstellt. 5.1.3.5. Klassenmapping durch ZFLS Auch für ZF–Lenksysteme muss die Möglichkeit bestehen Änderungen an Klassenmappings durchzuführen oder bei Bedarf neue anzulegen. Da alle Mappings und Klassendefinitionen ausschließlich auf Master–ZF gepflegt werden, muss Anwendern von ZFLS Zugriff auf den administrativen Bereich von Master–ZF gewährt werden. Da im Moment noch keine User–Rollen innerhalb von FATool entwickelt wurden, ist es schwierig abzuschätzen welche Auswirkungen und Risiken ein administrativer Eingriff in den Master–ZF seitens ZFLS birgt. Generell gilt jedoch, dass ein direkter Zugriff auf die zentrale Applikation ein Sicherheitsrisiko darstellt, da somit auch alle ZF–Standorte aus ZFGRP in ihren Konfigurationen geändert werden können. 88 5.1. Bestehendes Soll–Konzept 5.1.4. Bewertung Im Folgenden wird validiert, ob die Anforderungen und Schwachstellen des Ist–Zustands mit dem bestehenden Soll–Konzept gelöst werden können. In Tabelle 5.1 sind erneut alle Schwachstellen aus dem Ist–Zustand nach ihrer Priorität sortiert und es wird angegeben, ob diese durch die Anforderungen im Lastenheft gelöst werden konnten. ID 1 2 3 4 5 6 7 8 9 10 11 Name Eingeschränkte Suche Transferdaten Aktualisierungen Inkonsistenz zwischen Dokumenten Inkonsistenzen zwischen Sachmerkmalen Klassenmapping Dokumentabgleich Datenleichen Betriebsmittelstatus Änderungswesen Dokumentverwaltung Priorität 1 1 1 2 2 2 2 2 3 3 3 Tabelle 5.1.: Schwachstellen des Ist–Zustands ` Gelöst 4 2 4 2 2 2 2 2 2 2 2 Die Forderung, dass durch das neue Konzept alle Anforderungen mit Priorität 1 gelöst werden müssen, sind nicht vollständig erfüllt. Immerhin kann bei zwei von den drei wichtigsten Punkten Abhilfe attestiert werden, wobei die Anforderungen mit niedrigeren Prioritäten auf der Strecke bleiben. Die standortübergreifende Suche und die Reduzierung des Verwaltungsaufwands wird durch das bestehende Konzept optimal gelöst. Zur Situation der schlechten Verbindung bei Massenupdates wird hingegen nicht eingegangen, sodass dieser Punkt im erweiterten Lastenheft aufgegriffen werden muss. Anforderung der Priorität 2 werden vom Lastenheft gänzlich ausgelassen und können durch teilweise einfache Änderungen in der Infrastruktur der Systeme oder den Prozessen zwischen den Systemen gelöst werden. Lösungsvorschläge für die Punkte dieser Kategorie sind im erweiterten Lastenheft zu finden. Bei den Punkten mit Priorität 3 handelt es sich im Allgemeinen um nicht–funktionale Anforderungen, die vor allem das Usability betreffen und im positiven Sinne zur Software–Ergonomie beitragen können. Im erweiterten Lastenheft werden diese Punkte jedoch nicht aufgegriffen, da nur Entwürfe für funktionale Anforderungen im Rahmen dieser Arbeit von Interesse sind. Während einige dieser Punkte durch das bestehende Lastenheft einfach nicht erfüllt werden, sind andere Punkte gar nicht berücksichtigt, die aber für ein zentrales Konzept absolut notwendig sind. Im erweiterten Lastenheft wird deshalb zwischen fehlenden Anforderungen, Schwachstellen aus dem Ist–Zustand und Schwachstellen aus dem Soll–Konzept unterschieden. 89 5. Soll–Konzept–Szenario 5.2. Erweitertes Soll–Konzept Das erweiterte Soll–Konzept nimmt das vorhandene Soll–Konzept als Grundlage und ergänzt es um wichtige Anforderungen, die bisher nicht berücksichtigt wurden aber als essentiell angesehen werden. Außerdem werden erneut die Schwachstellen aus dem Ist–Zustand aufgegriffen und Lösungskonzepte angeboten. Durch das bestehende Soll–Konzept hervorgebrachte Schwachstellen werden ebenfalls berücksichtigt und mögliche Lösungen aufgezeigt. 5.2.1. Erweiterungen im Lastenheft Im Folgenden werden Erweiterungen vorgestellt, die bisher vom Lastenheft nicht berücksichtigt wurden. 5.2.1.1. Datenreplikation Die Replikation der Daten zwischen den Master–Servern und den einzelnen Standorten wurde bisher durch das Lastenheft nicht genau spezifiziert und es sind mehrere Konzepte denkbar. Wenn von Daten die Rede ist, dann sind in diesem Zusammenhang die Dokumente gemeint und die zugehörigen Meta–Daten, die eine Beschreibung zu den Dateien liefern. Die Dokumente können unter Umständen - vor allem aber im CAD–Bereich – sehr groß werden, sodass ein Transfer auf Abruf sehr zeitintensiv ist. Das erste Konzept in Abbildung 5.8 sieht ein Replizieren der Meta–Daten als auch der Dokumente auf die lokalen Systeme vor. Abbildung 5.8.: Replizieren von Meta–Daten und Dokumenten Jedem Standort stehen die Meta–Daten und Dokumente als lokale Arbeitskopie zur Verfügung, sodass Änderungen zunächst immer am dezentralen System durchgeführt werden und anschließend durch die bidirektionale Schnittstelle zwischen dem Master–System und 90 5.2. Erweitertes Soll–Konzept dem lokalen Zielsystem ein Abgleich stattfindet. Diese Methode hat den Nachteil, dass trotz eines Master–Systems jeder Standort auf seinen eigenen Daten arbeitet, die später am Master–Server gemerged werden müssen. Dabei können aber auch Probleme auftreten wie man sie aus verteilten Systemen kennt, denn durch die lokalen Daten können dieselben Dokumente an unterschiedlichen Standorten gleichzeitig geändert werden. Beim anschließenden Einchecken muss der Master–Server entscheiden welcher Datensatz schließlich der gültige ist. Im zweiten möglichen Konzept werden nur die Dokumente mit dem lokalen Zielsystem repliziert, die Meta–Daten werden weiterhin zentral verwaltet, wie es in Abbildung 5.9 dargestellt ist. Abbildung 5.9.: Replizieren ausschließlich von Dokumenten Durch die enorme Dateigröße müssen die Dokumente immer lokal am jeweiligen Standort zur Verfügung stehen, sodass diese nicht erst bei Bedarf geladen werden und somit die Produktion verzögern. Da es sich bei den Meta–Daten um eine geringe Dateigröße handelt, können diese durchaus online zur Verfügung gestellt werden. Jeder Standort greift somit auf den immer gleichen Datenbestand zu, der somit auch leichter verwaltet werden kann. Konflikte können durch dieses Konzept keine auftreten, da Datensätze, die von einem Standort momentan bearbeitet werden, für andere Standorte gesperrt werden können. Obwohl das Problem der verteilten Daten somit gelöst wäre, entsteht durch dieses Konzept ein neues Problem. Die Verfügbarkeit der Meta–Daten ist abhängig von der Leitungsgüte, wobei im schlimmsten Fall die Leitung komplett ausfallen kann und die Meta–Daten somit nicht mehr zur Verfügung stehen. Dies würde ebenfalls einen Ausfall in der Produktion bedeuten, was unbedingt zu verhindern ist. Möchte man die positiven Eigenschaften aus den zwei bisherigen Konzepten vereinen, ohne die negativen Seiteneffekte zu behalten, so ergibt sich ein drittes Konzept. Sowohl die Dokumente als auch die Meta–Daten werden an die lokalen Zielsysteme repliziert. Änderungen an Meta–Daten finden dennoch nur zentral statt, wie es in Abbildung 5.10 dargestellt ist. Alle Daten und Dokumente stehen lokal zur Verfügung und werden auch von den lo- 91 5. Soll–Konzept–Szenario Abbildung 5.10.: Replikation von Meta–Daten und Dokumenten aber nur zentrale Änderung der Meta–Daten kalen Systemen gezogen, illustriert durch die rote Kante. Die Daten stehen immer zur Verfügung, auch wenn die Verbindung unterbrochen werden sollte. Änderungen an Meta– Daten können nur am zentralen System durchgeführt werden, sodass die entsprechenden Datensätze für andere Standorte während der Bearbeitung gesperrt werden, was durch die grüne Kante illustriert wird. Dieses Konzept ist robust gegen Ausfälle und sicher bei Änderungen an Daten, allerdings sind Änderungen nicht sofort am Standort verfügbar, denn die Übertragung durch die Schnittstelle kann Zeit in Anspruch nehmen. Änderungen an den CAD–Dokumenten selbst müssen lokal gespeichert werden, da die Dateien für eine direkte Übertragung zu groß sind und zeitversetzt mittels Streamingprotokollen an die zentralen Master–Server kopiert werden. 5.2.1.2. Synchronisation Unabhängig vom verwendeten Konzept bei der Replikation der Daten, stellt sich die Frage nach dem Zeitpunkt der Synchronisation von geänderten Meta–Daten und Dokumenten. Wie bereits beschrieben ist der Größenunterschied zwischen Dokumenten und den zugehörigen Meta–Daten enorm, sodass sich auch hier mehrere Konzepte ergeben. Im synchronen Ansatz werden die Dateien und die Meta–Daten gleichzeitig mit dem zentralen Server abgeglichen, wie es in Abbildung 5.11 dargestellt ist. Natürlich sind die Meta–Daten um ein vielfaches schneller zentral verfügbar als die Dokumente, sodass sich zeitbedingte Inkonsistenzen zwischen Dokument und zugehörigen Daten ergeben können. Das einem Stammsatz zugeordnete Dokumente ist in diesem Fall nicht aktuell, was potentiell gefährlich ist, da der Benutzer nicht auf diesen Umstand aufmerksam gemacht wird. Oft werden jedoch ausschließlich die veränderten Meta–Daten zur weiteren Verarbeitung benötigt, die sofort nach dem Einchecken zur Verfügung stehen und den Prozess beschleunigen. 92 5.2. Erweitertes Soll–Konzept Abbildung 5.11.: Synchroner Abgleich mit Inkonsistenzen Die sicherere Variante stellt der asynchrone Ansatz dar, der zunächst das veränderte Dokument mit dem Master abgleicht und erst nach erfolgreichem Hochladen die Meta– Daten synchronisiert, wie es in Abbildung 5.12 dargestellt ist. Abbildung 5.12.: Asynchroner Abgleich mit Wartezeiten Da die Dokumente die meiste Zeit für den Abgleich in Anspruch nehmen, werden sie als erstes synchronisiert und erst dann die Meta–Daten, die in wenigen Sekunden abgeglichen sind. Somit sind die verknüpften Dokumente zu den Meta–Daten immer aktuell und konsistent verfügbar. Unter Umständen entstehen durch das primäre Abhandeln der Dokumente lange Wartezeiten, die den Prozess verlangsamen können, wenn nur die Meta– Daten als weitere Basis gebraucht werden. 93 5. Soll–Konzept–Szenario Einen eindeutig empfehlenswerten Ansatz gibt es in diesem Fall nicht, da sowohl der eine als auch der andere Schwachstellen aufweist. In Anbetracht der Wertung von schnell ablaufenden Prozessen ist aber dem synchronen Ansatz der Vorzug zu geben, da er die Daten zur weiteren Verarbeitung ohne Verzögerungen zur Verfügung stellt, auch wenn dies auf Kosten der Konsistenz geht. 5.2.1.3. Heterogene Datenbanken Bisher waren heterogene Datenbanksysteme im Einsatz, während in Passau Oracle verwendet wurde, kam in Gainesville Microsoft SQLServer zum Einsatz. In Anbetracht der Master–Slave–Architektur und der bidirektionalen Schnittstelle ist die Verwendung eines homogenen DBMS2 zu empfehlen. Durch verschiedene DBMS–Systeme kommt Heterogenität auch auf Datenebene zum Vorschein, da oft verschiedene Schemata oder unterschiedliche Konventionen für die Speicherung verwendet werden. Die Auflösung der Heterogenität ist kompliziert und muss auf explizit gespeichertes semantisches Integrationswissen zurückgreifen. Um auf dieselben konsistenten Daten zugreifen zu können, sollte deshalb ein homogenes DBMS–System verwendet werden. 5.2.1.4. Automatische Rückgabe Abhängig vom zukünftig umgesetzten Berechtigungskonzept ist eine automatische Rückgabe von geänderten Merkmalswerten von FATool nach Axalant denkbar. Bisher war der Rückgabeprozess manuell durchzuführen und als „interaktive Rückgabe“ bekannt. Hierbei muss der Betriebsmittelstatus in FATool auf „6 Warte auf Axalant Freigabe“ gesetzt werden und der im Hintergrund laufende Axalant–Client kommt in den Fokus. In einer Eingabemaske sind alle Merkmalswerte dargestellt, sodass der Benutzer vor dem Einchecken alle Werte kontrollieren kann. Um die Änderungen schließlich einzuchecken, muss am Material ein Statuswechsel auf „In Änderung“ vorgenommen werden, bevor die Werte gespeichert werden. Erst dann können die Merkmale überschrieben oder hinzugefügt werden. Im letzten Schritt muss das Material wieder freigegeben werden, um es weiterhin benutzen zu können. Alle diese manuellen Vorgänge könnte man automatisieren, wenn die entsprechenden Benutzerrechte aus Axalant auch in FATool vorliegen. Die automatische Rückgabe wird ebenfalls wie gewohnt durch Setzen des Betriebsmittelstatus aktiviert. Ein aktiver Axalant– Client ist an dieser Stelle nicht mehr notwendig, da die Berechtigungen direkt aus FATool gezogen und mit Axalant abgeglichen werden. Bei einer erfolgreichen Überprüfung der Berechtigungen, wird der Statuswechsel am Material automatisch durchgeführt und weitere Schnittstellen zu Nachbarsystemen angetriggert. Beim Speichern der Merkmalswerte wird zunächst der Datentyp und die Feldkonventionen geprüft und bei erfolgreichem Abspeichern das entsprechende Material automatisch wieder freigegeben. 2 DBMS: Datenbenk–Managementsystem 94 5.2. Erweitertes Soll–Konzept Somit hätte man eine vollautomatische bidirektionale Schnittstelle, die auch das Fehlerpotential von manuellen Eingaben durch den Endanwender senken kann. 5.2.2. Schwachstellen des Ist–Zustands Im Folgenden werden für die im Ist–Zustand aufgedeckten Schwachstellen mögliche Lösungsvorschläge und Workarounds aufgezeigt. Dabei wird nur auf funktionale Anforderungen eingegangen, die innerhalb der Schnittstelle oder des FATool –Clients umzusetzen sind. 5.2.2.1. Transferdaten Da es sich beim Master–ZF Server zukünftig um eine zentrale Komponente handeln wird, sollte der Serverstandort von Axalant und FATool –Master physisch gleich sein. Dies bedeutet, dass die Transferdaten somit direkt aus der Axalant–Datenbank in die Schnittstellentabellen geschrieben werden können, wie in Abbildung 5.13 verdeutlicht wird. Da es sich hierbei um dieselbe Maschine oder zumindest dasselbe Rechenzentrum handeln wird, besteht eine gute Anbindung zwischen den Systemen und lange Wartezeiten bei Massenupdates oder vielen kleinen Anfragen werden zukünftig entfallen. Abbildung 5.13.: Transferdatenverlagerung nach Axalant 95 5. Soll–Konzept–Szenario Der Dispatcher befindet sich nun auf dem FATool –Master–ZF und verteilt die Daten an die einzelnen Zielsysteme. Dadurch fällt Passau als physischer Verwaltungsstandort weg, wenn auch die Administration weiterhin durch den Divisionsstandort Passau, genauer der Abteilung FIDA5, durchgeführt wird. 5.2.2.2. Inkonsistenzen zwischen Dokumenten Um Inkonsistenzen zwischen Dokumenten einzuschränken, muss zunächst die Möglichkeit zum manuellen Hinzufügen von Dokument innerhalb von FATool deaktiviert werden. Diese Funktion bietet ein direktes Umgehen des strategischen Dokumentverwaltungssystems Axalant, über dieses alle Dokumente nach FATool importiert werden sollen. Das zweite Vorgehen zum Erzeugen von Inkonsistenzen war der Prozess zum Generieren von 3D–Modellen mittels CREO. Das Problem war, dass nach dem Erstellen der 3D– Grafik kein Dokumentstamm in Axalant angelegt wurde, sondern das Dokument direkt nach FATool importiert wurde. Dieses Problem kann ganz leicht umgangen werden, wenn das 3D–Modell nicht von CREO nach FATool zurückgeliefert wird, sondern über Axalant und die AXA2FASys Schnittstelle nach FATool importiert wird, wie es in Abbildung 5.14 dargestellt ist. Die rote Kante verdeutlicht den Schritt der aus dem neuen Prozess heraus- Abbildung 5.14.: Import von 3D–Modellen nach FATool fällt. Eine direkte Rückgabe des Dokuments von CREO nach FATool ist somit nicht mehr möglich und der Benutzer ist gezwungen in Axalant einen Dokumentstamm anzulegen, um die Datei auch in FATool zur Verfügung zu haben. Der neue Dokumentstamm wird von der Schnittstelle erkannt und automatisch in das richtige Zielsystem übertragen. Mit dieser Methode werden gleichzeitig die Redundanzen zwischen den Dateien gelöst, denn durch das Fehlen der direkten Rückgabe, fehlt auch die Datei grafik.prt im System. Die Datei aus Axalant ist somit einzigartig – auch in FATool. Ein Nachteil der mit dieser Methode einhergeht ist die geringe Wartezeit, die ein Benutzer aufbringen muss, bis das entsprechende Dokument schließlich nach FATool transferiert wurde. Dies liegt an der Reaktionszeit der Schnittstelle, die im Minutentakt aufgerufen 96 5.2. Erweitertes Soll–Konzept wird. Außerdem ist durch den Dateinamen, der jetzt als AA–Nummer vorliegt, ein automatisches Sichten des Dokuments im Viewer nicht mehr möglich. Dies wird durch die Namenskonvention innerhalb der Anwendung verhindert. 5.2.2.3. Klassenmapping Da die Anzahl der Klassen, die zwischen den Systemen ausgetauscht werden, sehr beschränkt ist, besteht die Möglichkeit, dass zur Überprüfung durch alle synchronisierten Klassen iteriert wird und mit den original Klassen aus Axalant abgeglichen werden. Als Anhaltspunkt für Veränderungen kann das „Update–Datum“ verwendet werden. Somit kann die Differenz zwischen den Zeiten aus FATool und Axalant gebildet werden und bei ungleichen Werten entsprechend mit einer erneuten Synchronisation der betroffenen Klasse begegnet werden. Das Klassenmapping müsste als separater Prozess angelegt werden, der zeitgesteuert aufgerufen wird. Da Änderungen an Klassen im Verhältnis relativ selten stattfinden, wäre ein Aktualisierungsintervall von 24 Stunden ausreichend. 5.2.2.4. Dokumentabgleich Für den Dokumentabgleich wurden verschiedene Konzepte entwickelt und evaluiert. Der beste Ansatz wurde anschließend implementiert. Die Umsetzung ist in Kapitel 6 zu finden. 5.2.2.5. Datenleichen Das Problem der Datenleichen tritt nur auf, wenn Betriebsmittel manuell nach FATool importiert werden. Dies bedeutet, dass über die Funktion „Betriebsmittel nach Axalant holen“ nur die Materialnummer angegeben werden muss, um einen Materialstamm, unabhängig von seinem Status in Axalant, importieren zu können. Wenn der entsprechende Datensatz in Axalant gelöscht wird, bleibt er in FATool als Datenleiche zurück. Abbildung 5.15.: Speichern der manuell importierten Betriebsmittel Die Funktion zum manuellen Importieren ist wichtig und muss erhalten bleiben, da die Zuordnung von Merkmalswerten in FATool effizienter durchgeführt werden kann. Es muss 97 5. Soll–Konzept–Szenario allerdings an dieser Funktion angesetzt werden, um Datenleichen zu verhindern. Eine Möglichkeit diesem Problem aus dem Weg zu gehen wäre die manuell importierten Betriebsmittel in einer Tabelle zu speichern und einmal pro Tag auf Verfügbarkeit im Quellsystem zu überprüfen, wie es in Abbildung 5.15 dargestellt ist. Diese Überprüfung muss natürlich nur solange durchgeführt werden bis das Betriebsmittel in Axalant freigegeben wird, denn freigegebene Materialien können nicht mehr gelöscht werden und durch den Statuswechsel wird das zugehörige Betriebsmittel in FATool über die Schnittstelle aktualisiert. Sollte ein Betriebsmittel kein Pendant mehr in Axalant haben, so muss es auch aus FATool gelöscht werden. Betriebsmittel, die anschließend von der Schnittstelle unterstützt und synchronisiert werden, können aus der Tabelle gelöscht werden. 5.2.2.6. Betriebsmittelstatus Das Problem des Betriebsmittelstatus von FATool besteht darin, dass er nichts aussagend ist. So können gesperrte Betriebsmittel weiterhin in Komplettwerkzeugen verwendet werden. Dies muss dahingehend geändert werden, dass nur freigegebene Betriebsmittel in Stücklisten verwendet werden dürfen. Abbildung 5.16.: Beziehung zwischen Bauteil und Baugruppen Für den Fall, dass ein Bauteil gesperrt wird, das bereits Verwendung in einer oder mehreren Baugruppen findet, muss anders reagiert werden. Dies liegt an der 1:n Beziehung von Bauteilen, wie in Abbildung 5.16 dargestellt ist. So kann ein Bauteil in mehreren Baugruppen verwendet werden. Diese Baugruppen alle zu sperren, würde einen enormen administrativen Aufwand nach sich ziehen. Es müsste jede einzelne gesperrte Baugruppe auf Fehler untersucht werden. Deshalb wäre der Betriebsmittelstatus „Prüfen“ besser angebracht, sodass die Baugruppe weiter verwendet werden kann, aber der Benutzer einen Hinweis erhält, dass ein Problem vorliegt. Beim Ändern des Betriebsmittelstatus erkennt FATool bereits in welchen Baugruppen ein Bauteil verwendet wird und warnt den Benutzer bereits, ob er den Statuswechsel wirklich durchführen will. Somit könnte auch der Status der verknüpften Baugruppen leicht geändert werden. 98 5.2. Erweitertes Soll–Konzept 5.2.2.7. Inkonsistenzen zwischen SML Das Problem inkonsistenter Sachmerkmale kommt einerseits daher, dass für Änderungen an Merkmalswerten in FATool kein Statuswechsel durchgeführt werden muss und andererseits, dass diese Änderungen nicht nach Axalant eingecheckt werden müssen. Dies kann zu unterschiedlichen Werten in gleichen Materialstämmen zwischen den beiden Systemen führen. Will man diesem Problem entgegentreten, so muss sichergestellt sein, dass der Betriebsmittelstatus in FATool bereits so verändert wurde, wie es zuvor beschrieben wurde. Denn nur ein funktionierender Betriebsmittelstatus kann für neue, erweiterte Prozesse verwendet werden. Um dem ersten Problem zu begegnen, muss eine Policy eingeführt werden die besagt, dass manuell importierte Betriebsmittel in FATool solange nicht freigegeben werden können, bis sie von der AXA2FASys–Schnittstelle berücksichtigt werden oder nach Axalant eingecheckt wurden. Im zweiten Fall muss zusätzlich überprüft werden, ob der Axalant–Status daraufhin auf „Freigegeben“ gesetzt wurde. Nur in diesem Fall behält das Material auch in FATool den Betriebsmittelstatus „Freigegeben“. Dies kann leicht über die Schnittstelle überprüft werden. Solange ein manuell importiertes Betriebsmittel nicht eingecheckt und somit in Axalant freigegeben wurde, besitzt es den Betriebsmittelstatus „Gesperrt“. Die Lösung des Hauptproblems besteht im Zusammenlegen der beiden FATool – Betriebsmittelstatus „Freigegeben“ und „Warte auf Axalant Freigabe“. Dadurch ist ein Freigeben in FATool ohne ein Zurückgeben der geänderten Merkmalswerte nach Axalant nicht mehr möglich, wie es in Abbildung 5.17 illustriert ist. Abbildung 5.17.: Zusammenlegen der Status für Freigabe und Rückgabe Der Prozess wurde dahingehend abgeändert, dass ein Betriebsmittel, das manuell importiert wurde, zunächst gesperrt ist und nicht in Komplettwerkzeugen verwendet werden kann. Somit muss das Bauteil zuerst freigegeben werden, womit durch das Zusammenlegung der Status automatisch auch die interaktive Rückgabe gestartet wird. 99 5. Soll–Konzept–Szenario Abbildung 5.18.: Abhängigkeit des Betriebsmittelstatus Dies gilt ebenfalls für Betriebsmittel, die bereits über die Schnittstelle synchronisiert werden und somit initial freigegeben sind, denn auch hier war es bisher möglich Merkmalswerte in FATool ohne Einchecken zu verändern. In diesem Fall muss der Betriebsmittelstatus bei etwaigen Änderungen automatisch auf „Gesperrt“ gesetzt werden. Um es anschließend wieder freizugeben wird automatisch die interaktive Rückgabe gestartet und abgewartet, ob über die AXA2FASys– Schnittstelle auch der Axalant–Status „Freigegeben“ zurückgegeben wird. Nur in diesem Fall wird der Betriebsmittelstatus in FATool auch wieder auf „Freigegeben“ gesetzt, wie es in Abbildung 5.18 dargestellt ist. Veränderungen an Merkmalswerten können in FATool leicht festgestellt werden, denn jedes Betriebsmittel muss explizit nach der Bearbeitung gespeichert werden. Somit könnte der Betriebsmittelstatus auch automatisch auf „Gesperrt“ gesetzt werden, nachdem Veränderungen stattgefunden haben, solange bis die Änderungen auch nach Axalant zurückgegeben wurden. 5.2.3. Schwachstellen des Soll–Zustands 5.2.3.1. Selbstkontrolle Da die Schnittstellen zukünftig auch zentral verwaltet werden, kann die administrative Betreuung der Schnittstelle zu ZFLS ebenfalls durch die Abteilung FIDA5 übernommen werden, die auch die Verteilung innerhalb von ZFGRP administriert. So kann ausgeschlossen werden, dass ZFLS eigenmächtig SAP –Standorte zur Übertragung freigibt. Bei einer möglichen Abspaltung von ZFLS vom restlichen ZF–Konzern, kann die Schnittstelle zur Administration an ZFLS zurückgegeben werden. 5.2.3.2. Berechtigungskonzept Wie bereits in der Beschreibung dieser Schwachstelle erwähnt wurde, reichen die Änderungshoheiten alleine nicht aus, um die Sichtbarkeit und Veränderbarkeit der Stammdaten in FATool regulieren zu können. Es muss ein Konzept entwickelt werden, das alle an das System und die Sicherheit gestellten Anforderungen erfüllt, ohne dabei das Berechtigungskonzept in FATool zu komplex werden zu lassen. Axalant stellt ein mehrstufiges 100 5.2. Erweitertes Soll–Konzept Berechtigungssystem zur Verfügung, das von den Eigenschaften, die in FATool benötigten Funktionen weit übersteigt. In FATool soll daher ein ausreichendes Minimum an Berechtigungen portiert werden. Anforderungen Um entscheiden zu können welche Konzepte aus Axalant auch in FATool umzusetzen sind, müssen die Anforderungen an das Berechtigungssystem definiert werden: • Master–ZF enthält alle Datensätze mit Standort ZFGRP Es existieren Datensätze am Master–ZF, die auch innerhalb ZFGRP für unterschiedliche Standorte nicht sichtbar sein dürfen Es existieren Datensätze von ZF–Prüfsysteme, deren Meta–Daten zentral sichtbar sein sollen, die Dokumente jedoch nicht • Master–ZFLS enthält alle Datensätze mit Standort ZFLS • Master-ZF erhält Datensätze von Master–ZFLS mit Standort ZFLS ohne Änderungshoheit 4320 ZFLS–Anwender sichten Datensätze auf Master–ZF Es existieren Datensätze auf Master–ZF, die für ZFLS–Anwender nicht sichtbar sein dürfen Berechtigungssysteme Um alle Anforderungen zu berücksichtigen muss zwischen der Sichtbarkeit und Veränderbarkeit von Daten, sowie zwischen Meta–Daten und Dokumenten unterschieden werden. Um die Sichtbarkeit von Stammdaten regulieren zu können, werden in Axalant virtuelle Standorte verwendet. Sie sind sowohl jedem Benutzer als auch jedem Datensatz zugeordnet und nur bei übereinstimmenden Standorten werden die Stammdaten angezeigt. Für unberechtigte Benutzer existieren diese Daten somit nicht. Virtuelle Standorte können außerdem in Gruppen zusammengefasst werden, wie es bei ZFGRP und ZFLS der Fall ist. Auf Datenbankebene hat jeder virtuelle Standort einen eigenen Datenbankbenutzer mit unterschiedlichen Rechten. Die Auswahl über bestimmte Datenbankbenutzer beim Start von Axalant läuft über dem Benutzer zugewiesene Rollen, wie ZF-OWIA-MAS für das Mastersystem, das alle Daten enthält, ZF-OWIA-ZFGRP für alle klassischen ZF–Standorte und ZF-OWIA-ZFLS für ZF–Lenksysteme. Das zugrundeliegende Konzept wird ausschließlich von Oracle–Datenbanken zur Verfügung gestellt und nennt sich „Virtual Private Databases“. Mit VPDs können Policies entworfen werden, die den Zugriff auf Zeilen– und Spaltenebene von Tabellen kontrollieren, ohne dafür verschiedene Views, Schemata oder Datenbanken zu verwenden. Immer wenn Anfragen an VPD geschützte Tabellen ausgeführt werden, wird automatisch eine dynamische WHERE–Klausel an die Anfrage angehängt, die die SQL–Anfrage des Benutzers verändert und die jeweilige Policy darauf anwendet. Somit kann der Zugriff auf Daten 101 5. Soll–Konzept–Szenario feingranular gesteuert werden, ohne dass vorhandene Berechtigungen umgangen werden können.3 Durch virtuelle Standorte kann die Sichtbarkeit von Daten gezielt gesteuert werden. Die Veränderbarkeit muss jedoch durch zusätzliche Berechtigungen kontrolliert werden, denn nicht jeder Benutzer der einen Datensatz sichten kann, sollte diesen auch ändern dürfen. Zum Ändern von Stammdaten wird deshalb die Änderungshoheit verwendet. Ein vierstelliger Zahlencode, der auch jedem Benutzer zugeordnet ist und durch Abgleichen der Änderungshoheiten entschieden wird, ob ein Benutzer berechtigt ist einen Datensatz zu ändern. Jeder Benutzer besitzt mindestens eine oder mehrere Änderungshoheiten, wobei allerdings genau eine als Standard definiert ist. Beim Anlegen von neuen Stammdaten wird die Standard–Änderungshoheit dieses Benutzers für den Stammdatensatz verwendet. Obwohl die Änderungshoheit im Allgemeinen nicht mit dem Standort korreliert ist, kann in Axalant mit einem Regelwerk die Zuordnung eines Standorts anhand der Änderungshoheit definiert werden. Durch eine zutreffende Änderungshoheit wird explizit festgelegt, welche Aktionen der berechtigte Benutzer auf dem Datensatz durchführen darf. Folgende Aktionen können jeder Änderungshoheit zugeordnet werden: d w Löschen Schreiben v vr r Lesen inkl. Native–Dateien – Lesen exkl. Native–Dateien Lesen exkl. Native–Dateien wenn freigegeben Keine Berechtigungen Tabelle 5.2.: Berechtigungen bzgl. der Änderungshoheit Für den Spezialfall, dass die Meta–Daten für alle Standorte sichtbar sind, die Dokumente jedoch nur für bestimmte, gibt es die Möglichkeit einer Lesebeschränkung. Somit kann explizit ausgewählt werden welche Organisationen bzw. Personen die Dokumente sichten können. Auch im Änderungsfall kann eine Schreibbeschränkung gesetzt werden, die nur berechtigten Organisationen oder Personen erlaubt die Dokumente zu ändern. Bei Änderungen gibt es jedoch Unterschiede, ob die Berechtigung auf Organisationen oder Personen gesetzt wurde. Während bei berechtigten Organisationen auch Benutzer den Datensatz ändern dürfen, die nicht über die entsprechende Änderungshoheit verfügen, aber deren Organisation als berechtigte eingetragen ist, ist die Änderungshoheit bei eingetragenen Personen nicht ausreichend. In diesem Fall können ausschließlich die berechtigten Personen diese geschützten Stammdaten ändern. Neben der bereits eingeführten Änderungshoheit braucht man also zwei weitere Berechtigungssysteme aus Axalant, die nach FATool portiert werden müssen. Zum Steuern von Sichtbarkeiten werden die virtuellen Standorte verwendet, zur Regulierung der Sichtbarkeit von Meta–Daten und zugehörigen Dokumenten wird die Lese–/Schreibbeschränkung verwendet. 3 http://docs.oracle.com/cd/B28359_01/network.111/b28531/vpd.htm#DBSEG80081 am 07.04.2014) 102 (abgerufen 5.2. Erweitertes Soll–Konzept Berechtigungskonzepte Da nun die zu portierenden Berechtigungssysteme erörtert wurden, sind Konzepte zu entwickeln wie die Sichtbarkeit und Änderung von Daten als Prozess innerhalb von FATool umzusetzen sind. Das Berechtigungskonzept zum Sichten von Daten ist in Abbildung 5.19 dargestellt und beginnt mit der Auswertung des virtuellen Standorts. Dabei werden die Standortwerte des Benutzers mit denen des Datensatzes auf Übereinstimmung verglichen. Nur wenn eine Übereinstimmung vorliegt kann der Benutzer diesen Datensatz sehen, andernfalls würde dieser für den Benutzer nicht existieren und die Meta–Daten wie auch die Dokumente wären unsichtbar. War diese Überprüfung erfolgreich wird als nächstes die Lesebeschränkung ausgewertet. Abbildung 5.19.: Berechtigungskonzept zum Sichten von Daten Falls diese nicht gesetzt ist, werden sofort die FATool internen Berechtigungen ausgewertet, die hier als Blackbox dargestellt sind und bereits in Kapitel 2.2.3 näher erklärt wurden. Nur wenn der Anwender auch die entsprechenden FATool –Berechtigungen besitzt, kann er mit dem Datensatz arbeiten. Ist die Lesebeschränkung doch gesetzt, so muss überprüft werden, ob die Organisation des Benutzer oder der Benutzer selbst bei berechtigten Organisationen/Personen eingetragen ist. Nur in diesem Fall, kann er auch die zugehörigen Dokumente sichten. Andernfalls könnte er nur die Meta–Daten einsehen, 103 5. Soll–Konzept–Szenario vorausgesetzt seine FATool –Berechtigungen sind ausreichend. Das Berechtigungskonzept zum Ändern von Daten ist in Abbildung 5.20 dargestellt. Wie auch beim Sichten von Daten muss als erstes der virtuelle Standort ausgewertet werden, denn nur Datensätze, die der Benutzer sehen darf, sollte er auch ändern dürfen. Ist der virtuelle Standort der Stammdaten beim Benutzer nicht eingetragen, so sind die Daten für ihn unsichtbar und er kann sie nicht bearbeiten. Ist diese Überprüfung erfolgreich, so folgt als nächstes die Auswertung der Schreibbeschränkung, die ähnlich der Lesebeschränkung verläuft. Bei gesetzter Schreibbeschränkung wird überprüft, ob der Benutzer Zugriff auf die Dokumente haben darf, indem die berechtigten Organisationen/Personen ausgewertet werden. Ist die Organisation des Anwenders als berechtigt eingetragen, so ist auch er berechtigt den Datensatz zu ändern, sofern die FATool internen Voraussetzungen erfüllt werden. Abbildung 5.20.: Berechtigungskonzept zum Ändern von Daten Bei diesen Voraussetzungen wird überprüft ob der Benutzer in FATool ausreichende Be- 104 5.2. Erweitertes Soll–Konzept rechtigungen besitzt, um die gewünschte Aktion durchzuführen. In einem zweiten Schritt wird überprüft, ob der Axalant–Status auf „In Änderung“ gesetzt wurde, denn freigegebene Materialien können nicht geändert werden. Außerdem wird verifiziert, ob das entsprechende Betriebsmittel, das geändert werden soll, auch am SAP –Standort des Benutzers verfügbar ist. Nur in diesem Fall macht es Sinn Änderungen an einem FHM zu erlauben, ansonsten könnten auch FHM fremder Standorte geändert werden. Ist die Organisation nicht als berechtigt eingetragen, so wird zunächst überprüft, ob der Benutzer als berechtigte Person eingetragen ist. In diesem Fall würden wieder die FATool –Berechtigungen geprüft werden bevor der Datensatz bearbeitet werden kann. Sind berechtigte Personen für diesen Stammdatensatz eingetragen, der Benutzer selbst ist allerdings nicht berechtigt, so kann er den Datensatz nicht bearbeiten. Falls keine berechtigten Benutzer eingetragen sind und seine Organisation nicht zu den berechtigten zählt, führt ein alternativer Weg über die Änderungshoheit. Die Änderungshoheit wird auch direkt nach den virtuellen Standorten ausgewertet, falls die Schreibbeschränkung nicht gesetzt ist. Hierbei werden die Änderungshoheiten des Benutzers mit der des Datensatzes abgeglichen. Liegt keine Übereinstimmung vor, so darf er den Stammsatz nicht ändern, andernfalls müssen noch die Rechte an dieser Änderungshoheit überprüft werden. Die Flags d/w für „Delete“ bzw. „Write“ erlauben ein Verändern der Daten, sofern die internen Berechtigungen von FATool es zulassen, wohingegen die Flags r/v/vr/- nur das Sichten der Daten erlauben, nicht aber das Ändern. Umsetzung Während die Änderungshoheiten in FATool für alle Betriebsmittel bereits mitgeführt werden – wenn auch zu rein informativen Zwecken – ist die Auswertung der Änderungshoheit gut vorbereitet. Lediglich für die Benutzer muss ein Import ihrer zugehörigen Änderungshoheiten durchgeführt werden, sodass die Änderungshoheit des Betriebsmittels mit der des Benutzers abgeglichen werden kann und die zugehörigen Rechte der Änderungshoheit ausgewertet werden. Die Einführung der virtuellen Standorte in FATool ist durch ein technisches Problem begrenzt, denn „Virtual Private Databases“ sind ausschließlich in Oracle verfügbar, was die Verwendung von Microsoft SQLServer zukünftig verhindern würde. Außerdem war das Konzept der Sicherheit auf Zeilen– und Spaltenebene in FATool nicht geplant, sodass sich ein komplett konträres Datenlayer zu diesem Ansatz ergeben hat, das einen substantiellen Neuaufbau bedeuten würde. Ein möglicher Workaround wäre, dass das Konzept der virtuellen Standorte nur auf die Daten angewendet wird, die in der Anwendung sichtbar werden, nicht jedoch auf Datenbankebene. Somit wird bei einer SQL–Abfrage dem Benutzer sein Standort automatisch als WHERE–Klausel angehängt und somit auf berechtigte Datensätze gefiltert. Da ein normaler Anwender nicht bis zur Datenbank vordringt, ist dieses Konzept sicher und kann nicht umgangen werden. Es müssen lediglich die virtuellen Standorte der Betriebsmittel und der Benutzer nach FATool portiert werden. Die berechtigten Organisationen/Personen laufen parallel zur Änderungshoheit und müssen ebenfalls für jedes Betriebsmittel und jeden Benutzer importiert werden. Dabei brauchen nur die Betriebsmittel berücksichtigt werden, die entweder eine Lese– oder Schreibbeschränkung gesetzt haben. 105 5. Soll–Konzept–Szenario 5.2.3.3. Standortspezifische Änderungen Es sind verschiedene Szenarien für Änderungen an standortspezifischen Leisten denkbar. Die Änderungen können am lokalen Zielsystem durchgeführt werden, am zentralen Master–Server oder im Falle von ZFLS entweder am Master–ZF oder am Master–ZFLS. Bei zentralen Änderungen am Master–ZF braucht man bestimmte User–Rollen für ZFLS– Anwender, sodass diese direkt Änderungen am System vornehmen können. Da dies in der Regel nicht gewünscht ist und standortspezifische Änderungen für andere Standorte nicht hoch relevant sind, ist die Variante mit den lokalen Änderungen am jeweiligen Zielsystem der zentralen Variante vorzuziehen. Dies liegt auch daran, dass Änderungen sofort am Standort verfügbar sind, ohne das diese zunächst über die Schnittstelle übertragen werden müssen. Außerdem bietet diese Variante eine Ausfallsicherheit, falls der zentrale Master– Server nicht erreichbar ist. Ein Abgleich der Änderungen findet über die bidirektionale Schnittstelle statt, sodass Benutzer keine zentralen Rechte am Master–Server benötigen, sondern die Änderungen auf ihren lokalen Systemen ausführen können. 5.2.3.4. Konflikte durch Datenmigration Die Datenmigration der Master–Server soll durch das Zusammenführen der Daten aus den Zielsystemen bewerkstelligt werden. Dabei kann es zu Konflikten kommen, wenn unterschiedliche Standorte verschiedene Werte für gleiche Merkmale besitzen. Der Master muss sich für einen Wert entscheiden, der zentral gespeichert wird. Abweichende Merkmalswerte der Zielsysteme werden zukünftig durch diesen überschrieben, wenn der Abgleich vollautomatisiert abläuft, sodass alle Zielsysteme dieselben Werte für gleiche Merkmale haben werden. Somit erhält man einen konsistenten Datenbestand, gleichzeitig besteht aber die Gefahr, dass solche Änderungen vom Standort selbst nicht wahrgenommen werden. Durch das mergen der Daten aus den Zielsystemen fehlen die für das Berechtigungssystem benötigten Eigenschaft aus Axalant, die zukünftig berücksichtigt werden müssen. Die Datenmigration kann daher nicht durch die bidirektionale Schnittstelle durchgeführt werden, sondern muss durch ein spezielles Skript automatisiert mit geeigneter Konfliktlösung ablaufen, wie es in Abbildung 5.21 dargestellt ist. Abbildung 5.21.: Automatisierung der Migration 106 5.2. Erweitertes Soll–Konzept Die Quelldaten sind als rote Kanten dargestellt und kommen direkt von den Zielsystemen zu einem Automatisierungsskript, das alle benötigten Daten zum jeweiligen Betriebsmittel aus Axalant abruft. Das holen der Zusatzinformationen ist als bidirektionale blaue Kante dargestellt und betrifft Daten wie die Änderungshoheit, die virtuellen Standorte oder die berechtigten Organisationen/Personen. Der Abgleich mit den Master–Servern ist als grüne Kante dargestellt, wobei dieser Abgleich bei Master–ZF bidirektional ist und bei Master–ZFLS unidirektional. Da es bei ZFLS nur ein einziges Zielsystem gibt, kann es zu keinen Konflikten kommen und die Datensätze können direkt geschrieben werden. Bei Master–ZF hingegen kann es vorkommen, dass verschiedene Werte für dasselbe Merkmal durch die Zielsysteme importiert werden. In diesem Fall gleicht das Migrationsskript die Änderungshoheiten ab und es wird der Wert gewählt, dessen Standort die entsprechende Änderungshoheit aufweist. Sollte in speziellen Fällen kein Zielsystem diese Änderungshoheit aufweisen, wird der Originalwert aus Axalant verwendet. 5.2.3.5. Klassenmapping durch ZFLS Da es auch für ZFLS möglich sein muss Klassenmappings bei Bedarf hinzuzufügen, muss der Zugriff auf Master–ZF gestattet werden, da dort alle Klassenmappings zentral verwaltet werden. Ein eigenständiges Einfügen von Klassenmappings am Master–ZFLS widerspricht der Idee eines eindeutigen zentralen Master–Servers, der als einzige Instanz Änderungen entgegennimmt. Auch die Übernahme administrativer Aufgaben durch ZFGRP bringt keine Lösung, da die Eigenständigkeit von ZFLS gewahrt werden muss. Der Eingriff in den administrativen Bereich von Master–ZF muss jedoch sinnvoll reguliert werden und ist ohne entsprechende User–Rollen in FATool bisher nicht umsetzbar. 107 5. Soll–Konzept–Szenario 5.3. Zusammenfassung In Tabelle 5.3 wird eine Übersicht über alle gefundenen Schwachstellen des Ist–Zustands und des Soll–Konzepts gegeben. Neben einer Priorisierung, wurde vor allem untersucht, ob die Schwachstellen durch das erweiterte Lastenheft geschlossen werden können. Außerdem wurde eine Aufwandsschätzung durchgeführt, die angibt unter welchem Zeitaufwand die jeweilige Schwachstelle geschlossen werden kann. Die Einheiten orientieren sich hierbei an den Kleidergrößen und reichen von S (wenig) bis L (viel). ` ID Name Priorität Konzept Aufwand 1 Eingeschränkte Suche 1 4 2 Transferdaten 1 4 S 3 Aktualisierungen 1 4 4 Inkonsistenz zwischen Dokumenten 2 4 L 5 Inkonsistenzen zwischen Sachmerkmalen 2 4 L 6 Klassenmapping 2 4 S 7 Dokumentabgleich 2 4 M 8 Datenleichen 2 4 S 9 Betriebsmittelstatus 3 4 S 10 Änderungswesen 3 2 ? 11 Dokumentverwaltung 3 2 ? 12 Selbstkontrolle 3 2 ? 13 Berechtigungskonzept 1 4 L 14 Standortspezifische Änderungen 3 4 S 15 Konflikte durch Datenmigration 1 4 M 16 Klassenmapping durch ZFLS 3 2 ? Tabelle 5.3.: Schwachstellen mit Aufwandsabschätzung Während die „eingeschränkte Suche“ und die „Aktualisierungen“ bereits durch das bestehende Soll–Konzept gelöst werden können, kann den „Transferdaten“, die erhebliche Performanceprobleme bei Massenupdates verursacht haben, durch ein einfaches Verlagern zur Axalant–Datenbank begegnet werden. Alle weiteren Schwachstellen des Ist–Zustands können durch die neuen Konzepte geschlossen werden, mit Ausnahme vom „Änderungswesen“ und der „Dokumentverwaltung“, die eher im nicht–funktionalen Bereich anzusiedeln sind und daher der Verantwortung des Herstellers obliegen. Bei den neuen Schwachstellen, die durch das bestehende Soll–Konzept aufgeworfen werden, kann lediglich für die „Selbstkontrolle“ und das „Klassenmapping durch ZFLS“ momentan noch kein Konzept vorgelegt werden. Alle anderen Schwachstellen können im erweiterten Lastenheft durch ausführliche Konzepte beseitigt werden. Der Dokumentabgleich wird bereits im Rahmen dieser Arbeit implementiert und getestet, sodass er praxistauglich eingesetzt werden kann. Eine ausführliche Beschreibung des zugrundeliegenden Konzepts und der Programmierarbeiten folgt in Kapitel 6. 108 6. Umsetzung Bei der Umsetzung soll ein Arbeitspaket des Projekts implementiert und verifiziert werden. Dafür sind zunächst bezüglich der Problemstellung mögliche Lösungsansätze zu entwickeln. Die Verifizierung wird durch verschiedene Testfälle definiert, die den korrekten Ablauf des Programms sicherstellen. 6.1. Problemstellung Die Problemstellung wurde bereits in 4.3.6 ausführlich beschrieben. Hinzu kommen nun Einschränkungen seitens des Systems: 1. Es sollen nur Dokumente berücksichtigt werden deren verknüpfte Materialstämme zwischen Axalant und FATool synchronisiert werden. Dazu müssen Tabellen angelegt werden, die diese Informationen beinhalten. 2. Die Aktualisierung muss effizient und schnell ablaufen, sodass Inkonsistenzen weitestgehend vermieden werden. Dies geschieht durch zeitgesteuerte Aufrufe des Dokumentabgleichs im Minutentakt. Durch eine effektive Selektion der Dokumente sind diese unmittelbar nach der Aktualisierung in FATool verfügbar. 3. Es gibt „Vertiffungsprozesse“, die aus einem nativen CAD–Dokument eine TIF–Datei zum Betrachten erstellen. Hier wird extern ein Generator angestoßen, der diese Grafik erzeugt, wobei dieser Plotprozess zeitverzögert fertiggestellt werden kann. Die Datei existiert logisch in der Datenbank also schon, obwohl sie physisch noch nicht vorliegt. Darauf muss ebenfalls entsprechend zeitversetzt reagiert werden. Es ist also ein Prozess zu entwickeln, der den Dokumentabgleich zwischen Axalant und FATool unterstützt und dabei nur die im Rahmen des FDO–Bereichs verfügbaren Mittel verwendet. Das bedeutet, dass dieses Vorgehen durch konzernweite Regelungen eingegrenzt ist, da als Beispiel keine Änderungen an globalen Prozessen bzw. direkte Änderungen am Logi–View Code von Axalant gemacht werden dürfen. Somit sind zunächst Ansätze zu spezifizieren, die ohne diese Regelungen zu verstoßen zum gewünschten Ergebnis führen. 109 6. Umsetzung 6.2. Ansatz Da der Dokumentabgleich immer dann aktiv werden soll, wenn ein neues Dokument angelegt wird oder ein vorhandenes ersetzt wird, muss zunächst eine Strategie entwickelt werden, die den Abgleichprozess über die entsprechenden Änderungen in Kenntnis setzt. Dies ist bei einem System mit mehreren Millionen Datensätzen nicht einfach zu bewerkstelligen, sodass die folgenden zwei Ansätze denkbar sind: 1. Ansatz: Top–Down (Dekomposition) Der Top–Down–Ansatz ist der intuitive, bei dem man davon ausgeht, dass alle Datensätze, die zwischen Axalant und FATool synchronisiert werden, durchsucht und die angehängten Dokumentenstämme auf Aktualität geprüft werden. Da es einige Beschränkungen gibt, wie der Zuordnung eines Dokumentstamms zu mehreren Materialien, wird dieser Ansatz schnell zu ineffizient. Weitere Bedingung ist, dass die Aktualisierung innerhalb eines Wochenendes durchgeführt sein muss, sodass die Systeme während der Arbeitszeit aktuell und benutzbar sind. Gruppiert man nach Materialnummern so kommt man auf rund 170.000 Datensätze, die zwischen Axalant und FATool ausgetauscht werden und überprüft werden müssten. Ob ein Wochenende dafür ausreicht ist fraglich, sodass man die Abarbeitung in Blöcke aufteilen müsste. Dabei werden an einem Wochenende so viele Blöcke wie möglich abgearbeitet, alle anderen werden zum nächstmöglichen Zeitpunkt aktualisiert. Natürlich gibt es bei diesem Ansatz immer noch Inkonsistenzen zwischen den Systemen. 2. Ansatz: Bottom–Up (Aggregation) Der Bottom–Up–Ansatz soll Aktualisierungen nur reaktiv durchführen, das heißt wenn eine entsprechende Aktion am Dokumentstamm vorausgegangen ist. Dies ist immer dann der Fall, wenn ein Benutzer ein neues Dokument in Axalant eincheckt oder ein vorhandenes aktualisiert. Die technischen Möglichkeiten innerhalb von Axalant sind jedoch begrenzt, sodass eine Tabelle gesucht werden muss, die die benötigten Informationen protokolliert und zur Verfügung stellt. Eine Schnittstellentabelle nach SAP enthält genau die benötigten Informationen, ist jedoch für die FDO–Abteilung nur mit Leserechten zu verwenden. Da bereits ausgeführte Aktionen des Dokumentabgleichs kontrollierbar und nachvollziehbar sein sollten, muss es die Möglichkeit zum Quittieren geben. Dafür werden die entsprechenden Zeilen der Tabelle in eine eigene beschreibbare FDO–Tabelle kopiert. Durch dieses Vorgehen ist es möglich die Aktualisierungen im Minutentakt durchzuführen, da es meist nur wenige Einträge pro Stunde sind, die durch den Index auf der Spalte „Datum“ schnell und effizient zu sortieren sind. So können stetig Aktualisierungen durchgeführt werden, sodass Inkonsistenzen nahezu eliminiert werden, jedoch maximal im Sekundenbereich auftreten können. Für das Problem der „Vertiffung“ muss zunächst der Dokumenttyp unterschieden werden. Falls native CAD–Formate vorliegen, muss der Dokumentstamm zusätzlich eine TIF– Grafik beinhalten. Ist diese Grafik vorhanden wird der normale Synchronisationsprozess angestoßen, andernfalls muss berücksichtigt werden, dass der „Vertiffungsprozess“ eine 110 6.3. Implementierung unbestimmte Zeit in Anspruch nehmen kann und somit die Grafik noch nicht physikalisch vorliegt. In Abbildung 6.1 ist das Programm konzeptionell dargestellt. Abbildung 6.1.: Konzept der Wiedervorlage Der Ausgangspunkt sind die Dokumentstämme, die mehrere Dokumente enthalten können, wobei zu jedem nativen CAD–Format die entsprechende TIF– Datei zum betrachten angehängt sein muss. Wir unterscheiden zwischen AutoCAD, CCD und ProE, sowie den restlichen Dokumenttypen. Sollte es sich also um eines der genannten nativen Datenformate handeln, muss überprüft werden, ob die zugehörigen TIF–Dateien vorhanden sind. Ist dies der Fall, so kann der normale Synchronisierungsprozess, so wie er bisher abgelaufen ist angestoßen werden. Im umgekehrten Fall, wird davon ausgegangen, dass sich die TIF–Datei noch im Erstellungsprozess befindet. Somit muss erneut überprüft werden, ob die TIF–Datei zu einem späteren Zeitpunkt vorhanden ist. Der betroffene Dokumentstamm wird in einer Tabelle zur Wiedervorlage gespeichert, zusammen mit dem Timestamp der Suche und einem initialen Counter. Der Counter wird verwendet um die Dateien nur einer gewissen Anzahl an Nachprüfungen zu unterziehen. Liegt beispielsweise nach der dritten Vorlage die gewünschte Datei immer noch nicht vor, so kann man davon ausgehen, dass die Vertiffung auf einen Fehler gelaufen ist. Sie wird somit in einem Fehlerbericht gemeldet. Der Timestamp wird benötigt, um dem Prozess die Zeit zu geben die er benötigt und nicht pro Aufruf der Funktion, die im Minutentakt stattfindet, den Counter zu dekrementieren. 6.3. Implementierung Das Programm wird direkt an die Schnittstelle AXA2FASys angebunden und innerhalb der Oracle Datenbank implementiert. Als Programmiersprache wurde PL/SQL verwendet. Im Folgenden werden die essentiellen Programmteile vorgestellt, wohingegen in Anhang A.1 der komplette Quellcode verfügbar ist. Da der Dokumentabgleich in eine bestehende Schnittstelle eingebaut werden muss, wird er aus Gründen der Übersichtlichkeit in mehrere Subprogramme, bestehend aus Prozeduren und Funktionen, unterteilt. Der erste Schritt besteht darin nur die Materialnummern 111 6. Umsetzung zu untersuchen, die zwischen Axalant und FATool synchronisiert werden. Im nächsten Schritt wird die SAP –Transfer–Queue ausgelesen und nach entsprechenden Dokumentänderungen durchsucht. Eine originalgetreue Abbildung der SAP –Transfer–Queue ist im Anhang A.2 in Abbildung A.5 zu sehen. Diese Prozedur liefert dann eine Materialnummer, die mit der im ersten Schritt angelegten Tabelle abgeglichen wird. Für die gefundenen Materialnummern werden in einem dritten Schritt die verknüpften Dokumentstämme gesucht und überprüft, ob es sich um einen „Vertiffungsprozess“ handelt. Ist dies der Fall und ist der Vertiffungsprozess noch nicht abgeschlossen, so wird der Dokumentstamm zur erneuten Überprüfung gespeichert. Die Wiedervorlage stellt den letzten Schritt dar. In Abbildung 6.2 ist links der bisherige Prozess des Dokumentabgleichs dargestellt und rechts der angepasste Prozess. Wie zu erkennen ist werden die bereits bestehenden Funktionen verwendet und die neuen Prozeduren und Funktionen nur zwischengeschaltet. Abbildung 6.2.: Alter (links) und neuer (rechts) Prozess des Dokumentabgleich Die Prozedur CADIM_CICS_PROC_NEU_P8 wird von einem Task zeitgesteuert in einem bestimmten Intervall aufgerufen. Sie ist zuständig für die Auftragsliste (Datenexport) und reagiert somit auf Statuswechsel am Material, wobei die angehängten Dokumentstämme berücksichtigt werden und je nach Dokumenttyp die entsprechenden Funktionen aufgerufen werden. Von besonderem Interesse ist dabei die Funktion COPY_TO_AXA_MAT_FILE_DAT, die für die Übertragung der TIF–Dokumente verantwortlich ist und auf die wegen dem „Vertiffungsprozess“ gesondert eingegangen werden muss. Im neuen Prozess kommt die Prozedur AXA_MAT_FILE_BPM_DOC hinzu, die auf Änderungen am Dokumentstamm reagiert, indem die SAP –Transfer–Queue geparst wird. Für den gesonderten Fall der „Vertiffung“ kümmert sich nun die Funktion AXA_SEARCH_DOC_DAT, indem bei Native–Dateien die zugehörigen TIF–Dateien gesucht werden. Falls diese nicht gefunden werden, kommt der Dokumentstamm in eine Tabelle zur erneuten Vorlage. Um 112 6.3. Implementierung diese Wiedervorlage kümmert sich die Funktion AXA_CHECK_REPEAT. Damit nur die Dokumentstämme aktualisiert werden, deren Materialstamm zwischen den Systemen synchronisiert wird, wird einmalig die Prozedur AXA_MAT_FILE_CPY_ART aufgerufen, die eine entsprechende Tabelle generiert. Im Folgenden wird auf die einzelnen Programme eingegangen, wobei sich der Abschnitt „Synchronisation von Materialien“ mit der Prozedur AXA_MAT_FILE_CPY_ART, „Parsen der Transfer–Queue“ mit der Prozedur AXA_MAT_FILE_BPM_DOC, „Suche nach Dokumentstämmen“ mit der Funktion AXA_SEARCH_DOC_DAT und „Überprüfen der Wiedervorlage“ mit der Funktion AXA_CHECK_REPEAT beschäftigt. 6.3.1. Synchronisation von Materialien Da die Transfer–Queue, deren Einträge als auslösendes Ereignis für die Aktualisierung von Dokumenten dienen, auch Einträge enthält, die nicht zwischen FATool und Axalant synchronisiert werden, muss zunächst überprüft werden, ob der gefundene Eintrag für den Dokumentabgleich relevant ist. Um dies zu bewerkstelligen wird eine Tabelle angelegt, die G4DBA.AXA_MAT_FILE_BPM_DOC_CUR alle Materialien enthält, die zwischen den Systemen ausgetauscht werden. P * ID NUMBER (10) * C_TIME DATE Es existiert bereits (ID) eine Log–Tabelle, die alle übertragenen Materialien protokolliert. So BPMDOC_CUR_PK muss diese Tabelle einfach nur auf unterschiedliche Materialnummern ausgewertet werden BPMDOC_CUR_PK (ID) BPMDOC_CUR_IDX (C_TIME) und in eine neue Tabelle geschrieben werden. Für die Spalte „Materialnummer“ wird ein Index angelegt, da in der produktiven Umgebung bereits mehr als 160.000 Materialien synchronisiert werden. G4DBA.AXA_MAT_FILE_BPM_DOC_ART P * ID * C_ID * PART_ID EDB_ID NUMBER (10) NUMBER (10) VARCHAR2 (40 CHAR) VARCHAR2 (40 CHAR) BPMDOC_ART_PK (ID) BPMDOC_ART_PK (ID) BPMDOC_ART_IDX (PART_ID) Abbildung 6.3.: Tabelle von synchronisierten Materialien G4DBA.AXA_MAT_FILE_BPM_DOC_ERROR G4DBA.AXA_MAT_FILE In Abbildung 6.3 ist das ScheID NUMBER (10) P * ID NUM ma derNUMBER (10) Synchronisations–Tabelle C_ID * DOC_ID VARC ERROR VARCHAR2 (200 CHAR) * PART_ID VARC AXA_MAT_FILE_BPM_DOC_ART dargestellt. C_TIME DATE * C_TIME DATE Die ID ist der Primärschlüssel der Tabelle DOCUMENT_ID VARCHAR2 (40 CHAR) * PROCESSED NUM DOC_VERSION VARCHAR2 (10 CHAR) EDB_ID VARC und wird verwendet um die Zeilen eindeutig DOC_VERSION VARC BPMDOC_ERROR_PK identifizieren (ID) zu können. Die Spalte C_ID BPMDOC_PK (ID) BPMDOC_ERROR_PK enthält den (ID) Fremdschlüssel zur Axalant– BPMDOC_PK (ID) Tabelle T_MASTER_DAT, die Informationen zu den Materialstämmen enthält. P * * * * Des Weiteren die PART_ID, also die Materialnummer mit dem Nummernschema AA00.123.456 und die EDB_ID, ein systemweit eindeutiger Identifier für Tabellenzeilen, der allerdings optional ist. Der komplette Quellcode dieser Prozedur sowie das Anlegen der benötigten Tabellen und Indizes kann in Anhang A.1.1 eingesehen werden. 6.3.2. Parsen der Transfer–Queue Die Prozedur AXA_MAT_FILE_BPM_DOC wird, wie in Abbildung 6.2 dargestellt, zeitgesteuert aufgerufen und bedient sich der eben erzeugten Tabelle zum Abgleich der Materialnum- 113 6. Umsetzung mern. Sie liefert die Materialstämme zu den gefundenen Einträgen der Transfer–Queue und stößt über den Aufruf von Funktionen den eigentlichen Dokumentabgleich an. Die Materialnummer wird an die bisher bestehenden Funktionen übergeben, die aufgerufen wurden, falls ein Statuswechsel am Material durchgeführt wurde. Der Unterschied zum bisherigen Abgleich ist, dass nun die Dokumente das auslösende Ereignis darstellen, aber trotzdem der gesamte Materialstamm mit allen verknüpften Dokumentstämmen aktualisiert wird. Diese Funktionen aktualisieren wie bisher die Daten und Dokumente im entsprechenden FATool –Zielsystem. Für die Dokumentstämme stehen drei verschiedene Funktionen bereit, die für verschiedene Dokumenttypen ausgelegt sind. Es werden initial alle drei Funktionen aufgerufen, da sie selbst überprüfen, ob der vorliegende Dokumentenstamm den jeweils richtigen Dokumenttyp besitzt. Für den Fall der „Vertiffung“ wurde die neue Funktion AXA_SEARCH_DOC_DAT zwischengeschaltet. Außerdem werden die Einträge aus der Wiedervorlagen–Tabelle selektiert und an die Funktion AXA_CHECK_REPEAT übergeben. ERROR G4DBA.AXA_MAT_FILE_BPM_DOC_LOG P * * * * * CHAR) CHAR) CHAR) ID C_ID PART_ID C_TIME PROCESSED EDB_ID DOC_VERSION NUMBER (10) VARCHAR2 (40 CHAR) VARCHAR2 (40 CHAR) DATE NUMBER (1) VARCHAR2 (40 CHAR) VARCHAR2 (20 CHAR) BPMDOC_PK (ID) BPMDOC_PK (ID) Abbildung 6.4.: Tabelle zum Quittieren der Transfer–Queue G4DBA.AXA_MAT_FILE_BPM_DOC_REPEAT Gefundene Einträge aus der Transfer– ID NUMBER (10) Queue werden in (10) eine Tabelle eingetraC_ID NUMBER REMAIN (1) gen, um zu NUMBER überprüfen, ob die ÜbergaC_TIME DATE beDOCUMENT_ID erfolgreich VARCHAR2 war. Wir nennen die Tabelle (40 CHAR) DOC_VERSION VARCHAR2 (10 CHAR) AXA_MAT_FILE_BPM_DOC_LOG daher Quittie* C_ID_1 NUMBER (10) rungstabelle. Die Tabelle besitzt eine ID als * PART_ID VARCHAR2 (40 CHAR) * WORKTAN NUMBER (10) Primärschlüssel. Die Spalte C_ID enthält die * NATIVE_FILES NUMBER ID des Materialstamms und PART_ID die MaBPMDOC_REPEAT_PK (ID) terialnummer. C_TIME beinhaltet den TimeBPMDOC_REPEAT_PK (ID) stamp zur Ausführung des Cursors. BPMDOC_REPEAT_IDX (C_ID) P * * * * Die Spalte PROCESSED enthält eine 1, wenn die Übergabe erfolgreich war, ansonsten eine 0. Die Spalten EDB_ID und DOC_VERSION sind optional und beinhalten den systemweiten Identifier und die Version des Dokuments. Damit nicht bei jedem Suchlauf die komplette Transfer–Queue durchsucht werden muss und so Materialien mehrfach an die Funktionen übergeben werden, muss der Timestamp des letzten Cursor–Aufrufs gespeichert werden. Hierzu dient die Tabelle AXA_MAT_FILE_BPM_DOC_CUR. Sie besitzt nur eine Spalte für die ID und eine Spalte C_TIME für den Timestamp, der indexiert ist. G4DBA.AXA_MAT_FILE_BPM_DOC_CUR P * ID * C_TIME NUMBER (10) DATE BPMDOC_CUR_PK (ID) BPMDOC_CUR_PK (ID) BPMDOC_CUR_IDX (C_TIME) Abbildung 6.5.: Tabelle zum Speichern des Cursor–Timestamps G4DBA.AXA_MAT_FILE_BPM_DOC_ART P * ID * C_ID * PART_ID EDB_ID NUMBER (10) NUMBER (10) VARCHAR2 (40 CHAR) VARCHAR2 (40 CHAR) Der Quellcode der Prozedur und die Befehle zum Erstellen der Tabellen sind im Anhang A.1.2 zu finden. BPMDOC_ART_PK (ID) BPMDOC_ART_PK (ID) BPMDOC_ART_IDX (PART_ID) G4DBA.AXA_MAT_FIL P * * * * ID C_ID ERROR C_TIME DOCUMENT_ID DOC_VERSION NU NU VA DA VA VA BPMDOC_ERROR_PK (I BPMDOC_ERROR_PK (I 114 6.3. Implementierung 6.3.3. Suche nach Dokumentstämmen Die Funktion AXA_SEARCH_DOC_DAT wird von der Prozedur AXA_MAT_FILE_BPM_DOC aufgerufen und stellt den Zwischenschritt dar, der die „Vertiffung“ von nativen CAD–Dateien berücksichtigt. Als Eingabe erhält sie eine Materialnummer, woraufhin die verknüpften Dokumentstämme gesucht und ausgewertet werden. Der detaillierte Programmablauf kann in Abbildung 6.6 eingesehen werden. Abbildung 6.6.: Programmablauf zur Überprüfung von Dokumentstämmen Jeder gefundene Dokumentstamm wird überprüft, beginnend mit der Auswertung des Dokumenttyps. Handelt es sich hierbei um ein Native–Format (AutoCAD, CCD, ProE) so wird verifiziert, ob der Dokumentstamm tatsächlich eine Native–Datei beinhaltet. Dies geschieht mit Hilfe der Dateiendungen DRW, DWG und CDD. Ist im Dokumentstamm weniger als eine native Datei vorhanden, so führt dies wegen des Dokumenttyps zu einem sofortigen Fehler. Dieser Fehler wird in einer entsprechenden Fehlertabelle protokolliert. Handelt es sich um keinen nativen Dokumenttyp kann der Dokumentstamm zur sofortigen Synchronisierung übergeben werden. Im Normalfall hat ein solcher Dokumentstamm mehr als eine native Datei, sodass anschließend die Anzahl der TIF–Dateien ermittelt wird. Es sollten mindestens so viele TIF–Dateien vorhanden sein wie Native–Dateien, denn jede native Datei wird mit mindestens einem TIF dargestellt. Da native Dateien aber auch aus mehreren Seiten bestehen können, ist es auch zulässig, wenn mehr TIF als native Dateien vorhanden sind. In diesem Fall stimmt das Verhältnis und es wird die normale Synchronisation angestoßen. Sind allerdings weniger TIF als Native–Dateien vorhanden, ist dies entweder auf einen Fehler oder auf den nicht fertiggestellten „Vertiffungsprozess“ zurückzuführen. So muss dieser Dokumentstamm in die Wiedervorlage eingetragen werden, da die TIF–Grafiken zeitverzögert im System ankommen können. Bei der Wiedervorlage werden vordefinierte Werte für die maximale Anzhal an Wiedervorlagen und ein Timestamp eingetragen, sodass diesem Prozess ein bestimmtes Zeitintervall bis zu seiner Beendigung zur Verfügung gestellt 115 G4DBA.AXA_MAT_FILE_BPM_DOC_CUR P * ID * C_TIME NUMBER (10) DATE BPMDOC_CUR_PK (ID) 6. Umsetzung BPMDOC_CUR_PK (ID) BPMDOC_CUR_IDX (C_TIME) wird. G4DBA.AXA_MAT_FILE_BPM_DOC_ART Die Fehlertabelle AXA_MAT_FILE_BPM_DOC_ERROR P * ID NUMBER (10) * C_ID eigenen NUMBER ID (10) die C_ID beinhaltet neben einer * PART_ID VARCHAR2 (40 CHAR) des DokumentstammsEDB_ID aus der Axalant–Tabelle VARCHAR2 (40 CHAR) T_DOC_DAT als Fremdschlüssel und eine SpalBPMDOC_ART_PK (ID) te ERROR, die als String den Fehler beschreiben BPMDOC_ART_PK (ID) BPMDOC_ART_IDX (PART_ID) soll. Der Timestamp des Cursors wird in C_TIME gespeichert. Zusätzliche, aber nicht notwendige, Informationen sind die DOCUMENT_ID und die DOC_VERSION. G4DBA.AXA_MAT_FILE_BPM_DOC_ERROR P * * * * ID C_ID ERROR C_TIME DOCUMENT_ID DOC_VERSION NUMBER (10) NUMBER (10) VARCHAR2 (200 CHAR) DATE VARCHAR2 (40 CHAR) VARCHAR2 (10 CHAR) BPMDOC_ERROR_PK (ID) BPMDOC_ERROR_PK (ID) G4DBA.AXA_MAT_FILE_BPM_DOC_REPEAT P * * * * CHAR) CHAR) CHAR) CHAR) * * * * ID C_ID REMAIN C_TIME DOCUMENT_ID DOC_VERSION C_ID_1 PART_ID WORKTAN NATIVE_FILES NUMBER (10) NUMBER (10) NUMBER (1) DATE VARCHAR2 (40 CHAR) VARCHAR2 (10 CHAR) NUMBER (10) VARCHAR2 (40 CHAR) NUMBER (10) NUMBER BPMDOC_REPEAT_PK (ID) BPMDOC_REPEAT_PK (ID) BPMDOC_REPEAT_IDX (C_ID) Abbildung 6.8.: Tabelle vorlage zur Wieder- Abbildung 6.7.: Fehlertabelle der Wiedervorlage Die DOCUMENT_ID und die DOC_VERSION können als zusätzliche Information gespeichert werden, allerdings optional. Für den Aufruf der eigentlichen Update–Funktion benötigen wir die C_ID_1 (ID des Materialstamms), die PART_ID (zugehörige Materialnummer), die ursprünglich erstellte WORKTAN zur Statuskontrolle und die Anzahl der nativen CAD– Dateien, damit diese bei der Wiedervorlage nicht erneut gezählt werden müssen. Diese Informationen werden aus der Axalant– Tabelle T_MASTER_DAT abgerufen. Da die meisten Joins über die C_ID der Tabelle gemacht werden, wird hierfür ein Index erstellt, um den Zugriff zu beschleunigen. Der komplette Quellcode der Funktion AXA_SEARCH_DOC_DAT sowie die zugehörigen Tabellen sind im Anhang A.1.3 zu finden. 6.3.4. Überprüfen der Wiedervorlage Die Funktion AXA_CHECK_REPEAT wird ebenfalls von der Prozedur AXA_MAT_FILE_BPM_DOC aufgerufen und zwar mit allen Werten, die sich zu diesem Zeitpunkt in der Wiedervorlagen–Tabelle befinden. Als Eingabe reicht dieser Funktion die ID der Wiedervorlagen–Tabelle, da so alle Einträge eindeutig identifizierbar sind und alle anderen Werte referenzierbar werden. In Abbildung 6.9 ist der detaillierte Programmablauf der Wiedervorlage dargestellt. 116 ID DOC_ID PART_ID C_TIME PROCESSED EDB_ID DOC_VERSIO BPMDOC_PK BPMDOC_PK Die Tabelle zur Wiedervorlage von Dokumentstämmen beinhaltet neben der ID als Primärschlüssel, die C_ID des Dokumentstamms (T_DOC_DAT), die Anzahl der restlichen Versuche REMAIN und den Timestamp des Cursor–Aufrufs in C_TIME. C_LOG G4DBA.AXA P * * * * * 6.3. Implementierung Der erste Schritt besteht in der Auswertung der Anzahl an TIF–Dateien unabhängig von Counter und Timestamp. Dies gewährleistet eine schnellstmögliche Wiederherstellung der Konsistenz zwischen den Systemen. Für den Fall, dass die „Vertiffung“ inzwischen abgeschlossen ist und somit entsprechend viele TIF–Dateien vorhanden sind, wird der Eintrag aus der Tabelle der Wiedervorlage gelöscht und kann nun durch Aufruf der Update– Funktion mit FATool synchronisiert werden. Abbildung 6.9.: Programmablauf der Wiedervorlage Andernfalls muss überprüft werden, ob der Timestamp bereits abgelaufen ist. Dabei wird der aktuelle Timestamp erzeugt und die Differenz zu dem des Cursor–Aufrufs gebildet. Das Standardintervall ist mit zehn Minuten angegeben und kann innerhalb der Funktion geändert werden. Ist das Intervall noch nicht überschritten, so wird dieser Dokumentenstamm übersprungen. Für bereits abgelaufene Timestamps wird als nächster Schritt der Counter für die Wiedervorlagen geprüft. Als Standard wurden hier maximal drei Wiedervorlagen gewählt. Ist der Counter größer als Null, so wird er dekrementiert und der aktuelle Timestamp gesetzt, sodass wieder zehn Minuten gewartet wird bis der Counter erneut herabgesetzt werden kann. Falls der Counter bereits auf Null steht, wird angenommen, dass der „Vertiffungsprozess“ gescheitert ist. Es wird dann ein Eintrag in der Fehlertabelle erstellt und abschließend der Eintrag aus der Wiedervorlage entfernt. Der komplette Quellcode der Funktion kann im Anhang A.1.4 eingesehen werden. 117 6. Umsetzung 6.4. Verifikation Das Testen von Software besteht in der Regel aus einer Verifikation und einer Validierung. Die Verifikation wird zur Überprüfung auf Korrektheit der durchgeführten Aktivität verwendet, wobei die Beschreibung des Systems funktionell äquivalent zu ihrer Ausgabe sein muss. Die Validierung ist als eine Überprüfung auf Korrektheit mit Bezug auf die Kundenanforderungen zu sehen. In unserem Fall sind die Anforderungen an das System genau spezifiziert und es ist daher eine Verifikation durchzuführen. Im folgenden sind die einzelnen Testfälle aufgeschlüsselt. 1. Testfall: Statuswechsel am Dokument Voraussetzungen • Eintrag in der Transfer–Queue • Materialstamm–ID ist in der Sync–Tabelle eingetragen Erwartungen • Prozedur findet richtigen Materialstamm zum gefunden Eintrag der Queue • Eintrag in Log–Tabelle wird erstellt Beschreibung Dieser Testfall überprüft, ob Änderungen am Dokumentstamm nachvollzogen werden, ohne dass eine Änderung am Materialstamm vorausgeht. Die Prozedur AXA_MAT_FILE_BPM_DOC durchsucht die SAP –Transfer–Queue nach passenden Einträgen und übergibt diese an die Update–Funktionen, falls die Materialstamm–ID zu den synchronisierten Materialien zählt. Falls passende Einträge gefunden werden, sollte in der Quittierungstabelle AXA_MAT_FILE_BPM_DOC_LOG ein Eintrag erstellt werden. 2. Testfall: Normale Synchronisation ohne Native Voraussetzungen • Kein Nativeformat im Dokumenttyp Erwartungen • Aufruf der Update–Funktion Beschreibung Da es sich bei der Funktion AXA_SEARCH_DOC_DAT nur um einen Zwischenschritt handelt und eigentlich auf den „Vertiffungsprozess“ bei Native– Formaten reagiert werden soll, muss getestet werden ob Dokumentstäm- 118 6.4. Verifikation me mit einem anderem Dokumenttyp sofort an die Update–Funktion COPY_TO_AXA_MAT_FILE_DAT weitergegeben werden. 3. Testfall: Fehler durch nicht vorhandene Native–Datei Voraussetzungen • Nativeformat im Dokumenttyp • Keine Native–Datei vorhanden Erwartungen • Sofortiger Eintrag in die Fehlertabelle Beschreibung Ist der Dokumenttyp als Native angegeben, so muss der Dokumentstamm mindestens eine Native–Datei enthalten. Dies wird in der AXA_SEARCH_DOC_DAT überprüft und sollte im negativen Fall zu einem sofortigen Fehler führen. Außerdem wird ein Eintrag in der Fehlertabelle AXA_MAT_FILE_BPM_DOC_ERROR angelegt. 4. Testfall: Vertiffungsprozess nicht abgeschlossen Voraussetzungen • Nativeformat im Dokumenttyp • Native–Datei vorhanden • Anzahl der TIF–Dateien zu gering Erwartungen • Eintrag in die Wiedervorlagen–Tabelle • Setzte Counter initial auf 3 • Setze Timestamp zum Aufruf des Cursors Beschreibung Für jede Native–Datei muss mindestens eine TIF–Datei im Dokumentstamm vorhanden sein. Da es mehrblättrige CAD–Dokumente gibt, wird durch die Funktion AXA_SEARCH_DOC_DAT ausschließlich überprüft, ob die Anzahl an TIF– Dateien größer oder gleich der Anzahl an Native–Dateien ist. 119 6. Umsetzung 5. Testfall: Vertiffungsprozess abgeschlossen Voraussetzungen • Nativeformat im Dokumenttyp • Native–Datei vorhanden • Ausreichende Anzahl an TIF–Dateien vorhanden Erwartungen • Aufruf der Update–Funktion Beschreibung Sind mindestens so viele TIF–Dateien wie Native–Dateien im Dokumentstamm enthalten, so ist der „Vertiffungsprozess“ entweder abgeschlossen oder es wurden Dokumente neu angelegt oder ersetzt. In diesem Fall wird direkt aus AXA_SEARCH_DOC_DAT die Funktion COPY_TO_AXA_MAT_FILE_DAT aufgerufen und somit die Synchronisation des zugehörigen Materialstamms veranlasst. 6. Testfall: Wiedervorlage und Delay nicht verstrichen Voraussetzungen • Anzahl der TIF–Dateien zu gering • Delay nicht überschritten Erwartungen • Überspringen des Dokumentstamms Beschreibung Die Funktion AXA_CHECK_REPEAT wird für Eintrage aus der Wiedervorlagen– Tabelle in kurzen Zeitabständen aufgerufen. Somit dürfte der übergebene Dokumentstamm zwar überprüft werden, ob der „Vertiffungsprozess“ inzwischen abgeschlossen ist, allerdings darf der zugehörige Counter in der Tabelle AXA_MAT_FILE_BPM_DOC_REPEAT nicht dekrementiert werden, solange der Zeitunterschied zwischen dem letzten und dem aktuellen Aufruf das voreingestellte Delay nicht überschritten hat. 120 6.4. Verifikation 7. Testfall: Wiedervorlage und Delay verstrichen Voraussetzungen • Anzahl der TIF–Dateien zu gering • Delay überschritten • Ausreichende Anzahl an Wiedervorlagen Erwartungen • Dekrementiere Counter • Setzte neuen Timestamp auf Zeitpunkt des Funktionsaufrufs Beschreibung Hat der Zeitunterschied zwischen dem letzten und dem aktuellen Aufruf das Delay überschritten und der „Vertiffungsprozess“ ist noch nicht abgeschlossen, so muss der zum Dokumentstamm zugehörige Counter in der Wiedervorlagen– Tabelle ausgewertet werden. Für den Fall, dass dieser größer als Null ist, wird er dekrementiert und der Timestamp auf den Zeitpunkt des Funktionsaufrufs aktualisiert. 8. Testfall: Wiedervorlage und Counter abgelaufen Voraussetzungen • Anzahl der TIF–Dateien zu gering • Delay überschritten • Wiedervorlagen–Counter abgelaufen Erwartungen • Lösche den Dokumentstamm aus der Wiedervorlage • Erstelle einen Eintrag in der Fehlertabelle Beschreibung Dem „Vertiffungsprozess“ wird generell eine bestimmte Anzahl an Wiedervorlagen gewährt, zwischen denen ein bestimmtes Zeitintervall eingehalten wird, bis der Counter dekrementiert werden darf. Ab einem bestimmten Punkt muss man davon ausgehen, dass der Prozess gescheitert ist. Dies ist der Fall, wenn der Counter abgelaufen ist und die Funktion AXA_CHECK_REPEAT daraufhin den Wert aus der Wiedervorlagen–Tabelle löscht und in die Fehlertabelle einträgt. So werden erneute Aufrufe von Dokumentstämmen mit abgelaufenen Counter verhindert und ein Bericht des Problems erstellt. 121 6. Umsetzung 9. Testfall: Wiedervorlage und Vertiffungsprozess erfolgreich Voraussetzungen • Ausreichende Anzahl an TIF–Dateien vorhanden Erwartungen • Löschen aus der Wiedervorlage • Aufruf der Update–Funktion Beschreibung Wird ein Dokumentstamm aus der Wiedervorlage aufgerufen und die Funktion AXA_CHECK_REPEAT stellt fest, dass inzwischen eine ausreichende Anzahl an TIF–Dateien vorliegt, so wird davon ausgegangen, dass der „Vertiffungsprozess“ erfolgreich war. In diesem Fall wird der Eintrag aus der Wiedervorlage gelöscht und die Update–Funktion COPY_TO_AXA_MAT_FILE_DAT aufgerufen und der entsprechende Materialstamm mit FATool synchronisiert. 122 7. Fazit Die Aufgabenstellung konnte im vorgegebenen Zeitrahmen von sechs Monaten erfolgreich umgesetzt werden. Nach einer Übersicht über alle in der ZF eingesetzten Systeme, wurde der Ist–Zustand hinsichtlich FATool und dem Nachbarsystem Axalant analysiert und dokumentiert. Dabei konnten elf Schwachstellen festgestellt und priorisiert werden. Für alle funktionalen Anforderungen werden Lösungskonzepte aufgezeigt. Die Analyse nicht– funktionaler Anforderungen war nicht Bestandteil dieser Arbeit. Viele der gefundenen Schwachstellen können durch einfache Änderungen an den beteiligten Prozessen gelöst werden. Das bestehende Soll–Konzept setzt bereits die wichtigsten Anforderungen um. Eine Ausnahme bei den hoch–priorisierten Anforderungen stellen hier die Transferdaten dar, die große Probleme bei Massenupdates und Dokumentüberrollungen verursachen. Diesem Problem kann mit dem Verlagern der Transferdaten hin zum Axalant–Server begegnet werden, sodass diese Schwachstelle sehr einfach und zeitnah lösbar wird. Allerdings ruft das bestehende Soll–Konzept auch neue Schwachstellen hervor. Diese konnten durch eine ausführliche Beschreibung und Analyse des Lastenhefts dargelegt werden. Für drei von fünf gefundenen Schwachstellen konnte immerhin ein vollständiges Lösungskonzept vorgelegt werden. Das Berechtigungskonzept wurde dabei am intensivsten behandelt, da es den Zugriff auf sicherheitsrelevante Daten steuert. Hierzu wurde in mehreren Schritten ein funktionierendes Berechtigungskonzept, nach einer Analyse der Anforderungen, für FATool spezifiziert. Für dieses System werden die Berechtigungen aus Axalant verwendet, das weiterhin als zentrale Datenquelle für FATool fungiert. Dort wird ein mehrstufiges Berechtigungssystem bereitgestellt, das die Anforderungen von FATool weit übersteigt, sodass nur ein Minimum an Berechtigungen portiert werden muss. Für den sinnvollen Einsatz der untersuchten Berechtigungen wurde sowohl für das Sichten als auch für das Verändern von Daten ein Berechtigungskonzept vorgelegt. Auch Schwierigkeiten bei der Umsetzung des Berechtigungsprozesses wurden berücksichtigt und gesondert behandelt. Neben Lösungskonzepten zu den Schwachstellen wurden auch Anforderungen im eigens entwickelten erweiterten Lastenheft spezifiziert, die durch das bestehende Lastenheft nicht abgedeckt sind. Der praktische Teil der Ausarbeitung beinhaltete die Umsetzung eines Arbeitspaketes des zentralen FATool –Projekts. Hierbei handelt es sich um den Dokumentabgleich, den die Schnittstelle zwischen Axalant und FATool bisher nur bedingt unterstützte. Nur bei der Durchführung eines Statuswechsels am Materialstamm sind auch die verknüpften Dokumentstämme aktualisiert worden. Die Unterstützung direkter Änderungen an den Dokumenten war jedoch nicht gegeben. Weiterhin sind diese Änderungen in Axalant schwer feststellbar, sodass zunächst eine Tabelle gefunden werden musste, die das gewünschte Er- 123 7. Fazit eignis protokolliert, um darauf entsprechend reagieren zu können. Ein weiteres Problem, das berücksichtigt werden musste, war der Plotprozess zum Erzeugen von TIF–Grafiken, die zum Sichten von Native–Dateien Verwendung finden. Da diese von einem externen Prozess erstellt werden, sind die Dateien bereits logisch in der Datenbank vorhanden, auch wenn sie physisch noch nicht auf der Festplatte vorliegen. Der Dokumentabgleich konnte nahtlos in die bestehende Schnittstelle eingeführt und durch ausführliche Tests validiert werden. Diese Arbeit erfüllt alle zum Ziel gesetzten Anforderungen. Die vorhandenen Konzepte wurden untersucht und eigene Konzepte entwickelt. Das Lastenheft wurde in allen Punkten, die dem Leser große Einsicht in das Projekt abverlangen, dokumentiert und somit die nötige Transparenz geschaffen. Im Hinblick auf die ZF–interne Schnittstelle AXA2Fasys konnte eine Weiterentwicklung erreicht werden, die durch zahlreiche Tests jederzeit produktiv einsetzbar ist. Insgesamt hat diese Arbeit dazu beigetragen die Effektivität und die Effizienz hinsichtlich der Zentralisierung zu steigern. 124 A. Anhang A.1. Quelltext des Dokumentabgleich A.1.1. AXA_MAT_FILE_BPM_DOC_ART Zunächst muss die Tabelle zum Abgleich der Materialnummern erzeugt werden. 1 2 3 4 5 6 CREATE TABLE AXA_MAT_FILE_BPM_DOC_ART ( ID NUMBER(10) NOT NULL, C_ID NUMBER(10) NOT NULL, PART_ID VARCHAR2(40 CHAR) NOT NULL, EDB_ID VARCHAR2(40 CHAR), CONSTRAINT bpmdoc_art_pk PRIMARY KEY (ID)); Die ID der Tabelle soll eindeutig sein und automatisch generiert werden. 1 2 3 CREATE SEQUENCE bpmdoc_art_seq START WITH 1 INCREMENT BY 1; Bei einem Eintrag in die Tabelle soll für die ID der Wert automatisch abgerufen und eingefügt werden. 1 2 3 4 5 6 7 8 CREATE OR REPLACE TRIGGER bpmdoc_art_bir BEFORE INSERT ON AXA_MAT_FILE_BPM_DOC_ART FOR EACH ROW BEGIN SELECT bpmdoc_art_seq.NEXTVAL INTO :NEW.ID FROM dual; END; Die PART_ID nach der gesucht wird, soll einen eindeutigen Index erhalten. 1 CREATE UNIQUE INDEX bpmdoc_art_idx ON AXA_MAT_FILE_BPM_DOC_ART (PART_ID); Die Prozedur selektiert alle unterschiedlichen Materialnummern aus der bestehenden Log– Tabelle und fügt diese in die Synchronisations–Tabelle ein. Da auf PART_ID ein eindeutiger Index gesetzt ist, wird bei bereits bestehenden Einträgen ein Fehler geworfen. 125 A. Anhang 1 2 CREATE OR REPLACE PROCEDURE AXA_MAT_FILE_CPY_ART AS 3 4 5 6 -- Cursor sammelt alle unterschiedlichen Materialnummern in AXA_GRP_ART CURSOR CUR_GET_PART_ID IS SELECT DISTINCT PART_ID, C_ID_2 FROM AXA_GRP_ART; 7 8 9 10 11 12 13 14 15 16 17 18 19 20 BEGIN FOR REC_GET_PART_ID IN CUR_GET_PART_ID LOOP BEGIN INSERT INTO AXA_MAT_FILE_BPM_DOC_ART (C_ID, PART_ID) VALUES ( REC_GET_PART_ID.C_ID_2, REC_GET_PART_ID.PART_ID); EXCEPTION WHEN DUP_VAL_ON_INDEX THEN DBMS_OUTPUT.put_line(’SKIPPING IDX ’ || REC_GET_PART_ID.PART_ID || ’! Already exists.’); END; END LOOP; COMMMIT; END AXA_MAT_FILE_CPY_ART; A.1.2. AXA_MAT_FILE_BPM_DOC Um die gefundenen Datensätze quittieren zu können, wird eine Tabelle benötigt. 1 2 3 4 5 6 7 8 9 CREATE TABLE AXA_MAT_FILE_BPM_DOC_LOG ( ID NUMBER(10) NOT NULL, DOC_ID VARCHAR2(40 CHAR) NOT NULL, PART_ID VARCHAR2(40 CHAR) NOT NULL, C_TIME DATE NOT NULL, PROCESSED NUMBER(1) NOT NULL CHECK (PROCESSED IN (0,1)), EDB_ID VARCHAR2(40 CHAR), DOC_VERSION VARCHAR2(20 CHAR), CONSTRAINT bpmdoc_pk PRIMARY KEY (ID)); Für das Inkrementieren des Primärschlüssels muss eine Sequenz erzeugt werden. 1 2 3 CREATE SEQUENCE bpmdoc_seq START WITH 1 INCREMENT BY 1; Für jeden Eintrag in die Tabelle soll die ID automatisch generiert und eingetragen werden. 1 2 CREATE OR REPLACE TRIGGER bpmdoc_bir BEFORE INSERT ON AXA_MAT_FILE_BPM_DOC_LOG 126 A.1. Quelltext des Dokumentabgleich 3 4 5 6 7 8 FOR EACH ROW BEGIN SELECT bpmdoc_seq.NEXTVAL INTO :NEW.ID FROM dual; END; Ebenfalls muss eine Tabelle für die Timestamps der letzten Suchläufe gespeichert werden. 1 2 3 4 CREATE TABLE AXA_MAT_FILE_BPM_DOC_CUR ( ID NUMBER(10) NOT NULL, C_TIME DATE NOT NULL, CONSTRAINT bpmdoc_cur_pk PRIMARY KEY (ID)); Erneut wird eine Sequenz für diese Tabelle angelegt. 1 2 3 CREATE SEQUENCE bpmdoc_cur_seq START WITH 1 INCREMENT BY 1; Ein Trigger zum automatischen Inkrementieren des Primärschlüssels wird angelegt. 1 2 3 4 5 6 7 8 CREATE OR REPLACE TRIGGER bpmdoc_cur_bir BEFORE INSERT ON AXA_MAT_FILE_BPM_DOC_CUR FOR EACH ROW BEGIN SELECT bpmdoc_cur_seq.NEXTVAL INTO :NEW.ID FROM dual; END; Für die Timestamps muss ein Index generiert werden. 1 CREATE UNIQUE INDEX bpmdoc_cur_idx ON AXA_MAT_FILE_BPM_DOC_CUR (C_TIME); Die Prozedur AXA_MAT_FILE_BPM_DOC beinhaltet zwei Cursor, wobei der erste die SAP – Transfer–Queue durchsucht und zu den gefundenen Dokumentstämmen die verknüpften Materialstämme selektiert. Der zweite Cursor liefert alle Einträge aus der Wiedervorlagen– Tabelle. In der ersten Schleife wird durch den ersten Cursor iteriert und die bereits bestehenden Update–Funktionen aufgerufen, wobei die Funktion AXA_SEARCH_DOC_DAT noch einen Zwischenschritt für TIF–Grafiken darstellt. Die zweite Schleife schickt die Ergebnisse des zweiten Cursors an die Funktion AXA_CHECK_REPEAT, die den Status der „Vertiffung“ überprüft. 1 2 CREATE OR REPLACE PROCEDURE AXA_MAT_FILE_BPM_DOC AS 3 4 5 CUR_DATE P_WORKTAN DATE; NUMBER(10); 127 A. Anhang 6 7 FAIL CONTROL NUMBER(1); VARCHAR2(20 CHAR); 8 9 10 11 12 13 14 15 16 17 18 19 -- Liefert Materialnummern die zu ueberpruefen sind CURSOR CUR_GET_PRT_ID IS SELECT DISTINCT T_MASTER_DAT.PART_ID, T_MASTER_DAT.C_ID FROM T_MASTER_DAT, T_MASTER_DOC, T_DOC_DAT, AXA_MAT_FILE_BPM_DOC_ART WHERE T_MASTER_DAT.C_ID = T_MASTER_DOC.C_ID_1 AND T_MASTER_DOC.C_ID_2 = T_DOC_DAT.C_ID AND T_MASTER_DAT.C_ID = AXA_MAT_FILE_BPM_DOC_ART.C_ID AND T_DOC_DAT.C_ID IN (SELECT T_EER_SEN.EDB_ID FROM T_EER_SEN WHERE T_EER_SEN.DISPATCH_TYPE=’BPM-DOC’ AND T_EER_SEN.ZF_APPLICATION = ’30’ AND T_EER_SEN.CRE_DATE > (SELECT MAX(C_TIME) FROM AXA_MAT_FILE_BPM_DOC_CUR) ); 20 21 22 23 -- Ruft die Datensaetze zur Wiedervorlage ab CURSOR CUR_GET_RPT_ID IS SELECT ID FROM AXA_MAT_FILE_BPM_DOC_REPEAT; 24 25 26 27 28 29 BEGIN -- Timestamp muss erzeugt werden bevor der Cursor aufgerufen wird, -- sodass keine Werte durchrutschen koennen. Dieser Timestamp wird -- fuer den naechsten Durchlauf verwendet. SELECT TO_CHAR(sysdate, ’DD.MM.YYYY HH24:MI:SS’) INTO CUR_DATE FROM dual; 30 31 32 33 34 FOR REC_PRT_ID IN CUR_GET_PRT_ID LOOP dbms_output.put_line(’AXA_MAT_FILE_BPM_DOC: TRANSFER QUEUE FOUND ENTRY ’ || REC_PRT_ID.PART_ID); --DEBUG 35 -- Setze die Kontrollvariable initial auf 0. FAIL := 0; 36 37 38 -- Generiere WorkTAN fuer die Kopierfunktionen. Jede MatNummer hat nur -- eine WorkTAN, wenn auch 3 Funktionsaufrufe gemacht werden. SELECT WORKTAN_SEQ.nextval INTO P_WORKTAN FROM dual; 39 40 41 42 -- Funktionsaufruf der Kopierfunktionen fuer verschiedene Dateiformate. CONTROL := axa_search_doc_dat(REC_PRT_ID.C_ID, REC_PRT_ID.PART_ID, P_WORKTAN); IF CONTROL <> 0 THEN FAIL := 1; END IF; 43 44 45 46 47 48 128 A.1. Quelltext des Dokumentabgleich 49 50 51 52 CONTROL := copy_to_axa_mat_file_dat_pgd(REC_PRT_ID.C_ID, REC_PRT_ID. PART_ID, P_WORKTAN); IF CONTROL <> ’eingefuegt’ THEN FAIL := 1; END IF; 53 54 55 56 57 CONTROL := copy_to_axa_mat_file_dat_proe(REC_PRT_ID.C_ID, REC_PRT_ID. PART_ID, P_WORKTAN); IF CONTROL <> ’eingefuegt’ THEN FAIL := 1; END IF; 58 59 60 61 62 63 64 65 66 67 -- Kontrolliere ob ein Fehler aufgetreten ist IF FAIL <> 0 THEN INSERT INTO AXA_MAT_FILE_BPM_DOC_LOG (DOC_ID, PART_ID, PROCESSED) VALUES (REC_PRT_ID.C_ID, REC_PRT_ID.PART_ID, CUR_DATE, ELSE INSERT INTO AXA_MAT_FILE_BPM_DOC_LOG (DOC_ID, PART_ID, PROCESSED) VALUES (REC_PRT_ID.C_ID, REC_PRT_ID.PART_ID, CUR_DATE, END IF; END LOOP; C_TIME, ’0’); C_TIME, ’1’); 68 69 70 -- Timestamp einfuegen INSERT INTO AXA_MAT_FILE_BPM_DOC_CUR (C_TIME) VALUES (CUR_DATE); 71 72 73 74 75 76 FOR REC_RPT_ID IN CUR_GET_RPT_ID LOOP CONTROL := AXA_CHECK_REPEAT(REC_RPT_ID.ID); END LOOP; 77 78 79 COMMIT; END AXA_MAT_FILE_BPM_DOC; A.1.3. AXA_SEARCH_DOC_DAT Zunächst muss eine Tabelle angelegt werden, die alle Dokumentstämme zur Wiedervorlage speichert. 1 2 3 4 5 CREATE TABLE AXA_MAT_FILE_BPM_DOC_REPEAT ( ID NUMBER(10) NOT NULL, C_ID NUMBER(10) NOT NULL, REMAIN NUMBER(1) NOT NULL, C_TIME DATE NOT NULL, 129 A. Anhang 6 7 8 9 10 11 12 DOCUMENT_ID VARCHAR2(40 CHAR), DOC_VERSION VARCHAR2(10 CHAR), C_ID_1 NUMBER(10) NOT NULL, PART_ID VARCHAR2(40 CHAR) NOT NULL, WORKTAN NUMBER(10), NATIVE_FILES NUMBER NOT NULL, CONSTRAINT bpmdoc_repeat_pk PRIMARY KEY (ID)); Für den Primärschlüssel muss eine Sequenz erzeugt werden. 1 2 3 CREATE SEQUENCE bpmdoc_repeat_seq START WITH 1 INCREMENT BY 1; Für jeden Tabelleneintrag soll der Primärschlüssel automatisch inkrementiert und eingetragen werden. 1 2 3 4 5 6 7 8 CREATE OR REPLACE TRIGGER bpmdoc_repeat_bir BEFORE INSERT ON AXA_MAT_FILE_BPM_DOC_REPEAT FOR EACH ROW BEGIN SELECT bpmdoc_repeat_seq.NEXTVAL INTO :NEW.ID FROM dual; END; Für die Joins auf die ID des Dokumentstamms soll ein eindeutiger Index angelegt werden. 1 CREATE UNIQUE INDEX bpmdoc_repeat_idx ON AXA_MAT_FILE_BPM_DOC_REPEAT (C_ID); Eine Fehlertabelle soll die Einträge aus der Wiedervorlage übernehmen, falls deren Counter abgelaufen ist. 1 2 3 4 5 6 7 8 CREATE TABLE AXA_MAT_FILE_BPM_DOC_ERROR ( ID NUMBER(10) NOT NULL, C_ID NUMBER(10) NOT NULL, ERROR VARCHAR2(200 CHAR) NOT NULL, C_TIME DATE NOT NULL, DOCUMENT_ID VARCHAR2(40 CHAR), DOC_VERSION VARCHAR2(10 CHAR), CONSTRAINT bpmdoc_error_pk PRIMARY KEY (ID)); Die Fehlertabelle bekommt ebenfalls eine Sequenz. 1 2 3 CREATE SEQUENCE bpmdoc_error_seq START WITH 1 INCREMENT BY 1; Ein Trigger soll das automatische Inkrementieren übernehmen. 130 A.1. Quelltext des Dokumentabgleich 1 2 3 4 5 6 7 8 CREATE OR REPLACE TRIGGER bpmdoc_error_bir BEFORE INSERT ON AXA_MAT_FILE_BPM_DOC_ERROR FOR EACH ROW BEGIN SELECT bpmdoc_error_seq.NEXTVAL INTO :NEW.ID FROM dual; END; Die Funktion AXA_SEARCH_DOC_DAT erwartet als Eingabewerte die C_ID und PART_ID des Materialstamms sowie die generierte WORKTAN, um den Prozess eindeutig identifizieren zu können. Diese Werte werden in erster Linie auch gebraucht um die bereits bestehende Update–Funktion COPY_TO_AXA_MAT_FILE_DAT aufrufen zu können. Der Parameter P_COUNT gibt die Anzahl der Wiedervorlagen an. Dies ist der Wert der initial in die Wiedervorlagen–Tabelle geschrieben wird. Der Cursor liefert zu der übergebenen Materialnummer alle verknüpften Dokumentstämme, die den Status „6050 Freigegeben“ haben und deren Dateien den Status „150 Freigegeben“ oder „160 In Änderung“ haben. Die Funktion liefert bei erfolgreichem Abarbeiten der übergebenen Daten eine 0 und bei Fehlern eine 1 zurück. 1 2 CREATE OR REPLACE FUNCTION "AXA_SEARCH_DOC_DAT" (IN_MAT_CID IN NUMBER, IN_MAT_PID IN VARCHAR2, IN_WORKTAN_SEQ IN NUMBER) 3 4 5 RETURN NUMBER IS 6 7 P_COUNT INTEGER := 3; 8 9 10 11 12 FILE_NUMBER INTEGER; TIF_FILE_NUMBER INTEGER; P_CONTROL NUMBER(1); CUR_DATE DATE; 13 14 15 16 17 18 19 20 21 22 23 -- Liefert die Dokumentstaemme zur uebergebenen Materialnummer CURSOR CUR_GET_IDS IS SELECT T_DOC_DAT.* FROM T_DOC_DAT, T_MASTER_DOC WHERE T_MASTER_DOC.C_ID_1 = IN_MAT_CID AND T_DOC_DAT.C_ID = T_MASTER_DOC.C_ID_2 AND T_MASTER_DOC.LEV_IND = ’6050’ AND T_MASTER_DOC.C_ID > 0 AND T_DOC_DAT.C_ID > 0 AND T_DOC_DAT.DOC_TYPE<>’ZFL-PGD-DOC’ AND (T_DOC_DAT.LEV_IND=’150’ OR T_DOC_DAT.LEV_IND=’160’); 24 25 26 BEGIN -- Initialisiere die Kontrollvariable 131 A. Anhang 27 P_CONTROL := 0; 28 29 30 FOR REC_GET_IDS IN CUR_GET_IDS LOOP 31 -- Speichere aktuellen Timestamp SELECT sysdate INTO CUR_DATE FROM dual; 32 33 34 -- Ueberpruefe ob ein Vertiffungsprozess beteiligt ist IF (REC_GET_IDS.DOC_TYPE = ’AUTOCAD’) OR (REC_GET_IDS.DOC_TYPE = ’CCD’) OR (REC_GET_IDS.DOC_TYPE = ’DRAWFILE’ AND REC_GET_IDS.CAX_TYPE = ’DRW’) THEN dbms_output.put_line(’AXA_SEARCH_DOC_DAT: NATIVE DOCTYPE (’ || rec_get_ids. c_id || ’)’); --DEBUG 35 36 37 38 39 40 41 -- Ueberpruefe ob eine NATIVE Datei vorhanden ist SELECT COUNT(*) INTO FILE_NUMBER FROM T_DOC_FIL, T_FILE_DAT WHERE REC_GET_IDS.C_ID = T_DOC_FIL.C_ID_1 AND T_DOC_FIL.C_ID_2 = T_FILE_DAT.C_ID AND (T_FILE_DAT.ORG_NAME LIKE ’%.dwg’ -- AutoCAD OR T_FILE_DAT.ORG_NAME LIKE ’%.cdd’ -- CCD OR T_FILE_DAT.ORG_NAME LIKE ’%.drw’); -- ProE 42 43 44 45 46 47 48 49 -- Falls NATIVE vorhanden, ueberpruefe ob zugehoerige TIF Dateien vorhanden -- Falls nicht, schreibe in Fehlertabelle IF FILE_NUMBER >= 1 THEN dbms_output.put_line(’AXA_SEARCH_DOC_DAT: NATIVE FILE FOUND (’ || rec_get_ids.c_id || ’)’); --DEBUG 50 51 52 53 54 55 -- Suche nach Anzahl der zugehoerigen TIF Dateien SELECT COUNT(*) INTO TIF_FILE_NUMBER FROM T_DOC_FIL, T_FILE_DAT WHERE REC_GET_IDS.C_ID = T_DOC_FIL.C_ID_1 AND T_DOC_FIL.C_ID_2 = T_FILE_DAT.C_ID AND T_FILE_DAT.ORG_NAME LIKE ’%.tif’; 56 57 58 59 60 61 -- Falls weniger TIF als NATIVE, setze das Dokument in die Wiedervorlage -- Falls nicht, stosse den normalen Sync-Prozess an IF TIF_FILE_NUMBER < FILE_NUMBER THEN dbms_output.put_line(’AXA_SEARCH_DOC_DAT: TOO LESS TIF. INSERT IN REPEAT. (’ || rec_get_ids.c_id || ’)’); --DEBUG 62 63 64 65 66 67 -- Datei in Wiedervorlage Tabelle eintragen! INSERT INTO AXA_MAT_FILE_BPM_DOC_REPEAT (C_ID, REMAIN, C_TIME, DOCUMENT_ID, DOC_VERSION, C_ID_1, PART_ID, WORKTAN, NATIVE_FILES) 68 69 132 A.1. Quelltext des Dokumentabgleich 70 VALUES (REC_GET_IDS.C_ID, P_COUNT, CUR_DATE, REC_GET_IDS.DOCUMENT_ID, REC_GET_IDS.DOC_VERSION, IN_MAT_CID, IN_MAT_PID, IN_WORKTAN_SEQ, FILE_NUMBER); 71 72 73 ELSE -- TIF_FILE_NUMBER >= FILE_NUMBER dbms_output.put_line(’AXA_SEARCH_DOC_DAT: TIF EXIST. START SYNC (’ || rec_get_ids.c_id || ’)’); --DEBUG 74 75 76 77 78 79 80 -- Anzahl der TIF Dateien OK, stosse normalen Sync-Prozess an. IF COPY_TO_AXA_MAT_FILE_DAT(IN_MAT_CID, IN_MAT_PID, IN_WORKTAN_SEQ, ’ insert’) <> ’eingefuegt’ THEN P_CONTROL := 1; END IF; END IF; -- TIFs vorhanden? 81 82 83 ELSE -- FILE_NUMBER < 1 dbms_output.put_line(’AXA_SEARCH_DOC_DAT: NO NATIVE FOUND! ERROR! (’ || rec_get_ids.c_id || ’)’); --DEBUG 84 85 86 87 88 -- Kein NATIVE vorhanden -> Fehler INSERT INTO AXA_MAT_FILE_BPM_DOC_ERROR (C_ID, ERROR, C_TIME, DOCUMENT_ID, DOC_VERSION) VALUES (REC_GET_IDS.C_ID, ’No Native found.’, CUR_DATE, REC_GET_IDS. DOCUMENT_ID, REC_GET_IDS.DOC_VERSION); END IF; -- Native Datei 89 90 91 ELSE -- Kein Vertiffungsprozess dbms_output.put_line(’AXA_SEARCH_DOC_DAT: NO TIF PROCESS. START NORMAL SYNC . (’ || rec_get_ids.c_id || ’)’); --DEBUG 92 93 94 95 96 97 98 99 -- Keine nativen Dateien enthalten, stosse den normalen Sync-Prozess an. IF COPY_TO_AXA_MAT_FILE_DAT(IN_MAT_CID, IN_MAT_PID, IN_WORKTAN_SEQ, ’insert ’) <> ’eingefuegt’ THEN P_CONTROL := 1; END IF; END IF; END LOOP; 100 101 102 103 -- Keine Fehler aufgetreten COMMIT; RETURN P_CONTROL; 104 105 106 107 EXCEPTION WHEN OTHERS THEN 133 A. Anhang 108 109 110 COMMIT; RETURN 1; END AXA_SEARCH_DOC_DAT; A.1.4. AXA_CHECK_REPEAT Die Funktion AXA_CHECK_REPEAT erwartet nur die ID des Eintrags in der Wiedervorlagen– Tabelle als Eingabewert. Alle anderen Werte, die gebraucht werden um den Update– Prozess anzustoßen, können so dereferenziert werden. Der Wert P_DELAY beinhaltet die Zeit, die zwischen zwei nicht erfolgreichen Wiedervorlagen gewartet wird, bevor der Counter herabgesetzt wird. Dieser Wert wird in Sekunden angegeben und ist standardmäßig auf zehn Minuten eingestellt. Der Rückgabewert ist bei erfolgreichem Durchlauf 0 und bei Auftreten eines Fehlers 1. 1 2 CREATE OR REPLACE FUNCTION "AXA_CHECK_REPEAT" (IN_ID IN NUMBER) 3 4 5 RETURN NUMBER IS 6 7 P_DELAY INTEGER := 10 * 60; 8 9 10 11 12 13 14 15 16 17 18 19 20 21 CUR_DATE DATE; REF_DATE DATE; REF_REMAIN INTEGER; TIF_FILE_NUMBER INTEGER; FILE_NUMBER INTEGER; DOC_ID VARCHAR2(40 CHAR); DOC_VER VARCHAR2(10 CHAR); TDOC_ID NUMBER(10); TMAT_ID NUMBER(10); TMAT_NUM VARCHAR2(40 CHAR); TAN NUMBER(10); P_CONTROL NUMBER(1); NO_INSERT EXCEPTION; 22 23 BEGIN 24 25 26 -- Generiere Timestamp zum Abgleich SELECT sysdate INTO CUR_DATE FROM dual; 27 28 29 30 -- Die referenzierten Daten abrufen SELECT C_TIME, REMAIN, NATIVE_FILES, DOCUMENT_ID, DOC_VERSION, C_ID, C_ID_1, PART_ID, WORKTAN INTO REF_DATE, REF_REMAIN, FILE_NUMBER, DOC_ID, DOC_VER, TDOC_ID, TMAT_ID, TMAT_NUM, TAN 134 A.1. Quelltext des Dokumentabgleich 31 32 FROM AXA_MAT_FILE_BPM_DOC_REPEAT WHERE ID = IN_ID; 33 34 35 36 37 38 -- Checke hier die Anzahl der TIFs SELECT COUNT(*) INTO TIF_FILE_NUMBER FROM T_DOC_FIL, T_FILE_DAT WHERE TDOC_ID = T_DOC_FIL.C_ID_1 AND T_DOC_FIL.C_ID_2 = T_FILE_DAT.C_ID AND T_FILE_DAT.ORG_NAME LIKE ’%.tif’; 39 40 41 IF TIF_FILE_NUMBER < FILE_NUMBER THEN 42 43 44 IF timestamp_diff_in_seconds(CUR_DATE, REF_DATE) > P_DELAY THEN 45 46 47 48 IF REF_REMAIN > 0 THEN dbms_output.put_line(’AXA_CHECK_REPEAT: COUNTER DECREMENT (’ || TDOC_ID || ’)’); --DEBUG 49 50 51 52 53 -- Setze neuen Counter und Timestamp UPDATE AXA_MAT_FILE_BPM_DOC_REPEAT SET REMAIN=(REF_REMAIN-1), C_TIME=(CUR_DATE) WHERE ID = IN_ID; 54 55 56 ELSE -- REF_REMAIN <= 0 dbms_output.put_line(’AXA_CHECK_REPEAT: COUNTER EXPIRED (’ || TDOC_ID || ’)’); --DEBUG 57 58 59 60 -- Counter abgelaufen ohne, dass das TIF eingetroffen ist -> Fehler INSERT INTO AXA_MAT_FILE_BPM_DOC_ERROR (C_ID, ERROR, C_TIME, DOCUMENT_ID, DOC_VERSION) VALUES (TDOC_ID, ’Counter expired. No TIF arrived!’, CUR_DATE, DOC_ID, DOC_VER); 61 62 63 64 65 -- Gleichzeitig muss der Eintrag aus der Wiedervorlage geloescht werden DELETE FROM AXA_MAT_FILE_BPM_DOC_REPEAT WHERE ID = IN_ID; END IF; -- Counter END IF; -- Timestamp 66 67 68 ELSE -- TIF_FILE_NUMBER >= FILE_NUMBER dbms_output.put_line(’AXA_CHECK_REPEAT: TIF ARRIVED (’ || TDOC_ID || ’)’); --DEBUG 69 70 71 -- Vertiffungsprozess abgeschlossen und erfolgreich DELETE FROM AXA_MAT_FILE_BPM_DOC_REPEAT WHERE ID = IN_ID; 72 135 A. Anhang 73 74 75 76 77 78 -- Updateprozess anstossen IF copy_to_axa_mat_file_dat(TMAT_ID, TMAT_NUM, TAN) <> ’eingefuegt’ THEN RAISE NO_INSERT; END IF; END IF; 79 80 81 COMMIT; RETURN 0; 82 83 84 85 86 87 88 89 90 91 92 93 EXCEPTION WHEN NO_INSERT THEN DBMS_OUTPUT.PUT_LINE(’Insert not successful!’ || TDOC_ID); COMMIT; RETURN 1; WHEN OTHERS THEN COMMIT; RETURN 1; END AXA_CHECK_REPEAT; 136 A.2. Screenshots A.2. Screenshots A.2.1. Axalant Abbildung A.1.: FDO–Materialstammmaske Abbildung A.2.: Sachmerkmalleiste bei interaktiver Übergabe Abbildung A.3.: Listenstammmaske mit Menü zum Beenden der Schnittstelle 137 A. Anhang Abbildung A.4.: Auftragstabelle Datenexport Abbildung A.5.: SAP–Transfer–Queue 138 A.2. Screenshots A.2.2. FATool Abbildung A.6.: Betriebsmittelverwaltung mit Viewer und verknüpften Dokumenten Abbildung A.7.: Komplettwerkzeug mit Auswahl der Schneidennummer und zugehöriger Stückliste 139 A. Anhang Abbildung A.8.: Benutzerberechtigungen auf Leistenebene mit zugeordneten Standorten 140 B. Urheberschaft und Sperrvermerk Hiermit versichere ich an Eides statt, dass ich diese Masterarbeit selbstständig und ohne Benutzung anderer als der angegebenen Quellen und Hilfsmittel angefertigt habe und dass alle Ausführungen, die wörtlich oder sinngemäß übernommen wurden, als solche gekennzeichnet sind, sowie dass ich die Masterarbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegt habe. Die vorgelegte Masterarbeit basiert auf internen vertraulichen Daten und Informationen der ZF Friedrichshafen AG. In diese Arbeit dürfen Dritte, mit Ausnahme der Gutachter und befugten Mitgliedern des Prüfungsausschusses, ohne ausdrückliche Zustimmung des Unternehmens keine Einsicht nehmen. Eine Vervielfältigung und Veröffentlichung ohne ausdrückliche Genehmigung ist auch auszugsweise nicht erlaubt. Passau, Ort, Datum Unterschrift 141 B. Urheberschaft und Sperrvermerk 142 Tabellenverzeichnis 2.1. 2.2. 2.3. 2.4. Gegenüberstellung von PDO und FDO . . . Zugriffsrechte in FATool . . . . . . . . . . . Auszug möglicher Berechtigungen in FATool Lizenztypen für FATool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 26 27 27 4.1. Konfigurationstabellen der Schnittstelle . . . . . . . . . . . . . . . . . . . . 61 4.2. Datentabellen der Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.3. Schwachstellen im Ist–Zustand . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.1. Schwachstellen des Ist–Zustands . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2. Berechtigungen bzgl. der Änderungshoheit . . . . . . . . . . . . . . . . . . 102 5.3. Schwachstellen mit Aufwandsabschätzung . . . . . . . . . . . . . . . . . . 108 143 Tabellenverzeichnis 144 Abbildungsverzeichnis 1.1. Direktzugriff auf den Master–Server . . . . . . . . . . . . . . . . . . . . . . 9 1.2. Replikation der Dateien auf den Slave . . . . . . . . . . . . . . . . . . . . . 10 1.3. Replikation der Dateien inklusive der Meta–Daten auf den Slave . . . . . . 10 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. Strukturierung des ZF–Konzerns . . . . . . . . . . . Phasen im Produktlebenszyklus . . . . . . . . . . . Eingliederung des PDO und FDO Prozesses . . . . IT–Systeme im FDO–Bereiche am Standort Passau 2D–Sachmerkmale nach DIN4000 . . . . . . . . . . Statuswechsel im FDO–Bereich . . . . . . . . . . . Sachmerkmalleisten–System in FATool . . . . . . . Architektur der SAP–Systeme im ZF–Konzern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 18 19 21 22 25 28 3.1. Architekturpyramide . . . . . . . . . . . . . . . . . . . . . . 3.2. Blackbox und Whitebox . . . . . . . . . . . . . . . . . . . . 3.3. Architekturbrezel . . . . . . . . . . . . . . . . . . . . . . . . 3.4. Konzeptuelles Architekturmodell nach IEEE42010:2007 . . . 3.5. Konzeptuelles Architekturmodell nach IEEE42010:2011 . . . 3.6. Zachman–Framework . . . . . . . . . . . . . . . . . . . . . . 3.7. TOGAF Architecture Development Method . . . . . . . . . 3.8. Klassifikation von Anforderungen . . . . . . . . . . . . . . . 3.9. User–Story-Card mit Vorderseite links und Rückseite rechts 3.10. Typische ER–Notationen 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 33 35 37 40 41 44 46 52 4.1. Ist–Architektur . . . . . . . . . . . . . . . . . . . . . 4.2. Austausch von Materialstämmen . . . . . . . . . . . 4.3. FATool Master– und Client–Service . . . . . . . . . . 4.4. Serveraufbau für FATool–Installation . . . . . . . . . 4.5. Datenbankstruktur . . . . . . . . . . . . . . . . . . . 4.6. Übertragungsprozess . . . . . . . . . . . . . . . . . . 4.7. Funktionsweise eines Database–Link . . . . . . . . . . 4.8. Erzeugen von Inkonsistenzen zwischen SML–Daten . 4.9. Dokumentabgleich mit bisherigen Möglichkeiten . . . 4.10. Transferdaten mit Verbindung über Datenbank–Link 4.11. Prozess vom Material zum 3D–Modell . . . . . . . . 4.12. Beziehung zwischen Material– und Dokumentstamm . 4.13. Redundanzen durch Namenskonventionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 56 57 58 59 62 63 64 66 67 68 69 70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Abbildungsverzeichnis 4.14. Prozess zum Erzeugen von Datenleichen . . . . . . . . . . . . . . . . . . . 71 5.1. Soll–Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Datenüberschneidung zwischen ZF und ZFLS . . . . . . . . . . . . . . . 5.3. Übertragen zusätzlicher Informationen zwischen den zentralen Systemen . 5.4. Fehlerhafte Verteilung durch manipulierte Schnittstelle . . . . . . . . . . 5.5. Filterung durch Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . 5.6. Mögliche standortspezifische Anpassungen . . . . . . . . . . . . . . . . . 5.7. Konflikt bei der Datenmigration . . . . . . . . . . . . . . . . . . . . . . . 5.8. Replizieren von Meta–Daten und Dokumenten . . . . . . . . . . . . . . . 5.9. Replizieren ausschließlich von Dokumenten . . . . . . . . . . . . . . . . . 5.10. Replikation von Meta–Daten und Dokumenten aber nur zentrale Änderung der Meta–Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11. Synchroner Abgleich mit Inkonsistenzen . . . . . . . . . . . . . . . . . . 5.12. Asynchroner Abgleich mit Wartezeiten . . . . . . . . . . . . . . . . . . . 5.13. Transferdatenverlagerung nach Axalant . . . . . . . . . . . . . . . . . . . 5.14. Import von 3D–Modellen nach FATool . . . . . . . . . . . . . . . . . . . 5.15. Speichern der manuell importierten Betriebsmittel . . . . . . . . . . . . . 5.16. Beziehung zwischen Bauteil und Baugruppen . . . . . . . . . . . . . . . . 5.17. Zusammenlegen der Status für Freigabe und Rückgabe . . . . . . . . . . 5.18. Abhängigkeit des Betriebsmittelstatus . . . . . . . . . . . . . . . . . . . 5.19. Berechtigungskonzept zum Sichten von Daten . . . . . . . . . . . . . . . 5.20. Berechtigungskonzept zum Ändern von Daten . . . . . . . . . . . . . . . 5.21. Automatisierung der Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 80 83 85 86 87 88 90 91 . . . . . . . . . . . . 92 93 93 95 96 97 98 99 100 103 104 106 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.9. . . . . . . . . . . . . . . . . . . 111 112 113 114 114 115 116 116 117 FDO–Materialstammmaske . . . . . . . . . . . . . . . . . . . . . . . . . Sachmerkmalleiste bei interaktiver Übergabe . . . . . . . . . . . . . . . . Listenstammmaske mit Menü zum Beenden der Schnittstelle . . . . . . . Auftragstabelle Datenexport . . . . . . . . . . . . . . . . . . . . . . . . . SAP–Transfer–Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Betriebsmittelverwaltung mit Viewer und verknüpften Dokumenten . . . Komplettwerkzeug mit Auswahl der Schneidennummer und zugehöriger Stückliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.8. Benutzerberechtigungen auf Leistenebene mit zugeordneten Standorten . . . . . . . 137 137 137 138 138 139 A.1. A.2. A.3. A.4. A.5. A.6. A.7. 146 Konzept der Wiedervorlage . . . . . . . . . . . . . . . . . . Alter und neuer Prozess des Dokumentabgleich . . . . . . Tabelle von synchronisierten Materialien . . . . . . . . . . Tabelle zum Quittieren der Transfer–Queue . . . . . . . . Tabelle zum Speichern des Cursor–Timestamps . . . . . . Programmablauf zur Überprüfung von Dokumentstämmen Fehlertabelle der Wiedervorlage . . . . . . . . . . . . . . . Tabelle zur Wiedervorlage . . . . . . . . . . . . . . . . . . Programmablauf der Wiedervorlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 . 140 Literaturverzeichnis [Ahl12] Ahlemann, Frederik: Springer–Verlag, 2012 Strategic Enterprise Architecture Management. [Bau06] Bauermann, Dr.-Ing. E.: Nutzung von PDM-Systemen im Maschinenbau. April 2006. – ZF Friedrichshafen AG [BCK12] Bass, Len ; Clements, Paul ; Kazman, Rick: Software Architecture in Practice. Addison–Wesley, 2012 [ES09] Eigner, M. ; Stelzer, R.: Product Lifecycle Management: Ein Leitfaden für Product Development und Life Cycle Management. Springer–Verlag, 2009. – ISBN 9783540443735 [Fas10] Fasys: FASys Dokumentation - Das FASys Sachmerkmalleistensystem. Dezember 2010 [Fas12] Fasys: Axalantanbindung. Dezember 2012. – Implmentierung der Axalantanbindung [GBBK10] Grechenig, Thomas ; Bernhart, Mario ; Breiteneder, Roland ; Kappel, Karin: Softwaretechnik: mit Fallbeispielen aus realen Entwicklungsprojekten. Pearson Studium, 2010 (IT Informatik). – ISBN 9783868940077 [Han13] Hanschke, Inge: Strategisches Management der IT-Landschaft: Ein praktischer Leitfaden für das Enterprise Architecture Management. Hanser–Verlag, 2013. – ISBN 978–3–446–41702–1 [ISO07] ISO/IEC/IEEE: ISO/IEC/IEEE Systems and Software engineering – Recommended practice for architectural description of software-intensive systems. In: ISO/IEC/IEEE 42010:2007 (IEEE Std) 1471-2000 (2007), S. 1–34 [ISO11] ISO/IEC/IEEE: ISO/IEC/IEEE Systems and software engineering – Architecture description. In: ISO/IEC/IEEE 42010:2011(E) (Revision of ISO/IEC 42010:2007 and IEEE Std 1471-2000) (2011), S. 1–46 [JS08] Janas, Thomas ; Schumann, Matthias: IT–Architekturen beim Zussamenschluss von Unternehmen. In: Arbeitsbericht (2008), S. 52 [Kel12] Keller, Wolfgang: IT-Unternehmensarchitektur. 2. Aufl. Dpunkt–Verlag, 2012 147 Literaturverzeichnis [Pet12] Peter, Patrick: NC-Management mit FATool. April 2012. – ZF Friedrichshafen AG [Rup13] Rupp, Chris: Systemanalyse kompakt. Springer–Verlag, 2013 [Sen09] Sendler, U.: Das PLM-Kompendium: Referenzbuch des ProduktLebenszyklus-Managements. Springer–Verlag, 2009. – ISBN 9783540878971 [SH11] Starke, Gernot ; Hruschka, Peter: Software–Architektur kompakt – angemessen und zielorientiert. Spektrum, akademischer Verlag, 2011 [Som07] Sommerville, Ian: Software Engineering. Addison–Wesley, 2007 (Pearson Studium). – ISBN 9783827372574 [Sta08] Starke, Gernot: Effektive Software-Architekturen: ein praktischer Leitfaden. Hanser–Verlag, 2008 [ZF10] ZF: Schulungshandbuch, FHM-Verwaltung mit Axalant. Mai 2010. – ZF Friedrichshafen AG [ZF12a] ZF: Management von Daten, digitalen Objekten und Dokumenten im PDM System. 2012. – ZF Friedrichshafen AG, FDO-Support [ZF12b] ZF: ZF-Konzern; Auf einen Blick. 2012. – ZF Friedrichshafen AG [ZF13] ZF: PLM-Wiki. http://web-wiki.emea.zf-world.com/frd_plm/index. php. Version: Januar 2013. – (abgerufen am 29.11.2013) [Zör12] Zörner, Stefan: Softwarearchitekturen dokumentieren und kommunizieren – Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten. Hanser–Verlag, 2012 148