Website-Icon EngineeringSpot

Onshape Serie: Datenbank statt Dateien: Was eine echte Cloud-Architektur bewirkt

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 -native -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 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.

In der Historie links wird die besondere Weise, in der Onshape speichert, sichtbar: Die gesamte Abfolge der Modellierung ist Schritt für Schritt gespeichert.

Ö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/-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 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 -Features in Onshape finden Sie auf dieser Seite.

Die speziellen Eigenschaften von SaaS-Software hat eine ganze Reihe von Konsequenzen:

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.

Alle Teile der Serie

Transparenz: Onshape stattet mich mit einer Profilizenz zum Testen aus und unterstützt diese Serie finanziell. Inhaltlich wurde keinerlei Einfluss genommen

Sei der Erste, der diesen Beitrag teilt

Die mobile Version verlassen