SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
TITEL

Objektorientierte Anwendungsentwicklung im
Objektorientierte Anwendungsentwicklung im
 Öffentlichen Dienst mit Cincom Smalltalk --
 Öffentlichen Dienst mit Cincom Smalltalk
    Anbindung an die große weite Welt!
    Anbindung an die große weite Welt!



               Referent:           Hans-Dieter Brenner
                                   h.d.brenner@novatec-gmbh.de




 Hans-Dieter Brenner – ESUG 2004                             © 2004 NovaTec GmbH
                                                                                   1
Kundenstruktur


• DV-Verbund Baden-Württemberg
  (Kunden)
    –      9 Stadtkreise
    –     35 Landkreise
    –   1111 Städte und Gemeinden




 Hans-Dieter Brenner – ESUG 2004           © 2004 NovaTec GmbH
                                                                 2
DV-Verbund Baden-
                                  Württemberg
 • Die Dienstleister
       –   Produktion / Anwendungsbetreuung
              •   7 Regionale und
              •   2 Kommunale Rechenzentren (RRZ)
       –   Anwendungsentwicklung
            "landeseinheitlicher Verfahren"
              •   Datenzentrale Baden-Württemberg




Hans-Dieter Brenner – ESUG 2004                     © 2004 NovaTec GmbH
                                                                          3
DV-Verbund
                                  Baden-Württemberg

              Mannheim
                                               Heilbronn
               Heidelberg

           Karlsruhe                            Stuttgart

                                                       Ulm


     Freiburg                                 Reutlingen


Hans-Dieter Brenner – ESUG 2004                 © 2004 NovaTec GmbH
                                                                      4
Traditionelle
                             Entwicklungsumgebung
 • HOST
       –   MVS-CICS
       –   VSAM
       –   DB2/MVS
       –   3270 - Emulationen
 • Dialogsteuerungssystem OSSY
       –   Entwicklungsrahmen in Form von Macros



Hans-Dieter Brenner – ESUG 2004             © 2004 NovaTec GmbH
                                                                  5
Neue
                              Entwicklungsumgebung
 • Client/Server - Architektur
       –   Server: HOST
       –   Client: PC
 • Objektorientierte Entwicklung
       –   Entwicklungsrahmen in Form eines
           Frameworks




Hans-Dieter Brenner – ESUG 2004              © 2004 NovaTec GmbH
                                                                   6
Entwicklungsumgebung

 • Betriebssystem: Windows (Client-Teil)
       –   ObjectStudio
       –   Innovator
       –   PVCS Version Manager
 • Betriebssystem: MVS (Server-Teil)
       –   COBOL mit CPI-C Calls (Server)
       –   COBOL mit SQL bzw. VSAM-Zugriffen unter
           CICS (Datenbeschaffungsprogramme)


Hans-Dieter Brenner – ESUG 2004              © 2004 NovaTec GmbH
                                                                   7
OO - Projekte DZBW

 • Finanzverwaltung "Vorverfahren"
       –   KASEVA
           (Hundesteuer, Grundsteuer,
           Gewerbesteuer, Sonstige wiederkehrende
           Einnahmen, Ordnungswidrigkeiten)
 • Ordnungsverwaltung
       –   LaDiVA (Ausländerwesen)
 • Umweltbereich
       –   Automatisiertes Wasserbuch
       –   FIS-AGB (Altlasten)

Hans-Dieter Brenner – ESUG 2004                  © 2004 NovaTec GmbH
                                                                       8
Vorteile eines Frameworks

 • Qualitätssicherung
       –   einheitlicher Programmierstil
       –   Zwang zu Namenskonventionen
       –   einfache Wartbarkeit
       –   einheitliches Erscheinungsbild
       –   Hohe Qualität der Endanwendung durch
           hohe Qualität des Frameworks
 • Effizienzgewinn durch
   Wiederverwendbarkeit

Hans-Dieter Brenner – ESUG 2004                © 2004 NovaTec GmbH
                                                                     9
Framework-Funktionalität

 • Kapseln von Grundfunktionen
 • Probleme werden einmal zentral gelöst
 • Applikationsgerüst durch vordefinierte
   Bausteine
       –   durch Bedienen von Standardmethoden die
           Applikation schreiben
 • Klare Gliederung des
   Applikationsaufbaus


Hans-Dieter Brenner – ESUG 2004              © 2004 NovaTec GmbH
                                                                   10
Framework-Architektur




              Controller             Vorgang   Fachobjekt   Zugriff



Benutzer
                                                                               Datenbank

                        ObjectStudio Systemklassen

                                     Betriebssystem

   Hans-Dieter Brenner – ESUG 2004                                    © 2004 NovaTec GmbH
                                                                                            11
Grundprinzipien des
                                    Framework-Konzepts
• Jede Schicht korrespondiert nur mit der
  "Nachbarschicht"
• Jede Schicht ist austauschbar, ohne daß
  die Anwendung beeinträchtigt wird (z.B.
  Zugriffsschicht)
• Der Programmierer muß für seine
  eigenen Klassen immer eine
  Superklasse des Frameworks benutzen


  Hans-Dieter Brenner – ESUG 2004                 © 2004 NovaTec GmbH
                                                                        12
Controller / View Layer


• Kommunikation mit dem Benutzer
• Darstellung der fachlichen Objekte mit
  allen abhängigen Objekten
• Vorabprüfung von Eingabedaten
• Bereitstellung von verschiedenen
  Controllertypen mit umfangreichen
  Grundfunktionen


  Hans-Dieter Brenner – ESUG 2004                  © 2004 NovaTec GmbH
                                                                         13
Vorgangsschicht /
                                    Process Layer

• Abbildung von Geschäftsprozessen
• gesamte Verarbeitungssteuerung
• Verkettung und Steuerung von logisch
  abhängigen Vorgängen
• Erkennen von logischen Arbeitseinheiten
  (LUW)
• Bereitstellung von verschiedenen
  Vorgangstypen mit umfangreicher
  Grundfunktionalität


  Hans-Dieter Brenner – ESUG 2004                  © 2004 NovaTec GmbH
                                                                         14
Fachklassen /
                                  Business Layer
 • Abbilden der fachlichen Zusammenhänge
 • Darstellung der Objekte nach außen
 • dynamisches Verwalten von abhängigen
   Objekten
 • Kommunikation zur Zugriffsschicht über
       –   persistente Objekte (Datenobjekte)
       –   transiente Objekte (Suchschablonen)
 • Zentrale Historisierungslogik
 • Zentrale Sperrlogik
 • Zentrale Protokollierung (Datenschutz)

Hans-Dieter Brenner – ESUG 2004                    © 2004 NovaTec GmbH
                                                                         15
Zugriffsschicht /
                                  Access Layer
 • Bereitstellung der Daten aus einer
   Datenbank, PersistentObjectMapping (POM)
 • Generierung von Zugriffsbefehlen je nach
   Zugriffsart der jeweiligen Superklasse:
       –   Dynamic SQL (z.B. für sämtliche relationale
           Datenbanken wie DB2/2, Oracle, MSSQLServer,
           Adabas, Access)
       –   Aufrufparameter für TCP/IP nach Logik eines RPC
           (z.B. für DB2/MVS, VSAM)
       –   Testweise: Bedienen einer HOST-3270
           Anwendung über EHLLAPI (z.B. alte OSSY-
           Anwendung)

Hans-Dieter Brenner – ESUG 2004                       © 2004 NovaTec GmbH
                                                                            16
Services / Utilities

 • Cachefunktion für häufig benutzte Objekte
 • Verwaltung und Bereitstellung von
   Schlüsseldateien nach Funktionalitäten
   (Domänenverwaltung)
 • Berechtigungsverwaltung (Generisch)
 • Druckfunktion von Objektlisten oder
   Einzelobjekten
 • Anbindung an Office-Anwendungen
   über OLE (Winword, Excel, WordPerfect,
   AmiPro, StarOffice)
 • PersistentObjectMapping (POM)

Hans-Dieter Brenner – ESUG 2004                    © 2004 NovaTec GmbH
                                                                         17
Client/Server Struktur

                                  HOST - Server
                                  Zugriffe auf DB2/2 und VSAM
                                  RPC-Logik (dynamisch gerufene
                                  Unterprogramme)


                       TCP/IP                         Fileserver: *.img
                                                                  *.exe


                                           LAN



             Client - PC
Hans-Dieter Brenner – ESUG 2004                            © 2004 NovaTec GmbH
                                                                                 18
Software-Verteilung
• Installation des Images erfolgt zentral
  auf dem Server durch InstallShield.
• Dynamisches Nachladen von Patches.
• Automatischer Versionsabgleich für den
  Download eines neuen Patches für die
  Anwendung.




 Hans-Dieter Brenner – ESUG 2004                  © 2004 NovaTec GmbH
                                                                        19
SAP-Schnittstelle
• Die Problematik im Bereich
  Finanzverwaltung

             KASEVA
           (ObjectStudio)          ?    SAP-System R/3
                                           (ABAP)



• Die Lösungsmöglichkeiten:
   – Schnittstellen von SAP an andere Systeme
     in Form von BAPIs
   – Zugriff auf BAPIs möglich über
         § OLE
         § RFC
 Hans-Dieter Brenner – ESUG 2004                   © 2004 NovaTec GmbH
                                                                         20
Vorgehensweise bei der
                             Anbindung eines BAPIs
                     Generieren der RFC-Schnittstelle im SAP-System
1. Schritt                        über Function Builder




2. Schritt          Parsen der Strukturen aus dem generierten C-File
                               über den Structure Builder



                           Einbinden der geparsten Strukturen
3. Schritt                    und Aufruf des BAPIs mittels
                     des generischen DLL-Interfaces von ObjectStudio




 Hans-Dieter Brenner – ESUG 2004                          © 2004 NovaTec GmbH
                                                                                21
Schnittstelles eines BAPIs

• Definiert durch den Namen des BAPIs
• Definiert durch die Import-Parameter
  (Daten, die an das BAPI übergeben
  werden)
• Definiert durch die Export-Parameter
  (Daten, die von dem BAPI zurückgegeben
  werden)
• Ist ersichtlich im Function Builder des
  SAP-Systems
  Hans-Dieter Brenner – ESUG 2004                © 2004 NovaTec GmbH
                                                                       22
Function Builder

                                                              Generieren
                                                              des C-Files
                                                               und des
                                                             Header-Files




Hans-Dieter Brenner – ESUG 2004                      © 2004 NovaTec GmbH
                                                                           23
Structure Builder



                                                 Parsen der
                                             Strukturen aus den
                                              generierten Files
                                              und Generieren
                                               von Structure-
                                                  Klassen




Hans-Dieter Brenner – ESUG 2004                         © 2004 NovaTec GmbH
                                                                              24
Aufruf der BAPIs in
                                  ObjectStudio
 • Voraussetzung: librfc32.dll.
 • Mittels des generischen DLL-Interfaces
   von ObjectStudio und unter
   Verwendung der Structure-Klassen
   werden die BAPIs von SAP aufgerufen.
 • Implementierung eines generischen
   Interfaces in Form von einer Klassen-
   Bibliothek im Framework, das den
   Aufruf der BAPIs abhandelt.
Hans-Dieter Brenner – ESUG 2004                   © 2004 NovaTec GmbH
                                                                        25
Webdienst-Anbindung

 • Die Problematik im Bereich
   Aüsländerverwaltung


                LaDiVA
             (ObjectStudio)           ?    AZR-Webdienst
                                          (XML-Schnittstelle)




 • Die Lösungsanforderungen:
       – Unterstützung von https
       – XML-Parsing
Hans-Dieter Brenner – ESUG 2004                        © 2004 NovaTec GmbH
                                                                             26
Webdienst-Anbindung
                                                                • Zugriff der LaDiVA-Clients auf
     LaDiVA                                                       ein Servlet zentral auf einem
  (ObjectStudio)                                                  Server
                                                                • XML-Parsing auf den Clients
       XMLParser                                                • Zentrales Servlet für die
                                                                  Kommunikation über SSL



                                  http-Protokoll




                                                              https-Protokoll
     LaDiVA
  (ObjectStudio)                                    JAVA-
                                                    Servlet                      AZR-Webdienst
       XMLParser
                                                   (Tomcat)                     (XML-Schnittstelle)


     LaDiVA
  (ObjectStudio)
       XMLParser




Hans-Dieter Brenner – ESUG 2004                                                        © 2004 NovaTec GmbH
                                                                                                             27
Perspektiven

 • Komplette Softwareverteilung über
   Image-Download.
 • Ablösung des JAVA-Servlets durch
   VisualWorks-Dienst für den Webdienst.
 • Internet-Anbindung durch webfähiges
   Frontend.




Hans-Dieter Brenner – ESUG 2004                  © 2004 NovaTec GmbH
                                                                       28
Fragen zum Thema
home              www.novatec-gmbh.de

  address NovaTec – Ingenieure für neue
          Informationstechnologien GmbH
          Dieselstr. 18/1
          70771 Leinfelden-Echterdingen
          info@novatec-gmbh.de

     contact                 Hans-Dieter Brenner
                             h.d.brenner@novatec-gmbh.de




Hans-Dieter Brenner – ESUG 2004                      © 2004 NovaTec GmbH
                                                                           29

Weitere ähnliche Inhalte

Andere mochten auch (12)

TEST
TESTTEST
TEST
 
Las matemáticas
Las matemáticasLas matemáticas
Las matemáticas
 
Monica DiGiulio CV
Monica DiGiulio CVMonica DiGiulio CV
Monica DiGiulio CV
 
Dani Martin
Dani MartinDani Martin
Dani Martin
 
Didáctica crítica
Didáctica críticaDidáctica crítica
Didáctica crítica
 
Curso de enseñanza problémica para c.medicas
Curso de enseñanza problémica para c.medicasCurso de enseñanza problémica para c.medicas
Curso de enseñanza problémica para c.medicas
 
Informe de practicas
Informe de practicasInforme de practicas
Informe de practicas
 
Biblioteca virtual: puente cualitativo de generación-transmisión del conocimi...
Biblioteca virtual: puente cualitativo de generación-transmisión del conocimi...Biblioteca virtual: puente cualitativo de generación-transmisión del conocimi...
Biblioteca virtual: puente cualitativo de generación-transmisión del conocimi...
 
Veerappa Panchal_Piping Stress Engineer
Veerappa Panchal_Piping Stress EngineerVeerappa Panchal_Piping Stress Engineer
Veerappa Panchal_Piping Stress Engineer
 
Hombre como microcosmos_segun_hipocrates
Hombre como microcosmos_segun_hipocratesHombre como microcosmos_segun_hipocrates
Hombre como microcosmos_segun_hipocrates
 
Strategien Im Krisen und Katastrophenmanagement Klein
Strategien Im Krisen und Katastrophenmanagement KleinStrategien Im Krisen und Katastrophenmanagement Klein
Strategien Im Krisen und Katastrophenmanagement Klein
 
Centre National de Technologies en Education
Centre National de Technologies en EducationCentre National de Technologies en Education
Centre National de Technologies en Education
 

Ähnlich wie Objektorientierte Anwendungsentwicklung im Öffentlichen Dienst mit Cincom Smalltalk

DSpace as publication platform
DSpace as publication platformDSpace as publication platform
DSpace as publication platform
redsys
 

Ähnlich wie Objektorientierte Anwendungsentwicklung im Öffentlichen Dienst mit Cincom Smalltalk (20)

LinuxTag 2007 - Linux im Bundesministerium des Inneren bei der Fußball WM 2006
LinuxTag 2007 - Linux im Bundesministerium des Inneren bei der Fußball WM 2006LinuxTag 2007 - Linux im Bundesministerium des Inneren bei der Fußball WM 2006
LinuxTag 2007 - Linux im Bundesministerium des Inneren bei der Fußball WM 2006
 
NovaBACKUP DataCenter 5.4 - Leistungsstarkes Netzwerk Backup für den Mittelstand
NovaBACKUP DataCenter 5.4 - Leistungsstarkes Netzwerk Backup für den MittelstandNovaBACKUP DataCenter 5.4 - Leistungsstarkes Netzwerk Backup für den Mittelstand
NovaBACKUP DataCenter 5.4 - Leistungsstarkes Netzwerk Backup für den Mittelstand
 
Leistungsstarkes Netzwerk Backup mit NovaBACKUP® DataCenter
Leistungsstarkes Netzwerk Backup mit NovaBACKUP® DataCenterLeistungsstarkes Netzwerk Backup mit NovaBACKUP® DataCenter
Leistungsstarkes Netzwerk Backup mit NovaBACKUP® DataCenter
 
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTiggesDas modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
 
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText BasisAnwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis
 
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem PrüfstandGWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
GWAVACon 2015: SEP - Backuplösungen auf dem Prüfstand
 
Continuous Delivery as a Way of Life
Continuous Delivery as a Way of LifeContinuous Delivery as a Way of Life
Continuous Delivery as a Way of Life
 
ConventionCamp Hannover
ConventionCamp HannoverConventionCamp Hannover
ConventionCamp Hannover
 
Die Bedeutung der Diagnose in der Fahrzeugentwicklung
Die Bedeutung der Diagnose in der FahrzeugentwicklungDie Bedeutung der Diagnose in der Fahrzeugentwicklung
Die Bedeutung der Diagnose in der Fahrzeugentwicklung
 
Neo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im EinsatzNeo4j Use Cases - Graphdatenbanken im Einsatz
Neo4j Use Cases - Graphdatenbanken im Einsatz
 
Splunk für alle: Optimierte Prozesse für eine zuverlässige und störungsfreie ...
Splunk für alle: Optimierte Prozesse für eine zuverlässige und störungsfreie ...Splunk für alle: Optimierte Prozesse für eine zuverlässige und störungsfreie ...
Splunk für alle: Optimierte Prozesse für eine zuverlässige und störungsfreie ...
 
Mag. Christian Samide (Pure Storage Austria), Ing. Johannes Kornfellner (Öste...
Mag. Christian Samide (Pure Storage Austria), Ing. Johannes Kornfellner (Öste...Mag. Christian Samide (Pure Storage Austria), Ing. Johannes Kornfellner (Öste...
Mag. Christian Samide (Pure Storage Austria), Ing. Johannes Kornfellner (Öste...
 
Übersetzungsproduktivität: Der nächste Schritt
Übersetzungsproduktivität: Der nächste SchrittÜbersetzungsproduktivität: Der nächste Schritt
Übersetzungsproduktivität: Der nächste Schritt
 
SCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare LangzeitarchivierungSCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare Langzeitarchivierung
 
3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon Leinen3. IPv6 im täglichen Geschäftsleben - Simon Leinen
3. IPv6 im täglichen Geschäftsleben - Simon Leinen
 
Suse in der neuen Welt des Rechenzentrums - ein Beispiel
Suse in der neuen Welt des Rechenzentrums - ein BeispielSuse in der neuen Welt des Rechenzentrums - ein Beispiel
Suse in der neuen Welt des Rechenzentrums - ein Beispiel
 
Whitecoast lcty12 x_pages
Whitecoast lcty12 x_pagesWhitecoast lcty12 x_pages
Whitecoast lcty12 x_pages
 
DSpace as publication platform
DSpace as publication platformDSpace as publication platform
DSpace as publication platform
 
EMA - Enterprise Managed Archive: globales Informationsmanagement clever gel...
EMA  - Enterprise Managed Archive: globales Informationsmanagement clever gel...EMA  - Enterprise Managed Archive: globales Informationsmanagement clever gel...
EMA - Enterprise Managed Archive: globales Informationsmanagement clever gel...
 
Citrix XenDesktop 4
Citrix XenDesktop 4Citrix XenDesktop 4
Citrix XenDesktop 4
 

Mehr von ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Mehr von ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Objektorientierte Anwendungsentwicklung im Öffentlichen Dienst mit Cincom Smalltalk

  • 1. TITEL Objektorientierte Anwendungsentwicklung im Objektorientierte Anwendungsentwicklung im Öffentlichen Dienst mit Cincom Smalltalk -- Öffentlichen Dienst mit Cincom Smalltalk Anbindung an die große weite Welt! Anbindung an die große weite Welt! Referent: Hans-Dieter Brenner h.d.brenner@novatec-gmbh.de Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 1
  • 2. Kundenstruktur • DV-Verbund Baden-Württemberg (Kunden) – 9 Stadtkreise – 35 Landkreise – 1111 Städte und Gemeinden Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 2
  • 3. DV-Verbund Baden- Württemberg • Die Dienstleister – Produktion / Anwendungsbetreuung • 7 Regionale und • 2 Kommunale Rechenzentren (RRZ) – Anwendungsentwicklung "landeseinheitlicher Verfahren" • Datenzentrale Baden-Württemberg Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 3
  • 4. DV-Verbund Baden-Württemberg Mannheim Heilbronn Heidelberg Karlsruhe Stuttgart Ulm Freiburg Reutlingen Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 4
  • 5. Traditionelle Entwicklungsumgebung • HOST – MVS-CICS – VSAM – DB2/MVS – 3270 - Emulationen • Dialogsteuerungssystem OSSY – Entwicklungsrahmen in Form von Macros Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 5
  • 6. Neue Entwicklungsumgebung • Client/Server - Architektur – Server: HOST – Client: PC • Objektorientierte Entwicklung – Entwicklungsrahmen in Form eines Frameworks Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 6
  • 7. Entwicklungsumgebung • Betriebssystem: Windows (Client-Teil) – ObjectStudio – Innovator – PVCS Version Manager • Betriebssystem: MVS (Server-Teil) – COBOL mit CPI-C Calls (Server) – COBOL mit SQL bzw. VSAM-Zugriffen unter CICS (Datenbeschaffungsprogramme) Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 7
  • 8. OO - Projekte DZBW • Finanzverwaltung "Vorverfahren" – KASEVA (Hundesteuer, Grundsteuer, Gewerbesteuer, Sonstige wiederkehrende Einnahmen, Ordnungswidrigkeiten) • Ordnungsverwaltung – LaDiVA (Ausländerwesen) • Umweltbereich – Automatisiertes Wasserbuch – FIS-AGB (Altlasten) Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 8
  • 9. Vorteile eines Frameworks • Qualitätssicherung – einheitlicher Programmierstil – Zwang zu Namenskonventionen – einfache Wartbarkeit – einheitliches Erscheinungsbild – Hohe Qualität der Endanwendung durch hohe Qualität des Frameworks • Effizienzgewinn durch Wiederverwendbarkeit Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 9
  • 10. Framework-Funktionalität • Kapseln von Grundfunktionen • Probleme werden einmal zentral gelöst • Applikationsgerüst durch vordefinierte Bausteine – durch Bedienen von Standardmethoden die Applikation schreiben • Klare Gliederung des Applikationsaufbaus Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 10
  • 11. Framework-Architektur Controller Vorgang Fachobjekt Zugriff Benutzer Datenbank ObjectStudio Systemklassen Betriebssystem Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 11
  • 12. Grundprinzipien des Framework-Konzepts • Jede Schicht korrespondiert nur mit der "Nachbarschicht" • Jede Schicht ist austauschbar, ohne daß die Anwendung beeinträchtigt wird (z.B. Zugriffsschicht) • Der Programmierer muß für seine eigenen Klassen immer eine Superklasse des Frameworks benutzen Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 12
  • 13. Controller / View Layer • Kommunikation mit dem Benutzer • Darstellung der fachlichen Objekte mit allen abhängigen Objekten • Vorabprüfung von Eingabedaten • Bereitstellung von verschiedenen Controllertypen mit umfangreichen Grundfunktionen Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 13
  • 14. Vorgangsschicht / Process Layer • Abbildung von Geschäftsprozessen • gesamte Verarbeitungssteuerung • Verkettung und Steuerung von logisch abhängigen Vorgängen • Erkennen von logischen Arbeitseinheiten (LUW) • Bereitstellung von verschiedenen Vorgangstypen mit umfangreicher Grundfunktionalität Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 14
  • 15. Fachklassen / Business Layer • Abbilden der fachlichen Zusammenhänge • Darstellung der Objekte nach außen • dynamisches Verwalten von abhängigen Objekten • Kommunikation zur Zugriffsschicht über – persistente Objekte (Datenobjekte) – transiente Objekte (Suchschablonen) • Zentrale Historisierungslogik • Zentrale Sperrlogik • Zentrale Protokollierung (Datenschutz) Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 15
  • 16. Zugriffsschicht / Access Layer • Bereitstellung der Daten aus einer Datenbank, PersistentObjectMapping (POM) • Generierung von Zugriffsbefehlen je nach Zugriffsart der jeweiligen Superklasse: – Dynamic SQL (z.B. für sämtliche relationale Datenbanken wie DB2/2, Oracle, MSSQLServer, Adabas, Access) – Aufrufparameter für TCP/IP nach Logik eines RPC (z.B. für DB2/MVS, VSAM) – Testweise: Bedienen einer HOST-3270 Anwendung über EHLLAPI (z.B. alte OSSY- Anwendung) Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 16
  • 17. Services / Utilities • Cachefunktion für häufig benutzte Objekte • Verwaltung und Bereitstellung von Schlüsseldateien nach Funktionalitäten (Domänenverwaltung) • Berechtigungsverwaltung (Generisch) • Druckfunktion von Objektlisten oder Einzelobjekten • Anbindung an Office-Anwendungen über OLE (Winword, Excel, WordPerfect, AmiPro, StarOffice) • PersistentObjectMapping (POM) Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 17
  • 18. Client/Server Struktur HOST - Server Zugriffe auf DB2/2 und VSAM RPC-Logik (dynamisch gerufene Unterprogramme) TCP/IP Fileserver: *.img *.exe LAN Client - PC Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 18
  • 19. Software-Verteilung • Installation des Images erfolgt zentral auf dem Server durch InstallShield. • Dynamisches Nachladen von Patches. • Automatischer Versionsabgleich für den Download eines neuen Patches für die Anwendung. Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 19
  • 20. SAP-Schnittstelle • Die Problematik im Bereich Finanzverwaltung KASEVA (ObjectStudio) ? SAP-System R/3 (ABAP) • Die Lösungsmöglichkeiten: – Schnittstellen von SAP an andere Systeme in Form von BAPIs – Zugriff auf BAPIs möglich über § OLE § RFC Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 20
  • 21. Vorgehensweise bei der Anbindung eines BAPIs Generieren der RFC-Schnittstelle im SAP-System 1. Schritt über Function Builder 2. Schritt Parsen der Strukturen aus dem generierten C-File über den Structure Builder Einbinden der geparsten Strukturen 3. Schritt und Aufruf des BAPIs mittels des generischen DLL-Interfaces von ObjectStudio Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 21
  • 22. Schnittstelles eines BAPIs • Definiert durch den Namen des BAPIs • Definiert durch die Import-Parameter (Daten, die an das BAPI übergeben werden) • Definiert durch die Export-Parameter (Daten, die von dem BAPI zurückgegeben werden) • Ist ersichtlich im Function Builder des SAP-Systems Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 22
  • 23. Function Builder Generieren des C-Files und des Header-Files Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 23
  • 24. Structure Builder Parsen der Strukturen aus den generierten Files und Generieren von Structure- Klassen Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 24
  • 25. Aufruf der BAPIs in ObjectStudio • Voraussetzung: librfc32.dll. • Mittels des generischen DLL-Interfaces von ObjectStudio und unter Verwendung der Structure-Klassen werden die BAPIs von SAP aufgerufen. • Implementierung eines generischen Interfaces in Form von einer Klassen- Bibliothek im Framework, das den Aufruf der BAPIs abhandelt. Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 25
  • 26. Webdienst-Anbindung • Die Problematik im Bereich Aüsländerverwaltung LaDiVA (ObjectStudio) ? AZR-Webdienst (XML-Schnittstelle) • Die Lösungsanforderungen: – Unterstützung von https – XML-Parsing Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 26
  • 27. Webdienst-Anbindung • Zugriff der LaDiVA-Clients auf LaDiVA ein Servlet zentral auf einem (ObjectStudio) Server • XML-Parsing auf den Clients XMLParser • Zentrales Servlet für die Kommunikation über SSL http-Protokoll https-Protokoll LaDiVA (ObjectStudio) JAVA- Servlet AZR-Webdienst XMLParser (Tomcat) (XML-Schnittstelle) LaDiVA (ObjectStudio) XMLParser Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 27
  • 28. Perspektiven • Komplette Softwareverteilung über Image-Download. • Ablösung des JAVA-Servlets durch VisualWorks-Dienst für den Webdienst. • Internet-Anbindung durch webfähiges Frontend. Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 28
  • 29. Fragen zum Thema home www.novatec-gmbh.de address NovaTec – Ingenieure für neue Informationstechnologien GmbH Dieselstr. 18/1 70771 Leinfelden-Echterdingen info@novatec-gmbh.de contact Hans-Dieter Brenner h.d.brenner@novatec-gmbh.de Hans-Dieter Brenner – ESUG 2004 © 2004 NovaTec GmbH 29