ATOM-PLATTFORM FÜR PARTNER

Ein auf der Atom-Plattform aufgebautes System kann auch von einem unserer Vertreter – Wiederverkäufer – implementiert werden.

Aus der Sicht des Benutzers sind die wichtigsten Bestandteile eines auf der Atom-Plattform basierenden Systems die separaten, von unserem Unternehmen entwickelten, atomaren Module. Unsere Systeme arbeiten in besonders anspruchsvollen Umgebungen und deshalb haben wir entschieden, dass es sicherer ist, wenn der gesamte Quellcode an nur einem Ort erstellt wird, so dass der Kunde sicher sein kann, dass die Module von Personen erstellt werden, die über umfassende Kenntnisse der Atom-Plattform verfügen. Das bedeutet, dass wir unserem Kunden garantieren können, dass die Module mit der Plattform selbst vollständig kompatibel sind und höchstmögliche Leistung gewährleisten.

MODELL DER ZUSAMMENARBEIT MIT WIEDERVERKÄUFERN MEHR

Natürlich macht es in der heutigen Welt nicht viel Sinn, ein IT-System von Grund auf neu aufzubauen. Es wäre ein kostspieliges und riskantes Unterfangen.

Deshalb verwenden wir bei unseren Implementierungen die von uns entwickelte Atom-Plattform, auf der dedizierte Lösungen für konkrete Kunden erstellt werden. Auf der Plattform (einem fertigen Produkt) werden einzelne Module zur Durchführung verschiedener atomarer Aktivitäten installiert. Unser System ermöglicht es, kleine Module zu vollständigen Prozessen zu kombinieren, die selbst komplexe Geschäftsvorgänge ausführen.

Es gibt eine Vielzahl von Plattformen auf dem Markt, die den Betrieb verschiedener Systeme ermöglichen. In der Regel ist es jedoch notwendig, umfassende Kenntnisse über ihre Konstruktion zu erlangen. Das verlängert die Implementierung und die Tests. Programmierer, die solche Module erstellen, müssen sich dieses Wissen aus eigener Kraft aneignen. Dies wiederum bedeutet, dass selbst bei einer guten Plattform die Lücken im Wissen oder in der Erfahrung des Programmierers die Funktion des Gesamtsystems beeinträchtigen können und seine Implementierung eine Vielzahl von Risiken mit sich bringt.

Bei dem Modell der Zusammenarbeit, das wir in unserem Unternehmen anbieten, liegt die gesamte Programmierarbeit bei uns. Unsere Entwickler, die die Atom-Plattform in- und auswendig kennen, sind es, die den Quellcode für jedes Modul entwickeln. Sie sind imstande, alle Möglichkeiten der Plattform voll auszunutzen.

Das Wichtigste ist jedoch, dass diese Module bestimmte kleine, sogar “atomare” Funktionalitäten realisieren. Wenn, zum Beispiel, ausgehend von in E-Mails komprimierten und verschlüsselten eingehenden Daten im System Daten generiert werden müssen, dann werden der Empfang der E-Mails, die Dekomprimierung, die Entschlüsselung und schließlich die Verarbeitung selbst durch völlig unterschiedliche atomare Module realisiert.

Dieser Ansatz ermöglicht es unserem Kunden (oder Wiederverkäufer) das ganze System selbständig zu konfigurieren, indem er die einzelnen atomaren Module praktisch beliebig zu komplexeren Prozessen verbindet. Er muss dabei keine einzige Zeile irgendeines Moduls schreiben.

Darüber hinaus können die einzelnen Module in vielen verschiedenen Prozessen eingesetzt werden. Mit anderen Worten, wir liefern ein komplettes Baukastensystem. Und unsere Kunden oder Wiederverkäufer können aus diesen Bausteinen praktisch beliebige IT-Lösungen bauen.

ALLGEMEINE GRUNDSÄTZE DER ZUSAMMENARBEIT MIT WIEDERVERKÄUFERN MEHR

Bei einer realen Implementierung kann unser Partner mit Hilfe der Atom-Plattform, ganz ohne unsere Beteiligung:

  • die gesamte Plattform und alle Module über eine benutzerfreundliche, standardisierte Konfigurationsoberfläche, die über den Webbrowser verfügbar ist, vollständig konfigurieren. Die Konfiguration kann per Fernzugriff oder in den Räumlichkeiten des Kunden durchgeführt werden;
  • die von uns erstellten Module zum Aufbau komplexerer Aufgaben mit verschiedenen Abhängigkeiten zwischen den Modulen verwenden;
  • die Bedingungen und den Zeitpunkt für die Initiierung spezifischer Aufgaben planen – die Plattform wird geeignete Module zum richtigen Zeitpunkt oder auf der Grundlage der Verbindungen zwischen Aufgaben und Prozessen automatisch aktivieren, je nach Konfiguration;
  • die Module auf geeigneten, vom System verwendeten Servern laufen lassen;
  • die Serverlast (Lastausgleich) verwalten;
  • Notfälle handhaben, z. B. Konverter/Microservices auf einem anderen Server laufen lassen, wenn der ursprüngliche Server ausfällt;
  • den Betrieb des Systems überwachen.

An dieser Stelle sollte hervorgehoben werden, dass das System nur einmal konfiguriert werden muss – danach arbeiten die Module zur richtigen Zeit bzw. entsprechend den Abhängigkeiten zwischen den Aufgaben. Jede Firma, die Wiederverkäufer werden möchte, muss einen entsprechenden Vertrag unterzeichnen und eine obligatorische Schulung absolvieren, damit sie den gesamten Implementierungsprozess beim Endkunden professionell durchführen kann. Bitte nehmen Sie mit uns Kontakt auf, wenn Sie daran interessiert sind.

STUFEN DER ZUSAMMENARBEIT MEHR

  1. Analyse. Analyse der Bedürfnisse und Probleme, die bei unserem Kunden auftreten, sowie Analyse der Bedingungen, unter denen die Software funktionieren muss. Die Analyse kann von unserem Unternehmen oder nach entsprechender Schulung von unserem lokalen Partner selbst durchgeführt werden.
  2. Entwurf des Systems. Der Entwurf besteht aus zwei Teilen:
      1. Allgemeines Konzept des Systems. Das allgemeine Konzept kann direkt von unserem lokalen Partner erstellt und dann von uns überprüft werden. Es beschreibt nicht die genaue Architektur des Systems, sondern nur die allgemeine Art und Weise, wie die Erwartungen des Kunden erfüllt werden können (noch ohne Einteilung des Systems in Module).
      2. Detailliertes Konzept des Systems. Dieser Teil des Entwurfs entsteht vollständig in unserem Unternehmen. Basierend auf unserem Wissen über die Möglichkeiten der Atom-Plattform entwerfen wir alle Module, die Benutzeroberflächen, die Datenaustausch- und die Datenverarbeitungsmethode. Als Ergebnis erhält unser lokaler Partner eine vollständige Beschreibung der „Bausteine“, aus denen er dann direkt beim Kunden Prozesse konfigurieren kann.
  1. Implementierung. Unsere Programmiererteams implementieren konkrete Lösungen und entwickeln spezifische Module, die auf der Atom-Plattform funktionieren. Hier nutzen wir unser gesamtes Wissen über Massendatensysteme und optimieren sofort alle IT-Lösungen. Da die Module von Personen erstellt werden, die mit den Besonderheiten der Atom-Plattform bestens vertraut sind, ist sichergestellt, dass alle Möglichkeiten der Plattform voll ausgeschöpft werden.
  2. Tests:
      1. Jedes einzelne Modul wird von unserem Unternehmen getestet.
      2. Auf Wunsch unseres Partners oder Kunden führen wir auch vollständige End-to-End-Tests auf der Grundlage entsprechender Testszenarien durch.
  1. Installation. Unser lokaler Partner installiert die Atom-Plattform und die Module selbst, konfiguriert sie und bietet entsprechende Schulungen für Endbenutzer und Administratoren an. Auf Wunsch des Kunden oder Partners kann die Installation auch von unserer Firma durchgeführt werden.
  2. Kundendienst während und nach der Garantiezeit. Unsere Systeme erhalten volle Unterstützung. Wir halten dieses Element des Produktionszyklus für das wichtigste. Schließlich wird die Software nur einmal erstellt, während ihre Nutzung ein kontinuierlicher Prozess ist. Darum ist es für uns eine absolute Priorität, unseren Kunden den richtigen Support zu gewährleisten. Unsere Spezialisten stehen Ihnen für alle Arbeiten im Zusammenhang mit Fehlerkorrekturen oder Modifikationen zur Verfügung. Die Modifikationen können sich aus Änderungen der geschäftlichen Anforderungen ergeben, aber auch z. B. aus einer Änderung des Volumens der verarbeiteten Daten.

Wichtig ist, dass wir für die gesamte Laufzeit des Wartungsvertrags während und nach der Garantiezeit kostenlosen Support für unser System anbieten. Alle Fehler werden im Rahmen des Vertrags ohne zusätzliche Gebühren beseitigt, solange der Vertrag gültig ist – ohne jegliche anfängliche Einschränkungen.

Hier muss darauf hingewiesen werden, dass unser lokaler Partner oder unser Kunde die Definition der Prozesse mit Hilfe der von uns gelieferten Bausteine selbst ändern kann – ganz ohne unsere Beteiligung. Unsere Firma muss nur dann hinzugezogen werden, wenn der Quellcode eines bestimmten Moduls geändert werden muss. So kümmert sich also unser lokaler Partner um die Konfiguration der Module selbst, während wir die Implementierung der Atom-Plattform und aller von uns bereitgestellten Module voll unterstützen.

VERANTWORTUNGSMATRIX MEHR

Phase dmt Partner
Analyse optional – auf Wunsch JA
Systementwurf optional – auf Wunsch JA
Detaillierter Entwurf JA
Implementierung JA
Testen der Module JA
End-to-End-Tests optional – auf Wunsch JA
Installation der Atom-Plattform optional – auf Wunsch JA
Installation der Module optional – auf Wunsch JA
Konfiguration der Atom-Plattform optional – auf Wunsch JA
Konfiguration der Module und Prozesse optional – auf Wunsch JA
Support während und nach der Garantiezeit in Bezug auf die Konfiguration der Prozesse optional – auf Wunsch JA
Support während und nach der Garantiezeit in Bezug auf die Atom-Plattform und die Module JA

 

ATOM PLATTFORM – BESCHREIBUNG DER ARCHITEKTUR MEHR

ATOM PLATTFORM – BESCHREIBUNG DER ARCHITEKTUR

Die auf der Atom-Plattform betriebenen Microservice (Module) sind kleine, unabhängige Blöcke mit ausführbarem Code. Normalerweise gibt es innerhalb eines Systems viele verschiedene, speziell für die betreffende Anwendung entwickelte Module. Die Microservice können zum Beispiel die folgenden Aufgaben ausführen:

  • Dateiimport,
  • Dateikonvertierung,
  • Datenverarbeitung in der Atom_Convert-Datenbank,
  • Kommunikation mit anderen Systemen oder Modulen,
  • Verarbeitung von Grafiken oder Texterkennung

usw.

Es sei darauf hingewiesen, dass keine spezifische Spezialisierung der Atom-Module vorgeschrieben ist. In jedem System oder auch innerhalb eines einzelnen Systems können sehr verschiedene Module entstehen, die sich in ihrer Komplexität und in ihren Aufgaben unterscheiden.

Auf einer einzigen physischen oder logischen Maschine können viele verschiedene Plattform-Module gleichzeitig laufen. Jedes Modul wird zusammen mit einer separaten, dedizierten Konfiguration betrieben. Das Modul zusammen mit seiner Konfiguration wird als Prozess bezeichnet.

Ein bestimmtes Modul kann so konzipiert werden, dass es auf vielen Maschinen gleichzeitig oder in mehreren Instanzen (Prozessen) auf derselben Maschine arbeiten kann. Darüber, wo (auf welchen Maschinen) oder in wie vielen Instanzen ein Modul laufen soll, entscheidet die Atom-Plattform auf der Grundlage der eingegebenen Konfiguration.

  • AtomRunTime ist ein Element der Atom-Plattform, das die Plattform-Module auf einer Maschine startet und verwaltet. Auf einer bestimmten, für das System vorgesehenen Maschine ist nur ein AtomRunTime aktiv, und es läuft zu jeder Zeit (im Standby-Modus, um bei Bedarf die Konverter der Plattform zu aktivieren).

    AtomRunTime schafft die richtigen Bedingungen für den Betrieb der Konverter – es gibt die Konfiguration an sie weiter, erhält Protokolle von ihnen etc.

    Die Atom-Plattform (damit meinen wir das gesamte Netz/die Cloud) kann eine beliebige Anzahl von Maschinen umfassen – auf jeder dieser Maschinen muss AtomRunTime installiert sein.

  • AtomMonitor ist ein Hilfselement, das den Betrieb der Komponenten AtomRunTime und AtomLoadBalancer auf derselben physischen oder virtuellen Maschine überwacht. Sollten AtomRunTime oder AtomLoadBalancer aus irgendeinem Grunde ausfallen, werden sie vom AtomMonitor neu gestartet. Die Überwachung funktioniert auch umgekehrt – wenn der AtomMonitor ausfällt, wird er vom AtomRunTime oder AtomLoadBalancer auf derselben Maschine wieder gestartet.

  • Der AtomLoadBalancer ist ein spezielles Element, das immer auf genau einer Maschine innerhalb der Atom-Plattform arbeitet. Seine Aufgabe ist:

    • die Überwachung des gesamten Systems – alle AtomRunTime- und AtomMonitor-Instanzen kommunizieren mit ihm und liefern Informationen über ihren Betrieb. Solche Informationen werden, über AtomRunTime, auch von den Modulen geliefert. Der AtomLoadBalancer kann bestimmte Notfallsituationen erkennen und geeignete Maßnahmen einleiten, z. B. kann er bei einem Ausfall eines der Systemserver dafür sorgen, dass Module, die den Betrieb unterbrochen haben, auf einer anderen Maschine gestartet werden.
    • Lastverteilung zwischen den verfügbaren Servern – wenn ein anderes Modul (oder eine andere Instanz eines der bereits gestarteten Module) gestartet werden muss, wählt der AtomLoadBalancer die Maschine, die für diesen Zweck am besten geeignet ist (z. B. am wenigsten belastet ist oder die entsprechenden Parameter hat).
  • AtomConsole ist eine Webanwendung für den Betreiber, um den Betrieb der Atom-Plattform zu überwachen. Sie zeigt Systemprotokolle und andere Informationen über den Betrieb des Systems an. Sie ermöglicht auch Notfallaktionen, wie z. B. das Stoppen oder Starten einer der Komponenten der Plattform.

  • PTRConfig ist eine Webanwendung und dient zur Konfiguration des Betriebs der PTR-Plattform selbst sowie zur Konfiguration der einzelnen Module. Sie ermöglicht unter anderem:

    • das Definieren von Kalendern und Regionen (Zeitzonen),
    • das Gruppieren einzelner Prozesse zu komplexeren Aufgaben,
    • das Definieren der Abhängigkeiten zwischen den Aufgaben,
    • das Festlegen der Bedingungen für den Beginn der Aufgaben – der Betriebszeit.
    • Änderungen der Konverterkonfiguration – die Konverterkonfiguration, die in der Datenbank als XML-Datei gespeichert ist, wird von der Anwendung als lesbares Formular angezeigt, in dem der Betreiber Änderungen an den Parameterwerten vornehmen kann.
  • Die Kommunikation zwischen den einzelnen Systemkomponenten erfolgt entweder direkt oder über eine Datenbank. Direkte Kommunikation findet beispielsweise zwischen der AtomRunTime-Anwendung und einem bestimmten Prozess (d. h. einem Modul, das mit einer bestimmten Konfiguration läuft) statt. Die AtomRunTime-Anwendung kann den Betrieb des Moduls auf verschiedene Weise beeinflussen, sie kann insbesondere:

    • das Modul starten und mit Prozessparametern (im XML-Format) speisen,
    • die Betriebsergebnisse des Moduls erfassen,
    • das Modul stoppen (dem Konverter zu einem beliebigen Moment den Befehl geben, die Konvertierungsaufgabe zu beenden),
    • prüfen, ob der Konverter funktioniert.
  • Die Atom-Plattform hat eine dreischichtige Architektur:

    • eine Präsentationsschicht, also die als Webanwendungen ausgeführten AtomConfig und AtomConsole;
    • eine Businessschicht, also den in die Plattform integrierten Webservice mit AtomLoadBalancer, AtomRunTime, AtomMonitor und den entsprechenden Modulen;
    • eine Datenhaltungsschicht bestehend aus den entsprechenden SQL-Servern mit integrierter Logik in Form eines gespeicherten Verfahrens. Um die maximale Leistung und Skalierbarkeit der Atom-Plattform zu gewährleisten, empfehlen wir die Anwendung der VoltDB-Datenbank.
  • Die Atom-Plattform ermöglicht den gleichzeitigen Zugriff mehrerer Benutzer auf ihre Web-Anwendungen (AtomConfig und AtomConsole), ermöglicht jedoch nicht die gleichzeitige Konfiguration einer einzelnen Komponente durch verschiedene Benutzer.

    So können beispielsweise zwei Benutzer zwei verschiedene Aufgaben konfigurieren, sie können aber keinesfalls die Konfiguration derselben Aufgabe zur gleichen Zeit ändern.

  • Die Benutzeroberfläche für AtomConfig und AtomConsole ist in zwei Sprachen verfügbar: Polnisch und Englisch.

    In der Konfigurationsdatenbank der Plattform werden Informationen über die vom Benutzer gewählte Sprache gespeichert.

    Die Mehrsprachigkeit ist so implementiert, dass in Zukunft weitere Sprachen hinzugefügt werden können.

    Alle von der Atom-Plattform protokollierten Informationen sind nur in englischer Sprache verfügbar.

  • Die Parallelverarbeitung ist eine der grundlegenden Eigenschaften der Atom-Plattform.

    Die Parallelität ermöglicht die Skalierbarkeit der Plattform, trägt zu ihrer Zuverlässigkeit bei und hat vor allem einen enormen Einfluss auf die Verarbeitungszeit.

    Die Parallelität der Atom-Plattform ist auf mehreren Ebenen implementiert:

    • Ebene mit mehreren Verarbeitungsservern.
    • Ebene mit mehreren Prozessen, die gleichzeitig auf einer Maschine laufen.
    • Ebene mit Aufgaben, die parallel im Rahmen einer Aufgabengruppe ausgeführt werden.
  • Die Skalierbarkeit ist eine der Haupteigenschaften der Atom-Plattform.

    Sollte sich die Leistung der Server, die die Daten verarbeiten, zu irgendeinem Zeitpunkt im Leben des Systems als unzureichend erweisen, muss nur – damit die Verarbeitung in einem bestimmten Zeitfenster abgeschlossen werden kann – ein weiterer Server hinzugefügt und die Atom-Plattform so konfiguriert werden, dass dieser zusätzliche Server eingesetzt wird (de facto bedeutet das, dass AtomRunTime und AtomMonitor auf diesem Server installiert werden müssen). Selbstverständlich kann das System auch durch die Erweiterung der Konfiguration eines bestehenden Servers skaliert werden.

  • Die Atomarität ist eine Eigenschaft der für die Atom-Plattform geschriebenen Module und besteht in der Entwicklung von Modulen, die möglichst atomare Funktionen erfüllen.

    Beispielsweise werden wir nicht ein einziges universelles Modul für den Import von Dateien in verschiedenen Formaten erstellen, sondern es wird so viele spezialisierte atomare Importmodule geben, wie es unterschiedliche Standards für importierte Dateien gibt.

  • Alle Module auf der Atom-Plattform haben ein gemeinsames Gerüst, das unter anderem für den Betrieb, die Kommunikation und die Konfiguration der Module verantwortlich ist. Dieses Gerüst hat zur Folge, dass beim Erstellen eines neuen Moduls nur ein Code entsteht, der die Geschäftslogik des Moduls realisiert.

    Durch die Atomarität des Moduls wird die Notwendigkeit von Modifikationen eingeschränkt, gleichzeitig sind Modifikationen, sollten sie sich als notwendig erweisen, aufgrund der Einfachheit des Moduls selbst viel einfacher zu implementieren. Weiterhin wird durch die atomare Struktur auch der Arbeitsaufwand, z. B. für die vom Kunden durchgeführten Abnahmetests, Regressionstests usw., reduziert.

Geh hinauf