02/2010 qinet folie 1 design & generate industrielle software-fertigung mit sw process engine...
Post on 05-Apr-2015
104 Views
Preview:
TRANSCRIPT
02/2010qinetFolie 1
Design & GenerateIndustrielle Software-Fertigung mit SW Process Engine
von der
qinet SW Factory powered by SW ProEngine
Verfahrensweise für eine effektive und kostensensitive Realisierung
02/2010qinetFolie 2
qinet / SW ProEngine GmbH - Firmenprofil
Herausforderung und Zielsetzung
Motivation
Kundennutzen
Übersicht SW ProEngine
Vorgehensweise im Projekt
Funktionsumfang
Vorteile und USP´s
Beispiel – Anwendungen
Referenzen
Agenda / Folienpräsentation
02/2010qinetFolie 3
Agenda / Meeting► Einleitung und Vorstellung Teilnehmer / Firma
SW ProEngine GmbH
► Präsentation SW ProEngine
Herausforderung und Zielsetzung in SW Projekten Motivation Kundennutzen Übersicht „SW Process Engine /SPE 3.1“ Vorgehensweise (Design & Generate / Round-Trip Verfahren) Funktionsumfang
(was liefert das Framework 2.0 + J2EE Template-Satz) Vorteile und USP‘s Eine Beispiel-Anwendung Referenzen
► Diskussion Zusammenarbeit
► Weitere Vorgehensweise
02/2010qinetFolie 4
► Gründung:
gegründet 2004 aus einer wissenschaftlichen Kooperation mit dem Fraunhofer Institut
► Unternehmensanteile:
► 80 % im Eigenbesitz► 10% bei Fraunhofer Institut
► 10 % Sonstige Beteiligung
► Partnerschaft:
► ISST Fraunhofer Institut► qinet GmbH
Die SW ProEngine GmbH
02/2010qinetFolie 5
Herausforderung und Zielsetzung I
▶ der inhaltlichen Trennung von
- fachlicher Konzeption / Geschäftsprozess-Definition (Design)
- und deren technischer Umsetzung (Generate)
▶ der definierten Überleitung aus fachlichen Definitionen in technischen Architekturen
▶ der Wiederverwendung von Programmfunktionen, Algorithmen und Codeschnipseln
▶ und einem flexiblen, iterativen Vorgehensmodell, das auch zu fortgeschrittenen Zeitpunkten Änderungen an technischen und fachlichen Themen zulässt
Die Herausforderung für moderne Softwareprojekt-Ansätze besteht aus:
02/2010qinetFolie 6
Der von SW-ProEngine GmbH verwendete Verfahrensweg löst dieseAufgabenstellungen, durch eine Zusammenführung von
Design & Generate bei der Projektrealisierung
– in einem ganzheitlichen Verfahrensweg
– mit einer iterativen Vorgehensweise
Die Zielsetzung ist:
Verbesserung von Qualität, Geschwindigkeit und Flexibilität sowie
• Reduzierung der Kosten
Herausforderung und Zielsetzung II
02/2010qinetFolie 7
Es ist gängige Praxis, für neue Programme ein vorhandenes, ähnliches Programm zu kopieren und manuell anzupassen
Wird nachträglich ein Fehler im „Vorlage-Programm“ gefunden, muss die Korrektur manuell auch in allen daraus entstandenen Programmen durchgeführt werden. Was oft nicht mehr oder nur schwer nachvollziehbar ist.
Für moderne 3-Schicht-Anwendungen muss viel Code geschrieben werden. Davon ist zu 70-90% Standard-Code ohne Geschäftsprozess-Intelligenz. Dieser Code muss aber geschrieben werden, sonst funktioniert nichts.
Motivation I
02/2010qinetFolie 8
Motivation II
Soll die fertige Anwendung durch ein neues Feld ergänzt werden, muss dies manuell und konsistent zueinander geschehen
In der Detail-Maske und der tabellarischen Anzeige
In den HTML / JSP-Formularen bei Web-Anwendungen
In der Kommunikations-Schicht Frontend<>Application-Server
Im Objekt-Model auf den Application-Server
In der Datenbank-Zugriff-Schicht
In der Datenbank selbst (SQL)
etc.
Das ist mit viel Aufwand verbunden und sehr fehleranfällig!
02/2010qinetFolie 9
Kundennutzen I
Durchgängige Einhaltung der Programmiervorgaben führt zu
hoher Qualität, besserer Wartbarkeit und Investitionsschutz
Produzierter Code ist wie „von Hand geschrieben“ und einfach lesbar
Transformation der Objekt-Modelle in lauffähige Programme ohne Medienbrüche (MDA)
Interaktive und iterative Abstimmungszyklen mit den Fachabteilungen basierend auf einer lauffähige Basisanwendung.
Entwickler fängt seine Tätigkeit mit einer laufenden Anwendungan (kein „leeres Blatt“), die gemäß Fachvorgaben maschinell erzeugt wurde.
Ergebnis: Erhöhte Produktivität (90-98% des Codes ist maschinell erzeugt), dadurch schnelles „Time-to-market“ und Kostenreduzierung
02/2010qinetFolie 10
Einsparung externer Ressourcen
Mehr Projekte im eigenen Haus mit gleich bleibenden Ressourcen
Sichern des Personalbestandes
– Weniger Programmierung, höhere Produktivität – Mehr Projekte realisierbar mit eigenen Personal (Business Analysten)
Code-Wiederverwendung, modularer Aufbau, Mandantenfähigkeit, Mehrsprachenfähig, Service Orientierte Architektur SOA
SW ProEngine ist unabhängig von Programmier-Sprachen
Templates (Schablonen) können für jede beliebige Sprache gepflegt und für die Code-Generierung verwendet werden
Templates sind auch für Online-Hilfe, Programmdokumentation und Fachkonzepte vorhanden
Ausbauen der internationalen Wettbewerbsfähigkeit durch Onshore
Sie sind konkurrenzfähig zu Off- und Nearshore Angeboten
Kundennutzen II
02/2010qinetFolie 11
Übersicht I
Die „SW Process Engine / SPE 3.1“ ist ein „Roboter“, der ▶ auf Knopfdruck
▶ anhand eines Bauplans (Geschäftsprozess-Definition) und
▶ ihm zur Verfügung stehenden Bauteile (Templates und Framework)
eine ablauffähige Anwendung in hoher Fertigungstiefe erstellt!
02/2010qinetFolie 12
Pflege durch
Fachberater und
Objekt-Modellierer
Pflege durch
Fachberater und
Objekt-Modellierer
Pflege durch
System-Architekt
Pflege durch
System-Architekt
Model-Repository
Template-Repository
Plugin-Import
XMI-Import(UML,…)
Generator-Engine
API
Plugins
SourceCode
Pflege von Templates (Java, C++, C#, Cobol, XML, SQL,
Visual Basic, et al.)
Pflege von Templates (Java, C++, C#, Cobol, XML, SQL,
Visual Basic, et al.)
Anpassungen,
durchEntwickler
Anpassungen,
durchEntwickler
Data-Dictionary Verwaltung von mehreren Projekten
Data-Dictionary Verwaltung von mehreren Projekten
Übersicht II
02/2010qinetFolie 13
Übersicht III Architektur
02/2010qinetFolie 14
Vorgehensweise I Round-Trip Verfahrensmodell
Auswahl eines Beispiels, das vertikal durch alle Architektur-Schichten geht
Erstellung der Code-Templates durch Verwendung des Beispiel-Codes
Validierung der Templates: Code-Generierung, Kompilierung und Test der generierten Beispiel- Anwendungen
Auswahl eines Beispiels, das vertikal durch alle Architektur-Schichten geht
Erstellung der Code-Templates durch Verwendung des Beispiel-Codes
Validierung der Templates: Code-Generierung, Kompilierung und Test der generierten Beispiel- Anwendungen
Anpassungen,Verbesserungen im Architektur-
Design
Anpassungen,Verbesserungen im Architektur-
Design
Festlegung des Daten- und Objekt-Models
Erfassung des Daten- und Objekt-Models im Generator
Code-Generierung
Abstimmung mit Fachabteilung
Festlegung des Daten- und Objekt-Models
Erfassung des Daten- und Objekt-Models im Generator
Code-Generierung
Abstimmung mit Fachabteilung
Manuelle Anpassung, Ergänzung des generierten Codes: Geschäfts- prozess-Abbildung, Maskendesign, …
Kompilieren, Modul-Test und Fehlerkorrekturen
Manuelle Anpassung, Ergänzung des generierten Codes: Geschäfts- prozess-Abbildung, Maskendesign, …
Kompilieren, Modul-Test und Fehlerkorrekturen
Änderungen,Anpassungen im
Daten- undObjekt-Model
Änderungen,Anpassungen im
Daten- undObjekt-Model
pro Projekt/Teilprojekt
(Fachberater/ Objekt-
Modellierer)
pro Funktions-block
(Entwickler)
einmalig pro Architektur-
Design(System-architekt)
Auswahl eines Beispiels, das vertikal durch alle Architektur-Schichten geht
Erstellung der Code-Templates durch Verwendung des Beispiel-Codes
Validierung der Templates: Code-Generierung, Kompilierung und Test der generierten Beispiel- Anwendungen
Auswahl eines Beispiels, das vertikal durch alle Architektur-Schichten geht
Erstellung der Code-Templates durch Verwendung des Beispiel-Codes
Validierung der Templates: Code-Generierung, Kompilierung und Test der generierten Beispiel- Anwendungen
Anpassungen,Verbesserungen im Architektur-
Design
Anpassungen,Verbesserungen im Architektur-
Design
Festlegung des Daten- und Objekt-Models
Erfassung des Daten- und Objekt-Models im Generator
Code-Generierung
Abstimmung mit Fachabteilung
Festlegung des Daten- und Objekt-Models
Erfassung des Daten- und Objekt-Models im Generator
Code-Generierung
Abstimmung mit Fachabteilung
Manuelle Anpassung, Ergänzung des generierten Codes: Geschäfts- prozess-Abbildung, Maskendesign…
Kompilieren, Modul-Test und Fehlerkorrekturen
Manuelle Anpassung, Ergänzung des generierten Codes: Geschäfts- prozess-Abbildung, Maskendesign…
Kompilieren, Modul-Test und Fehlerkorrekturen
Änderungen,Anpassungen im
Daten- undObjekt-Model
Änderungen,Anpassungen im
Daten- undObjekt-Model
Bei erneuter ProgrammierungÜbernahme des
vorhandenen manuell
erstellten Codes
Bei erneuter ProgrammierungÜbernahme des
vorhandenen manuell
erstellten Codes
pro Projekt/Teilprojekt
(Fachberater/ Objekt-
Modellierer)
pro Funktions-
block
(Entwickler)
einmalig pro Architektur-
Design
(System-architekt)
02/2010qinetFolie 15
Rep
osit
ory
(Baupla
n)
Facto
ry(F
ert
igungss
traße
)
Vorg
eh
en
(Org
anis
ati
on)
Projektmanagement / Projektcontrolling / Qualitätsmanagement Projektmanagement / Projektcontrolling / Qualitätsmanagement
Geschäftspro-zess-analyse Geschäftspro-zess-analyse
Geschäftspro-zess-
Modellierung
Geschäftspro-zess-
Modellierung
Architektur-konzept
Architektur-konzept
Anpassung an Templates
Anpassungen(anhand lauffähiger
Anwendung)
Anpassungen(anhand lauffähiger
Anwendung)
Technische Anpassungen
Generator Basis-Anwendung
Roll OutRoll Out
Produktivbetrieb
Wiederholungen
Vorgehensweise II Design & Generate
02/2010qinetFolie 16
Allgemein
Generierung von hochskalierbare Enterprise Anwendungen bis kleine Installationen mit gleichem architektonischen Aufbau
Hohe Wiederverwendung von Code
Bereitstellung allgemeiner Funktionen:
Mandantenfähigkeit
Multisprache
Multiuser Fähigkeit, Locking-Mechanismen
Verwaltung von User, Rollen und Rechte und Stellen
Berichtswesen / Reports
Prozessorientierte Bedienung, Workflow-Unterstützung
Wiedervorlage-Funktion
Online Help
Verwaltung und Anzeige von Meldungen (Fehler,Warnung,Info)
Funktionsumfang I
02/2010qinetFolie 17
Framework SW ProEngine
Architekturen ▶ Swing-Client Datenbank ▶ Swing-Client J2EE App. Server Datenbank▶ HTML-Server / Servlet Container Datenbank▶ HTML-Server / Servl.Ct.J2EE App.ServerDB
Generierung ▶ alle Fachkonzepte, ▶ Programmdokumentationen (JavaDoc), ▶ Applikationen, Deskriptoren, ▶ Ini-Dateien, Masken, ▶ Datenbank-Strukturen etc.
Performance Optimierungen für:
Maskenaufbau Datenbankzugriffe Client-Server-Kommunikation
Funktionsumfang II
02/2010qinetFolie 18
Framework / Client▶ Frontend für Swing und HTML
▶ Weitere Frontend-Typen modular abbildbar
▶ Hohe Flexibilität in der Masken-Gestaltung und Benutzer-Interaktion in einem standardisierten Aufbau
▶ Abbildung des MVC Design Patterns
▶ Nur View unterschiedlich zwischen Swing und HTML:
▶ Controller und Model werden wieder verwendet
▶ Menüführung
▶ Multi-Workflow / Multi-Task mit ein Frontend-Rahmen
▶ Hierarchische Präsentation und Pflege der Daten
▶ Eingabe-Workflow / Assistenten (Wizzard)
▶ Kommunikation mit dem Server gekapselt, ersetzbar und modular erweiterbar
▶ Klare Trennung von der Business-Implementierung
▶ Zentrale Customizing der Maskengestaltung mit Styles
Funktionsumfang III
02/2010qinetFolie 19
Framework / Server▶ Implementierung von Business-Logik in einer serviceorientierte und
wieder verwendbare Form
▶ Trennung zwischen Business-Services und Business-Modell
▶ Prüfung der Datenkonsistenz
▶ Transaktionsmanagement wahlweise:
▶ In Server, pro Business-Service oder Serviceklammer
▶ Alternativ auch Steuerung der Transaktionsklammer über Client möglich
▶ Datenhaltung:
▶ Multidatenbank und Multidatenbank-Typ Zugriffe
▶ Zugriff auf weitere Datenbanktypen modular abbildbar
▶ Multiuser-Steuerung
▶ Connection-Pooling (= Performance und Ressourcen sparen)
▶ Automatische Erstellung und Anpassung der Datenbank-Strukturen
▶ Protokollierung / Logging
Funktionsumfang IV
02/2010qinetFolie 20
Vorteile und USP´s I
Erhöhte Produktivität (> 90% des Codes ist generiert)
Einfache Erhaltung der Programmierungs-Styleguides
Code-Wiederverwendung
Entwickler fängt seine Tätigkeit mit einer laufenden Basis-
Anwendung an (kein „leeres Blatt“)
Direkte Verwendung des Objekt-Models im Code
02/2010qinetFolie 21
Vorteile und USP´s II
Unabhängig von Sprache
Templates können für jede beliebige Sprache gepflegt und für die Code-Generierung verwendet werden
Templates sind auch für Online-Hilfe und Fachkonzepte vorhanden
Klare Trennung von Generator und Templates
Templates werden ohne zusätzliche Skriptsprachen durch einfache Verwendung von Eingabemasken gepflegt
für Code-Generierung in beliebigen Programmiersprachen ist keine Anpassung der Generator-Engine notwendig
Templates-Werk und Objekt-Model werden in einem Repository gespeichert, das für die Datenkonsistenz sorgt
02/2010qinetFolie 22
► Programme, Programm-Doku, Online-Hilfe und Fachkonzeptwerden zueinander konsistent aus einer Modellquelle erzeugt
► Richtlinien und Namenskonventionen werden Architektur- und Endkundenkonform beibehalten
► Round-Trip Verfahren garantiert maximale Flexibilität und minimale Reaktionszeit
► Templates / Framework für► Mandanten, Multi-User Fähigkeit
► Mehsprachigkeit
► Datenhandling und Schnittstellen
► Reports
► Import/Export
► ……..
Vorteile und USP´s III
02/2010qinetFolie 23
Durch Modellierung und Generierung mit SW Process EngineSWPE 3.1 entstehen:
direkt lauffähige Anwendungen in der gewünschten Zielsprache und Architektur
Applikationen
inkl. Rollen und Rechte
Online Hilfe
Anwendungs-Dokumentation
Reports
Qualität
Zeit
Kostenin einem hohen Automatisierungsgrad
Vorteile und USP´sZusammenfassung
02/2010qinetFolie 24
Erfolg durch SW ProEngine
Geringe Kosten Kurze Entwicklungszeit Investitionssicherheit Qualität
▶▶ Gesicherter Projekterfolg!
StrukturStruktur
Skalierbare Architektur
Aufwandsreduzierung
bei „Change Requests“
NäheNähe
Kein Offshoring oder Nearshoring
Kurze Wege
schnelle Reaktion
TechnologieTechnologie
Flexible Technologie
Zero-Failure Ansatz
MinimierteWartungskosten“
02/2010qinetFolie 25
Beispiel – Anwendungen I
Kunde Kundenart
Konto
Kontotyp
Buchung
Einzahlung
Überweisung
1
1
1
1
0-N
0-N
0-N
0-N
02/2010qinetFolie 26
Beispiel – Anwendungen II
Workflow:
Konto-Lebenszyklus
Neu
Gelöscht
Erfasst
Aktiv
Gesperrt
sperren
löschen
aktivieren
bearbeiten
neu erfassen
anzeigen
freigeben
löschen
02/2010qinetFolie 27
Beispiel – Anwendungen III
Workflow-Dialog:
Konto-Erfassung
Sta
rt
Ende
Kundeauswählen
Kontodatenerfassen
Kundeerfassen
Überweisungerfassen
02/2010qinetFolie 28
Beispiel – Anwendungen IV
Workflow-Kollaboration: Kontotyp bearbeiten
02/2010qinetFolie 29
Referenzen (Auszug)
02/2010qinetFolie 30
30
dbde Deutsche Bildung AG: Softwareplattform für die gesamte Prozesssteuerung (Fondmanagement)
GEVA GmbH: Internet Frontend für internationaler Zahlungsverkehr (SEPA)
ESCADA AG: Vertragsmanagement
agentes AG: Zeiterfassungssystem, Versicherungsmakler Plattform
SinnLeffers GmbH: Personalbedarfsplanung
bäurer GmbH: Entwicklung der ERP-Standardlösung
Nöll+ Partner Architekten: Facilitymanagementsystem
Romservice Telecommunication: ERP-System
Referenzen (Auszug)
02/2010qinetFolie 31
31
Referenzen (Auszug)
Fraunhoferinstitut: diverse interne und externe Projekte
Soltrx (Tochter der Commerzbank AG): - Ticket Management für den Wertpapier-Handel- CWP (companyworld payment)
Kaiser‘s Tengelmann AG:- Warenwirtschaft Stammdaten Migrationsystem- Konfigurationsmanagement- Projektmanagement- Personaleinsatzplanung für über 700 Filialen
Wüstenrot & Württembergische AG: Beraterarbeitsplatz
FORMAXX AG: CRM System für Versicherungsmakler
Großer Einzelhändler: Gesamte Warenwirtschaft Plattform
INVERTO AG: Ausschreibungsplattform, Vertragsmanagement,
Rohstoffrechner
02/2010qinetFolie 32
qinet / SW ProEngine
Expertise
02/2010qinetFolie 33
Kontaktqinet GmbH Ansprechpartner :
Peter HablaDirector Business Development
Telefon +49 (0) 6723 628 904
Mobil +49 (0) 172 6511796
www.peter.habla@qinet.de
www.qinet.de
peter.habla@qinet.de Peter Habla,Director BusinessDevelopment & Marketing(Banken/Finanzdienstleister) +491726511796
werner.jost@qinet.de Werner Jost,Director Sales & Marketing(Industrie / Handel und Mittelstand)+4915115548421
michael.hartmann@qinet.deMichael Hartmann,Director Finance & Services
joerg.krautmacher@qinet.deJörg Krautmacher,Director Business Management
top related