Konstruktion von Informationssystemanwendungen Prof. Dr. Dieter Jungmann Robotron Datenbank-Software GmbH Leiter Technologischer Vorlauf „Softwareentwicklung in der industriellen Praxis (SS 06)“ TUD, Fakultät Informatik Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Gastvorlesung am 08.05.2006 Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick Einführung Ziel der Lehrveranstaltung Vorstellung der Firma Robotron Vorstellung der Firma Oracle Ziel der Lehrveranstaltung Einführung in Systematiken Kurzvorstellung von Oracle- und Robotron- Produkten Anforderungen und Beispiele der Konstruktion von Informationssystemanwendungen Robotron Datenbank-Software GmbH Gründungsjahr: Mitarbeiterzahl: 1990 130 (Januar 2006) Stammkapital: 1,8 Mio. EUR Geschäftssitz: Stuttgarter Str. 29 01189 Dresden Tochterunternehmen: Robotron Prag seit 1993 Baden-Dättwil, Schweiz ISO 9001:2000 zertifiziert: Struktur Geschäftsbereiche Administration 6 Vertrieb 12 Schulung 9 Support 17 Consulting 86 Mitarbeiterentwicklung 150 140 130 115 120 110 100 95 118 122 126 2004 2005 101 90 80 70 60 50 2000 2001 2002 2003 Geschäftsfelder von RDS Entwicklung von Individualsoftware Branche und Bereich der Lösung sind nicht festgelegt (Öffentliche Verwaltung, Dienstleister, Industrie, ...) Technologie überwiegend Oracle-basiert, auf Anforderungen des Kunden erweitert (MS und Open Source) Entwickelte Kompetenz im Management von großen IT-Projekten (PM, QM, KM) Erstellung kompletter Systemlösungen aus selbst entwickelter Individualsoftware, Systemsoftware und Hardware Entwicklung von Software-Produkten für Branche Energie: – robotron*eacount – robotron*esales – robotron*SEA Entwicklung Java-Framework und Developer: robotron*eXForms Kompetenzen Systementwurf (Datenbank, funktionell) Daten- und Datenbank-Migration Systemintegration, Schnittstellen Objektorientierter Entwurf (UML) und Implementierung in C++ und Java Web-Design und Implementierung mit PL/SQL, PHP4, Perl und Java CMS mit Oracle-Technolgie und Fremdprodukten Data-Warehouse-Design und -Implementierung GIS-Design und -Implementierung Objektrelationale Datenbanken Verteilte und heterogene Datenbanken Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick Begriffe Konstruktion Informationssystemanwendungen (ISA) bei Google about 5 for Konstruktion Informationssystemanwendungen about 782 for construction "information system application". about 16 for Entwicklung Informationssystemanwendungen about 28 for Informationssystemanwendungen about 1,300,000 for Datenbankanwendungen about 956,000 for Entwicklung Datenbankanwendungen about 333,000 for Konstruktion Datenbankanwendungen about 74,500 for Softwarekonstruktion about 13,800,000 for Softwareentwicklung about 486 for "Konstruktion von Software". about 236,000 for "Entwicklung von Software". about 701,000 for "Software construction". about 203,000,000 for Softwaredevelopment „Konstruktion von Software“ betont Ingenieurdisziplin „Datenbankanwendungen“ weit häufiger als „ Informationssystemanwendungen“ Arten von Informationssystemen I Betriebliches Informationssystem Integriertes Informationssystem Information-Retrieval-System Datenbanksystem Fahrgastinformationssystem Handelsinformationssystem Interorganisationssystem Personalinformationssystem Produktionsplanung-und Produktionssteuerungsystem Raumbezogenes InfoSystem (RIS) Land- bzw. Geoinformationssystem (Landinformationssystem, GIS) Umweltinformationssystem Frage-Antwort-System Analytisches Informationssystem Management-Informationssystem (MIS) Arten von Informationssystemen II Personenbezogene Informationssysteme Expertensystem Knowledge Management System Netzinformationssysteme, Routenplaner etc. Groupware Data-Warehouse-System Forschungs-Informationssystem (FORIS) Technologisches Informationssystem (TIS) Planungsinformationssystem (PLIS) Administratives Informationssystem (ADIS) Politisches Informationssystem (POLIS) Monitorsystem (MONIS) Juristisches Informationssystem (JIS) Bürgerinformationssystem (BIS) Simulationssystem (SIMS) Krankenhausinformationssystem (KIS) Hauptmerkmal Informationssysteme Transaktionsbasierte Erfüllen Systeme ACID-Bedingung ACID beschreibt erwünschte Eigenschaften von Transaktionen bei Datenbanken oder verteilten Systemen ACID steht für Atomicity, Consistency, Isolation und Durability Transaktionsbasierte (CICS, SDO, …) Systeme nicht nur xDBMS Begriffsbestimmung ACID Atomicity (Atomizität/Atomarität) – Eine Transaktion wird entweder ganz oder gar nicht ausgeführt Consistency (Konsistenz) – Eine Transaktion hinterlässt nach Beendigung einen konsistenten Datenzustand Isolation (Isolation) – In Ausführung befindliche Transaktionen beeinflussen sich nicht gegenseitig Durability (Dauerhaftigkeit/Durabilität) – Das Ergebnis einer Transaktion ist dauerhaft Robotron-Datenbankanwendungen Bilddatenbank-Anwendungen mit robotron*BIDOK Ausfallsichere Echtzeitdatenbank-Anwendung Schiffsdatenverarbeitungssystem (SDVS) Verteilte Datenbankanwendung Fördermittelverwaltung Sachsen Data-Warehouse-Anwendung IS Gesundheitsberichtserstattung des Bundes Retrieval-Datenbankanwendung PROMIS E-Business-Lösungen Geo-Datenbankanwendung IS Gesamtstrassennetz Sachsen DB-Anwendungen für eLearning Hochleistungsdatenbank-Anwendung robotron*eacount Mobile Datenbankanwendung MAIS der SVS Sachsen Web-Datenbankanwendungen Entwicklung und Betrieb innerbetrieblicher Datenbank-Anwendungen Datenbank-Architekturen (xDBMS) Object Relational Database Management Systems (ORDBMS) Object Oriented Database Management Systems (OODBMS) XML Database Management System (XDBMS) Relational Database Management Systems (RDBMS) Database Management Systems 24.01.2005 - v6 Federated Database Management Systems (FDBMS) Distributed Database Management Systems (DDBMS) (SOA) Logical (Linguistical) Database Management System (LDBMS) Datenbank-Anwendungsklassen Relational Online Analytical Online Analytical Processing (ROLAP) Processing (OLAP) Business Multi Dimensional Online Intelligence (BI) Analytical Processing (MOLAP) Data Mining Fault Tolerant or Online Transactional Non Stop Database Prosessing (OLTP) Real-Time Data Base High Performance Database Datenbank-Anwendungsklassen 24.01.2005 - v12 Knowledge Data Base (Text) Retriaval Database Image (Picture) Database Multi-Media Database Spatial Database Internet (Web) Database Mobile/Wireless Database Anwendungsgebiete - Autoersatzteile Marktplatz Robotron*Vertrieb (Hannover) - Büroartikel (Oslo) E-Business - Goodax-Industriewarenbörse (Hamburg) - Systembolaget (Stockholm) - Weartical-Arbeitsschutzbekleidung (London) AMD LMS Infineon Equipmentdatenbank CRM E-Government KIS Dresden Wahlinformationssystem Fördermittelverwaltung CMS/KMS/Portal Anwendungsgebiete Mikroelektronik Onko-DB Dresden IS-GBE ENN-ICS 24.01.2005 - v11 Gesundheitswesen Energie SAB-Intranet PROMIS Robotron*Portal Robotron*e-portal Robotron*Störungsverwaltung Robotron*e-count Robotron*e-sales Bauwesen Banken/Versicherungen HEXAL AWD Chemie und Pharmazie Transport und Verkehr Bautagebuch ObjectCost SAB-Intranet SVS MAIS PADL VB Halle SDVS Nord/Ostsee Ende Konstruktion von ISA heißt: Verfügbarkeit erprobter Methoden Leistungsfähige Entwickeltes Werkzeuge Knowhow der Mitarbeiter Æ Denn: „A Fool with a Tool is still a Fool“ Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick Oracle DB-Technologieführerschaft 1979 1983 1984 1987 1988 1994 1995 1996 1997 1998 1998 1999 2000 2001 2001 2003 First commercial SQL relational database management system First 32-bit mode RDBMS First database with read consistency First client-server database First RDBMS with SMP support First commercial and multilevel secure database evaluations First 64-bit mode RDBMS First to break the 30,000 TPC-C barrier First Web database First Database with Native Java Support First database to break the 100,000 TPC-C barrier First RDBMS ported to Linux First database with XML First middle-tier database cache First RDBMS with Real Application Clusters First True Grid Database Paradigmenwechsel 2003 - 2xxx Grid Computing (SOA) 1997 - 2002 Network Computing 1990-1996 Client/Server 1965-1989 Monolitisch Oracle-Datenbank-Produkte: Basis der Datenbank-Anwendungen ORDBMS Oracle 10g – Technologie für GridComputing Oracle Application Server 10g Oracle Fusion Middleware Oracle Tools Ergänzungen durch Robotron-Entwicklungen Oracle 10g - Technologie für Grid Computing Grid-Vision Computing als ein Service (Utility) – Ein Netzwerk von Clients und Service-Providern Client-side: Einfacheit – Anforderung und Bereitstellung von Informationen und Informationsverarbeitung Server-side: Leistungsfähigkeit – Availability, Reliability, Security – Kapazität nach Bedarf, Lastverteilung Virtualisierung – Service ist höchste Steigerung zu virtual – Massives Potential Technologietrends für Grid Computing Blades: Alle großen Hersteller bieten sie an – Großer Kostenvorteil – Software unterstützen Blad-HW – Dell PowerEdge, HP Proliant BL, Sun Fire Blades, Fujitsu Primergy BL Linux: Das am schnellsten wachsende OS – Standard-Software-Produkt – Blades werden unterstützt – Linux und Blades ergänzen sich gegeneinander NAS (Network Attached Storage), SAN (storage area network) und IB (InfiniBand) unterstützen den Speicherzugriff für Blades Hardware für Grid Computing Grid: Die nächste große Innovation Grid Computing aus ökonomischer Sicht – Beseitigung der Inseln schlecht genutzter Ressourcen Grid Computing keine Einzelaktivität – Alle großen Hersteller bieten Grid-Technologie – “Virtualization”, “Utility Computing”, “On-demand Computing” – Grid Standard Organisationen: Global Grid Forum (GGF) – Globus Toolkit: Grid-Standard-Referenz- implementierung – Oracle Globus Development Kit (OGDK) 6 Grid: Die nächste große Innovation Wachsende Die Akzeptanz in IT-Abteilungen nächste Phase des Internets: – Presentation: Web – Computation: Grid – Das Grid nimmt die gleiche Entwicklung wie das Web: Von der wissenschaftlichen zur kommerziellen Anwendung Alle Trends zusammen bewertet: Grid Computing ist nicht aufhaltbar 9 Oracle Grid Computing Speicher-Grid Application-ServerDatenbank-Grid Grid GridControl Koordinierte Nutzung vieler kleiner Server, die wie ein großer Computer agieren. Oracle 10 g Oracle Database 10g – Speicher-Grid Problem: Inseln von Speichern … – “Mein Speicher ist zu 50% genutzt und wächst 30% pro Jahr” Lösung: Gruppen von modularen StandardDisks – Konsolidierte Netzwerkspeicher … Speicher-Grid: Höchster Datenschutz bei geringsten Kosten Data Guard Flash Recovery Area Flashback Human Error Protection ASM Mirroring Storage Failure Protection Corruption Protection Site Failure Protection Datenbank-Server-Grid Problem: Inseln von Computern – “Meine Server sind zu 15% genutzt“ Lösung: Gruppen von Industrie-StandardServern – Geringste Kosten, höchste Performance – Capacity on demand … … … Big Tablespaces Oracle10g unterstützt 128 PB Daten-Files – 4 T Blöcke x 32K Blocklänge – Einfacheres Verwalten und Übertragen von Transporting Tablespaces – Vereinfachtes Speicher-Management Ultra Large Database Support – Large Files erhöhen die maximale Datenbankkapazität auf 8 Exa Bytes (64K Daten-Files x 4 T Blöcke x 32K Blocklänge) – Adäquate Datenmenge zur Verarbeitungsleistung des Grid Datenbank Web Services Web Services Consumer – Java Classes, PL/SQL, Triggers rufen externe Services – Web Services betrachtet als SQL-Datenquellen Web Services Provider – Datenbank-Query über Web Service – Ausführung von Messaging-Operationen – DML Web Services – Call PL/SQL, Java Full XML Support in der Datenbank Anwendungsgebiete XML-DB Variable Darstellung von Informationen Medienneutrale Austausch Dokumente von Datenbankinhalten Speicherung daten- und dokumentzentrierter XML-Dokumente Beschreibung komplexer Dateninhalte (MathML, CML, XHTML, SVG, ...) Informationsrecherche XML-Datenbank versus relationale Datenbank XML im (objekt-) relationalen DBS: Nachteile: – Komplexe hierarchische Strukturen können nicht abgebildet werden – Kommentare und Bearbeitungshinweise gehen beim Mapping verloren – Sperrmechanismen kompliziert Vorteile Oracle XML DB: – (objekt-) relationale DBS bleiben wichtig für Geschäftsdaten – Parallele Nutzung relationaler und XML-Datenbank Oracle Application Server 10 g Integrierte Middleware-Plattform Any Data Source Clustering & Caching Management & Security Enterprise Portal Web Services Wireless & Mobile B2B Integration Application Integration Rapid Application Development Business Services Framework Business Intelligence SOA mit Oracle Technologie Oracle Fusion Was ist Oracle Fusion? Oracle’s Strategy Oracle Fusion Architecture – Blueprint for SOA-based Enterprise Solutions Oracle Fusion Middleware – Technology Infrastructure for Fusion Architecture Oracle's 'Project Fusion' Application – Protect, Extend, Evolve through Fusion Architecture Oracle Fusion Middleware Topology Svcs. JMX Console Portals Wireless OCS OWB Discoverer BAM Business Processes BPEL Process Manager B2B Orchestration Pre-built Business Flows Data Hubs and Integration Enterprise Service Bus Oracle Data Hubs 200+ Adapters SSO SOA Run time Web Services Event Services Enterprise Grid Rules Engine Federated IDs J2EE User Prov. ASLM Information Access and Insight Security and Identity Management Application Development Framework Jdeveloper Dir. Integration Lifecycle Mgmt. Development Environment OID Systems and Applications Management A Complete SOA Platform Best for Heterogeneous Environments Support for Key Standards and Third Party Products 1. SOA Development – 2. SOA Deployment – 3. JSR 168, WSRP, XHTML, J2ME, WML Integrated, Open Security and Identity Management – 7. BPEL Support, Broadest Industry Protocol Support Rich, Personalized Information Access and Insight – 6. Extensive Standards Based Applications Connectivity Standards: JCA, JMS, WS, XSLT Process Orchestration – 5. Deploy to Weblogic, WebSphere, Jboss, .Net Standards Based Integration and Information Quality – – 4. J2EE IDEs and Frameworks: Eclipse, Borland, Spring, IntelliJ IdM for 3rd party Apps, App Servers, Portals; Standards: LDAP, WS-Security, SAML, Liberty Systems and Applications Management – JMX, WS-Management; Manageable by Third Party Mgmt Platforms Oracle Fusion Middleware Eco-System Multi-channel Access Browsers, Wireless, PDAs.. Application Servers Weblogic AS .Net WebSphere AS JBoss Dev. Tools and Framework Information Access and Insight Process Orchestration Data Hubs and Integration SOA Run time Enterprise Grid Databases Oracle IBM DB/2 Sybase Informix TP Monitors, Messaging Tuxedo MQ, Sonic CICS, IMS Tibco Security and Identity Management System Mgmt HP Openview CA Unicenter IBM Tivoli BMC Systems and Applications Mgmt. Development Tools Eclipse, Borland Spring, IntelliJ IM Systems Microsoft AD Sun LDAP Oracle Apps E-Business Suite PeopleSoft JDE Retek Fusion Other Apps SAP Siebel Legacy ISVs Partner Systems RosettaNet, EDI Swift, AS2.. Oracle Fusion Architecture 9 Model driven Unified Portal Business Intelligence Activity Monitoring Business Process Orchestration Process models BPEL engine Fusion Service Bus MultiMulti-protocol routing Message transformation Services and Event Mediation Fusion Service Registry Application Integration Services Process Integration Services Data and Metadata Services Oracle Apps Custom Apps ISV Apps Grid Computing Clustering Clustering Provisioning Provisioning Data Data Management Management Identity Identity Management Management Security Security Configuration Configuration Directories Directories Web Web Cache Cache 9 Service & Event enabled 9 Standards-based 9 Information Centric 9 Grid Ready Service-Oriented Architecture Integrate Orchestrate Develop Analyze Access Deploy Optimize Manage Secure Oracle Fusion Middleware Development Tools Design Applications Develop J2EE Apps Develop Business Processes Develop DBMS Schemas Profile, Debug, Optimize Deploy & Manage Enterprise App Server Interoperability WS WS WS WS WS WS WS R P E M O C/ A V I S / L WS D E F E WS I D N C C T R T RX Y WS WS WS T SEC C R C T U O X S N T T V SOAP, WSDL, UDDI, WS-I Transactionality J S P S E R V L E T E J B J N D I J M S J C A J2EE 1.4 Application Server J T A J M X Enterprise Service Bus Routing QOS Transform Enterprise Service Bus WSDL WSIF JCA REST Rules Business Process Management - BPEL Optimize Design Routing Monitor QOS BPEL CEP Workflow Enterprise Service Bus WSDL WSIF JCA REST Rules Business Process Management - BPEL Business Activity Monitoring Data Hubs – Operational Data Enterprise Service Bus Microsoft Siebel e-Bus Suite JD Edwards SAP ISV Apps Business Intelligence – BI & BAM Bus. Events Correlation BAM Filtering Hubs ESB BAM ESB Discoverer OLAP OLTP Relational DSS ETL BI Portal Reporting Data Mining MSFT Excel Bus. Intelligence DW Collaborative Portal BI & BAM Presence & Personalization Process Mgmt. Services Bus. Process Web Collaboration Services Portlet Framework Mobile Apps & Web Sites JSR-170 Service Catalog Service Assembly Fwk. Virtual Content Repository Desktop JSR-168 WSRP Fusion Middleware Content Stores Desktop Access MSFT Outlook Alerts & Notifications Bus. Processes Apps MSFT InfoPath Data Sources MSFT Word Analytics Fusion Middleware MSFT Excel Data Fusion Identity Management User Enrollment Oracle Fusion Apps. Instances OracleAS Portal User Browser Account Provisioning Engine Directory Synch Engine OracleAS SSO OID Partner Web App. User Provisioning Console Oracle Identity Management HR App Systems Management Activity Monitoring Process Monitoring Apps Event Correlation Fusion Middleware Business Process BAM Correlation End User Monitoring Business & System Events Service Level Monitoring Resource Monitoring Enterprise Mgr Enterprise Manager Hosts Integrate Open Source Framework und visuelle Tools Oracle Application Development Framework Oracle JDeveloper 10g – Visuell – Standardbasierte Patterns – Deklarativ – Service-orientierte Architekture – Synchronisiert Rich Clients Web and Wireless Clients Controller Model Business Services Flexibilität von J2EE und Open Source – Produktivität des RAD ADF-Architektur Rich Client Web / Wireless Swing / JClient JSP ADF UIX Struts View JSF Controller ADF Controller Model ADF Metadata Services ADF Bindings JSR 227 ADF Data Control Java Classes JDBC EJB Session Beans TopLink Queries Java Classes ADF Business Components Service Object EJB Finders EJB Entity Beans TopLink Mapping Web Services ADF Business Components Query Object ADF Business Components Entity Object Data Access Persistent Business Objects Business Services Oracle HTML DB Neu "Oracle Application Express" Die schnelle Entwicklungsumgebung Lösung: Oracle HTML DB Die Vorteile einer Einzelplatzdatenbank …. – Einfache Bedienung – Schnelle Ergebnisse – Flexibilität … kombiniert mit einer zentralen Datenbank – Sicherheitskonzepte – Datenintegrität – Skalierbarkeit – Verfügbarkeit durch Web-Technologie überall verfügbar ! Kein Ersatz für: – Oracle Portal (aber integrierbar) – kein Ersatz für Oracle Enterprise Manager Ersatz für: – MS Access – Lotus Notes – PC Datenbanken Arbeits/Projektgruppe – Oracle Internet Developer Suite (Forms, Reports und JDeveloper) Verteilung Unternehmen Abgrenzung und Positionierung J2EE/Portal HTML DB MS Access pragmatisch Ansatz strategisch Oracle Enterprise Manager 10g Oracle Collaboration Suite 10g Oracle E-Business Suite 11i Oracle Oracle iAS Oracle iAS Application Server 10g Grid Control Andere Applikationen Oracle10i Oracle10i Oracle Database Database Database 10g Zusammenfassung und Ausblick Beginn des kommerziellen Grid Computing Erweiterung des Konzepts der Virtualisierung Praktisch unbegrenzte Speicher- und Verarbeitungs-Ressourcen: Computing als Service: Æ “Utility Computing” Systembasis: Blade-Systeme unter Linux und Speichernetzwerke (NAS, SAN, IB) Standardisierung der Grid Middleware (GGF) Beherrschung der gewachsenen DB-Komplexität durch Management-Tools und Selbsttuning der DB Erweiterung von SQL und PL/SQL Strategische Ausrichtung der Anwendungsentwicklung mit J2EE Æ 10g AS Forms-zu-Java-Migration - Klassifikation - REVERSE ENGINEERING TOOLS Oracle Designer – Forms-Reverse Funktionalität des Designer – Für Forward Engineering: Generieren von Java-WebAnwendungen mittels JHeadstart – Forms/HTML/JSP-Generierung nur bedingt anwendbar CAST Application Mining – Erstellung einer Dokumentation – Strukturelle und funktionelle Verbesserungen ArtinSoft Code Analyser – Parser für Forms- und PL/SQL-Quellcode – Hinweise auf nicht konvertierbaren Code PLStruct- und PL/SQL2Java-Struktur PL/SQL Source Code OO extended PL/SQL Source Code Application Repository PLStruct Analysis PL/SQL2Java Converter PLStruct Repository Conversion Repository PLStruct Generation Java Source Code Konstruktion von DDBMS-Anwendungen mit robotron*Replication Tool zur deklarativen Erstellung von OracleReplikations- und Synchronisationsanwendungen 1997: Replikationslösungen für eine ausfallsichere Echtzeitdatenbank der Schiffsdatenverarbeitung (SDVS) 2003: Erstentwicklung in Oracle Forms in Verbindung mit Replikationslösung für RWE Oracle Standard-Replikation nicht immer anwendbar Æ Tool-Eigenentwicklung Vielzahl von Replikationslösungen für IndividualSoftwarelösungen Klassifikation der Replikation Verbindungsstruktur Klassifikation der Replikation Anwendungen Internet Bus Data Warehouse Stern Mobile Computing Punkt-zu-Punkt Ausfallsicherheit Zeitverhalten Kooperationsregeln TransferProtokolle SynchronisationsProtokolle Konfliktlösung Manuelle Ausführung Realtime synchron/ asynchron Socket 2-PhasenCommit Vermeidung/ Fragmentierung Export /Import Nahe Realtime Batch-Lauf FTP symmetrisch/ asymmetrisch DB-Link Web-Sevices 3-PhasenCommit Konfliktauflösung Tabellen kopieren ToolSupport Welche Projekte wurden und werden realisiert? 2003: Replikation von der ecount-ProduktionsDB zur Präsentations-DB in der DMZ 2003: TLUG-Projekte „Eigenkontrollüberwachung“ 2005: Hochwasservorhersagezentrale MD/HAL 2005: Wahlinformationssystem Sachsen robotron*eXForms Informationssystemanwendungen mit dem Java und XML basierten Framework robotron*eXForms robotron*eXForms Informationssystemanwendungen mit dem Java und XML basierten Framework robotron*eXForms Frameworks Bereitstellung von Standardkomponenten Schnittstellen zur Ergänzung von individuellen Komponenten Vorteile: – Wiederverwendbarkeit von Standardkomponenten – Einheitlichkeit (Strukturierung der Anwendung) Nachteile: – Einarbeitungsaufwand und Abhängigkeit ZIEL: Konzentration auf die eigentliche Anwendungsentwicklung robotron*eXForms eXtensible Forms Framework zur Entwicklung datenbankbasierter Unternehmensanwendungen Klare Trennung von GUI (XML) und Geschäftslogik (Java) XML als Beschreibungssprache JAVA für die Geschäftslogik Anforderung der Kunden Entwurf von DV-Systemen zur Eingabe und Pflege umfangreicher Datenbestände mit der Charakteristik einer Webanwendung Analyseergebnisse aus allen Phasen bleiben erhalten und werden aktiv in einem Repository gepflegt Einfach erweiterbare/pflegbare Datenstrukturen Einfacher Entwurf von Datensichten (Masken und Reports) Von der prototypischen Implementierung bis hin zur fertigen Maske Sonderanforderungen außerhalb robotron*eXForms werden unter anderem in Java umgesetzt Æ Konzentration auf „Arbeit mit dem Kunden“ Vorteile der Entwicklungsplattform Basisfunktionalität der Anwendungen ist grundsätzlich gleich und generisch implementiert (RAD) Anwendungsspezifische Geschäftslogik ist vom Framework getrennt Masken und Anwendung sind „entkoppelt“ GUI-Elemente sind in XML beschrieben Die Clients sind nicht anwendungsspezifisch Testsuite zum automatischer Test der Anwendung Benchmarksuite zum Finden von Engpässen und Designschwächen Monitoringkomponente für den Systemzustand Validierung der Anwendung nach Modellveränderungen Æ effizientes Arbeiten Ziele Modellbasierte, generative Entwicklungskomponenten und Werkzeuge für den architekturorientierten Entwicklungsprozess (MDA/MDD) Entwurf von Oberflächen und Berichten aus der Modellbeschreibung Flexibler Datenaustausch mit externen Systemen und bei der Datenintegration Keine Einschränkungen bei Client-Typen (Applet, HTML, WAP, etc.) Standardisierte und bewährte Komponenten und Technologien von Open Source bis High End je nach Komponenteneinsatz Æ Hochverfügbarkeit und Skalierbarkeit der Anwendung bei wachsenden Nutzerzahlen Methodik – Software Life Cycle Anwendungsgenerierung • Fachliches Datenmodell mittels UML • Definition der Abläufe • Oberflächenelemente • Konfiguration der Anwendung • Kundenspezifische Geschäftslogik • Einbindung von Altsystemen • Geschäftsprozeßanalyse • Bereitstellung der Anwendung Methodik – Ergebnis Projekte werden mit einer klaren Rollenverteilung durchgeführt Hohe Softwarequalität und Revisionssicherheit durch die Vorgabe eines Implementierungsrahmens Reduzierung der Komplexität auf die projektspezifische Geschäftslogik robotron*eXForms Module: eXFormsWebclient Projekt- eXFormsGUISwing Editor eXFormsclient monitor spezifsch eXForms-access eXForms-data JDBC Datenbank eXFormstools EJB Datenbank Programmierfreie Softwareentwicklung – was bietet Robotron Seit Jahren werden Tools für Teilfunktionen der Anwendungsentwicklung geschaffen: - Zugriffsverwaltung - Relationenverwaltung - Projekt-Versionsverwaltung - DBA-Info - SmartLoad - OraDBaseForms- Echtzeit-SQL-Loader - Tabellenzuordnung - Interface (ifcOra) - Konvertierung von PL/SQL in Java - Generierung von PDF-Reports aus HTML-Masken Aufbauend auf diesen Erfahrungen wurde das Tool robotron*SAB entwickelt, das alle Phasen der Softwareentwicklung abdeckt eXForms-Developer Datenbankwerkzeug – Anlegen von Datenbankobjekten Anwendungsgenerator – Erstellen von Anwendungen zur Bearbeitung der Daten Entwicklungswerkzeug – Unterstützung bei der Entwicklung von eXForms-Anwendungen – Gui-Builder Berichtwerkzeug – Erstellen von Auswertungen und Berichten auf Basis von Microsoft Excel und ODBC Anwendungsgenerierung Erstellung von Anwendungen nur durch Spezifikation Anwendung besteht aus Meta-Daten Anwendungsgenerator trägt die Verantwortung für Konsistenz und Korrektheit der Anwendung einfach und schnell – 5-Minuten-Anwendung – Prototyping Geringe Vorkenntnisse erforderlich – „Power User“ innerhalb der Fachabteilung Begrenzter Funktionsumfang Abdeckung von Standardfällen GUI-Design Definition der GUI-Komponenten in XML-Dateien • Beschreibung der GUI-Komponente • Typ [1] • Textfeld, Button-Group, Tabelle,... • Layoutinformationen [2] • Style, Position, Größe,... • Datenquelle [3] • Liste, Datenbankfeld, Datei,... • Berechtigungsinformationen • Action-Bindings [1] [2] [3] GUI-Design Unterteilung der GUI-Komponenten in • Navigations-Komponenten (Menu [1], Bäume [2], Tabellen) • Daten-Komponenten [3] [1] [2] [3] Nutzen für den Kunden Plattformunabhängig durch Java Investitionsschutz durch standardisierte State of the Art-Komponenten Entwicklungsplattform für weitere Anwendungen Schnelle Realisierung von Änderungsanforderungen Hohe Skalierbarkeit Hohe Ausfallsicherheit Einarbeitung und Mitwirkung von Mitarbeitern des Kunden Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick Qualitätsmanagement Projekte für Informationssystemanwendungen Projektmanagement Softwareerstellung Qualitätssicherung Konfigurationsmanagement Standardisiertes Vorgehen V-Modell Oracle*Method OO, UML, SO Referenzmodelle Projektmanagement plant, kontrolliert und steuert die projektinternen Tätigkeiten bildet die Schnittstelle zu projektexternen Einheiten ist der Projektrepräsentant gegenüber dem AG und dem Anwender bildet das Informationszentrum des Projektes Projektmanagement Aktivitäten und Produkte PM 7 Risikomanagement PM 1 Projektinitialisierung Projekthandbuch PM8 Kontrolle/Steuerung Projektplan PM 9 Informationsdienst/Berichte periodisch Berichtsdokumente PM 11 Schulung/Einarbeitung PM 12 Bereitst. v. Ressourcen PM 15 Projektabschluß Projekt PM 13 / 14 Verg. Arbeitsauftr./ Einweisung d. Mitarbeiter Arbeitsauftrag Arbeitsabschnitt Softwareerstellung Entwicklungsprodukte auf Systemebene: – Anwenderforderungen, Techn. Anforderungen – Systemarchitektur – Schnittstellenbeschreibung – Integrationsplan Entwicklungsprodukte auf Softwareebene: – SW-Architektur – SW-Entwurf – Module, Datenbank, Implementierungsdokumente – Betriebsinformationen Softwareerstellung Aktivitäten und Produkte Anwenderforderungen SE 1 SystemAnforderungsanalyse und -Entwurf Systemarchitektur Schnittstellenbeschreibung SE 2 SegmentAnforderungsanalyse und -Entwurf SE 3 SW-/HWAnforderungsanalyse Wartungskonzept Technische Anforderungen Softwarearchitektur SE 4 Software-Grobentwurf SWE5 Integrationsplan Konfigurationsmanagement Aktivitäten und Produkte KM 1 KM-Planung Produkt Änderungsantrag KM-Plan KM 2 Produkt- und Konfigurationsverwaltung KM 3 Änderungsmanagemen t PM Projektbibliothek KID KM 4/5 KM-Dienste Protokoll PM / QS Qualitätssicherung Aktivitäten und Produkte QS 1 QS-Initialisierung PM QS-Plan/Prüfplan QS 3 Prüfung vorbereiten QS 5 QS-Berichtswesen Prüfspezifikation Prüfprozedur QS 2 Prozeßprüfung QS4 Produktprüfung Prüfprotokoll PM Projektspezifisches V-Modell Maßnahme: Reduzierung des generischen V-Modells auf diejenigen Regelungen, die für das konkrete Projekt aus sachlichen Gründen notwendig sind TAILORING Ergebnis: Teilmenge des V-Modells = Projektspezifisches VModell im Projekthandbuch Projektspezifisches V-Modell Streichbedingungen der Implementierungsund Einführungsphase: Aktivität SWE 6 SW-Implementierung SWE 7 Softwareintegration SE 8 Segmentintegration SE 9 Systemintegration SE 10 Überleitung in die Nutzung Bedingung Einsatz eines Fertigprodukts Keine Teilstrukturen vorhanden Keine Segmentebene vorgesehen Das QM-System im Robotron-Intranet Vertrautmachen mit dem QM-System Planung und Durchführung von Projekten Planung von Projekten Faktoren des Projekterfolgs Unterstützung der funktionalen Anforderungen und deren Realisierbarkeit Unterstützung der integrierten Komponenten Unterstützung von Administration und Import-/UpdateManagement Gewährleistung der Sicherheits- und Performanceanforderungen (nichtfunktionale Anforderungen) Kompromiss zwischen Wunsch und Machbarkeit (realer Anspruch) im magischen Dreieck: Anforderungen, Zeit, Kosten Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick robotron*BIDOK robotron*BIDOK: Einsatzziele Speicherung von Sachinformationen zu beliebigen elektronischen Dateien in einer strukturierten, recherchierbaren Form Herstellung einer dauerhaften Verbindung zwischen Text- und Binärdaten (Dateien beliebiger Fremdprogramme) Bedarfsorientierte Bereitstellung von Textund Binärdaten robotron*BIDOK: Workflow New York Times Listen Paul of Paul of and Jerry. mchildr and Try their en and Listen Jerry. of software of Paul with all Paul you mchildr your might and Jerry. Try shall en and and and order Try their their Listen software pizza Jerry. of Paul hear you all of with Paul cause we softwar mchildr Tryare your might and Jerry. the going and Try their shall e with and to work all and order software midnig hear en their pizza night. Jerry. all your with all yousoftwar cause we ht ride the Tryare your might Listen my going mightshall and order e with of Paul midnig childrentheir to work all and hear pizza you night. alland your and softwar cause we ht ride order shall Listen my are going Jerry. of Paul themight hear thee with children to work all pizzamidnig and Try midnightalland you night. your andcauseht ride ride of order their Jerry. shall Listen my might Paul and we are of Paul hear the children pizza softwar Try Jerry. Try and midnight and you going their e with their andcause ride of order shall to work wesoftware Paul and are all your softwar Jerry. with all pizza hear the Jerry. Try all your midnight might e with Trygoing their cause ride of night.their to work software Paul and are all all your softwar wewith Jerry. Try all your going might e with their night. to work software all your with all all your might night. New York Times New York Times Bereitstellung der Originalbilder Dateien Dig Sachdaten it ng u r ie s i l a Eingabe Erf as ch su erc ng he Ausg abe Re A ng u r e g usla robotron*BIDOK: Trefferanzeige - Bildauswahl Leuchttisch robotron*BIDOK: Einsatzfälle Museum Stadt Meißen LKA Sachsen Atomkraftwerk Reinsberg Staatlicher Mathematisch-Physikalischer Salon Dresden Landesamt für Umwelt und Geologie Medienpädagogisches Zentrum Potsdam Staatliches Museum für Völkerkunde Dresden Fotothek SLUB Schiffsdatenverarbeitungssystem SDVS Ausfallsicherheit und Real-time Replication Anforderungen 24*7*52*X-Betrieb Es können Komponenten ausfallen, aber nicht das ganze System Hot-stand-by-Betrieb der Server Transaktionssicherheit Automatisches Failover von Clients auf den laufenden Server Hohe Geschwindigkeit Schnelle Lösung von Kommunikationsproblemen Automatische Synchronisation von wiederhergestellten System Verfügbarkeitsebenen % Uptime Max Downtime Availability 99% 3.5 days/year Conventional 99.9% 8.5 hours/year High 99.99% 1 hour/year Fault Resilient 99.999% 5 minutes/year Fault Tolerant Replikation einer Hot-Standby-Lösung Standby Input Data Replicated Data Acknowledge Watch Stand-alone Input Data Replicated Data LOG Watch SDVS 2000-Architektur (interne Schnittstellen) KPC/TMSInterface KPC FTP-Link SMA Weg/Zeit-Bild WZB SMA RDP Datenbank DBZ Datesichtgerät DSI, DSE, DSL Statistik Mail-Server STK STK Replay RPY/DSO REC ZDB Zentrale DB SDVS-WEB SDVS 2000 Externe Schnittstellen TMSKomponenten RDPKomponenten Koppel-PC Nachbar-SDVS TCP/IP SDVSKomponenten Externe SDVSNutzer TCP/IP ORACLE8Datenbank Netz der Verkehrszentralen SMD SDVS Gateway ISDN Hafen HH ISDN HRO Ethernet X.21 Anmeld ISDN VZ BRB Lotsen VZ CUX ISDN Ethernet SDVS WEB NKB VZ WHV ISDN ISDN ISDN VZ BHV Lotsen NKK WSA-HH Extranet X.21 Hafen BRE ISDN X.21 Lenkung NOK VZ BRE X.21 X.21 Lotsen Externer Support FVT EMD Startbild SDVS-Manager BIT Informationssystem Gesundheitsberichterstattung des Bundes IS-GBE Representation of Components of the Health Service with its Content and ist Relations: 4 comprehensive (Commom Representaion) 4 actual (Actuality) 4 simple (Transparency, Interaktivity) Health Monitoring System R e la tio n a le O r a c le D a te n b a n k (Datenverwaltungssystem) Other Applications WWW-Server Multidimensionale Oracle Express Datenbank (OLAP-System) Recherche- und Analyse Administrators (Software Architecture) Datenmanagement IS-GBE Users IS-GBE: Fortgeschrittenes OLAP “Klassisches” OLAP – Anwendung in Produktion, Marketing, Absatz – schwach hierarchische Dimensionen (bzgl. Tiefe und Anzahl von Hierarchien) – sehr einfache Interpretation (NA / Ausreißer) Fortgeschrittenes OLAP – viele Hierarchien und Dimensionen (==> hohe Anforderungen an die Aggregation; Aggregation über mehrere Hierarchien) – sehr umfangreiche Dimensionen (z.B. International Classification of Diseases ICD) – fortgeschrittene Bewertungskriterien für Zahlen (unbekannt, sinnlos, statistische Sicherheit/Unsicherheit, Schätzungen, geheime Zahlen) über definierbare Regeln – Fußnotenverwaltung (Definition, Generierung, Vererbung) – Einbeziehung von Berechnungsregeln als zusätzliche Dimension – Kombinierbarkeit und Analyse relativ unabhängig von Grunddaten aus verschiedenen Datenquellen (evtl. mit unterschiedlichen Hierarchien) eBusiness-Lösungen: Referenzen Statistisches Bundesamt www.gbe-bund.de (Gesundheitsberichterstattung) Mitwirkung an INTERSHOP-Lösungen: Autoersatzteile Marktplatz (Hannover) Büroartikel (Oslo) Goodax-Industriewarenbörse (Hamburg) Systembolaget (Stockholm) Weartical-Arbeitsschutzbekleidung (London) Medienpädagogisches Zentrum Land Brandenburg Sparkassen-Versicherung Sachsen Statistisches Landesamt des Freistaates Sachsen eBusiness-Lösungen: Referenzen Statistisches Bundesamt www.gbe-bund.de (Gesundheitsberichterstattung) Mitwirkung an INTERSHOP-Lösungen: – Autoersatzteile Marktplatz (Hannover) – Büroartikel (Oslo) – Goodax-Industriewarenbörse (Hamburg) – Systembolaget (Stockholm) – Weartical-Arbeitsschutzbekleidung (London) Medienpädagogisches Zentrum Land Brandenburg Sparkassen-Versicherung Sachsen Statistisches Landesamt des Freistaates Sachsen Anwendungen des Mobile Computing Fall 1: Migration der Forms-Anwendung robotron*Vertrieb zu mobiler Anwendung Manuelles Reengineering in JFC-Anwendung Replikationslösung zwischen Oracle Lite 8i und zentraler Oracle 8i DB Fall 2: Migration einer PL/SQL-Web-DB-Anwendung zu mobiler Anwendung Automatische Konvertierung von PL/SQL-Servlets in Java-Servlets Anpassung der Replikationslösung von Fall 1 Fall 3: Erweiterung der Anwendung Fall 2 um XML-basierte Masken und Reports Spezifikation in UML und Generierung der Anwendung mit robotron*eXForms (siehe www.robotron.de) Erweiterung der Replikationslösung von Fall 3 Konvertierung der Java-Servlets nach XML-GUI-Spezifikation robotron*eXForms-Anwendung Anwendunglandschaft der SVS HTTP HTTP, HTTPS IAS Tomcat HttpServer MaisSe rvlet OC4J MaisSer vlet MAIS (eXFor ms) JDBC JDBC DA T JDBC KAT MOBI L INET MAIS (eXForm s) IDA (eXFor ms) JDBC JDBC MAIS2 APPL 2 MAIS Als zentrale Lösung mit einer Datenbank und gleichzeitig als MobilVersion mit zwei physisch getrennten Datenbanken (ohne DatabaseLink!) im Einsatz Zwei Funktionsbereiche: – Bestandsführung (Standardfunktionen) • Spezielles generisches Lesen/Speichern – Angebotsrechner • Sehr viele Plausibilitäten, Berechnungen, Ablaufsteuerung, ... • Generisches Lesen z. T. möglich • Generisches Speichern nicht möglich • Sehr komplexe FormHandler zur Realisierung der Geschäftslogik Einsatzgebiete (Auszug) HEXAL AG: im Rahmen von Beratungsleistung zur Erstellung von Spezifikationen und Prototypen (619 Seiten + 131 Masken + 5 prozessbezogene Bäume) Sparkassenversicherung Sachsen: System zur Kunden- und Vertragspflege im Innenund Aussendienst (ca. 150 Masken/400 zeitgleiche Nutzer), Rich Clients mit Replikation für den Aussendienst Medizinische Akademie Dresden: Modellprojekt für die Früherkennung gastrointestinaler Tumor, PDF-Formulardruck Verband der Netzbetreiber (VDN): Prüfprogramm für die neue VDN-Statistik und Störungserfassung nach Schema A RWE Net AG: Zählstellenverwaltung und Callcenter-Anwendung „Workflowbasierter Zählerein/-umbau“ Staatsbetrieb Sächsisches Immobilien- und Baumanagement : Gemeinsame Objektdatenhaltung mit GIS-Kopplung AMD (Advanced Micro Devices, Inc): Laborinformationssystem für Materialanalyse Informationssystem Hochwasser-Vorhersagezentrale Magdeburg/Halle 'Coastal Surveillance System’ Portugal für EADS Geo-Datenbankanwendung IS GesamtstrassennetzSachsen KOMMUNE LAND IS GSN Oracle Spatial als Datenhaltung für Vektordaten OpenGIS-Konformität von Daten und Visualisierung Generisches, parametrisierbares Datenmodell für Fach/ (Sach)daten XML als Grundlage für Kommunikation zwischen Schichten und Anwendungsmetadaten Java als Programmiertechnologie in Mittel- und Clientschicht Nutzung von Java in verschiedenen Formen (Servlets, JSP, EJB) für Funktionen Java-Client als IS GSN Internet Client Aufruf aus Browser mit Java Web Start Technologie EU-Projekt PROMIS Textsuche mit der Oracle Retrieval Database Oracle Text eTEN-Projekt ENN-ICS European Neurological Network – Interactive Communication System Re-engineering von CBT-Kursen früherer EU-Projekte Re-engineering des eLearning-CMS Processes of e-learning content development and deployment Architecture of the Distributed Content Management System LMS Atos e-learning platform: System overview Distributed Content Management System Anwendungen des Mobile Computing Fall 1: Migration der Forms-Anwendung robotron*Vertrieb zu mobiler Anwendung Manuelles Reengineering in JFC-Anwendung Replikationslösung zwischen Oracle Lite 8i und zentraler Oracle 8i DB Fall 2: Migration einer PL/SQL-Web-DB-Anwendung zu mobiler Anwendung Automatische Konvertierung von PL/SQL-Servlets in Java-Servlets Anpassung der Replikationslösung von Fall 1 Fall 3: Erweiterung der Anwendung Fall 2 um XML-basierte Masken und Reports Spezifikation in UML und Generierung der Anwendung mit robotron*eXForms (siehe www.robotron.de) Erweiterung der Replikationslösung von Fall 3 Konvertierung der Java-Servlets nach XML-GUI-Spezifikation robotron*eXForms-Anwendung Entwicklung von robotron*eacount Start im 1999 mit Analysen des Energiemarktes und des Projektes GEORGE und 6 Mitarbeitern ... ESAG/DREWAG-Ausschreibung und Realisierung ecount R1 EnBW-Ausschreibung (ZEBIS2000) und Realisierung ecount R2 Vertrieb robotron*eacount Rel. 3 seit 03.03.03 > 30 Kunden von großen EVU bis zu Stadtwerken > 40 Entwickler 75 Mannjahre Entwicklung bisher ca. 20 Mannjahre Invest in 2004 Mandanten (Virtual Private Database) robotron*eacount Referenz- und Systemtabellen Exklusiver Mandant Stadtwerk A Berechtigungsmandant 1 Integrierter Mandant NB gemeinsame Daten Intergierter Mandant Händler Berechtigungsmandant 2 Integrierte Mandanten Exklusiver Mandant Stadtwerk B Berechtigungs-Mandanten Exklusive Mandanten Entwicklung innerbetrieblicher Datenbank-Anwendungen robotron*Vertrieb robotron*Portal robotron*Leistungserfassung robotron*Fuhrparkabechnung robotron*eWMS robotron*SCM Agenda Einführung Systematik – Softwarekonstruktion – Informationssystemanwendungen Technologische und methodische Basis – Produkte der Systemsoftware – Methoden der Softwarekonstruktion Beispiele von RobotronInformationssystemanwendungen Zusammenfassung und Ausblick Zusammenfassung und Ausblick I Drei Ansätze für die Systematisierung von DatenbankAnwendungen nach: – Datenbank-Architekturen – Datenbank-Anwendungsklassen – Informationssystemanwendungen Datenbanken: Kern der Informationssystemanwendungen In der Praxis sind mehrere Generationen von Datenbank-Management-Systemen im Einsatz Datenbankhersteller bieten Migrationshilfen für den Generations- und Herstellerwechsel Zusammenfassung und Ausblick II SOA und Prozessmodellierung: Herausforderung der nächsten Jahre für flexible Informationssystemanwendungen Oracle 10g (DB, AS, Fusion Middleware) Ergänzung durch OSS-Produkte, Robotron- und Fremd-Tools Vorstellung von Robotron-Anwendungen und – Produkten auf der Basis der Systematiken Ausbau der Arbeiten des Technologischen Vorlaufs Zum Abschluss… Nicht der Stärkste überlebt, auch nicht der Intelligenteste, sondern der, der sich am Besten an Veränderungen anpassen kann. Charles Darwin Vielen Dank für Ihr Interesse E-Mail: [email protected] GSM: +49 172 3528791 Robotron Datenbank-Software GmbH Tel.: +49 351 4021650 Stuttgarter Str.29 Fax.: +49 351 4021696 D-01189 Dresden www.robotron.de