Die neue Progress Entwicklungsumgebung im Überblick OpenEdge 10.1A meets Eclipse Mike Fechner, Frankfurt, 09.11.2005 „Disclaimer“ … • Dieser Vortrag stellt Software der aktuellen OpenEdge 10.1A beta 3 vor • Progress behält es sich vor, Features aus dem endgültigen Produkt zu entfernen • Daher kann ich selbstverständlich auch keine Gewähr dafür übernehmen, dass Sie in einigen Wochen die Software in dem gezeigten Umfang in den Händen halten Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) OpenEdge 10.1A beta 3 • 4 beta Programme • • • • OpenEdge 10.1A General New Development Environment Core Services – Auditing Object oriented programming in the Progress 4GL (OO4GL) • Gelauncht am 13.07.2005 per DVD • Derzeit 3. beta Version • http://www.progress.com/beta OpenEdge 10.1A General • • • • • Linux AMD 64-Bit Platform Eclipse-Based IDE Auditing: Tools zur Regelüberwachung XP Look&Feel, ProDataSets, XML OpenClient: ProDataSets für Java Clients • Database: Mehr on-line Administration • SonicMQ: Verbesserungen beim Setup New Development Environment Core (Business) Services - Auditing • Auditing Framework • 4GL • DBMS • Programmierbares Policy-System • Überwachung von Daten-Änderungen durch Anwendungen oder jede andere Quelle • Konfigurierbar, flexibel Core (Business) Services - Auditing • Konformität zu • • • • Sarbenes-Oxley Act von 2002 EU Data Protection Directive von 1998/2001 U.S. Patriot Act von 2001 Health Insurance Portability and Accountability Act (HIPAA) von 1996 • California Senate Bill 1386 • Industrie Anforderungen • Gramm-Leach-Bliley Act von 1999 • Visa Cardholder Information Security Programm (CISP) OO4GL • Objektorientierte Erweiterungen der 4GL • • • • • Objetkorientierung: CLASS Statement Stabilität durch Strong-Typing, Interfaces Enkapsulation Vererbung Polymorphie • Die Folge soll ein besser wartbarer 4GL Code sein • Aber: 4GL Klassen und Prozeduren können kombiniert werden! Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) Eclipse 3.1 • Offene Entwicklungs-Plattform, OpenSource • Tool- und Sprachunabhängig • Entwickelt in Java • Plug-In basiert, Plug-In SDK verfügbar • Stark anpassbar durch Toolanbieter und Anwender • Eclipse = Sonnenfinsternis ??? Eclipse Foundation • Non-Profit Unternehmen um die Entwicklung, Promotion und den Support der Eclipse Plattform voran zu bringen • Gründungsmitglieder in 11/2001 u.a. • Borland, IBM, MERANT, Rational Software, Red Hat, SuSE, … • Weitere Mitglieder seit dem u.a. • Sybase, Fujitsu, Hitachi, HP, MKS, SlickEdit, Oracle, SAP, Fraunhofer Institute, Ericsson, Actuate, … • Das Who-is-Who der IT • Es fehlt nur Microsoft Eclipse Terminologien • • • • Workspace Project Perspective View Eclipse Workspaces • Ein Workspace ist ein Ordner für Projekte • Ein Workspace sichert die Einstellungen für Projekte, Perspektiven, Plug-Ins • Nicht zu vergleichen mit einer Lösungsmappe im Visual Studio • Beim Start von Eclipse wird zuerst ein Workspace ausgewählt Eclipse Projects • Ein Projekt definiert wie mit den enthaltenen Dateien und Ordnern umgegangen wird • Compile/Build Anweisungen • Editorenauswahl • Unter OpenEdge Projekten wird z.B. der Propath für die Ausführung und die zu verbindenden Datenbanken definiert • Zur Verfügung stehende Projekttypen hängen von den installierten Plug-Ins ab Eclipse Perspectives • Eine Perspektive ist eine definierte Ansicht auf die verschiedenen Entwicklungstools • Perspektiven können über die Plug-Ins vorgegeben werden • Perspektiven können vom Anwender angepasst werden, um schnellen Zugriff auf die verwendeten Tools zu ermöglichen Eclipse Views • Einzelne Fenster mit Darstellung von Editoren oder sonstigen Tools • Dockable Windows, können an beliebigen Stellen des Eclipse Windows angebunden werden; Folder • Können aus dem Eclipse Fenster gelöst werden • Anordnung wir in Perspektive gespeichert Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (z.B. Perforce) OpenEdge Tools in Eclipse • Plug-In wird mit OpenEdge IDE (OpenEdge Architect) installiert • Verwaltung der Runtime-Eigenschaften über Project-Properties • • • • Progress Version Propath Datenbanken Compile Parameter OpenEdge Editor • Grafischer Text-Editor mit • • • • • Syntax-Highlighting Editor-Makros (DVI, IPC, …) Ein/Ausklappen von Code-Blöcken … Neue Online Hilfe für 4GL Code • Verwendet sowohl als Procedure Editor und Section Editor Demo • OpenEdge Project-Properties • OpenEdge Editor OpenEdge AppBuilder • Eigene Perspective • Enthält u.a. eine View in der der AppBuilder „eingebunden“ wird. • AppBuilder, ProTools und Design Ansicht laufen in Eclipse View • Code Editor wird als Section Editor mit dem AppBuilder synchronisiert OpenEdge AppBuilder • Visuelles Design wird derzeit nicht über Eclipse VE (Eclipse Visual Editor) getätigt • Kommentar meinerseits: Planen sie Entwicklersysteme mit zwei Monitoren oder extrem hohen Auflösungen ein! Sonst werden Sie die Views ständig minimieren und maximieren • Arbeitsspeicher kann auch nicht schaden Demo • AppBuilder in Eclipse OpenEdge Tools in Eclipse • Kommunikation zwischen OpenEdge Runtime und Eclipse Plug-In (Java) erfolgt über Netzwerk Kommunikation • Bei Crash der Runtime oder Eclipse kann es passieren, dass der Netzwerkport gelockt bleibt OpenEdge Tools in Eclipse • • • • Data Admin Data Dictionary Pro Tools Procedure Editor • können als externe Tools aufgerufen werden Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) DB Navigator • Neues Tool für Ad-Hoc DatenbankAbfragen • Schemänderung • Zugriff auf die Datenbank über JDBC Treiber Demo DB Navigator • • • • • Verbinden zu einer Datenbank Ansicht des Datenbank Schemas Tabellen Vorschau SQL Editor Anlegen einer neuen Tabelle Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) Progress Debugger • • • • Debugging Möglichkeiten wie in 10.0B Aber: Integriert in die Eclipse IDE Eigene Perspektive, mehrere Views Breakpoints können grafisch im Code Editor gesetzt werden (auch wenn diese in der beta noch nicht funktionieren) • Debugger hat deutlich an Bedienbarkeit gewonnen Progress Debugger • Ausführung kann unterbrochen werden • • • • Pause Button Breakpoint Watchpoint (i = 42) Message Statement • Fortführung über • Continue • Step In/Step Out/Step Over • Unterbrechung der Ausführung Progress Debugger • Darstellung des Procedure-Stacks • Watches für • Variablen • 4GL Ausdrücke: RETURN-VALUE, ERRORSTATUS:ERROR, … • Buffer-Inhalt • Temp-Table, ProDataSet • Widget Properties Demo Progress Debugger • Debugging eines einfachen 4GL Programms Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plug-Ins (Perforce) Tools 4 Business Logic • Visuelles Design für TempTables, ProDataSets und später OERA Business Entities! • Potenzial, das eigentliche Highlight der neuen Entwicklungsumgebung zu werden • Derzeit aber noch in einem sehr frühen Stadium Tools 4 Business Logic • Entwickelt auf Basis des EMF (Eclipse Modelling Frameworks) • Unterstützt Modell to Code und Code to Modell Ansatz Tools 4 Business Logic • Im Hintergrund liegt das appModel • Erzeugte BL Komponenten (z.B. TempTables) werden hier gespeichert und können beliebig wiederverwendet werden • TempTable Definitionen können auf diese Weise in mehreren ProDataSets genutzt werden • Ausblick: Business Entity – hier sind nicht nur TempTable Definitionen sondern auch die Datenzugriffslogik wiederverwendbar Demo T4BL • Visuelles Design eines ProDataSets • Code Erstellung (Model 2 Code) • Erstellung eines Designs aus Code (Code 2 Model) • Wiederverwendung von TempTables Agenda • • • • • • • OpenEdge 10.1A beta im Überblick Eclipse 3.1 OpenEdge Tools in Eclipse DB Navigator Progress Debugger Tools 4 Business Logic Nutzen von SCM Plugins (Perforce) SCM Plug-Ins • CVS (Standard, mitgeliefert) • Perforce (Professionelles SCM) • Roundtable (in Vorbereitung, beta angekündigt aber noch nicht vorhanden) Perforce SCM • Schnelles Hochleistungs SCM Tool • Vernetzte Architektur, schnelles Protokoll, bei Bedarf mit Caching Proxy • Frontends für viele Plattformen, IDEs • Privilegien individuell konfigurierbar • Umfassendes Tracking • Starkes Branching, Merging • Referencen: SAP, Symantec, Electronic Arts P4WSAD Plug-In • Perforce WebShere Application Developer • Auch geeignet für Eclipse 3.x • Daher auch in die OpenEdge Perspektive einzubinden!!! P4WSAD Features • Anzeige offener Change-Listen, Revision-History • Batch-Resolve • File-Diff • Jobs (incl. Filter) • Automatischer Checkout • Datei Dekoration Installation P4WSAD • Installation über online Update von Eclipse • Perforce stellt das Feature zum Download bereit; Installation automatisch • http://www.perforce.com/downloads/htt p/p4-wsad/install/ P4DTI • Perforce Defect Tracking Integration • Integriert Bugzilla und Perforce • OpenSource Bug-Tracking System von Mozilla und vielen OpenSource Projekten (z.B. Eclipse, Possenet) • Bugs werden als Jobs ins SCM repliziert und umgekehrt. Job Fixes geben Info über geänderte Files • Wirkungsvoller Bugtracking Workflow nun auch in der Progress OpenEdge IDE Demo P4WSAD • Perforce Views • Grundlegende Funktionen im SCM Tool • P4DTI, Bugzilla Fragen…