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

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

AUTOCAD Magazin

AUTOCAD Magazin

Die herstellerunabhängige Fachzeitschrift wendet sich an alle Anwender und Entscheider, die mit Softwarelösungen von Autodesk arbeiten. Das Magazin gibt praktische ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

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“ ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...