OPC UA Serie, Teil 7: OPC UA Toolkits

Ein OPC Toolkit ist eine Sammlung von Bibliotheken, Klassen und Schnittstellen, die dem Programmierer das Entwickeln von OPC-Anwendungen erleichtert. So werden z.B. Standardfunktionen für das Lesen und Schreiben von OPC-Items, Browsen und Verwalten des OPC-Adressraums und vielem mehr zur Verfügung gestellt. Die Entwicklung eines leistungsfähigen Toolkits für die einfache Erstellung von OPC-Clients und -Servern erfordert eine Investition mehrerer Mannjahre. Je mehr ein Toolkit-Hersteller in Architektur, effiziente Programmierschnittstelle, Beispielimplementierungen, Dokumentation sowie einen Wizard für die automatische Erstellung eines Programmrahmens investiert, desto mehr profitiert der Toolkit-Anwender bei der Erstellung seiner OPC UA-Komponente in Form von Zeit- und Kostenersparnis. Softing ist bereits seit 15 Jahren ein weltweit führender Anbieter von Toolkits für OPC-Clients und -Server. Die aktuelle Produktpalette umfasst 18 Versionen, sowohl für die klassische OPC-Technologie als auch für OPC Unified Architecture. Die Erfahrungswerte der vergangenen fünfzehn Jahre haben gezeigt, dass sich bei der Erstellung eines OPC-Clients mit Hilfe eines Toolkits Einsparungen im Bereich von Mannwochen, bei der Erstellung eines OPC-Servers Einsparungen in der Größenordnung einiger Mannmonate ergeben können. Dabei ist der Umfang der Zeitersparnis beim Classic OPC-Server abhängig von der Anzahl der Classic Informationsmodelle (DA, AE, HDA, XML-DA) und der Komplexität der Kommunikationsanbindung. Bei der Erstellung eines OPC UA-Servers wird der zeitliche Aufwand vom Umfang der OPC UA-Funktionalität, dem zu unterstützenden Profil, der Anzahl zu unterstützender Service-Sets und dem Umfang der verwendeten OPC UA-Security beeinflusst. Build versus Buy Die Entscheidung über die Realisierung einer OPC UA-Produktentwicklung ist in Bezug auf den OPC UA-Anteil eine \’Build\‘ versus \’Buy\‘ Entscheidung: \’Build\‘ im Sinne einer Eigenentwicklung auf Basis der OPC UA-Specification und des OPC UA-Stacks der OPC Foundation, \’Buy\‘ im Sinne des Erwerbs eines kommerziellen Toolkits. Wichtige Kriterien für eine Build or Buy Entscheidung bei einer OPC UA-Produktentwicklung sind: – Time-to-Market: Bei der Verwendung eines OPC UA-Toolkits wird die komplette OPC UA-Standardfunktionalität hinter einer API (Application Programming Interface) gekapselt. Wichtige OPC UA-Standardfunktionalitäten wie die OPC UA-Stack-Integration, das Subscription- und Session Management und die Verwaltung des AddressSpace, um nur einige zu nennen, werden von einem OPC UA-Toolkit abgedeckt und müssen somit von einem Entwickler einer OPC UA-Client oder -Server-Komponente nicht mehr implementiert werden. Der reduzierte Aufwand resultiert somit in einem früheren Time-to-Market und einem schnelleren Return-on-Invest. – OPC UA-Compliance und Interoperabilität mit OPC UA-Produkten anderer Hersteller: Hersteller professioneller Toolkits testen ihre Produkte in vielfältigen Szenarien. Sie stellen sicher, dass ihre Software stets mit den aktuellen Versionen der OPC UA-CTT (Compliance Test Tools) erfolgreich getestet wird sowie regelmäßige Tests auf den Interoperabilitäts-Workshops (IOP) der OPC Foundation durchläuft. Für die Hersteller einer OPC UA-Client oder -Server-Komponente ist die OPC UA-Compliance und die maximale Interoperabilität bei Verwendung eines professionellen Toolkits praktisch eine implizit erworbene Produkteigenschaft, die für die Vermarktung von OPC UA-Produkten eine zwingende Voraussetzung darstellt. – Robustheit: OPC UA-Toolkits werden für die Erstellung vieler verschiedener OPC-Produkte in den unterschiedlichsten Szenarien und Belastungen eingesetzt. Der Reifegrad einer mit einem Toolkit entwickelten OPC-Komponente ist um ein Vielfaches höher als bei einer Komponente, die ohne OPC-Toolkit entwickelt wurde. In einer Go-to-Market Strategie mag es ein entscheidender Vorteil sein, die Phase der \’Kinderkrankheiten\‘ komplett zu überspringen. – Effizienz und optimierte Performance: Professionelle Toolkits \’leben\‘, das heißt sie werden kontinuierlich weiterentwickelt, funktional erweitert, fehlerbereinigt und hinsichtlich der Performance optimiert. Eine hohe Übertragungsperformance kann sich als positive Produkteigenschaft erweisen und einen wichtigen Wettbewerbsvorteil für ein OPC UA-Produkt darstellen. – Kosten für ein OPC UA-Toolkit: Die Toolkit-Kosten machen nur einen kleinen Anteil an den Gesamtentwicklungskosten einer Produkt-Neuentwicklung aus. Je nach Komplexität des OPC UA-Produkts liegt der Kostenanteil für ein Toolkit bei durchschnittlich 10 bis 35% der Gesamtentwicklungskosten. Um bei einer Entwicklung ohne Toolkit einen vergleichbaren Reifegrad der OPC UA-Software zu erlangen, muss ein Vielfaches eines OPC UA-Toolkit-Preises kalkuliert werden. – Produkt-Pflegekosten: Neben den initialen Kosten für die Entwicklung eines OPC UA-Produkts fallen Pflegekosten für Anpassungen an Spezifikationsänderungen, Fehlerbeseitigungen oder funktionale Erweiterungen an. Beim Einsatz von Toolkits reduzieren sich die Pflegeaufwände für die OPC-Anteile der Software auf ein Recompilieren und Linken der Anwendung mit der aktuellen Version des Toolkits. Auch die OPC UA-Specification unterliegt einem ständigen Prozess der Verbesserung und Anpassung an neue Marktanforderungen. Änderungen der Spezifikation, des OPC UA-Stacks bis hin zu Betriebssystemwechseln sind für die OPC UA-Client- bzw. -Server-Komponenten aber irrelevant. Die Einsparung regelmäßiger Pflegekosten ist über ein paar Jahre betrachtet um ein Vielfaches höher als die Kosten für das Toolkit. – Fokus auf Kernkompetenzen: Der Einsatz eines OPC UA-Toolkits ist umso naheliegender, je weniger ein Hersteller seine Kernkompetenz in Softwaretechnologien besitzt bzw. aufbauen möchte. Aber selbst Softwareherstellern erspart der Einsatz eines Toolkits die Investition in den Aufbau von Know-how zu Details und Interna der OPC UA-Technologie. – Verfügbarkeit eigener Ressourcen: Durch den Einsatz eines Toolkits können bei einer OPC UA-Entwicklung einige Mannmonate der Ressourcen eines Unternehmens eingespart werden. – Abhängigkeit vom Toolkit-Hersteller, Weiterentwicklung des Toolkits, langfristiger Investitionsschutz: Mit der Entscheidung, eine OPC UA-Entwicklung auf Basis eines zugekauften Toolkits zu realisieren, begibt sich ein Unternehmen in eine Abhängigkeit. Hat der Toolkit-Hersteller ein großes Toolkit-Portfolio, ist seit vielen Jahren mit einem klaren Fokus auf OPC-Toolkits am Markt, investiert kontinuierlich in die Toolkit-Produkte und kann einen großen Stamm von Kunden vorweisen, bestehen beste Voraussetzungen für eine langfristige Weiterentwicklung und Pflege der Toolkits. – Technischer Support: Aufgrund der Komplexität der OPC UA-Technologie und der enormen Bandbreite, in der OPC UA-Produkte eingesetzt werden, ist es der Normalfall, den technischen Support bzw. teilweise die Entwicklung des Toolkit Herstellers zu konsultieren. Toolkits sind universelle OPC-Kerne, die hinsichtlich Einsatzszenarien, Umgebungsbedingungen, Performance oder Mengengerüst immer neuen Anforderungen ausgesetzt sind. Ein Fehlverhalten ist somit nie komplett auszuschließen. Umso wichtiger ist dann die Reaktionszeit, in der der Toolkit Hersteller eine Behebung des Fehlverhaltens liefert. Der Abschluss eines Wartungsvertrags beim Toolkit Hersteller hat in der Regel einen positiven Einfluss auf die Reaktionszeit. Teil 8 der OPC UA-Serie wird sich eingehend mit einem OPC UA-Ausblick beschäftigen. Kasten: Buchtipp Grundlagen, Implementierung und Anwendung von Classic OPC und OPC UA werden in diesem Buch umfassend beschrieben. Anwendern und Herstellern von OPC-Produkten bietet dieses Buch den idealen Einstieg, die OPC-Technologie zu verstehen und effizient zu nutzen. Lange/Iwanitz/Burke, OPC. Von Data Access bis Unified Architecture. XXIII, 494 pages. Kart. Mit CD-ROM. VDE Verlag, ISBN 978-3-8007-3217-3, Preis 58EUR,