Sie sind hier
E-Book

Java unter Lotus Domino

Know-how für die Anwendungsentwicklung

AutorThomas Ekert
VerlagSpringer-Verlag
Erscheinungsjahr2006
Seitenanzahl803 Seiten
ISBN9783540345831
FormatPDF
KopierschutzDRM
GerätePC/MAC/eReader/Tablet
Preis22,99 EUR

In diesem Buch wird auf die Besonderheiten der Java-Anwendungsentwicklung unter Domino eingegangen. Es liefert dem erfahrenen Java-Programmierer, der neu in der Domino-Welt ist, einen reichhaltigen Wissensschatz, der weit über die reine Dokumentation der Domino-Java-API hinausgeht. Anleitungen und Best-Practice-Beispiele aus realen Projekten, sowie Tools und vorgefertigte Klassen sind ebenso vorhanden, wie die neuen Standards unter Domino. Gleichzeitig bietet das Buch dem technischen Projektleiter vom Setup eines Entwicklungsteams bis hin zur Planung und Durchführung der Qualitätssicherung, Logging und Unit-Tests einen Leitfaden, der speziell auf die Bedürfnisse von Domino eingeht. Nicht zuletzt profitiert das Buch von der langjährigen Domino- und Java-Erfahrung des Autors, der mit Tipps und Tricks zu undokumentierten Bugs und Features beiträgt.



Thomas Ekert ist seit 8 Jahren freier IT-Berater und führt seit 5 Jahren als CTO und geschäftsführender Gesellschafter die IT-Agentur BITSDONTBYTE. Als zertifizierter Lotus und Java Entwickler ist er Spezialist für Domino und Web Application Server Entwicklung. Als Hauptverantwortlicher für große Projekte für öffentliche und private Auftraggeber ist er erfahren in Controlling und Qualitätssicherung von umfangreichen TÜV-geprüften Java basierten Domino-Projekten, in denen er neben Projektierung, Konzept und Leitung auch Schulungen in den Unternehmen konzipiert und durchführt.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

4 Java-Anwendungen @ Domino (S. 115-117)

Java-Anwendungen für Domino können auf vielfältige Weise entwickelt und eingesetzt werden. Beide basieren auf dem Basisobjekt jeder Domino-Java-Anwendung, der Session. Zwei grundsätzliche Ansätze stehen für den Aufbau einer Domino- Java-Anwendung zur Verfügung – einerseits können unabhängig von der Domino- Entwicklungsumgebung eigenständige Java-Anwendungen entworfen werden, die über die Core-Klassen des Pakets lotus.domino.* eine Session beziehen können und somit auf alle Domino-Java-Objekte Zugriff erhalten, und andrerseits können so genannte Domino-Java-Agenten im Domino Designer entworfen werden, die sowohl benutzergesteuerte Programmausführungen ermöglichen, als auch servergesteuerte Batches abarbeiten können.

Beide Ansätze haben ihr eigenes Einsatzgebiet und sollen in allen Details erläutert werden, wobei der eigentliche Unterschied nur im Speicherort des Codes (in einer Java-Anwendung oder in einer Domino-Datenbank) und der hierdurch bedingten unterschiedlichen Art, eine Session zu beziehen, besteht, woraus sich allerdings einige Unterschiede in Berechtigungen und Ausführungsart ergeben. Die eigentliche Verwendung der Domino-Java-Objekte ist in beiden Fällen gleich. Dieses Kapitel beschreibt, wie Domino-Java-Anwendungen aufgebaut werden und welche Ausführungseigenarten und Berechtigungen bei der Ausführung gelten. Die für den Aufbau einer Domino-Java-Anwendung notwendigen Objekte und Klassen werden dann ab Kap. 6 beschrieben.

4.1 Domino- und J2SE- und J2EE-Anwendungen

Bei der Entwicklung stabiler, leistungsfähiger und skalierbarer Web-Anwendungen auf Basis eines Application Servers hat sich Java immer mehr zu einem Standard entwickelt. Insbesondere der J2EE-Standard und einige Frameworks wie Struts [Apache, Struts] oder cocoon [Apache, cocoon] sind heute die Basis vieler Java-basierter Web-Anwendungen.

Auch im Bereich der Software-Entwicklung muss sich Java nicht mehr verstecken und hat inzwischen bei vielen kommerziellen und nicht kommerziellen Unternehmen Einzug in die Anwendungsentwicklung gefunden. Seit Version 4.5 ist Java in Domino integriert und inzwischen wichtiger Bestandteil für die Anwendungsentwicklung für Domino. Hieraus haben sich verschiedene Ansätze entwickelt, mit denen einerseits auf Domino- Datenbanken zugegriffen werden kann, sei es durch alleinstehende J2SE-Anwendungen oder über Webanwendungen auf Basis von Servlets oder JSP. Andrerseits ist Java in Domino integriert und ermöglicht die Entwicklung und Erweiterung von Domino-Anwendungen. Ein kleines Beispiel haben Sie bereits in Kapitel 2.1 kennengelernt.

Grundsätzlich kann nach drei Ansätzen unterschieden werden, in denen Java- Programmierung für Domino zum Einsatz kommt:

• Erweiterung von Domino-Anwendungen durch den Einsatz von Java innerhalb des Notes Clients
• Entwicklung von alleinstehenden Java-Anwendungen auf Basis von J2SE (oder auch J2ME) mit Zugriff auf Domino-Datenbanken
• Entwicklung von Web-Anwendungen mit Zugriff auf Domino-Datenbanken auf Basis von Servlets, JSP, JSP-TagLibs und J2EE entweder für den Einsatz auf externen Application Servern oder innerhalb des Domino-HTTP-Task (nur Servlets)

Für alle drei Anwendungsfälle werden verschiedene Konzepte benötigt, um die Sicherheit zu gewährleisten, die Verbindung zwischen Client und Server herzustellen, Datenintegrität zu gewährleisten und die Interaktion mit den Benutzeroberflächen zu ermöglichen.

Inhaltsverzeichnis
Vorwort6
Über dieses Buch8
Inhalt11
Teil 1 Notes und Domino19
1 Das Domino-Prinzip21
1.1 Replikation23
1.2 Schemabasiertes Objekt- und Speichermodell24
1.3 Erweiterbarkeit25
1.4 Zugriffskontrolle und Verschlüsselung27
1.5 Geschichte29
1.6 Lotus Domino und Java32
1.7 Lotus Domino als Datenbank34
1.8 Die Client-Server-Umgebung Lotus und Domino36
1.9 Zusammenfassung38
2 Notes @ Domino41
2.1 „Hello WWWorld“ – URL-Loader-Anwendung42
2.2 Das Domino-Speichermodell59
2.3 Replikation80
2.4 Das Domino-Objektmodell (Einführung)85
2.5 Suchkonzepte (Einführung)86
2.6 Sicherheitskonzepte92
2.7 Zusammenfassung94
3 Notes IDE97
3.1 Der Domino Designer98
3.2 Masken103
3.3 Ansichten und Ordner115
3.4 Agenten123
3.5 Bibliotheken129
3.6 Zusammenfassung130
Teil 2 Java @Domino131
4 Java-Anwendungen @ Domino133
4.1 Domino- und J2SE- und J2EE-Anwendungen134
4.2 Vorbereitungen135
4.3 Lokale Notes Session137
4.4 Java und Domino139
4.5 Statische Notes Threads141
4.6 Session im statischen Thread144
4.7 NotesThread erweitern145
4.8 Runnable implementieren146
4.9 Domino-Java-Applets146
4.10 Notes Agent im Domino Designer erstellen155
4.11 Agent in Domino Designer importieren159
4.12 Agent in eine Java-Anwendung umwandeln161
4.13 Agenten in Notes-Masken162
4.14 WebQueryOpen und WebQuerySave165
4.15 Parameterübergabe zwischen Agenten und runOn-Server166
4.16 Sicherheit bei der Agentenausführung172
4.17 Debugging von Domino-Java-Agenten177
4.18 Der Domino Agent Manager178
4.19 Domino-Java-Agent und -Anwendung – Konzepte im Vergleich179
4.20 Zusammenfassung180
5 Java-Web-Anwendungen @ Domino183
5.1 Domino-Web-Agenten184
5.2 Servlets189
5.3 Remote Computing via DIIOP / CORBA202
5.4 Troubleshooting250
5.5 Zusammenfassung254
6 Domino-Objekt- und Speichermodell257
6.1 Objekt- und Datenstruktur258
6.2 Basis- und Sonderklassen266
6.3 Zusammenfassung271
7 Document273
7.1 Document und Item274
7.1.1 Mit Items arbeiten275
7.1.2 Datentypen handhaben277
7.1.3 Item Properties und weitere Methoden in Item286
7.1.4 Mit Document arbeiten – Lifecycle eines Dokuments289
7.2 Profildokumente300
7.3 Antwortdokumente302
7.3.1 Antwortreferenzen über Self ID und Parent ID304
7.4 Attachments306
7.4.1 Übersicht über die Methoden zur Attachmentbearbeitung316
7.5 Encryption und Signing320
7.5.1 Items mit geheimen Verschlüsselungsschlüsseln verschlüsseln322
7.5.2 Verwendung der Verschlüsselungsschlüssel324
7.5.3 Fehlerquellen bei der Verwendung von Verschlüsselungsschlüsseln326
7.5.4 Verwendung von Verschlüsselungsschlüsseln über DIIOP328
7.5.5 Verschlüsselung und Signatur von Dokumenten329
7.5.6 Verwendung öffentlicher Verschlüsselungsschlüssel329
7.5.7 Signieren von Daten330
7.5.8 Versenden von signierten und verschlüsselten Daten332
7.6 Document Properties und weitere Methoden333
7.7 Document Locking337
7.8 Zusammenfassung343
8 Session345
8.1 Bezug von Datenbanken346
8.2 Einfache unabhängige Stil- und Eigenschafts-Objekte347
8.3 Service-Anwendungen349
8.4 Ausführen verschiedener Befehle352
8.5 Verschiedene Eigenschaften354
8.6 Zusammenfassung356
9 Database357
9.1 Datenbanken öffnen, schliessen, replizieren und löschen358
9.2 Datenbanken, Dokumente und Document Collection363
9.3 Allgemeine Datenbankeigenschaften364
9.4 Suche und Catalog370
9.5 Sicherheit373
9.6 Designelemente und Ordner379
9.7 Locking und Signatur383
9.8 Service Tasks383
9.9 Zusammenfassung384
10 View385
10.1 Updates, Indizes und Performance387
10.2 Programmatische Manipulation des Designs von Views388
10.3 Allgemeine Properties und Methoden395
10.4 View und Document398
10.5 ViewNavigator, View und ViewEntry402
10.6 Locking419
10.7 DocumentCollection und ViewEntryCollection419
10.8 Schleifen – View, DocumentCollection und ViewEntryCollection431
10.9 Kapselung von Schleifen438
10.10 Zusammenfassung441
11 RichText443
11.1 Arbeiten mit RichText444
11.2 RichTextItem447
11.3 RichTextNavigator453
11.4 RichTextRange457
11.5 RichTextSection460
11.6 RichTextTable460
11.7 RichTextTab470
11.8 RichTextDoclink471
11.9 RichTextParagraphStyle473
11.10 RichTextStyle477
11.11 Zusammenfassung479
12 Weitere Objekte481
12.1 Das Name-Objekt482
12.2 Arbeiten mit Zeit-Objekten487
12.3 Arbeiten mit internationalen Einstellungen492
12.4 Methoden in Agent493
12.5 Zusammenfassung496
13 Objekt- und Speichertechniken497
13.1 Erweitern der Objekt-Funktionalitäten498
13.2 Cashing von Domino-Objekten516
13.3 Domino-Objekte in Multithreading-Umgebungen532
13.4 Domino und DB2541
13.5 Zusammenfassung584
14 Recyling von Domino-Objekten587
14.1 Notwendigkeit des Recyclings588
14.2 Grundregeln des Recyclings589
14.3 Besonderheiten in verschiedenen Umgebungen600
14.4 Vereinfachung – Die DJBuch-GC-Klasse603
14.5 Recycling im MultiThreading605
14.6 Zusammenfassung605
15 Wer suchet, der findet606
15.1 Überblick über die Suchkonzepte607
15.2 Zugriff über UniversalID und NoteID610
15.3 Suche über Views611
15.4 Suche über Datenbanken mit db.search617
15.5 Volltextindizes618
15.6 Weitere Suchkonzepte (Domainsearch / browsergestützt)622
15.7 Performanceoptimierung625
15.8 Zusammenfassung627
Teil 3 Domino-Enterprise-Anwendungen628
16 J2EE Infrastruktur631
16.1 Application Server634
16.2 Integrationsszenarien634
16.3 Single Sign On642
16.4 Zusammenfassung644
17 J2EE @ Domino645
17.1 Servlets646
17.2 JSP für Domino646
17.3 Domtags – Installation und Verwendung648
17.4 Domtags652
17.5 Domutils668
17.6 MVC Pattern für Domino-Anwendungen670
17.7 Domino-XML672
17.8 Zusammenfassung685
18 Domino-Projektentwicklung687
18.1 Infrastruktur, Domino-Core-Applikationen688
18.2 Anwendungen, E-Mail, Replikation694
18.3 Entwicklungsumgebungen697
18.4 Team702
18.5 Zusammenfassung703
19 Debugging und Qualitätssicherung705
19.1 Notwendigkeit und verschiedene Typen von Tests706
19.2 Agenten debuggen und testen708
19.3 Domino-Java-Anwendungen testen716
19.4 Remote Debugging von Java-Agenten718
19.5 JUnit Tests721
19.6 Logging725
19.7 Multithreading und Lasttests736
19.8 Notes-INI-Variablen737
19.9 Zusammenfassung747
20 Anhang749
20.1 Bekannte Speicherlimits in Domino-Datenbanken750
20.2 Übersicht über die Domtags Tag Library751
20.3 Literatur und Links763
20.4 Disclaimer766
20.5 Index767
20.6 Abbildungsverzeichnis817

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

Leben 3.0

E-Book Leben 3.0
Mensch sein im Zeitalter Künstlicher Intelligenz Format: ePUB

Die Nobelpreis-Schmiede Massachusetts Institute of Technology ist der bedeutendste technologische Think Tank der USA. Dort arbeitet Professor Max Tegmark mit den weltweit führenden Entwicklern k…

Apps effektiv managen und vermarkten

E-Book Apps effektiv managen und vermarkten
Die eigene App erfolgreich veröffentlichen: Von der Konzeption bis zur Vermarktung Format: PDF

Lernen Sie Ihre App effektiv, strukturiert und begeisternd weltweit zu vermarkten. In diesem praxisorientierten Buch erhalten Sie einen prägnanten Überblick von der Idee und Konzeption einer App,…

Prozessübergreifendes Projektmanagement

E-Book Prozessübergreifendes Projektmanagement
Grundlagen erfolgreicher Projekte Format: PDF

Projektmanagement ist in Zeiten von enger werdenden Projektbudgets und Projektzeitplänen eine zunehmende Herausforderung geworden. Die Autoren geben wertvolle Hilfestellungen in Krisensituationen und…

Fundiert entscheiden

E-Book Fundiert entscheiden
Ein kleines Handbuch für alle Lebenslagen Format: PDF

Orientierungshilfe in postfaktischen Zeiten Dieses Buch ist ein Rettungsanker in der Flut der Informationen, die ununterbrochen auf uns einströmen. Tag für Tag müssen Sie sich Meinungen bilden, sei…

Informatik

E-Book Informatik
Anwendungsorientierte Einführung in die allgemeine Wirtschaftsinformatik Format: PDF

Das einführende Informatik-Lehrbuch wendet sich nicht nur an Informatik-Studenten, sondern sogar in erster Linie an Studierende und Praktiker solcher Disziplinen, in denen Informatik zur…

Prozessübergreifendes Projektmanagement

E-Book Prozessübergreifendes Projektmanagement
Grundlagen erfolgreicher Projekte Format: PDF

Projektmanagement ist in Zeiten von enger werdenden Projektbudgets und Projektzeitplänen eine zunehmende Herausforderung geworden. Die Autoren geben wertvolle Hilfestellungen in Krisensituationen und…

Weitere Zeitschriften

aufstieg

aufstieg

Zeitschrift der NaturFreunde in Württemberg Die Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur ...

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

Der Steuerzahler

Der Steuerzahler

Der Steuerzahler ist das monatliche Wirtschafts- und Mitgliedermagazin des Bundes der Steuerzahler und erreicht mit fast 230.000 Abonnenten einen weitesten Leserkreis von 1 ...

DGIP-intern

DGIP-intern

Mitteilungen der Deutschen Gesellschaft für Individualpsychologie e.V. (DGIP) für ihre Mitglieder Die Mitglieder der DGIP erhalten viermal jährlich das Mitteilungsblatt „DGIP-intern“ ...

Euphorion

Euphorion

EUPHORION wurde 1894 gegründet und widmet sich als „Zeitschrift für Literaturgeschichte“ dem gesamten Fachgebiet der deutschen Philologie. Mindestens ein Heft pro Jahrgang ist für die ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...