OpenEdge 10.1A meets Eclipse

Werbung
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…
Herunterladen