9yahds

Enterprise Disaster Recovery Software Lösung

wurde in SaaS umgewandelt und von Redwerk weiterentwickelt
×
Wohin sollen wir unsere 9yahds-Fallstudie schicken?
Bitte geben Sie Ihre Geschäfts-E-Mail ein ist keine Geschäfts-E-Mail

9yahds ist ein Anbieter von Prozessautomatisierungssoftware als Service, mit dem Geschäftsprozesse in der Cloud erstellt, genutzt und verfolgt werden können.

Alle Kunden

Legacy Codebase

9yahds kam mit einem bereits in Python entwickelten Produkt zu uns, das für den einmaligen Gebrauch gedacht war, und einer wichtigen geschäftlichen Anforderung, es in ein vollwertiges Multi-Tenant-SaaS zu verwandeln. Wir arbeiteten projektweise mit voller Kundenkontrolle über die Budgets.

Mehr erfahren

Geschäftsautomatisierung

Katastrophenwiederherstellung, Zeiterfassung und Rechnungserstellung mit sehr geschäftsspezifischen Workflows. Wir können Ihr Geschäft verstehen und automatisieren.

Mehr erfahren

Herausforderung

Redwerk mit seiner soliden Erfahrung in der Bereitstellung von Python-Entwicklungsdienstleistungen wurde herausgefordert, die bestehenden Module des Systems zu modifizieren und neue Funktionalitäten hinzuzufügen:

Einzelinstanz-Anwendung in SaaS umwandeln

Die ursprüngliche Anwendung war ein Einzelinstanz-Produkt, bei dem alle Benutzer mit einem einzigen Datensatz arbeiten. Wir mussten sie in ein SaaS umwandeln, indem wir Multi-Tenancy einführten: Der Datenkontext wird je nach angemeldetem Benutzer umgeschaltet. Wir mussten Benutzergruppen, sogenannte Unternehmen, modifizieren. Jedes Unternehmen sollte Zugriff auf seinen eigenen Datensatz haben, einschließlich Prozesse, Probleme, Episoden usw., vor allem aber auf Benutzer. Der Benutzerbereich sollte nur Benutzer des tatsächlichen Unternehmens enthalten, dem der aktuell angemeldete Benutzer angehört. Das Management der Unternehmen sollte über einen neuen Navigationseintrag namens „Companies“ erfolgen, wo es möglich sein sollte, Unternehmen zu erstellen und zu löschen sowie Benutzer in ihnen zu verwalten.

Admin-Interface

Wir mussten auch ein Interface für Superuser mit CRUD-Funktionalität für neue Benutzer und andere Objekte erstellen. Nur der spezielle Systembenutzer und Benutzer mit bestimmten Rechten, die sogenannten Superuser, konnten sich einloggen. Das Admin-Interface sollte aus zwei Punkten bestehen: Companies und SuperUsers. Companies sollte CRUD-Funktionalität bezüglich der Unternehmen beinhalten und der SuperUsers-Bereich sollte das Verwalten der Superuser der Anwendung ermöglichen.

Organisationsmodellierung

Wir mussten eine bestehende funktionale Komponente namens Organisationsmodellierung grundlegend reorganisieren. Organisation ist eine logische Gruppierung von Teams und Funktionen, die von Ressourcen unterstützt werden. Die Organisationsmodellierung ermöglicht das Management von Organisationen.

Durch die Hinzufügung neuer logischer Entitäten zur Anwendung mussten wir eine visuelle Darstellung für sie erstellen. Dies wurde im Modul Organisationsmodellierung reflektiert. Die üblichen Dialoge zur Erstellung von Elementen sollten durch Drag&Drop-Technologie ersetzt werden. Dies ist viel bequemer für die Erstellung komplexer Systeme mit hierarchischer Struktur (z. B. Benutzer, die zur Firma gehören usw.). Das Modul sollte eine hierarchische Darstellung der Elemente (Baum) mit Drag&Drop-Möglichkeit und einem Formular enthalten, das die Möglichkeit bietet, die Eigenschaften des ausgewählten Elements im Baum anzuzeigen und zu bearbeiten.

Arbeitsbereich

Prozess ist eine Sammlung von Aufgaben. Die Seite „Process Modeler“ ermöglicht das Management der Prozesse. Der Arbeitsbereich musste die Art und Weise ändern, wie Informationen im Produkt präsentiert wurden. Die Hinzufügung des „workspace“ sollte auf der Seite „Process Modeler“ erfolgen. Wir mussten den bestehenden Ablauf der Prozess-Erstellung, -Ausführung und -Verwaltung neu gestalten. Wir mussten die Liste der vorhandenen Prozesse zur Seite Process Modeling hinzufügen, getrennt nach Kategorien:

  • Teamprozesse: Prozesse, die dem Team gehören, dem der aktuelle Benutzer angehört.
  • Unternehmensprozesse: Prozesse, die den Teams des Unternehmens gehören, dem der angemeldete Benutzer angehört.
  • Öffentliche Prozesse: Eine Liste von Prozessen, die unabhängig davon, von wem und aus welchem Unternehmen sie stammen, öffentlich gemacht wurden.

Teamprozesse können direkt bearbeitet werden. Dieser Prozess kann auch „live“ geschaltet werden und steht dann allen Mitgliedern des Unternehmens zur Verfügung. Unternehmens- und öffentliche Prozesse können nur in die Teamprozesse kopiert und erst dann bearbeitet werden.

Das Bearbeiten der Prozesse musste geändert werden: Drag & Drop musste hinzugefügt werden. Dies verbessert die Benutzerfreundlichkeit der Prozessbearbeitung erheblich. Der Prozess wird als Aufgabenbaum dargestellt und es ist sehr bequem, die Aufgabe an die richtige Stelle im Baum zu ziehen. Es ist auch möglich, eine Aufgabe zu erstellen, indem das Symbol der neuen Aufgabe an die gewünschte Stelle im Baum gezogen wird. Für jede ausgewählte Aufgabe gibt es eine Aufgabenansicht, in der alle Eigenschaften der Aufgabe bearbeitet werden können. Neben Baum- und Aufgabenansicht können die Hierarchie der Aufgaben und ihre Eigenschaften auch in der Tabellenansicht bearbeitet werden.

Sequenzierung

Manchmal sollte eine Gruppe von Aufgaben gleichzeitig und in beliebiger Reihenfolge ausgeführt werden, das Wichtigste ist, dass sie vor anderen Aufgaben delegiert werden. Die Reihenfolge, in der sie ausgeführt werden, ist nicht wichtig, aber es ist wichtig, dass sie alle abgeschlossen sind, bevor die nächste Aufgabe beginnt. Die ursprüngliche Anwendung ermöglichte es den Benutzern einfach, diesen Aufgaben die gleiche Sequenz-ID zu geben.

Wir wurden gebeten, den Benutzern die Möglichkeit zu geben, mehrere Aufgaben auszuwählen, mit der rechten Maustaste darauf zu klicken und „simultaneous“ zu wählen, um die Software die Sequenz-IDs all dieser Aufgaben auf die gleiche Nummer ändern zu lassen.

Das Sequenz-ID-Intervall in der ursprünglichen Anwendung war +1. Wir wurden herausgefordert, es auf +10 zu ändern, um neue Aufgaben zur Sequenz hinzuzufügen, ohne die nachfolgenden Aufgaben neu sequenzieren zu müssen.

Mehrere Prozesse

Sobald die notwendigen Entitäten, Prozesse und Aufgaben erstellt wurden, können Benutzer beginnen, 9yahds zu verwenden, um die im System erstellten Prozesse zu testen und auszuführen. In 9yahds beginnt die Prozessaustführung typischerweise mit der Meldung von Problemen durch Benutzer oder integrierte Anwendungen (z. B. HelpDesk, Ticketsysteme usw.). Sobald ein Problem in 9yahds eingetragen ist, bewerten die Teams jedes Problem, um die Schwere zu beurteilen. Falls erforderlich, erstellen die Teams dann Episoden (z. B. Unterbrechungsereignisse) mit zugehörigen Problemen. Episoden werden Teams zur Lösung zugewiesen, wobei das zugewiesene Team die Prozesse ausführt, die erforderlich sind, um die Episode erfolgreich zu bewältigen und zu lösen.

Wenn ein Team eingeladen wird, einer Episode beizutreten, kann es derzeit nur einen Prozess zum Starten auswählen. Das Redwerk-Softwareentwicklungs-Outsourcing-Team musste die Logik ändern, damit die Teamleiter mehrere Prozesse zur Initiierung auswählen konnten.

Dokumentverknüpfung

Das System ermöglicht es Unternehmen, Dokumente in der Wissensdatenbank zu speichern. Wenn Benutzer Aufgaben erstellten, mussten sie den Hyperlink zum Dokument manuell eingeben. Wir mussten eine Schaltfläche „Dokument verknüpfen“ zur Aufgabenerstellung hinzufügen, die es den Benutzern ermöglichen sollte, ein oder mehrere Dokumente zur Verknüpfung auszuwählen und den Hyperlink in der Aufgabe für sie zu erstellen.

Arbeitskonsolen-Aktualisierung

Die Arbeitskonsole ist der Ort, an dem alle Benachrichtigungen für Aufgaben, die noch abgeschlossen werden müssen, angezeigt werden. Wir wurden herausgefordert, das Verhalten zu implementieren, dass die Aufgaben automatisch in der Arbeitskonsole erscheinen, ohne die Aktualisierungsschaltfläche drücken zu müssen.

Anmelden

Wir mussten auch die Anmeldeseite entwickeln und die Registrierungslogik implementieren. Die Benutzer sollten über die aktuelle Login-Seite durch Drücken von „Sign Up“ dorthin navigieren.

Die aktualisierte Anwendung musste auf dem Live-Server bereitgestellt werden.

Lösung

Das Entwicklungsteam von Redwerk nahm diese Herausforderung an und modifizierte die bestehenden Module des Systems und fügte neue Funktionalitäten hinzu.

Einzelinstanz-Anwendung in SaaS umwandeln

Eine der Möglichkeiten, Multi-Tenancy zu implementieren, bestand darin, für jeden Benutzer eine separate Datenbankinstanz zu erstellen. In diesem Fall sollten die Instanzen dynamisch erstellt und unterstützt werden. Wir haben uns jedoch entschieden, eine Datenbankinstanz zu belassen, was erhebliche Codeänderungen erforderte. Die Verwendung mehrerer Instanzen hätte das Hinzufügen neuer Funktionen aufgrund der komplizierteren Datenbankstruktur erschwert.

Die Datenkonsistenz für den Benutzer wird auf Datenbankschema- und Codeebene gewährleistet.

Wir haben Standardmethoden und -ereignisse von extjs verwendet, um Drag&Drop zu implementieren, aber für die Ereignisse haben wir eigene Handler erstellt.

Wir haben eine neue Entität „Company“ zur Anwendung hinzugefügt und sie mit den bestehenden Entitäten verbunden. Neue Rollen (Admin, Unternehmens-Admin und Benutzer) wurden ebenfalls hinzugefügt und sie haben die bestehende Rollenstruktur der Anwendung erweitert.

Admin-Interface

Das Admin-Interface wurde auf sehr ähnliche Weise wie das allgemeine Benutzerinterface implementiert. Menüs und Registerkarten befinden sich an denselben Stellen. Daher kann sich der Benutzer, der mit dem allgemeinen Interface vertraut ist, leicht mit dem Admin-Teil zurechtfinden. Das Admin-Interface musste erstellt werden, da die Anwendung zu SaaS modifiziert wurde und es erforderlich ist, alle Instanzen zu verwalten.

Organisationsmodellierung

Wir haben die Organisationseinheit um die fehlenden Entitäten und Beziehungen erweitert und eine grafische Darstellung zum Baum hinzugefügt. Drag&Drop wurde implementiert. Die bestehenden Bugs in der Organisationsmodellierung wurden ebenfalls behoben.

Arbeitsbereich

Drag&Drop musste auch im Process Modeling Interface implementiert werden, um Aufgaben zu erstellen und neu zu organisieren.

Wir haben das Problem des Speicherns gemischter Daten aus der Tabellenansicht erfolgreich gelöst. Das indirekt erforderliche Autosaving wurde zum Projekt hinzugefügt. Das war auch in der Organisationsmodellierung nützlich.

Sequenzierung

Das Hinzufügen einer Schaltfläche „Simultaneous“ war nicht die beste Lösung. Darüber hinaus könnte ihre Anwesenheit Benutzer verwirren, da die verschiedenen Ebenen von Aufgaben nicht gleichzeitig ausgeführt werden können. Daher haben wir eine andere Lösung vorgeschlagen: Das Auswählen einiger Aufgaben und das Zuweisen der gewünschten Sequenz-ID. So ist es jetzt möglich, zwei Gruppen gleichzeitiger Aufgaben auch auf derselben Ebene des Baums zu erstellen. Man kann die Sequenz-ID auch weiterhin in der Tabellenansicht des Prozesses bearbeiten.

Mehrere Prozesse

Wir haben die Möglichkeit hinzugefügt, mehrere Prozesse mithilfe von Shift / Ctrl auszuwählen. Nach Auswahl mehrerer Prozesse können Aufgaben aus allen ausgeführt werden.

Dokumentverknüpfung

Wir haben erfolgreich die Registerkarte „Dokumente“ zur Oberfläche hinzugefügt. Sie wurde harmonisch in das Design des Process Modeling eingefügt. Links zu Dokumenten sind jetzt bei der Ausführung einer Aufgabe sichtbar und erscheinen in den E-Mail-Benachrichtigungen.

Arbeitskonsolen-Aktualisierung

Wir haben die Notwendigkeit manueller Updates entfernt, jetzt zeigen zugewiesene Elemente und aktive Aufgaben immer die neuesten Informationen an.

Anmelden

Wir haben die Registrierungslogik und die Registrierungsseite selbst hinzugefügt. Die Seite wurde im Corporate Design von 9yahds implementiert.

Ergebnis

Der Bedarf des Kunden nach einer aktualisierten Anwendung mit erweiterter Funktionalität wurde erfüllt und die aktualisierte Anwendung wurde auf dem Live-Server bereitgestellt. Unsere Ingenieure haben auch Ideen zum Produktdesign und zur Architektur beigetragen. Einige der im ursprünglichen Anwendung vorhandenen Bugs wurden während der Entwicklung behoben.

Ergebnis

Brauchen Sie ein Team, das großartig ist, mit dem man arbeiten kann?

Kontaktieren Sie uns

Technologien

Python
DjangoDjango
PostgreSQLPostgreSQL
Linux
4Entwickler arbeiteten am Projekt
2QA-Ingenieure
8separate Projekte
4,000+Arbeitsstunden
Media
Media
Media
Media
Media
Media
Media
Media
Media
Media
Media
Media

Beeindruckt?

Beauftragen Sie uns

Andere Fallstudien

URS Workflow Automation

URS Workflow Automation

Vereinigte Staaten

Umwandlung einer alten Windows-Anwendung in eine SaaS-Lösung zur Workflow-Automatisierung mit 5 neuen, umsatzsteigernden Funktionen

Advanced Consultancy ERP

Advanced Consultancy ERP

Portugal

Automatisierte Dienstleistungsmanagement-Routine mit einem benutzerdefinierten ERP, das eine mehrschichtige Architektur besitzt

B-Orange ERP

B-Orange ERP

Niederlande

Half dem niederländischen Anbieter von ERP-Lösungen, die Funktionalität seiner Signatur-Software zu erweitern