arago BuildMe

1.105 Aufrufe

Veröffentlicht am

Die arago Entwicklungsplattform für vertriebsrelevante Webanwendungen. Weitere Informationen finden Sie unter http://www.arago.de

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.105
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
12
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

arago BuildMe

  1. 1. arago BuildMeDie Entwicklungsplattform fürvertriebsrelevante Webanwendungen
  2. 2. Anforderungen an die Entwicklung 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.
  3. 3. Anforderungen an die Entwicklung 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“.
  4. 4. Säulen der Softwareentwicklung Frontend Software JAVA Framework BuildMe Prozess Entwicklungs- umgebung BuildMe BuildMe Analytiker, Architekten, EntwicklerWird eine dieser Komponenten dem Zufall überlassen, so wird nur selten einestabile Software am Ende der Entwicklung - und sicher keine zukunftssichereund wartbare Software - über die Zeit des Lebenszyklus derselben entstehen. 4
  5. 5. BuildMe – stabile Säulen für dieSoftwareentwicklung Frontend Software JAVA Framework BuildMe Prozess Entwicklungs- umgebung BuildMe BuildMe Analytiker, Architekten, Entwickler 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.
  6. 6. BuildMe - Ergebnisse guter Entwicklung • Sicherheit • Umsetzung der Vorgaben • Zusammenspiel IT <> Qualität Fachabteilung •Transparenz Flexibilität • Integrationsfähigkeit • Entkopplung von Technologie • Wiederverwendbarkeit Effizienz • Vernetzung bestehende Applikationen • Kosten •Time-To-Market • Ressourcen 6
  7. 7. Alle Vorteile im ÜberblickIhr 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
  8. 8. arago BuildMeHintergrundinformationen
  9. 9. BuildMe – Prozess Phasen Disziplinen Klickprototyp State Machine Algorithmik Datenhaushalt Codieren BetriebsübergabeFachabteilungUsability Manager &Frontend DesignerSoftwaredesigner &ProgrammiererCodiererTester P1 P2 PN S1 A1 A2 D1 C1 B1 Iterationen 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.
  10. 10. BuildMe – Java Framework Portal Service … Fachliche Anforderung arago BuildMe JAVA Framework Hybernate Groovy … JSF Spring JSR 168 JNDI … JAVA Container OSGI … JVM 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.
  11. 11. BuildMe – Java Framework Anwendungsentwickler konzentrieren Die mit tiefem technischen Wissen sich auf die Schaffung von ausgestatteten „Softwaregurus“ oder die Anwendungen und dabei auf die Entwickler, die sich besonders mit Erzeugung flexibel wiederverwendbarer Schnittstellen zu anderen Applikationen Komponenten, die geschäftsprozess- auskennen, sind die Experten. relevant sind. Diese Experten implementieren hinter dem BuildMe Framework in den Bei der Entwicklung eines typischen gewünschten Technologien und stellen Frontends fallen 98% der den Zugang zu ihren Entwicklungen via Entwicklungszeit im Bereich der BuildMe zur Verfügung. Anwendungsentwicklung an. Die wenigen Experten, auf die ein Unternehmen zugreifen kann, werden so optimal multipliziert.
  12. 12. BuildMe – Entwicklungsumgebung 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.
  13. 13. BuildMe – Entwicklungsumgebung 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
  14. 14. Die technische Grundlage des Erfolges:Das 4-Ebenensystem von arago 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.
  15. 15. Die 4 Ebenen von BuildMe Layout und Frontendverhalten der fertigen Applikation oder der Services, sodass Darstellungsebene JSP Code gleiche Prozesse mit unterschiedlichen Frontends nur auf dieser Ebene angepasst werden müssen. Ablaufbeschreibungen und prozess- spezifische Logik, die auf die Bausteine Prozessebene XML Code aus Daten- und Funktionsebene zugreifen, um die individuelle Applikation zu formen. Wiederverwendbare Kernfunktionen, wie Transaktionen, Depoteröffnung, Modell- Funktionsebene JAVA Code rechner, Schnittstellen etc. auf fachlicher Ebene oder Programmfunktionen auf technischer Ebene. Fertige Datenverbindungen für Standard Datenebene JAVA / SOAP / Datenquellen wie SWIFT, FIX, etc. auf xDBC / … fachlicher Ebene oder Oracle, DB/2, EAI Werkzeuge, etc. auf technischer Ebene.
  16. 16. Den Anfang macht das Frontend –Der Klickprototyp 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.
  17. 17. Die Fortsetzung liegt im Ablauf –Die State Machine 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.
  18. 18. Danach kommt das Eingemachte – DieAlgorithmik 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.
  19. 19. Und zuletzt das Schwierigste –Der Datenhaushalt 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).
  20. 20. Bsp: Kampagnenmanagement zurAbsatzsteigerung von ausgewählten Produkten Darstellungs- Auf der Darstellungsebene kommt es zu begrenzten Erweiterungen ebene oder Modifikationen beim Frontend.Szenario:eine neue Kampagnesoll schnellstmöglich Prozess-in die Berater- ebeneplattform integriert Die Prozess- und die Funktionsebenewerden werden dadurch nicht berührt. Funktions-Minimaler Aufwand ebenemit BuildMe Beispiel: Betrifft die Kampagne Asienfonds, werden nur die entsprechenden Der Zugriff auf die Datenebene Fondsdaten aus dem gesamten Daten- Fondsuniversum herangezogen. erfolgt nur in dem Teil, der durch ebene die Kampagne betroffen ist. Die Datenebene bleibt damit intakt.
  21. 21. Secure by design: Garant für höchsteSicherheit 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) Ein- Trans- Ein- Trans- loggen aktion loggen aktion ... ... t=1 t=2 t=3 Zeitpunkt: Überprüfung des Benutzer Zeitpunkt: Auftrag oder Banking
  22. 22. Secure by design: Garant für höchsteSicherheit 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.
  23. 23. Ergebnisse guter Entwicklung - Effizienz 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).
  24. 24. Ergebnisse guter Entwicklung - Flexibilität 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
  25. 25. Vielen Dank für Ihre Aufmerksamkeitarago Institut für komplexes Datenmanagement AGEschersheimer Landstr. 526 - 53260433 Frankfurt am MainTel: +49 (0) 69 405 680www.arago.dewww.automatisierungs-experten.de Vorstand: Hans-Christian Boos, Martin Friedrich Vorsitzender des Aufsichtsrats: Dr. Bernhard Walther Sitz: Kronberg im Taunus · HRB 5731 · Registergericht: Königstein i.Ts Ust.Idnr. DE 178572359 · Steuernummer 2603 003 228 43435

×