Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Programmierung eines Plugin Systems ... wie geht das Überhaupt ?

0 views
Skip to first unread message

Roman Himmes

unread,
May 21, 2003, 5:28:31 AM5/21/03
to
Hallo,

ich möchte gerne in meinem Programm ein Pluginsystem verwirklichen um ein
bestimmtes Panel mit dem im Plugin realisierten Funktionen auszustatten.

Wie funktioniert das Programmieren von Plugins eingentlich generell (auch
andere Sprachen)? Ich habe dazu bisher keine Docs im Netz gefunden...
Geht das eigentlich mit Java ?

Wenn mir jemand eine URL oder Beispielscode geben könnte wäre ich sehr
dankbar !


Gruß,

Roman Himmes

Patrick Roemer

unread,
May 21, 2003, 5:43:24 AM5/21/03
to
Hallo,

Roman Himmes wrote:

> Wie funktioniert das Programmieren von Plugins eingentlich generell (auch
> andere Sprachen)? Ich habe dazu bisher keine Docs im Netz gefunden...
> Geht das eigentlich mit Java ?

In der FAQ gibt es ein Minimalbeispiel dazu. Wie das 'in the field'
aussieht, kann man sich z.B. bei Eclipse ansehen.

Viele Gruesse,
Patrick

Stefan Podkowinski

unread,
May 21, 2003, 9:10:37 AM5/21/03
to
Hallo

Im Grunde ist ein Plugin eine Design-Pattern die sich mit jeder Sprache
realisieren lässt. Beispiel Code wird dich allerdings nicht sehr viel
weiter bringen, da es nicht -das- Plugin-System gibt, sondern immer
spezielle Anwendungen. Schau dir mal Eclipse, JEdit oder die IPchains
Linux Firewall Architektur als Beispiele an.

Eine kleine Checkliste:
* Welche Funktionsgruppen habe ich? (Email Versand, Graphische
Darstellung, Loging, ..)
* Welche Integrationspunkte kann ich für meine Plugins bereitstellen?
(Dokument wird ausgewählt, Benutzer logt sich aus, ..)
* Wie sieht mein Contract zwischen meinen Plugins und dem Container aus?
(Müssen sich Plugins beim Laden registrieren?, wie werden die Plugins
initialisiert? -> Lebenszyklus)
* Wie können Plugins sich gegenseitig entdecken und zur Laufzeit
ergänzen? Wie können Abhängigkeiten zwischen Plugins gelöst werden?

Gruß,
Stefan

Manuel Simoni

unread,
May 21, 2003, 9:37:22 AM5/21/03
to
"Roman Himmes" <sandl...@yahoo.de> schrieb:

> Wie funktioniert das Programmieren von Plugins eingentlich generell

Da gibt es wahrscheinlich so viele Ansätze wie es Programmierer gibt, aber
in Java kann man ganz schnell Ergebnisse sehen. Der einfachste Weg ist,
einmal das Plugin-Interface zu definieren, z.B.

interface Plugin {
void doIt(Object param);
}

Nun schreibst Du eine Datei, das die Namen aller Plugin-implementierenden
Klassen enthält, z.B.

my.package.Plugin1
my.package.Plugin2

Mittels java.lang.Class.forName wandelst Du die Klassennamen in
Class-Objekte um. Von den Class-Objekten erzeugst Du mittels newInstance()
neue Instanzen. Jetzt hast Du die Plugin-Objekte.

Natürlich beginnt die eigentlich Herausforderung erst jetzt, da wären APIs,
Konfiguration, Sicherheit (siehe SecurityManager), Informations-busse,
Versionierung etc.

Manuel


0 new messages