330 likes | 612 Views
Design & Generate Industrielle Software-Fertigung mit SW Process Engine von der qi net SW Factory powered by SW ProEngine Verfahrensweise für eine effektive und kostensensitive Realisierung. Agenda / Folienpräsentation. qinet / SW ProEngine GmbH - Firmenprofil
E N D
Design & GenerateIndustrielle Software-Fertigung mitSW Process Engine von derqinet SW Factory powered by SW ProEngineVerfahrensweise für eine effektive und kostensensitive Realisierung
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 • Referenzen
Agenda / Meeting • Einleitung und Vorstellung Teilnehmer / FirmaSW 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
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: • ISST Fraunhofer Institut • qinet GmbH
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:
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 • 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.
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!
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
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 • 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!
Übersicht II Data-DictionaryVerwaltung von mehreren Projekten Plugin-Import XMI-Import(UML,…) Pflege durch Fachberater und Objekt-Modellierer Model-Repository Anpassungen,durchEntwickler Generator-Engine SourceCode API Pflege durch System-Architekt Plugins Template-Repository Pflege von Templates (Java, C++, C#, Cobol, XML, SQL, Visual Basic, et al.)
Vorgehensweise IRound-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 einmalig pro Architektur-Design(System-architekt) einmalig pro Architektur-Design(System-architekt) • 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 Änderungen,Anpassungen imDaten- undObjekt-Model Änderungen,Anpassungen imDaten- undObjekt-Model pro Projekt/Teilprojekt(Fachberater/ Objekt-Modellierer) pro Projekt/Teilprojekt(Fachberater/ Objekt-Modellierer) • 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 Bei erneuter ProgrammierungÜbernahme des vorhandenen manuell erstellten Codes pro Funktions-block(Entwickler) pro Funktions-block(Entwickler)
Vorgehensweise IIDesign & Generate Repository (Bauplan) Anpassungen(anhand lauffähiger Anwendung) Geschäftspro-zess-analyse Geschäftspro-zess-Modellierung Basis-Anwendung Generator Roll Out Factory (Fertigungsstraße) Produktivbetrieb Wiederholungen Architektur-konzept Anpassung an Templates Technische Anpassungen Vorgehen (Organisation) 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 • 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.ServerDB Generierung ▶ alle Fachkonzepte, ▶ Programmdokumentationen (JavaDoc), ▶ Applikationen, Deskriptoren, ▶ Ini-Dateien, Masken, ▶ Datenbank-Strukturen etc. Performance Optimierungen für: • Maskenaufbau • Datenbankzugriffe • Client-Server-Kommunikation
Funktionsumfang III 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 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: • 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 Basis-Anwendung an (kein „leeres Blatt“) • Direkte Verwendung des Objekt-Models im Code
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
Vorteile und USP´s III • 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 Zusammenfassung Durch Modellierung und Generierung mit SW Process Engine SWPE 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 in einem hohen Automatisierungsgrad Kosten
Erfolg durch SW ProEngine Struktur Nähe Technologie • Skalierbare Architektur • Aufwandsreduzierung bei „Change Requests“ • Kein Offshoring oder Nearshoring • Kurze Wege • schnelle Reaktion • Flexible Technologie • Zero-Failure Ansatz • MinimierteWartungskosten“ • Geringe Kosten • Kurze Entwicklungszeit • Investitionssicherheit • Qualität • ▶▶ Gesicherter Projekterfolg!
Beispiel – Anwendungen I Kunde Kundenart 1 0-N 1 0-N Konto Buchung Überweisung 1 0-N 0-N 1 Kontotyp Einzahlung
Beispiel – Anwendungen II Workflow: Konto-Lebenszyklus Neu neu erfassen Erfasst freigeben bearbeiten Aktiv löschen aktivieren sperren anzeigen Gesperrt löschen Gelöscht
Beispiel – Anwendungen III Workflow-Dialog:Konto-Erfassung Kundeerfassen Kundeauswählen Kontodatenerfassen Ende Start Überweisungerfassen
Beispiel – Anwendungen IV Workflow-Kollaboration: Kontotyp bearbeiten
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 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, Rohstoffrechner 31
qinet / SW ProEngine Expertise
Kontakt qinet GmbH Ansprechpartner : Peter Habla Director 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