Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Christian “bossk” Holle & Markus Breitländer Fh-Dortmund – Fb Informatik – SS04 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Geschichte von eclipse April 1999 Eclipse wird von OTI und IBM entwickelt November 2001 Eclipse wird Open Source Lizensiert unter der CPL Entwicklungskosten bis dato 40 mio. $ Konsortium entsteht unterstützt u.a. durch HP, Oracle, Red Hat Februar 2004 aus dem Konsortium entsteht eine non-profit Organisation Ziele: Förderung der Entwicklung von Eclipse Aufbau von Kooperationen mit akademischen und Forschungsinstituten Aufbau eines Managements 1 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Architektur übliche Architektur monolithisch => Erweiterungen nur wie vorgesehen Erweiterungen haben nicht das Look & Feel der Anwendung Eclipse Architektur Kern-Architektur baut auf Plugins auf Plugins nutzen Plugins Endanwender richten eigene Umgebung ein durch Auswahl der Plugins Konfiguration der Workbench Erweiterung Teil der Philosophie Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Plattform Kernstruktur definiert Plugin Infrastruktur entdeckt beim Start verfügbare Plugins managet Lader der Plugins (lazy loading) nur laden, wenn benötigt Funktionalitäten vor dem Laden sichtbar Kernkomponenten stellen Basisfunktionen zur Verfügung 2 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Komponenten JDT (Java Development Tools) Fügt Eclipse eine vollständige Java IDE hinzu JDT-Core: nicht grafischer Teil des JDT JDT-UI: Java-Editor + GUI's JDT Debug JDT Launching: Start von Anwendungen JUnit: Test-Framework PDE (Plugin Development Environment) PDE: IDE für die Plugin-Entwicklung basiert auf Eclipse und JDT Jface Framework zur Gestaltung von UI's Trennung von Modell und Darstellung bettet SWT ein SWT (Standard Widget Toolkit) Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Plug-Ins • Große Anzahl an verschiedenen Plug-Ins bereits jetzt verfügbar (meist Open-Source Projekte!) • Installation sehr einfach (*.zip und *.jar Archive) (keine Registrierungseinträge oder ähnliches) • Integration in Eclipse erfolgt nach Neustart der IDE 3 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Plug-Ins www.eclipse-plugins.info Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Omondo UML-Plug-In www.omondo.com • Plug-In zum erstellen von UML-Diagrammen -> Codegenerierung • Möglichkeit des Reverse-Engineerings von bestehenden Klassen! • Neue Version für Eclipse 3.0 leider kostenpflichtig :/ 4 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten SWT - Geschichte IBM Entwickler sind unzufrieden mit SWING Produkte mit SWING langsam kein look & feel des OS OTI beginnt 1999 mit der Entwicklung eines eigenen Widget-Sets SWT entsteht und baut auf native Schnittstellen des OS auf Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten SWT - Beispiel public class beispiel { public static void main(String [] args) { Display display = new Display(); //verbindet SWT mit der GUI Shell shell = new Shell(display); //ein Fenster im OS shell.setSize(200,200); Button b = new Button(shell, SWT.PUSH); b.setText(„Toll“); shell.open(); while(!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } } 5 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Clay Azzurris Database Modelling Plugin http://www.azzurri.jp/en/software/clay/index.jsp • Ermöglicht die Herstellung von Entity-Relationship Diagrammen -> Generierung des DDL-Skriptes zum Erstellen der Datenbank • Reverse-Engineering von bestehenden Datenbanken möglich Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten JFaceDBC – SQL Explorer https://sqlexplorer.dev.java.net/ http://www.pratocity.com/index.jsp?mod=/jface/jfacedbc.jsp • Erweitert Eclipse um einen leistungsfähigen SQL Editor, der mit allen gängigen Datenbanken kommunizieren kann (JDBC) • Eigene Perspektive zum visuellen browsen in der Datenbanken 6 Komponentenorientierte Softwareentwicklung ‘eclipse’ und Komponenten Ausblick „Die Idee von Eclipse hat die Vorstellung von Entwicklern aus allen Teilen der Welt fasziniert – und übersteigt unsere kühnsten Träume. Der eigentliche Wert von Eclipse kommt aber nicht von Eclipse an sich, sondern von den Tool-Plug-Ins, mit denen die Entwickler und Benutzer von Eclipse anweisen, wie mit Java-Dateien, Web-Inhalten, Grafiken, Videos usw. usw. zu arbeiten ist. Ihrer Fantasie sind hierbei keinerlei Grenzen gesetzt!“ Dave Thomson Eclipse Project Program Director Object Technology International Inc. 7