Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Notes PHP Connector zwei Welten verbinden. 1 Abstract Für die Erzeugung dynamischer Webauftritte - sind neben den verfügbaren sehr guten Notes Lösungen.

Ähnliche Präsentationen


Präsentation zum Thema: "Notes PHP Connector zwei Welten verbinden. 1 Abstract Für die Erzeugung dynamischer Webauftritte - sind neben den verfügbaren sehr guten Notes Lösungen."—  Präsentation transkript:

1 Notes PHP Connector zwei Welten verbinden

2 1 Abstract Für die Erzeugung dynamischer Webauftritte - sind neben den verfügbaren sehr guten Notes Lösungen - auch verschiedene andere Technologien im Einsatz. Insbesondere in Verbindung mit dem Apache Webserver - laut Netcraft Statistik ca. 70 % der weltweiten Webserver - ist PHP eine weit verbreitete Entwicklungssprache für die Entwicklung dynamischer Browseranwendungen. Die Referenten stellen im ersten Teil die PHP Technologie im Kontext der IBM Software vor. Hierzu gehören neben Domino auch DB2 und Cloudescape sowie die Sametime Technologie. Im zweiten Teil stellen sie den von Visual Solutions entwickelten PHP to Notes Connector vor. Der im Rahmen des Open Source CMS eZ Publish entwickelte Connector besteht aus zwei Teilen. Einer Komponente für Lotus Domino und einer Komponente für eZ Publish und damit PHP. Zur eigentlichen Datenübertragung zwischen diesen beiden Komponenten wird XML als Datenformat und HTTP als Übertragungsprotokoll verwendet. Das Konzept verfolgt dabei einen serviceorientierten Ansatz. Vorgestellt wird die derzeit verfügbare Funktionssammlung und ihre Anwendungsmöglichkeiten.

3 2 Disclaimer IBM, the IBM logo, DB2, DB2 Universal Database, Domino, Everyplace, Lotus, the On Demand Business logo, Notes, WebSphere, Workplace and the Workplace family of marks are trademarks of International Business Machines Corporation in the United States, other countries, or both. Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product or service names may be trademarks or service marks of others. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided “as is” without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

4 3 Referenten  Stefan Weber (Dipl.-Inf.) –Visual Solutions, Iserlohn –www.visol.de  Andreas Schulte –IBM Partnership Solution Center NordWest –www.ibm.com/de/mittelstand/psc/

5 4  Visual Solutions... entwickelt Kommunikations- lösungen für mittelständische Unternehmen und gestaltet Kommunikationsschnittstellen zu Marktpartnern. –Lotus/IBM Business Partner seit 1997 –Schwerpunkt Web-Entwicklung: Content-Management, E-Commerce, Barrierefreie Gestaltung –Database Publishing, Medienneutrale Datenbanken  IBM Partnership Solution Center NordWest –Teil der IBM Mittelstands- und Developer Relations Organisation –PSCs in: Berlin, Hamburg, Düsseldorf, Frankfurt, Stuttgart, München –Unterstützung für IBM Business Partner durch: Consulting Workshops & Enablement Porting Testing Unterstützung et al Unternehmens Info

6 5 Agenda Notes – Geschichte & Basisinformationen PHP im Kontext der IBM Software DB2 / Cloudscape, Sametime, Domino PHP Notes Connector Funktionsübersicht Beispiel

7 6 Agenda Notes – Geschichte & Basisinformationen PHP im Kontext der IBM Software DB2 / Cloudscape, Sametime, Domino PHP Notes Connector Funktionsübersicht Beispiel

8 7 Lotus Notes 9-Boxen-ModellGrundideen Domino Server communicate, collaborate, coordinate & PIM Anwendungsserver Anwendungs-Templates Maske Feld View.nsf.ntf

9 8 9-Boxen-Modell Reichweite Komplexität KommunikationKoordinationZusammenarbeit Team Unternehmen Extern

10 9 9-Boxen-Modell Mail Sametime Blog Diskussion RSS Feeds Mail Sametime Blog Diskussion RSS Feeds Mail Sametime Blog Diskussion RSS Feeds Notes Anwendung mit Web-Frontend Teamroom Office-Bibl. Teamroom Office-Bibl. Notes Anwendung mit Web-Frontend Teamroom Office-Bibl. Notes/SAP Teamroom Office-Bibl. Power-User Anwendung Reichweite Komplexität KommunikationKoordinationZusammenarbeit Team Unternehmen Extern

11 10 Die Geschichte von Notes 1973 PLATO Notes Entwicklung am Computerbased Education Reserch Laboratory (CERL) der Universität Illinois 1976 PLATO Group Notes (Unterscheidung zwischen privaten und öffentlichen Inhalten) 1984 Ray Ozzie, Tim Halvorsen und Len Kawell entwickeln die Basis von Lotus Notes bei Iris Associates Inc Vor-Version von Lotus Notes im internen Einsatz 1987 Lotus Development kauft die Rechte an Notes 1989 Version 1 wird in den USA ausgeliefert Anfang der 90iger Version 2.x in Deutschland 1994 Lotus kauft Iris Associates Inc. – Iris bleibt aber Entwicklungslabor für Notes 1995 IBM kauft Lotus – insbesondere wegen der Notes Technologie

12 11 Lotus Notes & Domino Roadmap 1989 –Notes R – Notes R Notes R4 Notes/Domino R Notes R3 Personal Productivity Groupware and Collaboration 1999 – Notes and Domino R – Notes and Domino – Notes and Domino 6.5 Team Productivity Instant messaging, Web conferences, team discussions, document and Web content management, e-learning, … 2004 – Notes and Domino 6.5.1; IBM Workplace products, technologies, solutions Organizational Productivity Expanding the reach of the “Team Productivity” era, with tools to extend collaboration into Web sites, portals and work spaces, mobile devices, and more… embraced the web embraced J2EE ND – Notes/Domino 7 IBM Workplace Collaboration Services …continuing long into the future

13 12 Notes Begriffe.nsf Feld Maske / Form View Replikation

14 13 Notes Datenbank (.nsf) NSF = Notes Storage Facility keine relationale Datenbank speichert ALLE Inhalte einer Notes Anwendung: vom Datensatz bis zur Zugriffskontrolliste Datenstruktur am ehesten zu vergleichen mit XML (Namens-Werte-Paar) ist aber kein XML (siehe hierzu DXL) mehr später...

15 14 Notes Feld Text Date/Time Number Dialog Liste Checkbox Radio button Listbox Combobox Rich Text Authors Names Readers Password Formula Time zone Rich Text Lite Color

16 15 Maske Notes speichert Daten in losem Schema Masken geben Vorgabe bei der Erstellung von Dokumenten

17 16 View

18 17 Replikation Synchronisation von Notes Datenbanken zwischen Notes Client und Domino Server zwischen Domino Servern Abgleich von Teilmengen möglich selektive Replikation Client kann Teildokumente abrufen.nsf-Datei macht Replikation möglich Übertragung erfolgt verschlüsselt

19 18 Domino Server Domino Server (seit Version 4.5 vorher Notes Server) Lotus Domino Server ist eine Entwicklerplattform für Groupware- Anwendung in verteilten Umgebungen mit Werkzeugen für Rapid Application Development (RAP). Domino bringt eine Benutzerverwaltung mit entsprechenden Sicherheitsmechanismen (Private- & Public-Key) und eine komplette verteilte Objekt-Datenbank (Object Store) als Grundfunktionalität mit. Auf dem Domino Server können die Standardsoftware- Komponenten der Lotus Domino Family unter Zugriff auf die Benutzerverwaltung und die Objekt-Datenbanken implementiert werden. Plattformunabhängigkeit: Windows, Linux, AIX, HP-UX, i5/OS, zOS, Solaris Keine strikte Abhängigkeit von Betriebssystemversionen und Verzeichnisdiensten

20 19 offene Strukturen SECURITY OBJECT STORE OBJECT SERVICES API (OLE,COM, Java, JavaScript, LS, C++, XML,CORBA) SMTP, IMAP, MAPI, POP, LDAP HTTP & XML Webservices CGI, PERL, SSI, DSAPI Java Servlet Engine NNTP IIOP Notes ACCESS CONTROL DIGITAL SIGNATURES RSA & S/MIME ENCRYPTION ROLES BASED ACCESS NSF NTF ADVANCED SERVICES CLUSTERING NOTES & WEB BILLING PARTITIONING Dual Security - Notes & Web Application Services Open Development Open Client Access Databases & Templates Enterprise Services NT, OS/2, AS/400, S/390, AIX, HP-UX, Solaris, LINUX Cross Platform VIEW INDEXING SEARCH ENGINE REPLICATION DIRECTORY SCH & TRIGGERED AGENTS WORKFLOW DECS APPLICATION LOGIC MESSAGING ROUTING C&S FREE TIME SEARCH Infrastructure Services

21 20 Domino Zugriffs-Steuerung Notes Client Browser Domino DatenbankDokumentFeld Notes-ID-Datei Prüfung des Serverzugriffs Prüfung der Notes ID Prüfung des Serverzugriffs Prüfung des Internet-Passworts Prüfung der ACL Prüfung der Rollen Prüfung von Leser- und Autorenfeldern Feldver- schlüsselungen

22 21 Lotus Script Java Script Java PHP

23 22 Schnittstellen (-Standards) SMTP, NNTP, POP3, IMAP vCard iCal CORBA WebServices XML-Import/Export (DXL) Datenpumpen Support für RIM & mobile Endgeräte

24 23 Domino Clients Lotus Notes (Win & Mac, ab Linux) Domino Web Access Domino Access for Outlook PDAs WebSphere Portal Version 9: auf Basis der Eclipse RCP externer Zugriff aus Java / PHP Apps

25 24 PIM & Standard-Anwendungen , Kalender & Aufgabenverwaltung Diskussion Teamroom Dokumenten-Bibliothek RSS-Feed-Generator Blog-Template

26 25 Architektur – Domino zentrierte Betrachtung Windows, AIX, i5, Unix, Linux Lotus Notes.NSF DB2 / Cloudscape (RDBMS) HTML Browser Eclipse Rich Client WMC WPS Everyplace Zend Core.NSFDB2 Anmerkung: PHP-Java Integration ist nicht dargestellt Web Service DXL Sametime Excel PDF

27 26 Domino & PHP single Server (Domino & Apache) multi Server (Domino & Apache) PHP Integration Kit for WebSphere Application Server Community Edition siehe Artikel auf alphaWorks:

28 27 Single Server Konfiguration 1. Möglichkeit zwei httpd mit diff. Ports Httpd Port 80 mod_rewrite Httpd Port 81 Browser Request ApacheDomino Abarbeitung des php Scripts kommt später! Configuring Apache, PHP, MySQL and Domino for Windows 2000 (...) 1. Edit httpd.conf 2. Add the following lines to the end of the file LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule rewrite_module modules/mod_rewrite.so RewriteEngine on RewriteRule ^(.*).nsf(.*) [P] Quelle:

29 28 PROBLEM: die Lösung funktioniert nur für anonymen – read only - Zugriff (...) In this configuration Port 81 can be blocked on your firewall as traffic to port 81 is only carried internally to the server. However this configuration has problems if you want to use it for more than Read Only pages. When you authenticate with the Domino server the server returns you to the URL it authenticated you with, which is the URL that was passed from Apache, which results in the browser displaying the internal port after login (see below), of course if this port is blocked by your firewall you will get a 404, however, as you are now authenticated with Domino we can remove the :81 from the URL (the blocked port) and the page will display fine. This is because at this point Domino is simply serving the page and not authenticating you. This behaviour is "as expected" and Apache has a method of dealing with such returning URLs. (...) Quelle: Domino_PHP_Install.pdf

30 29 Single Server Konfiguration 2. Möglichkeit Domino httpd mit PHP via cgi Httpd Port 80 Browser Request Domino cgi PHP runtime Windows Quelle: 10.lotus.com/ldd/nd6forum.nsf/0/f4833adee01587cb f52d?OpenDocument SuSE Domino PHP - can work! Posted by Alfa Tecnologias on 24.Jul.05 at 06:01 PM using a Web browser Category: Domino ServerRelease: 6.5.4Platform: Linux - SuSE Alfa Tecnologias (...) 1. Schritt Installation PHP (...) 3. With Domino Administrator Open your server, Select your Server Document and create a "Web URL mapping/redirection" ( or a Internet Site Rule) Specify the following: - "URL --> Directory" - incoming: /php-bin - Target: /usr/bin - Access: Execute Save and close Restart HTTP (tell http restart) (...) DOMINO_PHP_CGI.pdf

31 30 Dual Server Installation DXL DSAPI WebServ Httpd Port 80 Browser Request Apache Domino PHP-Script

32 31 Dual Server Installation DSAPI DXL WebServ Httpd Port 80 Browser Request Apache Domino PHP-Script DB2 / Cloudscape API

33 32 Agenda Domino – Geschichte & Basisinformationen PHP im Kontext der IBM Software DB2 / Cloudscape, Sametime, Domino PHP Notes Connector Funktionsübersicht Beispiel

34 33 PHP & DB2 / Cloudscape Zend Core for IBM einfache Installation / Setup liefert alle benötigten DB2 UDB, Cloudescape und 3rd party libraries NEU: mit kostenloser DB2-C Cloudescape Anwendungen können problemlos auf DB2 umgestellt werden (gleiche API) Webserver & Betriebssysteme Apache 1.3.x, 2.0.x AIX 5.2, 5.3 Linux RHEL 3, SLES 9 PHP, DB2 UDB und Cloudescape online Dokumentation Integriert mit Zend PlatformTM

35 34 PHP & Sametime Integration via STLinks Java Script Code wird in PHP Script integriert Namensfeld notwendig für Awarnes-Funktion Login am Sametime Server aus PHP Anwendung Apache & Sametime Login ? >>> LDAP Authentifizierung STLinks Ergänzung für Sametime Server notwendig (kostenlose Erweiterung) IBM Redpaper verfügbar behandelt die Nutzung von STLinks in HTML Websites Lotus Instant Messaging/Web Conferencing (Sametime): Building Sametime-Enabled Applications

36 35 PHP & Domino ab Domino 5 PHP kann zunächst einmal jeden XML Output des Domino Servers verarbeiten mit Domino 7 Nutzung der Domino Webservices durch PHP mit PHP 5 wurde das XML Handling und die Arbeit mit Webservices erweitert und verbessert

37 36 LAMP & Domino Single Server Installation Nicht mit Standardkonfiguration möglich Mod_rewrite notwendig Veranlast Apache.nsf Anfrage durchzuleiten Domino Server Konfig: HTTP Port ungleich Apache Port.... (Google liefert eine (englische?) Website mit guter Erklärung)

38 37 Agenda Domino – Geschichte & Basisinformationen PHP im Kontext der IBM Software DB2 / Cloudscape, Sametime, Domino PHP Notes Connector

39 38 Agenda Interner Aufbau von Lotus Notes Zugriff auf Notes Daten Datenbanktreiber, Objekte HTTP, XML Notes Connector Besonderheiten, Bewertung

40 39 Interner Aufbau von Lotus Notes Notes Datenbank : Container für Datensätze enthält beliebig viele verschiedene Notes Note : Datensatz enthält beliebig viele verschiedene Items Item : Container für Daten speichert Daten (z.B. Zahl, Text oder Richtext) Alle Informationen einer Datenbank werden als Notes gespeichert, Notes mit Nutzdaten werden als Dokumente bezeichnet Gesamte Applikation in einer Datenbankdatei, auch Gestaltung und Sicherheit

41 40 Notes - Dokument/Form/View Dokument: Items View: Form: Anzeige/Bearbeitung

42 41 Interner Aufbau von Lotus Notes - Sicherheit Personen, Gruppen, Rollen und Richtlinien Zugriffsrechte für Datenbanken, Dokumente und Felder Verschlüsselung für Datenbanken und Felder

43 42 Zugriff auf Notes Daten - Topologie

44 43 Zugriff auf Notes Daten - Datenbanktreiber Lotus Notes ist keine relationale Datenbank ODBC Treiber für Windows Anwendungen verfügbar DB2 als Datenspeicher für Lotus Notes befindet sich im Test Stadium. Werkzeuge zum Datenabgleich zwischen Lotus Notes und relationalen Datenbanken verfügbar z.B. LEI Kein aktueller JDBC Treiber verfügbar

45 44 Zugriff auf Notes Daten - Objekte Lotus Notes bildet Daten und Funktionen intern in einem Objektmodell ab. Front-End Klassen: nur im Notes Client verwendbar Back-End Klassen: NotesSession, NotesDatabase, NotesDocument, NotesItem, NotesDocumentCollection, NotesView Notes Objekte können in diversen Programmiersprachen verwendet werden

46 45 Zugriff auf Notes Daten - Objekte COM Schnittstelle: Verwendung von Notes Client Funktionen in anderen Windows Anwendungen JAVA Schnittstelle: Local oder Remote über CORBA verwendbar, Domino Internet InterOrb Protocol läuft als eigener Task im Domino Server Achtung! Threading, Sessionhandling, Recycle

47 46 Zugriff auf Notes Daten - Objekte Notes API: Plattformabhängige C/C++ Programme und Server Erweiterungen Fast alles ist möglich, DSAPI Programme laufen z.B. als "Filter" im HTTP Stack des Servers Achtung! Kleinste Fehler können katastrophale Folgen haben

48 47 Zugriff auf Notes Daten - HTTP Domino Server kann standardmäßig HTML Code erzeugen, eigener oder fremder HTTP Stack Mail Anwendung (Domino Web Access) sehr leistungsfähig Mit Domino OffLine Service kann eine Notes Maildatenbank über Webbrowser in eine Lokale Cloudscape Datenbank repliziert werden HTTP Zugriffe lassen sich für Datenbanken und Designelemente generell sperren

49 48 Zugriff auf Notes Daten - Domino XML Language Ziel: Abbildung aller Notes Datenstrukturen als XML Code ReadViewEntries: URL Parameter der die Daten in einem View als DXL Code liefert Demo

50 49 Domino XML Language - ReadViewEntries

51 50 Domino XML Language - Dokument

52 51 Zugriff auf Notes Daten - Domino XML Language Ziel: Abbildung aller Notes Datenstrukturen als XML Code ReadViewEntries: URL Parameter der die Daten in einem View als DXL Code liefert Problem: Es existiert kein URL Parameter der Dokumente als DXL Code liefert. Lösung: Selbst ein Programm schreiben das die Notes Objekte anspricht Einfacher: NotesConnector verwenden

53 52 NotesConnector - Architektur

54 53 NotesConnector - Eigenschaften Generische Lösung zum Zugriff auf Lotus Notes Daten ermöglicht den lesenden und schreibenden Zugriff auf Text-, Datum- und Zahlen-Felder in beliebigen Notes-Datenbanken. Keine Veränderungen in den Notes Anwendungen für den Zugriff auf Ihre Notes-Daten sind keine speziellen Ansichten in Notes erforderlich – der Zugriff kann direkt auf Dokumente erfolgen. Kein direkter Webzugriff auf Zieldatenbanken Zieldatenbanken müssen nicht für den Webzugriff geöffnet werden.

55 54 NotesConnector - Eigenschaften Unterstützt anonyme und authentifizierte Zugriffe Durch die Unterstützung authentifizierter Zugriffe können Sie die komplette Notes-Security für Ihre Notes-Anwendungen auch weiterhin nutzen. Nutzbar für beliebige PHP-Anwendungen Spezielle Version für eZ Publish Die Extension wird einfach in eZ Publish aktiviert und ermöglicht so die komfortable Nutzung der leistungsfähigen eZ publish Templatesprache für Zugriffe auf Notes Daten. Verfügbar als Script-Lösung in einer Notes Datenbank oder als DSAPI-Filter

56 55 Notes Connector - Funktionen Datenzugriff Dokumentenmodus Viewmodus Dokumentenselektion Einzelselektion Mehrfachselektion über Notes-View über Volltext-Suche Feldselektion

57 56 Notes Connector - Funktionen Unterstützte Notes Datentypen Text / Text-List Number / Number-List Date/Time / Date/Time-List Attachments Lesender und schreibender Zugriff Allen Daten werden als Array übertragen: erlaubt einfaches durchloopen in PHP Notes RichText (formatierter Text, eingebettete Objekte) nur als Abstract bzw. mit zusätzlichen Mitteln

58 57 Notes Connector - Demo Einfache PHP-Beispiele Bistro, Mensa, etc. Kalender Integration in eZ publish Kalender Mitarbeiter

59 58 Zugriff auf Notes Daten - Besonderheiten Jedes Dokument kann völlig unterschiedliche Items enthalten Items mit gleichem Namen können unterschiedlichen Types sein Leere Items sind immer Text Items Items können eine Liste von Texten, Zahlen oder Datum/Uhrzeitwerten enthalen Notes Richtext ist nicht gleich RTF

60 59 Zugriff auf Notes Daten - Bewertung Datenbankorientiert: Domino als Datenbankserver ODBC - Windows Standardprotokoll Notes auf DB2 / LEI - Notes Daten in Relationalen Datenbanken Objekt- / Funktionsorientiert: Domino als Applikationsserver COM -> Windows Client Anwendungen JAVA / CORBA -> Königsweg der IBM C/C++ API -> (fast) alles Geht, hoher Aufwand

61 60 Zugriff auf Notes Daten - Bewertung HTTP Zugriff: Domino als Webserver Plain HTML -> schnell und einfach (parsen oder einbetten) DWA -> leistungsfähig, als Frame einbetten (nur Mail) XML / DXL: Domino als Datenquelle ReadViewEntries -> performant aber eingeschränkt nutzbar NotesConnector -> universell RSS Datenbank -> wie NotesConnector(LS) für RSS Feeds SOAP -> selbst programmieren oder NotesConnector verwenden

62 61 Notes Connector - Resourcen Q+A: Fragen zum Vortrag? Fragen, Anregungen, Projektanfragen: Sonstige ViSol-Leistungen: Beratung, Integrationssupport, Projektlösungen Weitere Informationen / Downloads unter Produktflyer als PDF Artikel aus PHP-Magazin 4/2006 Kostenlose PHP-Klasse (View-Connector) Notes Connector Demo Version

63 62 IBM Resourcen IBM Partnership Solution Center Anlaufstelle für Developer Informationen zum IBM Business Partner Programm


Herunterladen ppt "Notes PHP Connector zwei Welten verbinden. 1 Abstract Für die Erzeugung dynamischer Webauftritte - sind neben den verfügbaren sehr guten Notes Lösungen."

Ähnliche Präsentationen


Google-Anzeigen