Der IBM Websphere Portalserver

Werbung
Der IBM Websphere Portalserver
Ergebnisse aus dem
Universitäts-Praxis-Projekt 2001/2002
Vortrag von Il-Hyun Kim und Horst Rechner
am 19. Juli 2002
Weiterer Teilnehmer am UPP: Clemens Oertel
Betreuer: Dipl.-Phys. Markus Leypold
Lehrstuhl Prof. Dr. H. Klaeren (Programmiersprachen und Übersetzer)
Wilhelm-Schickard-Institut für Informatik - Universität Tübingen
1
Übersicht
Zeitplan
Was sind Portale?
Der IBM Websphere Portal Server
Portlets
Unterschied zwischen WPS 2.1 und 4.1
Fazit
2
Zeitplan von W&W
10.'01
Erstes Treffen: Themenvorstellung und Auswahl
Einweisung ins WIS
11.'01
Treffen der Studenten mit dem Außendienst
Erster Prototyp
12.'01
Benutzerfeedback
01.'02
02'02
Bericht über Pilotbetrieb / Einführungskonzept
03'02
Auswertung des Pilotbetriebs / Erstellen eines Regelwerks für Betrieb
Abschlußpräsentation
04'02
05'02
3
Zeitplan
10.'01
Erstes Treffen: Vorstellung der Themen
11.'01
Neues Thema
12.'01
Erhalt der Software / Erste Lauffähige Installation von Websphere (NT)
Genaue Festlegung des Themas
01.'02
Erste Portlets implementiert
02'02
Erster Prototyp
03'02
Präsentation des Prototypen
04'02
05'02
4
Abschlußpräsentation
Was sind Portale?
5
Was sind Portale?
Allgemeiner Einstiegspunkt um
Informationen und Applikationen zu
verteilen
Typische Funktionen
Authentifizierung und Authorisierung (single
sign-on login)
Personalisierung basierend auf Profile / Verhalten
Navigation / Layout der Seiten durch Benutzer
Suche
Aufsteckbare Portalkomponenten: Portlets
6
Portal: my.Yahoo.com
7
Portal: myW&W.de
8
Voraussetzungen & Portal Architektur
Benutzer
HTML
Web
Server
LDAP
Server
WML
DB2 Server
usw.
WAS
WPS
Internet
LDAP
Portlet
Portlet
9
WAS
WPS
Zuständigkeiten
Portalserver
Authentifizierung
Corporate Identity
Positionierung von Portlets, Tabs, Anzahl
Spalte
Portlet Managment
Portlets
Daten
10
Portalserver
11
Portlet
12
Portlets
Komponenten eines Portals
ein Portlet - eine Funktion
Spezialisierte Servlets
Information von Benutzerprofile
Verschiedene Ansichten
Ausgabe geht über Portal
13
APIs
14
Portlet
J2EE APIs
Portal
Servlet
Portlet API
Servlet API
Portlet
Container
connectors
Web
Services
EJBs
Lebenszyklus (API Aufrufe)
Hochfahren:
init();
Benutzerlogin:
login();
Aufruf:
service();
Benutzerlogout:
logout();
Runterfahren:
destroy();
Entsprechend Servlets
15
Portlet Archiv Datei
Controller
Views
XML
Descriptor &
Andere
Dateien
16
Model
Portlet deployment descriptor
XML Dokument
Einstiegspunkt in Portlet
Titel, Kurzbeschreibung
unterstützte Sprachen & Views
Landessprache
Markupsprache
Portal
Server
XML
17
XML
/PORTLET-INF/portlet.xml
<?xml version="1.0"?>
<!DOCTYPE portlet-app PUBLIC "-//IBM//DTD Portlet Application 1.0//EN"
"portlet.dtd">
<portlet-app>
<portlet-app-name>myPortlet</portlet-app-name>
...
<portlet>
...
<allows>
<maximized />
</allows>
<language locale="en">
<title>myPortlet</title>
...
</language>
<supports>
<markup name="html">
<view />
<edit />
<help />
</markup>
Portal
</supports>
Server
</portlet>
</portlet-app>
XML
18
XML
Controller
Java Klasse
Datenverarbeitung
Backendverbindungen
Initialisierung der Beans
Steuerung der Ansichten
Normal
Maximized
Edit
Help
19
Backend
XML
/PORTLET-INF/classes/myPortlet/myPortlet.java
package myPortlet;
public class myPortlet extends AbstractPortlet {
public void service(PortletRequest request, PortletResponse response)
throws PortletException, IOException {
myPortletBean mPB = new myPortletBean();
result = select.executeQuery("...");
custno = new Integer(result.getInt(1));
mPB.setUserid(user.getUserID());
mPB.setCustno(custno);
if( (request.getWindow()).isMaximized() == true ) {
jsp = jspMaxView;
}
...
Backend
XML
20
Model
Java Beans (keine Enterprise Beans!)
Intelligente selektive
Datenspeicherung
Session beans und Request Beans
XML
21
/PORTLET-INF/classes/myPortlet/myPortletBean.java
package myPortlet;
...
public class myPortletBean
{
private String userid;
private Integer custno;
public void setUserid(String i) {
userid = i;
}
public String getUserid() {
return (userid);
}
XML
...
}
22
Views
Java Server Pages (JSP)
Definition der Ansichten
Darstellung der Daten
HTML
Seiten
XML
23
Views
<%@ page contentType="text/html" errorPage="" %>
<jsp:useBean id="myPortletBean" class="myPortlet.myPortletBean"
scope="request" />
<P>myPortletView.jsp:</P>
<P>
myPortletBean.getUserid(): <%=myPortletBean.getUserid()%><BR>
myPortletBean.getCustno(): <%=myPortletBean.getCustno()%>
</P>
HTML
Seiten
XML
24
Verschiedene Ansichten der Daten
25
Verschiedene Ansichten der Daten
26
Verschiedene Ansichten der Daten
27
Portlet Archiv Datei
28
Einbinden des Portlets
29
To bean or not to bean
einfachste HTML
Portlets
30
komplizierte
Portlets mit
verschiedenen
Ansichten für
Handy, PDA, PC
mit
entsprechenden
JAVA, JSP und
Bean Codes.
Unterschied WPS 2.1 / 4.1
Portlet 1.1 API (erneuert und
verbessert)
J2EE Spezifikation (Portabel !)
Sun One, BEA Weblogic
Engere Integration mit WAS (EJB)
Migration von 2.1 nach 4.1 nötig
PAR -> WAR
31
Fazit WPS 2.1
Ressourcenfresser
noch kein ausgereiftes Produkt
Umständliches Handling für
Informatiker
Gute Dokumentation für Anfänger
Dann wird die Luft dünn...
Schöner MVC-Ansatz (aber nicht
zuendegedacht)
32
Fazit UPP
Zusammenarbeit W&W / Psychologen
Team
Betreuung (Uni / W&W)
33
Q&A
& schöne Semesterferien.
34
Herunterladen