qinet / SW ProEngine GmbH

Werbung
Design & Generate
Industrielle Software-Fertigung mit
SW Process Engine
von der
qinet SW Factory
powered by SW ProEngine
Verfahrensweise für eine
effektive und kostensensitive Realisierung
02/2010
qinet
Folie 1
Agenda / Folienpräsentation
 qinet / SW ProEngine GmbH - Firmenprofil
 Herausforderung und Zielsetzung
 Motivation
 Kundennutzen
 Übersicht SW ProEngine
 Vorgehensweise im Projekt
 Funktionsumfang
 Vorteile und USP´s
 Beispiel – Anwendungen
02/2010
qinet
Folie 2
 Referenzen
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
02/2010
qinet
Folie 3
► Weitere Vorgehensweise
Die SW ProEngine GmbH
► 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:
02/2010
qinet
Folie 4
►
ISST Fraunhofer Institut
► qinet GmbH
Herausforderung und Zielsetzung I
Die Herausforderung für moderne Softwareprojekt-Ansätze
besteht aus:
▶
der inhaltlichen Trennung von
- fachlicher Konzeption / Geschäftsprozess-Definition (Design)
- und deren technischer Umsetzung (Generate)
02/2010
qinet
Folie 5
▶
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
Herausforderung und Zielsetzung II
Der von SW-ProEngine GmbH verwendete Verfahrensweg löst diese
Aufgabenstellungen, 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
•
02/2010
qinet
Folie 6
Reduzierung der Kosten
Motivation I
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.
02/2010
qinet
Folie 7
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/2010
qinet
Folie 8
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 Anwendung
an (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/2010
qinet
Folie 9
Kundennutzen II
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
02/2010
qinet
Folie 10
Sie sind konkurrenzfähig zu Off- und Nearshore Angeboten
Ü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/2010
qinet
Folie 11
Übersicht II
PluginImport
Pflege
durch
Fachberater
und
ObjektModellierer
XMIImport
(UML,…)
ModelRepository
Data-Dictionary
Verwaltung von mehreren Projekten
GeneratorEngine
Source
Code
Anpassungen,
durch
Entwickler
API
Pflege
durch
SystemArchitekt
02/2010
qinet
Folie 12
Plugins
TemplateRepository
Pflege von Templates
(Java, C++, C#, Cobol, XML, SQL,
Visual Basic, et al.)
Übersicht III
02/2010
qinet
Folie 13
Architektur
Vorgehensweise I
Round-Trip Verfahrensmodell
 Auswahl eines Beispiels, das vertikal
 Auswahl eines Beispiels, das vertikal
durch alle Architektur-Schichten geht
durch alle Architektur-Schichten geht

Erstellung
der Code-Templates
durch
 Erstellung
der Code-Templates
durch
Verwendung
des Beispiel-Codes
Verwendung
des Beispiel-Codes

der Templates:
Validierung
Validierung
der Templates:
Code-Generierung,
Kompilierung
und
Code-Generierung,
Kompilierung
und
Test der generierten BeispielTest der generierten BeispielAnwendungen
Anwendungen
 Festlegung des Daten Festlegung des DatenundObjekt-Models
Objekt-Models
und

Erfassung
des Daten Erfassung
des Datenund
Objekt-Models
im Generator
und Objekt-Models
im Generator

Code-Generierung
 Code-Generierung
 Abstimmung mit Fachabteilung
 Abstimmung mit Fachabteilung

Manuelle
Anpassung,
Ergänzung
 Manuelle
Anpassung,
Ergänzung
des
generierten
Codes:
Geschäftsdes
generierten
Codes:
Geschäftsprozess-Abbildung,
Maskendesign,
…
prozess-Abbildung,
Maskendesign…

Modul-Test
Kompilieren,
Kompilieren,
Modul-Test
und Fehlerkorrekturen
02/2010
qinet
Folie 14
und Fehlerkorrekturen
einmalig
pro
einmalig pro
ArchitekturArchitekturDesign
Design
(System(Systemarchitekt)
architekt)
pro
pro Projekt/
Projekt/
Teilprojekt
Teilprojekt
(Fachberater/
(Fachberater/
ObjektObjektModellierer)
Modellierer)
pro
pro
FunktionsFunktions-block
block
(Entwickler)
(Entwickler)
Anpassungen,
Anpassungen,
Verbesserungen
Verbesserungen
im Architekturim ArchitekturDesign
Design
Änderungen,
Änderungen,
Anpassungen
im
Anpassungen im
Daten-und
und
DatenObjekt-Model
Objekt-Model
Bei erneuter
Programmierung
Übernahme des
vorhandenen
manuell erstellten
Codes
Vorgehensweise II
02/2010
qinet
Folie 15
Vorgehen
(Organisation)
Factory
(Fertigungsstraße)
Repository
(Bauplan)
Design & Generate
Geschäftsprozess-analyse
GeschäftsprozessModellierung
Generator
Anpassungen
(anhand lauffähiger
Anwendung)
BasisAnwendung
Roll Out
Produktivbetrieb
Wiederholungen
Architekturkonzept
Anpassung
an Templates
Technische
Anpassungen
Projektmanagement / Projektcontrolling / Qualitätsmanagement
Funktionsumfang I
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
02/2010
qinet
Folie 16
Verwaltung und Anzeige von Meldungen (Fehler,Warnung,Info)
Funktionsumfang II
Framework SW ProEngine
Architekturen
▶ Swing-Client  Datenbank
▶ Swing-Client  J2EE App. Server  Datenbank
▶ HTML-Server / Servlet Container  Datenbank
▶ HTML-Server / Servl.Ct.J2EE App.ServerDB
Generierung
▶ alle Fachkonzepte,
▶ Programmdokumentationen (JavaDoc),
▶ Applikationen, Deskriptoren,
▶ Ini-Dateien, Masken,
▶ Datenbank-Strukturen etc.
Performance Optimierungen für:
 Maskenaufbau
 Datenbankzugriffe
 Client-Server-Kommunikation
02/2010
qinet
Folie 17
Funktionsumfang III
Framework / Client
02/2010
qinet
Folie 18
▶
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 IV
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:
02/2010
qinet
Folie 19
▶
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
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 BasisAnwendung an (kein „leeres Blatt“)
Direkte Verwendung des Objekt-Models im Code
02/2010
qinet
Folie 20
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/2010
qinet
Folie 21
Vorteile und USP´s III
► Programme, Programm-Doku, Online-Hilfe und Fachkonzept
werden zueinander konsistent aus einer Modellquelle erzeugt
► Richtlinien und Namenskonventionen werden Architekturund 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
► ……..
02/2010
qinet
Folie 22
Vorteile und USP´s
Zusammenfassung
Durch Modellierung und Generierung mit SW Process Engine
SWPE 3.1 entstehen:
Qualität
direkt lauffähige Anwendungen in der
gewünschten Zielsprache und Architektur
Applikationen
inkl. Rollen und Rechte
Online Hilfe
Anwendungs-Dokumentation
Zeit
Reports
02/2010
qinet
Folie 23
in einem hohen Automatisierungsgrad
Kosten
Erfolg durch SW ProEngine
Struktur
Nähe
 Skalierbare
Architektur
 Kein Offshoring oder
Nearshoring
 Aufwandsreduzierung
bei „Change
Requests“
 Kurze Wege
 schnelle Reaktion




02/2010
qinet
Folie 24
Technologie
 Flexible Technologie
 Zero-Failure Ansatz
 Minimierte
Wartungskosten“
Geringe Kosten
Kurze Entwicklungszeit
Investitionssicherheit
Qualität
▶▶ Gesicherter Projekterfolg!
Beispiel – Anwendungen I
Kunde
0-N
1
Kundenart
1
0-N
Konto
1
0-N
Buchung
0-N
1
Kontotyp
02/2010
qinet
Folie 25
Einzahlung
Überweisung
Beispiel – Anwendungen II
Workflow:
Neu
Konto-Lebenszyklus
neu
erfassen
Erfasst
freigeben
Aktiv
löschen aktivieren
sperren
Gesperrt
löschen
02/2010
qinet
Folie 26
bearbeiten
Gelöscht
anzeigen
Beispiel – Anwendungen III
Workflow-Dialog:
Konto-Erfassung
02/2010
qinet
Folie 27
Kunde
auswählen
Kontodaten
erfassen
Überweisung
erfassen
Ende
Start
Kunde
erfassen
Beispiel – Anwendungen IV
Workflow-Kollaboration: Kontotyp bearbeiten
02/2010
qinet
Folie 28
Referenzen (Auszug)
02/2010
qinet
Folie 29
Referenzen (Auszug)
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
02/2010
qinet
Folie 30
Romservice Telecommunication: ERP-System
30
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,
02/2010
qinet
Folie 31
Rohstoffrechner
31
qinet / SW ProEngine
Expertise
02/2010
qinet
Folie 32
Kontakt
qinet GmbH
Ansprechpartner :
Peter Habla
Director Business Development
Telefon
+49 (0) 6723 628 904
Mobil
+49 (0) 172 6511796
[email protected]
www.qinet.de
02/2010
qinet
Folie 33
[email protected]
Peter Habla,
Director Business
Development & Marketing
(Banken/Finanzdienstleister)
+491726511796
[email protected]
Werner Jost,
Director Sales & Marketing
(Industrie / Handel und
Mittelstand)
+4915115548421
[email protected]
Michael Hartmann,
Director
Finance & Services
[email protected]
Jörg Krautmacher,
Director Business Management
Herunterladen