# Grundlagen Portlets.ein paar(anfänger) Fragen



## michael.becker (9. Mai 2007)

Hallo zusammen,


ich abeite mich gerade in da Thema Portlets ein.
Die Informationen sind ja im vergleich zu anderen relativ dürftig, aber ein erstes Hello World bekomme ich noch hin.


Zu meiner Umgebung:
Also Appserver benutze ich den Glassfish (Sun Application Server 9) und als IDE Netbeans 5.5 mit portal-pack-plugin-1_2.zip.

Den Glassfish in NB einbinden war auch kein Problem und einfach Hello World-Tutorials funktioieren auch.

Jetzt habe ich nur ein Problem:

Wie lasse ich die Portlets in meiner Webseite(Portal) laufen?

Ich habe mit dem portlet-container-configurator.jar für mein Glassfish in Domain1 einen Dummy Container angelegt.
In diesem Laufen meine Porlets nun..so weit so gut.
Derzeit sieht es so aus:
http://img517.imageshack.us/img517/9162/26205468qu2.jpg


Doch wie bekomme ich die Portlets in eine andere Seite.

Wie ich vorgehe:
Ich erstelle mit Netbeans ein neues Projekt(eine JSR-168 Portlet Application) und erstelle da nun munter neue Portlets.


Portlets sind ja nur Fragmente. Heisst ich brauche ja wohl auch noch eine übergeordnete Instanz, die diese Fragmente umgibt(das Portal).

Doch wie erstelle ich dieses Portal? Ist es eine JSP/Servlet Seite, die beliebigviele Portlets inne hat? So hatte ich das gedacht.



Und noch eine Frage habe ich:
Was ist der unterschied zwischen dem

- Glassfish(Application Server 9)
- Apache Pluto
- Apache Jetspeed


Pluto ist die Referenzimplementierung für JSR165.
Aber was heisst das genau?
Und was bedeutet es für die anderen?

Sehe ich richtig, da der Glassfish ein großer Server ist, der unter vielen anderen AUCH die JSR165 implementierung drin hat(heisst, wenn ich Portlets drauf teste ich nur knapp 5% des Serverumfang nutze??)

Wäre dankbar für jede hilfe, weil ich gerade nicht so recht weiter weis.

Vielen dank

Michael


----------



## KSG9|sebastian (9. Mai 2007)

Hi,

1) Portlets sind nur Fragmente, quasi kleine Anwendungen in einer großen (im Portal).

Das was du als Screenshot angehängt hast ist das Portal. Die Portalserver bieten normal ein Grundgerüst mit diversen Tools, u.a. Admin-Bereich. Im Adminbereich oder in den Dateien des Webservers kannst du neue Kateogorien und Seiten anlegen. Auf den Seiten plazierst du deine Portlets.
Wie das bei Glassfish funktioniert weiß ich nicht, hab bisher nur mit Jetspeed2 und IBM Portal Server gearbeitet.

Der Begriff Seite eines Portals hat nichts mit JSP o.ä. gemeinsam. Je nach Server existieren die Seiten nur in einer Datenbank, manche (z.B. Jetspeed2) auf der Festplatte. Dafür gibt es keine Referenz, kommt auf den Server an.
(=Glassfish Doku wird sicher weiterhelfen)

Glassfish, Pluto, Jetspeed (und Liferay, IBM PortalServer u.s.w.) sind alles mehr oder weniger Referenzimplementierungen der JSR-168. 
Genau wie es z.B. für JSF die Sun JSF und die Apache MyFaces-Implementierung gibt.

Die meisten "Portalserver" setzen nur auf einem bestehenden ApplicationServer auf:

Apache Jetspeed2, Apache Pluto z.B. auf dem Tomcat oder auch Jetty
IBM PortalServer auf dem IBM ApplicationServer

u.s.w.

Der PortalServer ist nur ein Teil des AppServers, wie z.B. ein ServletContainer oder auch ein EJB Container.Die Bezeichnung PortalServer ist etwas konfus.

Dokus gibt es recht wenig zu Portlets und Portalen, Das nächste Problem ist dass es bis auf Apache Jetspeed und Pluto imho keine reine Referenzimplementierung gibt. Jede Firma baut ihren eigenen Portal-Toolkit (IBM Portlet API us.w.).
Dadurch ist es afaik unmöglich ohne Anpassung die Portlets vom einen auf den anderen Server zu transportieren. Zumindest wenn man nicht extrem aufpasst welche Dinge der PortletAPI man verwendet.


----------



## Guest (14. Mai 2007)

Vielen dank sebastian,
hast mir doch gut weiter geholfen.

Eine eine Frage bleibt mir doch noch:


> Der Begriff Seite eines Portals hat nichts mit JSP o.ä. gemeinsam. Je nach Server existieren die Seiten nur in einer Datenbank, manche (z.B. Jetspeed2) auf der Festplatte. Dafür gibt es keine Referenz, kommt auf den Server an.
> (=Glassfish Doku wird sicher weiterhelfen)



Wie man auf dem Screenshot ja sieht, läuft das alles in dem Test-Portal des Webservers.

Ich möchte jetzt mein eigenes Portal entwicklen, welches halt meinen Ansprüchen genügt.
(Also ohne das Logo oben, andere Farben usw usw usw)

Ich möchte also ein Portal umsetzen, in dem ich meine Portlets laufen lassen kann.

Leider fehlt mir völligst der Bezug, unter welchen Stichpunkten ich nach schauen muss.


Es würde mich freuen, wenn mir da jemand auf die Sprünge helfen würde, unter welchen Punkten ich da zu schauen habe. Ich habe mir jetzt schon Das Buch "Portlets - Portalkomponenten in Java " von Stefan Zörner besorgt.

Auch wunderbar beschrieben, wie man ein Portlet entwickelt...aber nicht wie das ganz um das Portlet herum.

Wie schon gesagt, wäre ich dankbar für weitere Tips wo ich mich weiter einlesen sollte.

Michael


----------



## KSG9|sebastian (14. Mai 2007)

Hi,

wie die Seiten u.s.w. aufgebaut sind steht u.a. hier:

http://developers.sun.com/appserver/reference/techart/portlet_glassfish.html

So wie ich das sehe läuft Apache Pluto als Portal in Glassfish integriert. 
Deshalb wirst du am ehesten hier Infos finden:
http://portals.apache.org/pluto/

Ich lad mir grad mal Pluto runter und schaus mir an...


----------



## KSG9|sebastian (14. Mai 2007)

So, schau mal im webapps-Ordner in pluto/WEB-INF rein. Da gibts einerseits ne css-Datei um das Portal an sich anzupassen. Dann gibts unter Aggregations ein paar Velocity-Templates in denen du bestimmen kannst wie diverse Teile (Portal-Header, Portlet-Header u.s.w.) gerendert werden.


----------



## gast (14. Mai 2007)

Ich danke dir vielmals Sebastian.

Die beiden Links sehen schonmal sehr gut aus und auch im Verzeichnis habe ich einiges interessante gefunden.

Ich danke dir vielmals für die Hilfe


----------



## gast (14. Mai 2007)

Hehe...habe das hier gerade gefunden auf der Pluto-Seite:

http://portals.apache.org/pluto/pluto-portal/getting-started.html

Das Thema ist wohl noch in den Anfangen, oder??

Ist ein bisschen Pionierarbeit gefragt, wie ?? ^^


----------

