Software-as-a-Service (SaaS) ist inzwischen nichts Exotisches mehr. SaaS-Architekturen bieten eine breite Palette von Vorteilen, die manchmal nicht auf den ersten Blick herausstechen, aber neue Prozesse und Funktionen oft erst ermöglichen. Mit Onshape kam im Dezember 2015 das erste Cloud-native CAD-System auf den Markt, das System ist ein gutes Beispiel dafür, dass Cloud mehr ist als „nur“ Speicherplatz und Rechenleistung ohne Grenzen. In einer Artikelreihe möchte ich diese Vorteile genauer analysieren. In diesem Artikel soll es um die besondere Technologie gehen, auf der Onshape basiert – und welche Auswirkungen diese hat. Diesmal geht es um die Cloud-native Datenstruktur von Onshape und deren neue Möglichkeiten.
Ein wichtiger Unterschied zwischen Onshape und anderen Systemen ist, dass das System keine Dateien nutzt, sondern Dokumente in einem Workspace öffnet. Ein „normales“ CAD-System speichert seine Daten in Dateien, jede Datei enthält ein Modell, eine Zeichnung oder eine Baugruppe. Baugruppenmodelle können wiederum mit mehreren Einzelteildateien verknüpft sein. Technisch wird diese Datei – und im Fall der Baugruppe die verknüpften Einzelteildateien – in den Arbeitsspeicher des lokalen oder auf dem Host laufenden CAD-Systems geladen und dort bearbeitet. Solange sie bearbeitet wird, ist sie gesperrt und für keinen anderen Anwender nutzbar.
Öffnen zwei Anwender eine Datei, die auf dem Server gespeichert ist, „gewinnt“ derjenige, der als letzte speichert – er überschreibt die Version, die der Kollege kurz vorher gespeichert hat. Dessen Arbeit ist verloren. Das wird besonders problematisch bei den angesprochenen Baugruppendateien – was passiert, wenn ein Konstrukteur in der Baugruppe arbeitet und der andere an einem der dazugehörenden Einzelteile?
Diese Probleme zu vermeiden, ist traditionell die Aufgabe der PDM/PLM-Systeme. Sie speichern die Dateien in ihrer Datenbank statt auf einem Laufwerk und achten darauf, wer welche Daten öffnet und bearbeitet. Solch ein System kann sogar Dateien, die auf zwei Arbeitsstationen bearbeitet werden, zusammenfügen und synchronisieren – die Änderungen des einen Konstrukteurs kommen, sobald er speichert, beim Kollegen an. Manche Systeme schaffen es sogar, dass zwei Anwender an einem Bauteil arbeiten können, beispielsweise an zwei verschiedenen Enden der Maschine. Eine echte gleichzeitige Zusammenarbeit ist so nicht möglich.
Man darf nicht vergessen, dass alle aktuellen CAD-Systeme vor vielen Jahren erstmals programmiert wurden, ich habe schon 2013 darüber geschrieben, dass die Systeme langsam in die Jahre kommen. das ist kein Problem, solange der Quellcode gut gepflegt wird – allerdings ist eben die grundlegende Architektur ganz am Anfang festgelegt worden. Man kann SaaS-Architektur nicht einfach in ein dateibasiertes System „implantieren“, sondern bestenfalls „anbauen“.
Moderne SaaS-Software wie Onshape arbeitet nicht mit Dateien, sondern mit einer Datenbank. Jeder einzelne Befehl des Anwenders wird sofort in diese Datenbank geschrieben. Wenn ein Modell auf den Bildschirm geholt wird, lädt die Software keine Datei in den Arbeitsspeicher, sondern führt blitzschnell all diese „Mikrooperationen“ nacheinander aus und erstellt das Modell neu. Deshalb ist es Onshape auch egal, wenn mehrere Anwender gleichzeitig an einem Modell arbeiten – jeder Anwender hat sein eigenes Modell auf dem Bildschirm, jede Änderung wird in Echtzeit auf alle Anwendermodelle angewendet.
Als ich den ersten Betazugang zu Onshape hatte, versuchte ich mit einem Freund, das System zu überlisten. Wir vereinbarten, am selben Modell und an derselben Stelle des Modells zu arbeiten – einer brachte ein rundes, der andere ein viereckiges Loch ein; dazu telefonierten wir miteinander und lösten auf „3…2…1!“ den Befehl aus. Onshape ließ sich davon nicht beeindrucken, natürlich kamen die Befehle um Hundertstelsekunden versetzt an und Onshape führte den ersten Befehl aus, der zweite, der nun nicht möglich war, wurde abgewiesen. Der „Verlierer“ sah sofort das vom „Sieger“ angebrachte Loch. Das System arbeitet eben stur die eingegebenen Befehle nacheinander ab, egal ob diese von einem Anwender oder mehreren kommen. So ist die direkte Zusammenarbeit in Echtzeit und an einem einzigen Teil eine Grundeigenschaft der Onshape-Architektur. Weitere Infos zu den Collaboration-Features in Onshape finden Sie auf dieser Seite.
Die speziellen Eigenschaften von SaaS-Software hat eine ganze Reihe von Konsequenzen:
- Ein PDM-System als Aufsatz auf CAD, das die Kollaboration regelt, ist überflüssig beziehungsweise schon eingebaut.
- Bei jedem Start wird die neueste Version der Software geladen, es gibt also keine Updates mehr, sondern einen kontinuierlichen Strom von Innovationen und Optimierungen.
- Eine Revisionskontrolle ist quasi eingebaut, denn das Löschen eines Features und das Erstellen eines anderen sind eben auch nur zwei Befehle in der langen Liste der Befehle, die ein Modell definieren.
- Beschädigte Dateien durch einen Absturz gibt es nicht mehr. Bei einem Absturz sind alle Befehle bis zur letzten Mikrosekunden, an der das System aktiv war, gespeichert, es geht keine Arbeit verloren. Das Cloudbetriebssystem startet eine neue Instanz der Software und baut das Modell sowie die Verbindung zum Anwender wieder auf.
- Das Ableiten von Varianten ist einfach umzusetzen, die Datenbank muss lediglich wissen, an welcher Stelle der „Befehlskette“ eine Alternativversion abzweigen soll. So ist die Implementierung einer Branching/Merging-Funktion wie in Software-Entwicklungssystemen möglich.
- Zusammenarbeit mit anderen Nutzern, Kollegen, Lieferanten oder Kunden ist so einfach wie das Versenden eines Links – der Partner öffnet den Link und hat Zugang zum Modell. Gemeinsame Konstruktionssessions sind ebenso möglich wie Besprechungen am Modell, Annotationen und Messen.
- Da dabei keine Dateien versendet werden, behält der Erzeuger jederzeit volle Kontrolle über seine Daten. Kappt der Einladende den Link, kann der Partner ihn nicht mehr öffnen, geschweige denn ohne Erlaubnis Daten herunterladen.
- Datendiebstahl durch Einbruch in die Cloudinstallation ist quasi unmöglich, denn es gibt keine Daten zu stehlen. In der Cloud-Datenbank sind alle „Befehlsketten“ aller Onshape-User gespeichert. Nur mithilfe des Logins und der damit verbundenen Informationen kann das System die gewünschten Befehle aus der fast unendlich großen Datenbank herausfischen und das Modell zusammensetzen; Ohne Login ist die Datenbank lediglich ein zusammenhangloser Berg von Einzelbefehlen, die keinem Dieb etwas nützt.
Im folgenden Video erklärt Ilya Baran, VP Architecture bei Onshape, die Architektur des Systems detailliert, dabei erwähnt er viele der oben genannten technischen Details. Sehr interessant finde ich in den ersten Minuten die Erklärung: „Die Entwickler kamen fast alle von SolidWorks. Wir wussten also, wie man ein CAD-System baut. Deshalb sagten wir uns: Konzentrieren wir uns zunächst einmal auf die Dinge, die noch niemand getan hat – also SaaS – und setzen dann das CAD-System obendrauf. Man kann kein Haus bauen und dann die Fundamente verschieben.“
Onshape unterscheidet sich technisch sehr von anderen Systemen und bietet deshalb völlig neue, bisher undenkbare Möglichkeiten. In den nächsten Folgen dieser Serie werde ich diese Besonderheiten jeweils einzeln und wesentlich detaillierter vorstellen. Erst dann zeigt sich das ganze Potential dieses Systems.
Testen Sie Onshape kostenlos selbst – nach einer kurzen Anmeldung steht Ihnen das System direkt zur Verfügung! Onshape stellt im Learning Center einen interessanten Kurs namens Hands-On Test Drive zur Verfügung, der einen guten Überblick über die CAD-Funktionen bietet.
Transparenz: Onshape stattet mich mit einer Profilizenz zum Testen aus und unterstützt diese Serie finanziell. Inhaltlich wurde keinerlei Einfluss genommen