SORIS
Verfahren oder Workflows sind im Abschnitt Schritt für Schritt beschrieben. Informationen zur Bereitstellung oder Konfiguration des Adapters finden Sie im SORIS Adapter SDK Developer API Document, das bei der Installation Ihres SDK verfügbar ist.
SORIS (Southbound Open RESTful Integration Service) repräsentiert einen Architekturstil zum Entwerfen vernetzter Applikationen. SORIS basiert auf einem statusfreien Client-Server-Protokoll (Cacheable Communications Protocol), in diesem Fall HTTP(S). Die SORIS-Architektur bietet Interoperabilität zwischen Computersystemen über das Internet, während der SORIS-Adapter ermöglicht, ihre proprietären Subsysteme in Desigo CC zu integrieren.
Die folgende Grafik zeigt den aus fünf Schritten bestehenden Workflow für die Integration eines SORIS-Adapters mit Desigo CC. Das Feld mit der gestrichelten Linie stellt Desigo CC dar und alle darin enthaltenen Komponenten werden von der Erweiterung SORISDriver bereitgestellt. Der SORIS-Adapter definiert das Rahmenwerk, in dem Sie Ihren Adapter entwerfen. Sie müssen ausserdem einen logischen Adapter, das Objektmodell und den Kommunikationstreiber für das Subsystem oder Gerät, das Sie integrieren, entwickeln. Die folgenden Beschreibungen bieten eine ausführlichere Erläuterung des Prozesses.

- Ein Objektmodell in Desigo CC ist im Grunde ein benanntes Objekt mit einer Liste von Eigenschaften. Ein Lichtobjekt kann beispielsweise Eigenschaften wie Farbe, Leistung, Helligkeit und Name haben. Sie legen in Desigo CC ein oder mehrere Objektmodelle an, die den Datenstrukturen der Subsystemobjekte entsprechen, die Sie integrieren möchten. Möglicherweise gibt es bereits Domänenbibliotheken, z.B. Brand oder Sicherheit, die passende Objektmodelle für die integrierten Objekte enthalten. Diese können Sie wiederverwenden.
- Ein Extraktionstool exportiert die Objektmodelle in mehrere Ausgabetypen. Sie können in jedem Objektmodell die Eigenschaften auswählen, die Sie exportieren möchten. Das Tool exportiert die Informationen als RDF-Klassen. Ferner exportiert es spezifische abstrakte Programmiersprachen (C# und Java), die dem Objektmodell entsprechen. Um Rahmenwerke zu aktivieren, die RESTful-Dienste generieren können, erstellt das Extraktionstool ferner ein Swagger-Dokument. Dieses Dokument beschreibt das Objektmodell als Datendefinitionsaspekte zusammen mit Endpunkten, die die Eigenschaft darstellen (lesen und aktualisieren).
- Die generierten objektorientierten Klassen aus Schritt 2 können beim Programmieren des Adapters verwendet werden. In diesem Schritt erstellen Sie einen logischen Adapter mithilfe des SDK für C# oder Java. Ihr logischer Adapter muss drei Methoden in dem Rahmenwerk implementieren. Die erste ist Initialize(). Hier führen Sie alle Objekte in Ihrem Subsystem auf und fügen sie einem Container hinzu. Die nächsten beiden Methoden sind Read() und Write(). Hier geben Sie den Code zum Lesen und Schreiben jeder Eigenschaft an und führen dabei ggf. erforderliche Datentypkonvertierungen durch. Ferner stellen Sie einen Kommunikationstreiber für das integrierte System bereit. Das System muss in der Lage sein, eine Liste aller Instanzen bereitzustellen und die Eigenschaften zu lesen und zu schreiben.
- Der HTTP(S)-Endpunkt des SORIS-Adapters enthält die Beschreibung der Instanzen (Things), die im Adapter gehostet werden. Diese Thing-Beschreibungen (Thing Descriptions) sind in JSON serialisierte RDF-Dokumente.
- Der SORIS-Adapter enthält die Thing-Beschreibungen, die wiederum die Objektmodelle enthalten. Der SORIS-Treiber kommuniziert mit dem SORIS-Adapter, um die Thing-Beschreibungen abzurufen. Anschliessend erstellt eine automatische Erkennungskomponente in Desigo CC die Instanzen der Objektmodelle und adressiert die Eigenschaften mit Ressourcen-URLs. Dann beginnt der SORIS-Treiber die Ressourcen zu lesen und zu aktualisieren.