Download - ULC Connect-Nachlese, 06.03.2014 Dresden
Jens Ribbeck
IBM Connections:
funktionale Erweiterungen mit
vorhandenen Notes-Anwendungen
Jens Ribbeck, ULC Business Solutions GmbH
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
Jens Ribbeck
• kommen traditionell aus der Lotus Notes/Domino-Umgebung (inkl. Entwicklung),
• haben eine Vielzahl und Vielfalt von Domino-Anwendungen 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
Unsere (IBM-) Kunden:
Jens Ribbeck
• 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 !
Unsere (Reise-) Ziele
Jens Ribbeck
• 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)
Domino-Anwendungen (Merkmale)
Jens Ribbeck
• Workflow-getriebene Anwendungen
– Einfache Organisationsprozesse
– Komplexe Kern-Anwendungen (z.B. CRM)
• Klassische Dokumentensammlungen
• Content-Management-Systeme
• …
Domino-Anwendungen heute (Cluster)
Jens Ribbeck
• Workflows immer Bedarf an Informationsübermittlung haben und
• bei Workflows immer die Menschen und ihre Aufgaben im Zentrum stehen.
Workflowanwendungen bieten sich für Integration an, da
= DAS entspricht der Philosophie der Social Networks / IBM Connections
Jens Ribbeck
• Workflow-Anwendung
• In verschiedenen Kundenszenarien im Einsatz
• Browser-Schnittstelle vorhanden
• Flexibel anpassbar
ULC.Formular- & Prozessmanager als Beispiel für die Betrachtungen:
Jens Ribbeck In
tegr
atio
nst
iefe
Agenda
Jens Ribbeck
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
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 gleicher- maßen gefordert!
Entwickler Admin
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
IBM Connections und IBM Domino in der Nachbarschaft 1. Benutzerverwaltung
Voraussetzungen für „gute Nachbarschaft“: • Synchronisierte Benutzerprofile • Domino-Adressbuch möglichst Quelle für Connections Benutzer-
Verzeichnis (LDAP) • Domino-Benutzer müssen eine eingetragene E-Mail Adresse haben
(Key)
Admin
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
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)
Admin
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
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, 3rd-
party 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
Admin
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
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)
Entwickler
Admin
www.dnug.de
Jens Ribbeck Nachbarn Portal Activitystream Embedded Experience
IBM Connections und IBM Domino in der Nachbarschaft 4. Vertrauensstellung
Zugriff über SSL-geschützte Verbindung (HTTPS) • Sensible Daten werden übertragen • Authentifizierung auf den API‘s erfolgt oft über Basic-
Authentifizierung • Qualifizierte Zertifikate verwenden (Trust-Center oder eigene
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
Entwickler
Admin
Jens Ribbeck
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
IBM Connections als Portal für IBM Domino Anwendungen 1. Domino im Fenster
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
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
Entwickler
Admin
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
IBM Connections als Portal für IBM Domino Anwendungen 2. Domino im Fenster, so geht‘s
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/
Navigation anpassen
Entwickler
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
IBM Connections als Portal für IBM Domino Anwendungen 2. Domino im Fenster, so geht‘s
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)
Navigation anpassen
Entwickler
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
IBM Connections als Portal für IBM Domino Anwendungen 2. Domino im Fenster, so geht‘s
Anwendungen neu starten: ALLE (!) betroffenen Anwendungen müssen mit den angepassten Vorlagen neu gestartet werden, damit das globale Menu aktiviert wird.
Navigation anpassen
Entwickler
Admin
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
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.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
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.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
IBM Connections als Portal für IBM Domino Anwendungen 5. Domino im iWidget, so gehts
iWidget entwickeln/bereitstellen
Entwickler
Admin 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 • 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) Beispiele…
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
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 Proxy- Anwendung bereitgestellt und muss nur eingebunden werden
Entwickler
Admin
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience Portal
www.ulc.de
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
Jens Ribbeck
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
Die IBM Domino Anwendung im Activitystream 1. Domino stellt Informationen bereit: Beispiel
DEMO
Urlaubsantrag:
Informationen klassisch per E-Mail, Neu: Eintrag im Activity Stream
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
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)
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
Entwickler
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
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
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
Die IBM Domino Anwendung im Activitystream 2. Domino stellt Informationen bereit: wie geht‘s
Umgebung anpassen:
System-Benutzer für Domino-Interface • 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
Entwickler
Admin
Jens Ribbeck
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
Embedded Experience: IBM Domino in Connections funktional integriert 1. Domino stellt Aufgaben im Activitystrem bereit
DEMO
Urlaubsantrag:
Öffnen der Anwendung klassisch per Link, Neu: Genehmigung direkt im Activity
Stream
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
Embedded Experience: IBM Domino in Connections funktional integriert 2. Domino stellt Aufgaben im Activitystrem bereit, wie geht‘s
Activitystream mit EE beschreiben:
Entwickler
API‘s benutzen • IBM Connections OpenSocial API (Json)
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
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
Embedded Experience: IBM Domino in Connections funktional integriert 2. Domino stellt Aufgaben im Activitystrem bereit, wie geht‘s
Gadget entwickeln/bereitstellen
Entwickler
Admin 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)
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) Beispiele…
Portal
www.dnug.de
Jens Ribbeck Nachbarn Activitystream Embedded Experience
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
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“
Jens Ribbeck
Herzlichen Dank für Ihre Aufmerksamkeit !