2. Jens Ribbeck
Der Referent:
Jens Ribbeck
IBM Notes / Domino seit 1999
Anwender, Entwickler und Administrator
Schwerpunkte:
Prozessmanagement, Integration, Schnittstellen
www.ulc.de
ULC Business Solutions GmbH
IBM Premier Business Partner
Full Service Provider,
IBM Collaboration Software
3. Jens Ribbeck
Unsere (IBM-) Kunden:
• kommen traditionell aus der Lotus Notes/DominoUmgebung (inkl. Entwicklung),
• haben eine Vielzahl und Vielfalt von DominoAnwendungen im Einsatz,
• sind üblicher Weise stark E-Mail-orientiert,
• betrachten neue Systeme i.d.R. aus aktueller
Praxissicht
• sind (noch) nicht bei Notes 9.x angekommen
• sind (aktuell) wenig investitionsbereit bei Domino
4. Jens Ribbeck
Unsere (Reise-) Ziele
• Betrachtung von IBM Connections aus der
Praxis-Sichtweise unserer Kunden
• Schaffung von Mehrwerten für die Benutzer
bei der Integration bei der Nutzung von
Domino-Anwendungen in IBM Connections
• IBM ist der Reiseanbieter aber wir sind die
Reiseleiter und dürfen unseren Kunden nicht
wegfahren !
5. Jens Ribbeck
Domino-Anwendungen (Merkmale)
• Teilweise sehr lange Lebenszyklen (bedingt
durch hohe Abwärtskompatibilität)
• Masken, Ansichten, Formeln, Lotusscript
• Aktuelle Technologien nur bei
Neuentwicklungen
• Notes Client steht (noch) im Vordergrund
• regelmäßig hohe Sicherheitsanforderungen
(z.B. Banken)
7. Jens Ribbeck
Workflowanwendungen bieten
sich für Integration an, da
• Workflows immer Bedarf an
Informationsübermittlung haben und
• bei Workflows immer die Menschen und ihre
Aufgaben im Zentrum stehen.
= DAS entspricht der Philosophie der Social Networks /
IBM Connections
8. Jens Ribbeck
ULC.Formular- & Prozessmanager als
Beispiel für die Betrachtungen:
• Workflow-Anwendung
• In verschiedenen
Kundenszenarien im Einsatz
• Browser-Schnittstelle
vorhanden
• Flexibel anpassbar
11. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
Grundlagen
Eine gute Nachbarschaft gelingt nur, wenn die
Grundlagen dafür geschaffen werden. Der Nutzer
und seine Anforderungen müssen im Fokus
stehen!
Für eine erfolgreiche Einführung von IBM
Connections sind Entwickler und Admins gleichermaßen gefordert!
www.dnug.de
Entwickler
Admin
12. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
1. Benutzerverwaltung
Voraussetzungen für „gute Nachbarschaft“:
• Synchronisierte Benutzerprofile
Admin
• Domino-Adressbuch möglichst Quelle für Connections BenutzerVerzeichnis (LDAP)
• Domino-Benutzer müssen eine eingetragene E-Mail Adresse haben
(Key)
www.dnug.de
13. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
2. Infrastruktur
Infrastruktur:
• Fehlerfreie Netzwerkkonfiguration (u.a. Routing, DNS)
• Domino-Server und Connections müssen für Clients (Browser)
erreichbar sein
• Bei Bedarf: Firewall-Konfiguration anpassen
• Domino-Server „spricht“ HTTP(S) -> HTTP-Task muss laufen
• Synchronisierte Zeiten (möglichst auch keine verschiedenen
Zeitzonen)
www.dnug.de
Admin
14. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
3. Single Sign On (SSO)
Benutzer wollen sich nicht mehrfach anmelden, daher: SSO
• Standard IBM: LTPA (Lightweight Third-Party Authentication)
• Alternative Systeme sind möglich (z.B. Kerberos + LTPA, 3rdparty Lösungen)
• LTPA ausgehend von IBM Connections (Websphere) einrichten
und in Domino integrieren
• URL‘s von IBM Domino und IBM Connections (Websphere)
müssen der gleichen Domain angehören (domino.ulc.de und
connections.ulc.de
Siehe auch:
http://public.dhe.ibm.com/software/dw/websphere/SSOPortal-DominoFinal.pdf
www.dnug.de
Admin
15. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
3. Single Sign On (SSO), Probleme
Sicherheitsbetrachtungen:
• Logout nicht vollständig möglich (LTPA-Token bleibt
erhalten), problematisch in Multiuser-Umgebungen
• Benutzer-Sperre bei Fehlversuchen nicht eindeutig
• Passwortwechsel muss möglich sein (Synchronisation von
Profiles mit LDAP)
www.dnug.de
Admin
Entwickler
16. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections und IBM Domino in der Nachbarschaft
4. Vertrauensstellung
Zugriff über SSL-geschützte Verbindung (HTTPS)
• Sensible Daten werden übertragen
Admin
• Authentifizierung auf den API‘s erfolgt oft über BasicAuthentifizierung
• Qualifizierte Zertifikate verwenden (Trust-Center oder eigene
Entwickler
sichere CA)
Bei Installation von Domino und WS auf einer gemeinsamen
Plattform:
• Zertifikatsrequest erst auf Websphere erstellen und Zertifikat
importieren
• Dann über IKeyMan das komplette Zertifikat in eine *.kyr – Datei
vom Domino importieren
www.dnug.de
19. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
1. Domino im Fenster
Darstellung der Domino-Anwendung im IFrame (LotusMain)
• Integration muss über Customization von IBM Connections
erfolgen
• Anwendungsmenüpunkt in der Navigationsleiste sinnvoll
• Methode zum Laden muss global verfügbar sein
DEMO
www.ulc.de
www.dnug.de
Admin
Entwickler
20. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
2. Domino im Fenster, so geht‘s
Navigation anpassen
1. Vorlagen finden:
<Installationspfad WebSphere>/AppServer/profiles/<AppServer_Name>/
installedApps/<cell_Name>/ <AppName>.ear/<AppName>.war/nav/templates
2. Notwendige Vorlagen kopieren:
• header.jsp
• beliebige Vorlage aus /menu/
www.ulc.de
www.dnug.de
Entwickler
21. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
2. Domino im Fenster, so geht‘s
Navigation anpassen
Vorlagen und Code anpassen:
… sehr tiefgreifende Anpassungen im Basis-System notwendig
… globale Auswirkungen im Gesamtsystem
Vorlagen individuell anpassen:
•
•
•
Hauptmenus ein- und ausblenden
Eigene Menus erstellen
Globale Javascript-Methoden einbauen (z.B. zum Laden der Anwendungen)
www.ulc.de
www.dnug.de
Entwickler
22. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
2. Domino im Fenster, so geht‘s
Navigation anpassen
Anwendungen neu starten:
Admin
ALLE (!) betroffenen Anwendungen müssen mit den angepassten Vorlagen
neu gestartet werden, damit das globale Menu aktiviert wird.
Entwickler
www.ulc.de
www.dnug.de
23. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
3. Domino im Fenster, Pro‘s & and Con‘s
Vor- und Nachteile dieser Integrationsart
+ Einstieg in die Anwendung von „überall“ (Portal)
+ Benutzer findet gewohnte Umgebung vor und navigiert intuitiver
+ Zugang zu IBM Connections wird über das Angebot geschaffen
+ SSO zur Anwendung
- Domino-Anwendung braucht zwingend ein Browser-Interface
- Die Anwendung kann nicht direkt auf Connections zugreifen
- Integration bedingt umfangreiche Administrative Eingriffe
- Keine „schnellen“ Änderungen möglich
- „Starre“ Integration
www.ulc.de
www.dnug.de
24. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
4. Domino im iWidget, individuell nutzbar
Domino Daten
Domino-Anwendung ist die Quelle
(z.B. Agent, XPage etc.), Rendering erfolgt im IBM Connections
www.ulc.de
www.dnug.de
25. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
5. Domino im iWidget, so gehts
iWidget entwickeln/bereitstellen
Datenintegration
• Erfolgt über ajax-Requests vom Domino (z.B. dojo.xhrGet)
• Bereitstellung über geeignete Mittel (z.B. Agent)
• Bereitstellung in geeignetem Format (z.B. Json)
Bereitstellung
Admin
Entwickler
• iWidget und Ressourcen auf dem HTTP-Server bereitstellen
Proxy-Konfiguration anpassen
• Ajax-Requests über Proxy wegen Cross-Domain-Scripting Einschränkungen
Aktivierung
• Durch Homepage-Administrator (Rolle)
www.ulc.de
www.dnug.de
Beispiele…
26. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
6. Domino im iWidget, Domino „Widget-Proxy“
Generisches Interface:
Beliebige
Domino Anwendungen
z.B. Xpage-Anwendung, muss
einmalig entwickelt werden
wird durch die ProxyAnwendung bereitgestellt
und muss nur eingebunden
werden
www.ulc.de
www.dnug.de
Admin
Entwickler
27. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
IBM Connections als Portal für IBM Domino Anwendungen
7. Domino im iWidget, Pro‘s und Con‘s
Vor- und Nachteile dieser Integrationsart
+ Ohne großen Admin-Aufwand integrierbar
+ Benutzer kann sich seinen Arbeitsplatz individuell einrichten
+ Nutzung nach Bedarf, universell erweiterbar
+ Domino Anwendung muss nur wenig erweitert werden
(kein Browser-Interface nötig)
+ iWidget wird in <div> gerendert, damit Zugriff auf Umgebung
möglich
- Platz für Darstellung eingeschränkt (Widget)
- Proxy-Einstellungen sind komplex
www.ulc.de
www.dnug.de
29. Nachbarn
Portal
Activitystream
Embedded Experience
Die IBM Domino Anwendung im Activitystream
1. Domino stellt Informationen bereit: Beispiel
Urlaubsantrag:
Informationen klassisch per E-Mail,
Neu: Eintrag im Activity Stream
DEMO
www.dnug.de
Jens Ribbeck
30. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Die IBM Domino Anwendung im Activitystream
2. Domino stellt Informationen bereit: wie geht‘s
Activitystream beschreiben:
API‘s benutzen
• IBM Connections API (REST / ATOM)
• IBM Connections OpenSocial API (Json)
Entwickler
Brücken bauen (im Beispiel)
• Domino kann mit Bordmitteln keine HTTP-Requests senden
• Einbindung des Java Apache-HTTP-Clients + minimale Methoden als Interface
in der Domino-Applikation
• Nutzung aus LotusScript-Kontext heraus über LS2J, Vorteil: an vorhandenen
Code „andocken“, vorhandenes Know How beim Kunden nutzen
• Interface als Klasse im LotusScript abgebildet
www.dnug.de
31. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Die IBM Domino Anwendung im Activitystream
2. Domino stellt Informationen bereit: wie geht‘s
Kommunikationswege
Domino-Server
mit Domino Anwendung
WSA-Server
mit IBM Connections
Quelle der Information
Konsument der Information
www.dnug.de
32. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Die IBM Domino Anwendung im Activitystream
2. Domino stellt Informationen bereit: wie geht‘s
Umgebung anpassen:
System-Benutzer für Domino-Interface
Admin
• Rolle „admin“ in den IBM Connections-Anwendungen
• Rolle „trustedExternalApplication“ in der Anwendung „WidgetContainer“
• Credentials in der Domino-Welt „sicher“ verwalten!
Java-Sicherheitseinstellungen
• SSL-Zertifikate in cacerts importieren
• java.security und java.policy anpassen
-> WICHTIG: keine Sicherheitslücken einbauen
www.dnug.de
Entwickler
34. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Embedded Experience: IBM Domino in Connections funktional integriert
1. Domino stellt Aufgaben im Activitystrem bereit
Urlaubsantrag:
Öffnen der Anwendung klassisch per Link,
Neu: Genehmigung direkt im Activity
Stream
DEMO
www.dnug.de
35. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Embedded Experience: IBM Domino in Connections funktional integriert
2. Domino stellt Aufgaben im Activitystrem bereit, wie geht‘s
Activitystream mit EE beschreiben:
API‘s benutzen
• IBM Connections OpenSocial API (Json)
Entwickler
Brücken bauen (im Beispiel)
• Zusätzliche „Embeded Experience“-Daten im Interface
• SocialGadget zur Darstellung und Bearbeitung im IBM Connections notwendig
• Zu nutzendes Gadget wird über die API referenziert
www.dnug.de
36. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Embedded Experience: IBM Domino in Connections funktional integriert
2. Domino stellt Aufgaben im Activitystrem bereit, wie geht‘s
Gadget entwickeln/bereitstellen
Datenintegration
• Daten werden über Content bereitgestellt, zusätzlich ajax-Requests vom
Domino (z.B. spezielle Methoden: Klasse „gadgets.io“)
• Aktionsinterface über geeignete Mittel (z.B. Agent zum
Genehmigen/Ablehnen)
Admin
Entwickler
Bereitstellung
• Gadget und Ressourcen auf dem HTTP-Server bereitstellen
Proxy-Konfiguration anpassen
• Ajax-Requests über Proxy wegen Cross-Domain-Scripting Einschränkungen, ggf.
zusätzlich Regeln in /opensocial-proxy-rules/proxy-policy.dynamic
Aktivierung
• Durch Homepage-Administrator (Rolle)
www.dnug.de
Beispiele…
37. Nachbarn
Portal
Activitystream
Embedded Experience
Jens Ribbeck
Embedded Experience: IBM Domino in Connections funktional integriert
3. Vergleich der API‘s
Welche API ist geeignet
Beide API‘s
• Werden über den gleichen Weg angesprochen (URL/REST)
• Nutzerauthentifizierung identisch (Basic / OAuth)
• Sicherheitsfragen identisch
IBM Connections API
• Mächtiger Funktionsumfang, aufwändig für „kleine“ Integrationsaufgaben
• Geeignet für spezielle Anwendungen (z.B. Projektmanagement: Tasks und Aktivitys in
der Anwendung „Aktivitäten“)
• Keine (dokumentierte) Möglichkeit für Embedded Experience
IBM Connections Opensocial API
• Eingeschränkter Umfang, aber Embedded Experience
• Offener Standard
• Derzeit kein Löschen von Einträgen und kein nachträgliches Anpassen fremder Einträge
www.dnug.de
38. Fazit
• Auch Organisationen mit Domino < 9.x können heute bereits
Anwendungen in IBM Connections integrieren = wichtiges
Argument.
• Sicherheitsbetrachtungen sind wichtig, die Anwender müssen
hier gehört werden.
• An vorhandene Erfahrungen und Know How beim Anwender
kann mit den beschriebenen Methoden angeknüpft werden.
• Innovativ ≠ Intuitiv, Integration in kleinen Schritten mit großer
Wirkung ist manchmal sinnvoller als „der große Wurf“