Posity

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Posity
Zwei übereinander angeordnete Pluszeichen (weiss und orange).
Basisdaten
Paradigmen: Visuelle, domänenspezifische Sprache
Erscheinungsjahr: 1998
Entwickler: Jürgen Spielberger
Typisierung: stark, statisch
Beeinflusst von: UML, Modellgetriebene Softwareentwicklung
Betriebssystem: IDE: Windows; Rich Client: Windows; Web App: plattformunabhängig
Lizenz: proprietär
posity.com

Posity ist eine visuelle, domänenspezifische Programmiersprache der Posity AG. Die visuelle Programmierung erfolgt durch sechs Diagrammtypen, die durch die UML beeinflusst sind. Die Domäne von Posity sind betriebswirtschaftliche, datenbankzentrierte Anwendungen. Die Programmiersprache Posity ist Teil der Posity-Technologie, die aus dem Posity Design Studio (PDS) zum Erstellen der Diagramme und dem Posity Runtime Environment (PRE) zum Ausführen der Diagramme besteht. Diese Diagramme werden zur Ausführung im Posity Design Studio in Datenbankmodelle, SQL und Bytecode (in Posity als funktionaler Code, fCode bezeichnet) umgewandelt. Die Umwandlung erfolgt im Hintergrund, ohne dass Entwickler hiervon Kenntnis nehmen.

Zielsetzung von Posity ist es, die Softwareentwicklung innerhalb der Zieldomäne für alle Projektbeteiligten effizienter und verständlicher zu machen. Posity wurde im Rahmen zweier KTI-Projekte in Zusammenarbeit der Posity AG, der ETH Zürich und der ZHAW entwickelt.

Visuelles Paradigma[Bearbeiten | Quelltext bearbeiten]

Mit sechs Diagrammtypen werden Anwendungen vollständig spezifiziert, es gibt keinen textuellen Programmcode innerhalb Posity. Jeder Diagrammtyp legt dabei einen spezifischen Aspekt der Anwendung fest. Diese Diagrammtypen sind:

  1. Datenmodell: Tabellen und Beziehungen
    Datenmodellausschnitt aus Posity
  2. Prozessdiagramm: Workflow der Prozesse und Zustandsübergänge der Daten
    Prozessdiagramm aus Posity
  3. Abfragediagramm: Datenabfragen auf die Tabellen
    Abfragediagramm aus Posity
  4. GUI-Diagramm: grafische Benutzeroberfläche (Abk. GUI von Graphical User Interface)
    GUI-Diagramm aus Posity
  5. Moduldiagramm: Datenflussdiagramm erweitert um Kontrollstrukturen
    Moduldiagramm aus Posity
  6. Organisationsdiagramm: Unternehmensstruktur und Rechteverwaltung
    Organisationsdiagramm aus Posity

Ergänzend kommen noch das Package-Diagramm (für die Verteilung von Änderungen) und das Fragebogen-Diagramm (für das Customizing von Standardlösungen durch den Endanwender) hinzu. Diese beiden Diagrammtypen sind nicht direkt für die Erstellung der Anwendungen notwendig, sondern sind für deren Verwaltung hilfreich.

Domänenspezifisches Paradigma[Bearbeiten | Quelltext bearbeiten]

Durch die Beschränkung auf betriebswirtschaftliche, datenbankzentrierte Anwendungen können adäquate Anwendungen rascher implementiert werden. Im Gegenzug ist Posity nicht in jedem Fall die geeignete Programmiersprache, beispielsweise ist Posity nicht für Echtzeitanwendungen geeignet. Die Unterstützung der Domäne erfolgt durch fünf Maßnahmen:

  1. Die Diagramme sind so gestaltet, dass auch geschulte Business Analysten in der Lage sind, ihre Anforderungen direkt und vollständig im Posity Design Studio zu erfassen und so einen Teil der Anwendung bereits während der Anforderungsanalyse selbst zu gestalten.
  2. Ein Assistent (auch als Wizard bezeichnet), erzeugt aufgrund des Datenmodells und für vorgegebene betriebswirtschaftliche Anwendungsfall-Muster (engl. use case) automatisch die passenden Diagramme.
  3. Da der Assistent Wissen aus dem Datenmodell zur Erzeugung von Anwendungsfällen nutzt, stellt Posity ein Basis-Datenmodell für ein komplexes ERP-System zur Verfügung. Dieses kann zur Anfertigung der individuelle Anwendungsfälle verwendet werden.
  4. Wichtige Grundfunktionalitäten der betriebswirtschaftlichen Domäne sind in die Sprache integriert, wie z. B.:
    • Währungsunterstützung (inkl. Währungskurse, Umrechnungsmodule)
    • Reportgenerierung (Word, Excel, PDF, etc.)
    • Mehrsprachenfähigkeit (Diagramme und erstellte Anwendung)
    • Zeitzonen und fallspezifische Sichten (z. B. abhängig vom Erfassungsort der Daten)
    • Nummernbereiche
  5. Für die datenbankspezifische Domäne ist der normale Datenbank-Funktionsumfang vereinfacht und massgeschneidert worden, wie z. B.:
    • Mechanismen für den Mehrbenutzerbetrieb
    • Datenbankstruktur und Abfragen werden direkt aus den Diagrammen erzeugt und verteilt (Softwareverteilung)
    • Protokollierung (Historisierung) von Änderungen und Mechanismen zu deren Auswertung
    • Erweiterte Sicherheitskonzepte (Bearbeiten und Lesen von Daten innerhalb einer einzelnen Tabelle abhängig von zugeteilten Rollen)
    • Verteilung der Daten auf mehrere Datenbankserver

Neben domänenspezifischer Unterstützung bietet Posity auch die für gängige Programmsprachen üblichen Tools wie Debugging, Systemumgebungen (Testumgebung, etc.), Softwareverteilung, integrierte Regressionstests, Integration externer Programmbibliotheken, responsive Design (Rich-Client-Lösung und Web-App), etc. an.

Architektur[Bearbeiten | Quelltext bearbeiten]

Posity liegt eine Client-Server-Architektur zugrunde. Posity (PDS und PRE) selbst ist in C# implementiert und verwendet den Microsoft SQL Server zur Verwaltung der Daten. Abgesehen von einem kleinen Startprogramm, um Posity erstmals über den Browser zu starten (ClickOnce-Technologie), sind sämtliche Programme (auch PDS und PRE), Diagramme und Daten zentral im Datenbank-Server abgelegt.

Das Posity Design Studio (IDE) zum Erstellen der Diagramme ist betriebssystemabhängig und kann ausschließlich unter Windows genutzt werden.

Posity Design Studio

Die mit Posity erstellten Anwendungen können wahlweise und ohne Mehraufwand als Rich-Client-Lösungen in der Cloud (unter Windows) genutzt werden, oder als Web-App im Browser. Wird die Anwendung als Web-Lösung genutzt, muss zusätzlich ein Webserver zur Infrastruktur hinzugefügt werden.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Spielberger, Jürgen; Perellano, Gerald; Wüst, Raimond Matthias; Markus, Baertschi-Rusch; Mürner, Marion (2014): Rapid Development of ICT Business Services by Business Engineers Independent of Computer Scientists. In: Science-to-Business Marketing Conference 2014. Kongress. (3. Juni 2014). (online)
  • Wüst, Raimond Matthias; Bütikofer, Stephan; Spielberger, Jürgen (2015): Generation of Interactive Questionnaires Using YAWL-based Workflow Models. In: Management Studies. 3, S. 11–12. 273–280. (online)
  • Spielberger, Jürgen (2013): Flexible Geschäftsprozesse – auch mit individueller Software. In: topsoft magazin. 4–13, S. 16–17. (online)