1 / 49

Java Beans

Java Beans. -Einleitung und Geschichte (Jakob Burchardt) -Merkmale von Java Beans (Dirk Schäfer) -Anwendungsbeispiel/BDK (Thorsten Arendt) -Vorstellung BeanBuilder (Björn Agel) -Einbindung in IDE/NetBeans (Torsten Neu) -Zusammenfassung (Tim Dörnemann).

donar
Télécharger la présentation

Java Beans

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Beans -Einleitung und Geschichte (Jakob Burchardt) -Merkmale von Java Beans (Dirk Schäfer) -Anwendungsbeispiel/BDK (Thorsten Arendt) -Vorstellung BeanBuilder (Björn Agel) -Einbindung in IDE/NetBeans (Torsten Neu) -Zusammenfassung (Tim Dörnemann)

  2. Allgemeines und Geschichtliches • Was sind Beans? • Definition der Firma SUN Microsystems:Ein Java-Bean ist eine wiederverwendbare Softwarekomponente, die in einer Entwicklungsumgebung visuell bearbeitet werden kann. • Das Komponentenmodell wurde von Sun in Kooperation mit führenden Industrieunternehmen entwickelt (Apple, Borland, IBM, Netscape, Microsoft) • Es wurde am 4 September `96 im Internet vorgestellt. Die erste „vernünftige“ Version erschien mit Java2 (JDK 1.2) • Motiviert wurden Beans wahrscheinlich durch die grafischen Komponenten, die Visual Basic mit den Werkzeugen einer visuellen IDE bereitgestellt hat

  3. Visuelle IDE • IDE = Integrated Development Environment • Beispiele: UltraEdit, Eclipse, IntelliJ, BlueJ, … • Visuelle IDEs beinhalten Werkzeuge zum „Zusammenklicken“ einer grafischen Oberfläche • Sie ersparen dem Programmierer stupide Arbeit, da er das Design seiner Anwendung mit wenigen Mausklicks bestimmen und verändern kann • Beispiele für visuelle IDEs: Netbeans/Sun Studio ONE, JBuilder (Borland/Inprise)

  4. Beans Eigenschaften

  5. Und was haben Beans damit zu tun? • Beans können mit visuellen Entwicklungswerkzeugen erzeugt, zusammengestellt und entwickelt werden • Die Komponenten (z.B. JButton, JTextField), mit denen man in einer IDE Anwendungen gestaltet, sind Beans • Ihre Eigenschaften können visuell angepasst werden, d.h. ohne manuelle Änderung des Quellcode

  6. Merkmale von JavaBeans (1)Was zeichnet eine Bean aus ? • Eine JavaBean ist eine Java-Klasse, die sich für ihre Umwelt über Methoden, Eigenschaften und Ereignisse verfügbar macht • Es existieren dazu Vereinbarungen, wie Methoden, Eigenschaften und Ereignisse bekannt gemacht werden

  7. Merkmale von JavaBeans (2) Specification • Das Bean-Modell sieht folgende Features vor: • Eigenschaften (properties) • Ereignisse (events) • Anpassung (customization) • Persistenz (persistence) • Metainformation (introspection) • Verpackung (packaging) • Bauplan: http://java.sun.com/products/javabeans/docs/spec.html

  8. Eigenschaften(properties) • Kein direkter Zugriff möglich (Black-Box) • Mittels Methoden ist die Manipulation der Daten gestattet – diese unterliegen der Namenskonvention (set-/get-/is-) • Typen: einfach , indiziert(indexed), gebunden(bound), eingeschränkt(constrained) • Bauplan: http://java.sun.com/products/javabeans/docs/spec.html

  9. Ereignisse (events) • Beans schicken Events und reagieren auf sie • (Art: asynchrone Kommunikation) • Es existieren Interfaces und Klassen für Source, Listener und Eventobject(quelle+daten) • Visuelle Verknüpfung möglich („Verdrahtung“) • Bauplan: http://java.sun.com/products/javabeans/docs/spec.html

  10. Verdrahtung / Komposition • Hinsichtlich der Interaktion kann folgendes passieren: • Event löst Methode in Zielkomponente aus (Event/Methode) • Event setzt Eigenschaft in Zielkomponente (Event/Property) • Änderung einer gebundenen Eigenschaft löst Methode in Zielkomponente aus (Property/Method) • Änderung einer gebundenten Eigenschaft ändert eine Eigenschaft in Zielkomponente (Property/Property) • Bauplan: http://java.sun.com/products/javabeans/docs/spec.html

  11. Namenskonvention • Die Namenskonvention gilt für die Methoden der Eigenschaften und der Ereignisse ! • Ansonsten gibt es keine Vorschriften der Namensgebung für die (restlichen) Methoden • Und damit keine Unterschiede zu denen einer normalen Java-Klasse • Bauplan: http://java.sun.com/products/javabeans/docs/spec.html

  12. Ein kleines Beispiel Erzeugt wird eine Lampe, die wahlweise an- und ausgeschaltet werden kann.

  13. Schritt 1 - Serialisierung Die Bean muss serialisierbar sein !!!

  14. Schritt 2 - properties Die veränderbaren Eigenschaften (properties) müssen geschützt werden.

  15. Schritt 3 - Konstruktor Der Konstruktor darf keine Argumente enthalten (leerer Konstruktor)

  16. Schritt 4 - Methoden Getter-, Setter- und Is-Methoden gemäß dem property design pattern

  17. Schritt 4 - Methoden Die Setter-Methode:

  18. Schritt 5 – Bean-Info-File • Abgeleitet von der Klasse SimpleBeanInfo aus dem Paket java.beans • Klassenname: LampeBeanInfo • Informationen über • Öffentliche Methoden der Bean • Benutzte Icons • Eventuelle Hilfstexte

  19. Schritt 6 - Manifest • Dateiname: Lampe.mf • Deklarierung des class-File als Bean

  20. Schritt 7 – Das JAR-Archiv • Erzeugung auf Befehlszeilenebene • Inhalt : • Class-Files • Bilder, Sounds etc. • Manifest-File

  21. Das BDK • Bean Development Kit • Referenzplattform für die Demonstration des Bean-Konzeptes • Frei Verfügbar unter http://java.sun.com • Keine vollwertige Test- und Entwicklungsumgebung !!!

  22. Bean Builder (1) • Derzeitige Version: 1.0 Beta • Weiterentwicklung der original „Bean Box“ des BDK • Demonstriert das Erstellen einfacher Applikationen ohne auch nur eine Zeile Source-Code zu schreiben

  23. Bean Builder (2) • Folgende „neue“ Technologien werden mit Hilfe des Bean Builders veranschaulicht, bzw. demonstriert: • Long-Term Persistence (LTP) • Dynamic event adapter generation • javax.swing.Action Interface • Eigenschaften Editor für Swingkomponenten • Anwendung des neuen SpringLayouts

  24. Bean Builder (3) • Erstellen einer kleinen Applikation:

  25. LTP XML-Format (1) <?xml version="1.0" encoding="UTF-8" ?> <java version="1.4.0-rc" class="java.beans.XMLDecoder"> <object class="javax.swing.JFrame"> <void property="size"> <object class="java.awt.Dimension"> <int>315</int> <int>326</int> </object> </void> <void id="JPanel0" property="contentPane"> <void method="add"> <object id="JScrollPane0" class="javax.swing.JScrollPane"> <void property="preferredSize"> <object class="java.awt.Dimension"> <int>243</int> <int>149</int> </object> </void>…

  26. LTP XML-Format (2) • Code zum Lesen der XML Datei ausserhalb von Bean Builder: try { InputStream is = new BufferedInputStream( new FileInputStream("tutorial.xml")); XMLDecoder d = new XMLDecoder(is); Object o = d.readObject(); } catch (IOException ex) { System.out.println(ex.getMessage()); }

  27. Java-Beans Das Einbinden selbst erstellter Beans in entsprechende Entwicklungsumgebungen ist meist sehr einfach zu realisieren. Man benötigt hierzu einfach die JAR-File.

  28. Java-Beans • Ein JAR-Archiv besteht aus: • - Class-Dateien • - Dem gesicherten JavaBean-Zustand • Dateiendung .ser . Nicht unbedingt • erforderlich. • - Andere Ressource-Dateien wie z. B. • Text, Graphik, Sound oder Videos.

  29. Java-Beans - Hilfsdateien im HTML-Format, die die JavaBean beschreiben. - Informationen über die Internationalisierung, die es der JavaBean ermöglichen, sich den lokalen Bräuchen anzupassen.

  30. Java-Beans - Zusätzlich eine Manifest-Datei, die den Inhalt des Archivs genauer beschreibt.

  31. Java-Beans Beispiel einer Einbindung mit NetBeans

  32. Java-Beans NetBeans ist eine IDE für verschiedene Sprachen Es ist Plattformunabhängig ( in Java ) Weiterhin ist es OpenSource ( nicht GPL sondern SPL) http://netbeans .org

  33. Java-Beans

  34. Java-Beans

  35. Java-Beans

  36. Java-Beans Wie man nun mit den Beans arbeitet

  37. Java-Beans

  38. Java-Beans

  39. Java-Beans

  40. Java-Beans

  41. Java-Beans

  42. Java-Beans

  43. Java-Beans

  44. Java-Beans

  45. Java-Beans

  46. Zusammenfassung • Vorteile • Das Entwicklungspaket von Sun (BeanBuilder) ist frei verfügbar • Es gibt viele freie sowie kommerzielle JavaBeans • Einfach zu programmieren, da 100% auf Java basierend • Möglichkeit der Kommunikation mit ActiveX-Komponenten • Grafische Verbindung von Komponenten bereits im Sprachumfang de facto normiert

  47. Nachteile • Geschwindigkeit: Beans sind in Java geschrieben und haben die gleichen Geschwindigkeitsprobleme • Keine Brücke von ActiveX in Richtung JavaBeans (wie so oft bei Microsoft ;-)) • Keine strenge Trennung von Interface und Implementation

  48. Produkte und Hersteller • JavaBeans Komponentenbibliotheken (im JDK integriert) • WebSphere Studio von IBM • ILOG Jviews von Firma ILOG Deutschland • JClass BWT von Firma KL Group • Jsuite von Infragistics

  49. Literatur • Open JavaStephan Fischer, Abdulmotaleb El Saddik Springer Verlag • Komponenten in Java • Claudia Piemont • dpunkt Verlag • http://java.sun.com/beans • Insbesondere: JavaBeans Referenz (~120 Seiten PDF) • http://java.sun.com/products/ejb/ • http://www.java.net

More Related