Solution Factory
Mit den PASS Entwicklungstechnologien verfolgen wir zwei - grundsätzlich konkurrierende - Ziele:
- Hohe Flexibilität: Alle durch die Sprache möglichen Merkmale werden unterstützt.
- Hohe Produktivität/Effizienz: durch den Einsatz modellbasierter Entwicklungsverfahren und der Wiederverwendung von Komponenten aus den zentralen Repositories.
Wir praktizieren hierbei einen Ansatz der auch schon in den klassischen Industrien erfolgreich angewendet wird: Um die Vorteile der Fließfertigung (hohe Automation) und der Werkstattfertigung (hohe Flexibilität) zu kombinieren, wird das Prinzip der „flexiblen Fertigungsstraße“ eingesetzt, die Automation und Flexibilität verbindet.
Wir haben diese Prinzipien für unsere Entwicklungstechnologien übernommen:
- in der PASS Software Factory: für die Neu- und Weiterentwicklung von Anwendungssystemen und
- in der PASS Transition Factory: für die Portierung von Systemen auf eine neue Plattform.
PASS Software Factory
Individualsoftware zum Preis von Standardsoftware
Der Einsatz der PASS-Entwicklungstechniken reduziert Aufwendungen und Kosten sowohl in der Neuentwicklung als auch in der Weiterentwicklung von Lösungen – bei Beibehaltung der vollen Flexibilität und Erfüllung des Prinzips der offenen Systeme. Die PASS Entwicklungstechniken sind eine konsequente Implementierung des Grundsatzes „Individualsoftware zum Preis von Standardsoftware“.
Fünf Merkmale der PASS Software Factory
Wir unterstützen auf der Java-Plattform den JEE-Standard und damit auch die auf diesem Standard basierenden Application Server. Wir integrieren besonders häufig genutzte JEE-APIs unmittelbar in die Architektur. Aufgrund der Offenheit der Entwicklungstechnologien können auch alle weiteren und nicht so häufig eingesetzten APIs des JEE-Standards unterstützt werden. Zudem haben wir die Factory auch schon im .NET C#-Umfeld einsetzen können.
Aus den vielfältigen Anforderungen aus verschiedenen Projekten und Branchen haben wir Standard-Komponenten entwickelt, die als Bibliothek in die Anwendungsarchitektur einfließen. Dadurch reduzieren sich Entwicklungszeiten und Testaufwendungen, da die Komponenten als abgeschlossene Einheit schon in anderen Produktionssystemen verwendet werden. Hierzu zählen u.a.
- die Security-Komponente: Unterstützung von Organisationsstrukturen mit Rollen, fachlichen Berechtigungen, Abbildung auf Applikations-Berechtigungen, etc.
- Reporting-Komponente: Erzeugung flexibler Reports innerhalb der Anwendung
- Prozesssteuerung: Modellierung von Abläufen auf Basis von UML-/BPMN-Notation und
- die Vorgangssteuerungs-Komponente: Unterstützung eines Vorgangsmanagements (Inbox) mit konfigurierbaren Entscheidungsverläufen (direkte Entscheidung, Vier-Augen-Prinzip, …).
Unsere Web- und Desktop-Anwendungsarchitektur ist branchenübergreifend in Produktion und wird vielfach auch in Cluster-Szenarien eingesetzt. Die Architektur unterstützt aufgrund des zustandslosen Designs einen hohen Durchsatz. Die konsequente Schichtentrennung zwischen Dialogpräsentation, -verarbeitung, Businesslogik und Daten(bank)zugriffen fördert die Wartbarkeit und unterstützt auch das Prinzip service-basierter Architekturen.
Unsere Basisarchitektur entspricht den Best Practices in der Technologieentwicklung: wir sichten in R&D permanent Neuerungen, Trends und Innovationen und integrieren, die Praxistauglichkeit vorausgesetzt, diese in unsere Technologien.
Nicht zuletzt aufgrund der weitgehenden Plattformunabhängigkeit von Java unterstützen wir heute unterschiedliche Betriebssysteme, Datenbanken, Application Server, etc.
Der effektive Einsatz von Modellen reduziert Entwicklungs- und Testaufwendungen, da durch den höheren Abstraktionsgrad der Modellebene Komplexitäten einer Programmiersprache entfallen. Insbesondere Aufgaben für die Verarbeitung von Oberflächendaten oder der Datenfluss zu Datenbanken oder Schnittstellen eignen sich besonders für einen modellbasierten Ansatz. Durch die vollständige Wartbarkeit der für die Softwareerzeugung verwendeten Templates entsteht kein GlueCode. Die Anwendung bleibt ohne Generatoren vollständig wartbar, bspw. auch für die Integration des jeweiligen StyleGuide pro Kunde.
Die modellbasierte Entwicklung ist für jede höhere Entwicklungs- und Skriptsprache möglich, also auch für andere Sprachen als Java oder .NET.
Für fachlich einfache Anforderungen oder auch für ein evolutionäres/architekturkonformes Prototyping können die fachlichen Freiheitsgrade zugunsten einer noch höheren Entwicklungseffizienz durch Verzicht auf Codierung eingeschränkt werden. So können Menüs modelliert, Dialoge und Unterdialoge aus Datenentitäten erzeugt oder aus verknüpften Entitäten generiert werden. Wesentliche Vorteile dieses Ansatzes sind:
- Keine Einschränkung in den technischen Merkmalen der unterliegenden Architektur, lediglich die Freiheitsgrade in der fachlichen Modellierung werden reduziert.
- Die Modellbasis bleibt identisch. So kann das über den Base-App-Ansatz erzeugte Grundmodell anschließend auch für eine funktional nicht eingeschränkte Weiterentwicklung genutzt werden.
PASS Transition Factory
Die PASS Transition Factory portiert Applikationen aus klassischen Technologien auf eine moderne, zukunftssichere Plattform. Investitionen bleiben auf diese Weise lohnend. Die neuen Technologien ermöglichen eine Weiterentwicklung auf Basis der heute gängigen Entwicklungsparadigmen. Durch den Einsatz der von uns vielfach empfohlenen Hybridtechnik kann der Übergang von einer durchgeführten Sprachmigration auch auf die Prinzipien einer verteilten, schichtenbasierten Architektur durchgeführt werden. Die PASS Transition Factory ermöglicht durch den flexiblen, bei Bedarf auch mehrstufigen Transformationsprozess
- die Reduktion von Aufwendungen und Kosten bei der initialen Migration und
- eine Qualitätssteigerung durch Unterstützung heutiger Architekturprinzipien in der Weiterentwicklung.
Fünf Merkmale der PASS Transition Factory
Mit unserem PASS PILS (PASS Intermediate Language Syntax and Semantic) -Ansatz unterstützen wir auch komplexe Migrationsvorhaben. Durch eine mehrstufige Transformation können auch klassische Sprachen wie RPG auf der AS/400-Plattform in mehreren Transformationen auf die Java-Plattform portiert werden: Von einem Zwischenformat, das der prozeduralen Logik von RPG entspricht, bis zu einem Format, das die Prinzipien der Objektorientierung unterstützt.
Product Engine der 2. Generation (2G)
Best Practices aus der Industrie
Mit der Product Engine wird das aus den klassischen Industrien verwendete Prinzip der einheitlichen Beschreibung von Produkten/Baugruppen/Einzelteilen für die Finanzindustrie übernommen.
Neue Produkte werden nicht vollständig neu entwickelt, sondern aus bestehenden Produktelementen abgeleitet. Dadurch reduziert sich die Time-to-Market und damit der Zeitraum von der Konzeption eines Produktes bis zur Markteinführung. Die Product Engine ermöglicht die Erstellung neuer Produkte auf Basis vorhandener Produktelemente oder Merkmale aus einem Vorratspool. Sie wurde der Sachmerkmalsleiste der Industrie nachempfunden. Für die über Modelle beschriebenen Produkte werden Standarddienste und –Oberflächen bereitgestellt. Gemäß dem Prinzip einer service-orientierten Architektur (SOA) können weitere Prozesse und Dienste auf Basis dieser Produkte erstellt werden. Die Daten des Produktes werden in einer relationalen Datenbank gehalten.
Weiterentwicklung der Product Engine 1G
Produktmaschinen der ersten Generation weisen einen vordefinierten festen Attributpool auf, der auch die Menge unterstützter Produkte bestimmt. Wird das System um ein neues Attribut erweitert, muss auch die zugehörige Software angepasst werden. Bei der Produktmaschine der 2. Generation findet keine Einschränkung in der Verwendung von Attributen statt.
Unsere Product Engine basiert vollständig auf Industriestandards und entspricht den Prinzipien eines offenen Systems unter Nutzung von Internet-Technologien.









