Idea Platform - ein Konstruktor zum Erstellen komplexer Webanwendungen (fast) ohne Programmierung

    Hallo habr Wir starten einen Blog über Idea Platform - eine Plattform zur Automatisierung von Geschäftsprozessen.

    Die Lösung wurde so konzipiert, dass Sie auch ohne professionelle Programmierer und Technologieexperten komplexe Anwendungen mit einer Web- und Mobilschnittstelle entwickeln können.

    Wir selbst und unsere Partner nutzen die Plattform erfolgreich, um eine Vielzahl von Geschäftsprozessen in kleinen und großen Unternehmen (einschließlich der Größe des gesamten Landes) zu automatisieren.
    Jetzt möchten wir mit der Habr-Community über die Plattform sprechen, damit noch mehr Entwickler die Idea Platform in ihren Projekten verwenden können.

    Hier planen wir, zu diesen Themen in unserem Blog zu schreiben:

    • In diesem Artikel erfahren Sie, aus welchen Tools die Plattform besteht und warum Anwendungen für viele Branchen darauf entwickelt werden können.

    • In den folgenden Artikeln werden wir detailliert auf die einzelnen Tools eingehen: die Geschichte ihres Erscheinungsbilds und was uns dazu veranlasste, sie zu erstellen, die Technologien und interessanten technischen Lösungen, an denen sie arbeitet, sowie die Fälle ihrer erfolgreichen Anwendung;

    • Außerdem: Wir werden detailliert auf die Produkte eingehen, die bereits auf der Basis unserer Plattform erstellt wurden, und einen Link zum SAAS-Service erstellen, wo jeder versuchen kann, seine eigenen Anwendungen auf der Plattform zu erstellen.

    Wenn Sie möchten, dass wir einige andere Aspekte behandeln, schreiben Sie darüber in den Kommentaren.

    Also fangen wir an!


    Die Plattform besteht aus einer Reihe grafischer Tools, mit denen Sie alle Aspekte der Automatisierung von Geschäftsprozessen abdecken können. Natürlich verstehen wir, dass manche Einstellungen durch das Schreiben von Code schneller und einfacher durchzuführen sind, sodass fast jedes Tool programmiert werden kann.

    Nachfolgend finden Sie eine kurze Beschreibung der Werkzeuge und ihrer wunderbaren Eigenschaften!

    Erweiterbares Datenmodell


    Wenn Sie ein komplexes System (z. B. ein Asset-Management-System) entwickeln, in dem Sie Hunderte verschiedener Objekte mit Dutzenden von Attributen erstellen müssen, ist dies lang und schwierig: Sie müssen Felder zur Datenbank hinzufügen, sie auf dem Server beschreiben, dann in der Client-Server-Interaktion und in am Ende auf dem Client, während jedes Mal die Eigenschaften des Objekts in verschiedenen Programmiersprachen beschreiben.

    In Idea Platform müssen Sie das Objekt nur einmal beschreiben, den Rest erledigt das System für Sie!

    Und dieses Tool hat die folgenden Eigenschaften:

    • Erstellen einer unbegrenzten Anzahl von Entitäten und Feldern (ohne Ausführung von DDL-Befehlen in der Datenbank für Tabellen, die bereits Daten enthalten);
    • Die Fähigkeit, Felder von Objekten aller grundlegenden und zusammengesetzten Typen (einschließlich Arrays, einzelner und mehrerer Anhänge) zu erstellen;
    • Die Möglichkeit, Felder zu erstellen, verknüpft mit Filtern beliebiger Komplexität mit anderen Objekten.
    • Die Fähigkeit, virtuelle Felder zu erstellen (verwandte Daten von anderen Objekten anzeigen);
    • Schaffung von hierarchischen und funktionalen Beziehungen zwischen Objekten mit der Möglichkeit des primären Kopierens und der weiteren Synchronisation von Feldwerten;
    • Einrichten von Prüfungen auf Eindeutigkeit, obligatorisches Ausfüllen und andere (da Sie eine Prüfung in Java mithilfe einer speziellen API schreiben können, um Zugriff auf Systemdaten zu erhalten);

    Konfigurationswerkzeug für die grafische Benutzeroberfläche (Formulardesigner)


    FormulardesignerNachdem Sie ein neues Objekt hinzugefügt und dessen Felder beschrieben haben, erstellt das System automatisch Formulare und Sie müssen dem Formular mit dem Formulardesigner nur ein ansprechendes Aussehen verleihen. Mit diesem Tool können Sie Folgendes bearbeiten:

    • Formen eines Datensatzes unter Verwendung aller grundlegenden Elemente der grafischen Oberfläche
    • Listenformulare mit der Konfiguration grundlegender Analysefunktionen (Gruppieren, Sortieren, Filtern auf mehreren Ebenen)
    • Berichte und Dashboards und ihre verfügbaren Filter

    Nach Abschluss dieser Phase haben wir die grundlegende Benutzeroberfläche bereits fertiggestellt. Sie muss nur noch mit Geschäftslogik angereichert werden.

    Grafischer Editor von Geschäftsprozessen (Workflow Designer)


    Workflow-DesignerWir wenden uns der Beschreibung der Geschäftsprozesse zu. Alles ist wie bei den Klassikern, man muss die Prozessschritte festlegen, mögliche Übergänge von Schritt zu Schritt, Verantwortliche, die Übergänge und Benachrichtigungen per Mail und SMS an alle Interessierten durchführen. All dies kann im Workflow-Designer in der grafischen Oberfläche konfiguriert werden, und für komplexe Geschäftsprozesse können Sie auch:

    • Beschreiben Sie Genehmigungen von einem / mehreren Benutzern und / oder Benutzergruppen unter Berücksichtigung der Koordinierungsstrategie (alle vereinbart / nur eine vereinbart / die meisten vereinbart usw.).

    • Konfigurieren Sie Regeln für die Berechnung der Werte der Felder von Objekten basierend auf Übergangsereignissen für die Schritte des Geschäftsprozesses und für die Änderung der Daten des Objekts. Regeln können in Java mithilfe einer speziellen API für den Zugriff auf Systemdaten geschrieben werden. Der Code, der in mehreren Regeln verwendet werden kann, kann in eine spezielle Klassenbibliothek geschrieben (dynamisch geladen) und einfach in den erforderlichen Regeln aufgerufen werden.

    • Die Verantwortlichen für den Übergang zwischen den Schritten eines Geschäftsprozesses dynamisch anhand dieser Objekte zu berechnen;

    • Planen Sie ausstehende Ereignisse, die zu einem bestimmten Zeitpunkt ausgeführt werden.
    • Erstellen Sie den Satz von Warnungen für Benutzer per E-Mail, sowohl über einen grafischen HTML-Editor als auch manuell.

    Dynamisches Vorbild


    Jetzt ist die Zeit gekommen, den Benutzern die Berechtigung zum Anzeigen und Bearbeiten von Daten zu erteilen. Hierzu werden im System Rollen konfiguriert, die Folgendes definieren:

    • Wie wird der Arbeitsplatz des Benutzers aussehen (Menüs, Dashboards und Berichte, spezielle Formulare)
    • Zugriffsrechte auf Systemdaten (Lesen / Erstellen / Bearbeiten / Löschen)

    Darüber hinaus können Zugriffsrechte für Daten dynamisch auf der Grundlage beliebiger Faktoren erteilt werden, z. B. der Mitgliedschaft in der Organisationsstruktur und des Standorts des Mitarbeiters.

    Zusammen können Sie so ein Datenzugriffsmodell beliebiger Komplexität erstellen, für das keine Verwaltungskosten anfallen.

    Integriertes analytisches und operatives Reporting


    Berichte und DashboardsDamit dem Benutzer das System gefällt, müssen Sie ihm einen komfortablen Arbeitsplatz mit einer ansprechenden Benutzeroberfläche und den erforderlichen Daten bereitstellen. Für jede Rolle sind konfiguriert:

    • Betriebsberichte, die einen schnellen Zugriff auf Daten und Objekte ermöglichen, die der Benutzer zur Lösung aktueller Probleme benötigt;

    • Analytische Berichte, die Informationen aus vergangenen Perioden enthalten, analytische Datenverarbeitung, identifizierte Trends und Abhängigkeiten, die dem Benutzer helfen, die richtigen Entscheidungen zu treffen.

    Das Berichtssystem ist Teil der Systemschnittstelle, für die Erstellung von Berichten stehen folgende Tools zur Verfügung:

    • Einrichten der folgenden Arten von grafischen und tabellarischen Berichten über die grafische Oberfläche: Tortendiagramm, Balkendiagramm, Diagramm, Multiplot, Pivot-Tabelle, Tabelle mit integrierten Schnellanalyse-Tools;
    • Erstellen von Dashboards (eine Kombination vorkonfigurierter Berichte);
    • Konfigurieren der Beziehung von Berichten und Dashboards (Fehler von Bericht zu Bericht mit übergebenden Parametern);
    • Datenquellen für SQL-Berichte vorbereiten. In diesem Fall können Sie die Struktur der Datenbank nicht untersuchen, sondern das Datenmodell wie im System verwenden (hierfür werden Ansichten automatisch in der Datenbank generiert).
    • Optimierung der Geschwindigkeit der Berichtsausführung (Anordnung der Indizes) über die Systemschnittstelle;
    • Entladen von Berichten in PDF, PNG, Excel ohne zusätzliche Einstellungen;
    • Möglichkeit zum Konfigurieren von Druckformularen zum Hochladen von Berichten und Systemobjekten in Word und Excel;
    • Die Möglichkeit, regelmäßig Berichte per E-Mail hochzuladen und zu senden;
    • Einrichtung visueller Tools zur Planung und Nutzung von Ressourcen (Kalender und Gantt-Diagramme). Wir werden in einem der folgenden Artikel ausführlicher darauf eingehen.

    Mobile Anwendungen (alle Tablets und Smartphones unter Android)


    Android AppBeginnen wir mit dem Schönsten. Die Systemoberfläche ist für die Arbeit mit Tablets angepasst, sodass Ihre Benutzer sofort auf mobilen Geräten arbeiten können, ohne die Funktionalität zu verlieren.

    Unsere Benutzeroberfläche passt sich auch an ein Smartphone an, aber es ist offensichtlich, dass eine solche Benutzeroberfläche redundant ist und für einen kleinen Bildschirm nicht so praktisch ist. Um dieses Problem zu lösen, fügt das System der Anwendung für Android-Smartphones automatisch mobile Schnittstellen für neue Systemobjekte hinzu, mit praktischen Funktionen zum Anzeigen von Berichten, Erstellen und Bearbeiten von Objekten. Um die Anwendung auszuführen, benötigen Sie:

    • Erstellen Sie bequeme Berichte für mobile Geräte über die Systemschnittstelle
    • Veröffentlichen Sie die Anwendung auf Google Play (für Benutzer des SAAS-Dienstes ist dies nicht erforderlich).

    Volltextsuche und Wissensdatenbank


    Wissensdatenbank-SucheBenutzer mit viel größerem Vergnügen und Vertrauen geben Daten in das System ein, wenn sie dann leicht zu finden sind. Dazu verfügt das System über eine Volltextsuche, die nach folgenden Daten sucht:

    • Systemobjekte mit der Fähigkeit, mehr Gewicht für Systemattribute festzulegen. Es ist möglich, nach allen Objekten gleichzeitig zu suchen und bestimmte Objekte und deren Attribute anzugeben.

    • Durch ein Textdokument, das in Systemobjekte eingebettet ist (sowohl nach Name als auch nach Dokumentinhalt ausgeführt).

    Das System implementiert auch eine Wissensdatenbank, in der Sie wichtige Informationen für Benutzer ablegen können, z. B. eine Beschreibung eines Geschäftsprozesses und Hilfe bei der Arbeit mit dem System. Die Wissensdatenbank ist ein Artikelbaum, zum Schreiben von Artikeln gibt es einen eingebauten Editor, es ist bequemer zu schreiben als im Habré :) Es gibt auch eine Suche in der Wissensdatenbank, Sie können sowohl nach dem Text der Artikel als auch nach Tags suchen.

    Open API (Interface) Systeme zur Integration mit externen Systemen


    Damit sich das System problemlos in den aktuellen Informationsraum der Organisation einfügt, kann es:

    • Herunterladen von Daten aus verschiedenen externen Quellen: Webservices, strukturierte Dateien, Datenbanken usw.
    • Bieten Sie externen Systemen Zugriff auf Ihre Daten und ermöglichen Sie das Erstellen und Bearbeiten von Daten über die REST-API.

    Plattformbasierte Produkte


    In Produkten, die auf unserer Plattform basieren, sind zusätzlich zu allen oben genannten Tools bereits Geschäftsprozesse konfiguriert (natürlich basierend auf den Best-World-Practices). Sie können nehmen und verwenden, oder als Grundlage für Ihre eigene Entscheidung. Hier sind sie:

    • IP TORO ist ein Technologie-Management-System für die Reparatur und Wartung von Geräten und linearen Geräten (MRO).
    • IP Service Manager - ein IT-Service-Support-Management-System (ITSM).
    • IP Agile Manager - Automatisierung der Scrum-Entwicklung.
    • SAAS Workforce Management Service.

    In den folgenden Artikeln werden wir mehr über die Befüllung der einzelnen Produkte sprechen!
    Vielen Dank für Ihre Aufmerksamkeit!

    Jetzt auch beliebt: