Top Banner
arago BuildMe Die Entwicklungsplattform für vertriebsrelevante Webanwendungen
25

arago BuildMe

May 18, 2015

Download

Technology

arago GmbH

Die arago Entwicklungsplattform für vertriebsrelevante Webanwendungen. Weitere Informationen finden Sie unter http://www.arago.de
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: arago BuildMe

arago BuildMeDie Entwicklungsplattform für vertriebsrelevante Webanwendungen

Page 2: arago BuildMe

Aus Sicht der Fachabteilung soll die Entwicklung- den Geschäftsprozess verstanden haben, das aktuelle fachliche Problem mit den

Kollegen diskutieren und eine gute technische Umsetzung vorschlagen.- nach der langen gemeinsamen Kreativphase in sehr kurzer Zeit eine qualitativ

einwandfreie und jederzeit veränderbare Lösung produzieren.- für die eigentliche Erzeugung der Lösung keine oder zumindest fast keine Zeit in

Anspruch nehmen und das bereitgestellte Budget nicht überschreiten.

Aus Sicht der Architekten soll die Entwicklung- ausschließlich auf Basis der wiederverwendbaren Basis-Geschäftsprozesse und

Geschäftsobjekte arbeiten. - das Softwaremodell so detailliert abbilden, dass sich mindestens 95% des

Quellcodes automatisch generieren lassen.- die Flexibilität und Wartbarkeit das oberste Gebot sein. Budget und benötigte

Erstellungszeit sind dann zweitrangig.

Anforderungen an die Entwicklung

Page 3: arago BuildMe

Aus Sicht der Programmierer- soll die modernste oder die bereits seit Jahren selbst praktizierte

Technologie zum Einsatz kommen und im Vordergrund stehen.- ist der für die Erzeugung von Programmcode eingesetzte Texteditor

wichtiger als das Verständnis für den Geschäftsprozess, der abgebildet werden soll.

- soll das fachliche Problem bereits in „IT-Speak“ übersetzt sein. - soll auf Modell und Dokumentation verzichtet werden, weil sich die

Anforderungen „sowieso dynamisch ändern“.

Anforderungen an die Entwicklung

Page 4: arago BuildMe

Säulen der Softwareentwicklung

4

Build

Me

Proz

ess

Build

Me

JAVA

Fra

mew

ork

Build

Me

Entw

ickl

ungs

-um

gebu

ng

Frontend Software

Analytiker, Architekten, Entwickler

Wird eine dieser Komponenten dem Zufall überlassen, so wird nur selten eine stabile Software am Ende der Entwicklung - und sicher keine zukunftssichere und wartbare Software - über die Zeit des Lebenszyklus derselben entstehen.

Page 5: arago BuildMe

BuildMe – stabile Säulen für die Softwareentwicklung

BuildMe ist auf die Erstellung von Software ausgerichtet, die von menschlichen Benutzern verwendet wird, darum wird „Frontend Software“ produziert. BuildMe baut auf drei Säulen auf und ermöglicht so eine konsistente und effiziente Projektrealisierung.

Build

Me

Proz

ess

Build

Me

JAVA

Fra

mew

ork

Build

Me

Entw

ickl

ungs

-um

gebu

ng

Frontend Software

Analytiker, Architekten, Entwickler

Page 6: arago BuildMe

BuildMe - Ergebnisse guter Entwicklung

6

Effizienz

• Kosten•Time-To-Market• Ressourcen

Flexibilität

• Integrationsfähigkeit• Entkopplung von Technologie• Wiederverwendbarkeit• Vernetzung bestehende Applikationen

Qualität

• Sicherheit• Umsetzung der Vorgaben• Zusammenspiel IT <> Fachabteilung•Transparenz

Page 7: arago BuildMe

Ihr Nutzen in der Zusammenfassung

Verkürzte Entwicklungszeiten– Reduzierte Projektkosten – Schnellerer Einsatz am Markt als schnellere Reaktion auf Erfordernisse

am Markt durch den USP der Wiederverwendbarkeit

Höchste Sicherheit – „Secure-by-Design“ basierend auf der Theorie des endlichen Automaten – Konform mit Bankenrevisionen

Zuverlässigkeit– Seit 1995 bewährt in der Anwendung von anspruchsvollen

vertriebsorientierten Webanwendungen

Alle Vorteile im Überblick

Page 8: arago BuildMe

arago BuildMe

Hintergrundinformationen

Page 9: arago BuildMe

BuildMe – Prozess

Softwaredesigner & Programmierer

Tester

Fachabteilung

Usability Manager & Frontend Designer

Codierer

Klickprototyp AlgorithmikState Machine Datenhaushalt

Phasen

D1 C1

Iterationen

Disziplinen

P1 P2

Codieren

S1 A1 A2PN

Betriebsübergabe

B1

Ein pragmatischer Entwicklungsprozess muss- Wiederverwendbarkeit auch über Anwendungsgrenzen hinweg als oberstes

Ziel haben und damit nicht nur Komponentenbibliotheken, sondern auch Services unterstützen.

- eine möglichst geringe Belastung für die Fachabteilung sein. - möglichst wenig Iterationen verlangen, um zu einem fachlich

korrekten und qualitativ hochwertigen Ergebnis zu gelangen.

Page 10: arago BuildMe

BuildMe – Java Framework

Portal Service …

Fachliche Anforderung

arago BuildMe JAVA Framework

JVM

JAVA Container

JSF Spring JSR 168

OSGI …

Hybernate

JNDI …

Groovy …

Das BuildMe Framework kapselt die verschiedenen Technologiestandards. Der Anwendungsentwickler kann sich um die Entwicklung der Anwendung kümmern. Die von den Architekten vorgegebenen Komponenten und Standards können durch BuildMe angesteuert werden.

Page 11: arago BuildMe

BuildMe – Java Framework

Anwendungsentwickler konzentrieren sich auf die Schaffung von Anwendungen und dabei auf die Erzeugung flexibel wiederverwendbarer Komponenten, die geschäftsprozess-relevant sind.

Bei der Entwicklung eines typischen Frontends fallen 98% der Entwicklungszeit im Bereich der Anwendungsentwicklung an.

Die mit tiefem technischen Wissen ausgestatteten „Softwaregurus“ oder die Entwickler, die sich besonders mit Schnittstellen zu anderen Applikationen auskennen, sind die Experten.

Diese Experten implementieren hinter dem BuildMe Framework in den gewünschten Technologien und stellen den Zugang zu ihren Entwicklungen via BuildMe zur Verfügung.

Die wenigen Experten, auf die ein Unternehmen zugreifen kann, werden so optimal multipliziert.

Page 12: arago BuildMe

Vorkonfigurierte Umgebung

Die Werkzeuge, die zur Schaffung der BuildMe Umgebung genutzt werden, sind zum größten Teil frei verfügbar wie z.B. Eclipse - IDE. Im BuildMe Umfeld sind diese aber so konfiguriert, dass sie wirklich zusammenspielen und ineinander greifen. Damit bewegt sich ein Entwickler, Analyst oder Projektverantwortlicher immer entlang definierter Prozesse und kann sich auf seine eigentliche Aufgabe konzentrieren. Die vorkonfigurierte Verzahnung der Werkzeuge macht auch das Aufsetzen eines neuen Projektes schnell und fehlerfrei möglich.

BuildMe – Entwicklungsumgebung

Page 13: arago BuildMe

Ready to Go

Durch den Einsatz von Virtualisierung kann die BuildMe Umgebung aus der Box genutzt werden. Hier werden Images für sehr viele Aufgaben bereits fertig konfiguriert und installiert geliefert, z.B.:

– Die Entwicklungsumgebung eines Entwicklers– Die persönliche Testumgebung eines Entwicklers (jeweils Tomcat oder

JBOSS)– Die Konsolidierungsumgebung für ein Projekt (jeweils Tomcat oder

JBOSS)– Die Testumgebung für ein Projekt (jeweils Tomcat oder JBOSS)– Die Abnahmeumgebung für ein Projekt (jeweils Tomcat oder JBOSS)– Die Produktionsumgebung für ein Projekt (jeweils Tomcat oder JBOSS)– Die zentrale Versionskontrolle– Das Build- und Deploymentmanagement– Das Test- und Anforderungsmanagement– Die Dokumentationsumgebung

BuildMe – Entwicklungsumgebung

Page 14: arago BuildMe

Ein Höchstmaß an Wiederverwendbarkeit bedeutet eine Beschleunigung des Time-to-Market.

Der Ansatz der Wiederverwendbarkeit bezieht sich sowohl auf einen Kunden, der flexibel reagiert, als auch auf mehrere Kunden, bei denen ein Kunde vom anderen profitiert, da bereits ein wiederverwendbares Modul geschaffen wurde.

Das maßgebende Vehikel ist die Bibliothek. Diese repräsentiert fertig programmierte Module, die den Programmierungsbedarf vielfach auf Modifikationen reduzieren.

Daneben existieren fertige Schnittstellen, die eine einfache Integration in eine neue Umgebung erlauben.

Beispiele für Schnittstellen: Ankopplung an die SAP-Buchhaltung oder Content-Lieferanten, z.B. Reuters, Bloomberg, FERI etc.

Die technische Grundlage des Erfolges:Das 4-Ebenensystem von arago

Page 15: arago BuildMe

Die 4 Ebenen von BuildMe

JSP Code

XML Code

JAVA Code

JAVA / SOAP / xDBC / …

Darstellungsebene

Prozessebene

Funktionsebene

DatenebeneFertige Datenverbindungen für Standard Datenquellen wie SWIFT, FIX, etc. auf fachlicher Ebene oder Oracle, DB/2, EAI Werkzeuge, etc. auf technischer Ebene.

Wiederverwendbare Kernfunktionen, wie Transaktionen, Depoteröffnung, Modell-rechner, Schnittstellen etc. auf fachlicher Ebene oder Programmfunktionen auf technischer Ebene.

Ablaufbeschreibungen und prozess-spezifische Logik, die auf die Bausteine aus Daten- und Funktionsebene zugreifen, um die individuelle Applikation zu formen.

Layout und Frontendverhalten der fertigen Applikation oder der Services, sodass gleiche Prozesse mit unterschiedlichen Frontends nur auf dieser Ebene angepasst werden müssen.

Page 16: arago BuildMe

Darstellungsebene– Da eine Anwendung immer von Anwendern genutzt wird, bietet es sich

an, bei diesen zu beginnen. Auch die Anwender von Services (nämlich die Entwickler, die sie nutzen wollen oder diejenigen, die sie bereitstellen) fallen in diese Kategorie.

– Unabhängig von der eigentlichen Entwicklung entwirft ein „Usability Manager“, der das Endergebnis einschätzen und dabei die technische Realisierbarkeit (auch in punkto Ressourcenbedarf und Performance) beurteilen kann, in mehreren Workshops zusammen mit der Fachabteilung „die Anwendung“.

– Dies geschieht, indem auf Workshop- oder Grobkonzeptbasis die Anforderungen aufgenommen werden, die dann in einen funktionslosen aber vom „Look and Feel“ einsichtigen Prototypen gegossen werden.

– Dieser Prototyp wird in iterativen Workshops so lange verfeinert, bis er die Anforderungen der Fachabteilung abdeckt.

– Dieses Vorgehen verlangt keine „abstrakte Vorstellung“, sondern lässt die Beteiligten an einer „Simulation des lebenden Objektes“ arbeiten.

Den Anfang macht das Frontend – Der Klickprototyp

Page 17: arago BuildMe

Prozessebene– Dieser Prototyp wird in einen endlichen Automaten verwandelt.– Dabei werden von Zustand zu Zustand (bei Frontendanwendungen zum

Beispiel von Maske zu Maske) die Bedingungen ausgearbeitet, unter denen ein Anwender zu einem anderen Zustand gelangt oder sich Parameter im aktuellen Zustand ändern.

– Durch die Erstellung des endlichen Automaten, wird

… der fachliche Prozess definiert,

… die benötigten Daten als Vorbedingung festgehalten,

… die benötigten Funktionen als Aktionen von einem Zustand zum nächsten definiert.

– Der Prototyp wird um die Verzweigungen und Datenanforderungen aus dem endlichen Automaten ergänzt.

Die Fortsetzung liegt im Ablauf – Die State Machine

Page 18: arago BuildMe

Funktionsebene– Die identifizierten technischen Funktionen (Aktionen, um den definierten

endlichen Automaten zu „bereisen“) werden im nächsten Schritt in einen „Pseudo Code“ verwandelt.

– Dabei können auf allen Abstraktionsebenen wiederverwendbare Elemente des Programms auf logischer und technischer Basis identifiziert werden.

– Bei der Erstellung des Pseudo Codes werden die Vorbedingung für die Ausführung des Programms und die Nachbedingung nach seiner Ausführung samt aller Daten festgehalten.

– Durch die Erstellung des Pseudo Codes

… werden wiederverwendbare Komponenten erkannt.

… wird die zu entwickelnde Logik für „einfache Codierer“ klar erkenntlich.

… werden die benötigten Daten und die im Prototyp implizierten Plausibilitäten klar dokumentiert.

Danach kommt das Eingemachte – Die Algorithmik

Page 19: arago BuildMe

Datenebene– Als letzter Schritt in der pragmatischen Vorbereitung der eigentlichen

Codierung werden alle benötigten Daten erfasst. – Dazu werden die Datenblöcke, die von den logischen Funktionen, den

fachlichen Funktionen und den Prozesskomponenten benötigt werden, auf der einen Seite und die verfügbaren Datenquellen auf der anderen Seite aufgelistet.

– Ähnlich einem EAI Mapping werden nun Verbindungen zwischen diesen Datenmengen gezogen. Diese Verbindungen werden verwendet, um externe Services anzusteuern, eventuell neue Datenservices oder Views zu definieren oder um neu zu erstellende Datenrepositories klar zu strukturieren.

– Die Erstellung eines solchen Datenhaushaltes gewährleistet

… die Vollständigkeit der Datenversorgung.

… die Erkennung und mögliche Behebung von Performanceproblemen, bevor Code erstellt wurde.

… die Identifikation von fachlich nicht umsetzbaren Anforderungen (Datenverfügbarkeit ist ein Fachthema).

Und zuletzt das Schwierigste – Der Datenhaushalt

Page 20: arago BuildMe

Bsp: Kampagnenmanagement zurAbsatzsteigerung von ausgewählten Produkten

Prozess-ebene

Funktions-ebene

Die Prozess- und die Funktionsebene werden dadurch nicht berührt.

Daten-ebene

Darstellungs-ebene

Szenario: eine neue Kampagne soll schnellstmöglich in die Berater-plattform integriert werden

Minimaler Aufwand mit BuildMe

Der Zugriff auf die Datenebene erfolgt nur in dem Teil, der durch die Kampagne betroffen ist.

Auf der Darstellungsebene kommt es zu begrenzten Erweiterungen

oder Modifikationen beim Frontend.

Beispiel: Betrifft die Kampagne Asienfonds, werden nur die entsprechendenFondsdaten aus dem gesamtenFondsuniversum herangezogen.Die Datenebene bleibt damit intakt.

Page 21: arago BuildMe

Durch Einsatz der Theorie des endlichen Automaten (State Machine) wird sichergestellt, dass keine Aktionen ausgelöst werden, wenn nicht die dargestellte Aktion überprüft ausgeführt wird.

Grundprinzip (vereinfachte Darstellung: Online-Banking)

Secure by design: Garant für höchste Sicherheit

...

Ein-loggen

Trans-aktion

t = 1 t = 2Zeitpunkt: Überprüfung des Benutzer

t = 3Zeitpunkt: Auftrag oder Banking

...

Ein-loggen

Trans-aktion

Page 22: arago BuildMe

Das Grundprinzip: Bsp. Zustandsübergang im Online-Banking

– Einloggen in den Online-Banking Prozess sowie die Auslösung einer Order sind mit entsprechenden Zwischenschritten nur in dieser Sequenz möglich.

– Dies bedeutet, dass keine Order ausgeführt werden kann, wenn vorher keine eindeutige Identifikation im Einlogging-Prozess stattgefunden hat.

– So sorgt die Technologie des endlichen Automaten dafür, dass kein

Unbefugter eine Order auslösen kann, in dem er sich, z.B. zum Ordermodul Zugang verschafft.

Secure by design: Garant für höchste Sicherheit

Page 23: arago BuildMe

20% Einsparung an Entwicklern oder

20% schnellere Entwicklung bei gleichbleibender Mannschaft

Vorhandene Prozesse lassen sich - zum Beispiel für Kampagnen oder zur individuellen Bedienung wichtiger Vertriebspartner - leicht anpassen. Der gesamte Backendprozess bleibt erhalten; Änderungen werden nur im Frontend und teilweise in den Prozessen (meist das Setzen von Defaults wie vorab ausgewählte Produkte) vorgenommen.

Mit einmal funktionierenden Transaktionsprozessen in verschiedenen Detailtiefen auf der Frontendseite

… kann ein neuer Mandant in 1/10 der Zeit erstellt werden.

… haben sich auch die Kosten neuer „Mikroprozesse“ oder „Mikroplattformen“ soweit reduziert, dass derartige Maßnahmen nun tatsächlich wirtschaftlich durchgeführt werden können. (Wirtschaftlich bedeutet das, die Kosten werden durch realen Umsatz und nicht durch abstrakte Werte, wie die „bessere Kundenbindung“ gedeckt).

Ergebnisse guter Entwicklung - Effizienz

Page 24: arago BuildMe

Durch die separate Bereitstellung fachlicher Prozesse und technischer Funktionen können

… Services durch Definition einfacher Prozesse abgebildet werden, bei denen die Frontendschicht das jeweilig gewünschte Serviceprotokoll (z. B. SOAP) als Darstellung definiert.

… Services sowohl auf abstrakter Ebene (Komplettprozessebene inklusive Status-Auswertung) als auch auf atomarer Ebene (eine Berechnung durchführen) schnell umgesetzt werden.

… Services nicht nur im Sinne einer SOA, sondern auch als Komplettkomponenten bereitgestellt werden – zum Beispiel die Kopplung von vorhandenen Produktpräsentationen mit dem Kampagnenmanagement.

… neue Kombinationen von Prozessbausteinen ganz flexibel (zum Beispiel über Web 2.0 Frontends vom Benutzer selbst oder durch Recommendation) zusammengesetzt werden.

Einmal geschaffene Komponenten können auf allen Ebenen wiederverwendet werden und müssen dementsprechend nicht teuer wieder und wieder entwickelt werden

Ergebnisse guter Entwicklung - Flexibilität

Page 25: arago BuildMe

arago Institut für komplexes Datenmanagement AGEschersheimer Landstr. 526 - 53260433 Frankfurt am MainTel: +49 (0) 69 405 680www.arago.dewww.automatisierungs-experten.de

Vielen Dank für Ihre Aufmerksamkeit

Vorstand: Hans-Christian Boos, Martin FriedrichVorsitzender des Aufsichtsrats: Dr. Bernhard WaltherSitz: Kronberg im Taunus · HRB 5731 · Registergericht: Königstein i.TsUst.Idnr. DE 178572359 · Steuernummer 2603 003 228 43435