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

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…

Management von IT-Projekten

E-Book Management von IT-Projekten
Von der Planung zur Realisierung Format: PDF

Projektmanagement (PM) wird immer noch zu selten und zu inkonsequent eingesetzt. Viele problematische Projekte sprechen eine eindeutige Sprache. Kenntnisse des PM und seine Anwendungsmöglichkeiten…

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…

Management von IT-Projekten

E-Book Management von IT-Projekten
Von der Planung zur Realisierung Format: PDF

Projektmanagement (PM) wird immer noch zu selten und zu inkonsequent eingesetzt. Viele problematische Projekte sprechen eine eindeutige Sprache. Kenntnisse des PM und seine Anwendungsmöglichkeiten…

Praktisches Programmieren in C

E-Book Praktisches Programmieren in C
Grundlagen und Tipps Format: PDF

Wer programmieren will, kommt an C nicht vorbei. Vor allem bei der maschinennahen Programmierung, der Entwicklung von Betriebssystemen und in der technischen Informatik spielt C seit mehr als 30…

SPS-Programmierung mit IEC 61131-3

E-Book SPS-Programmierung mit IEC 61131-3
Konzepte und Programmiersprachen, Anforderungen an Programmiersysteme, Entscheidungshilfen Format: PDF

Seit 1995 führt das Standardwerk umfassend in die Konzepte der internationalen Norm für Programmiersysteme von speicherprogrammierbaren Steuerungen ein. Den Autoren gelingt es, schwierige Inhalte…

Profikurs ABAP®

E-Book Profikurs ABAP®
Konkrete, praxisorientierte Lösungen - Tipps, Tricks und jede Menge Erfahrung Format: PDF

Professionelle und sichere Anwendungsentwicklung unter SAP R/3® ist kein Zufall, sondern eine Sache der Erfahrung. Das Resultat: Tricks und Kniffe, von denen auch Sie als ABAP® Professional…

Wege aus der Softwarekrise

E-Book Wege aus der Softwarekrise
Verbesserungen bei der Softwareentwicklung Format: PDF

Seit Jahrzehnten steckt die Softwareentwicklung in der Krise. Laut aktuellen Statistiken gehen immer noch mehr als die Hälfte aller in der IT-Produktion eingesetzten Mittel verloren. Angekündigte…

Management von IT-Projekten

E-Book Management von IT-Projekten
Von der Planung zur Realisierung Format: PDF

Auch wenn Verfahren des Projektmanagements noch immer nicht konsequent eingesetzt werden - gerade für IT-Manager und IT-Entwickler sind Kenntnisse des Projektmanagements und seiner…

Weitere Zeitschriften

Menschen. Inklusiv leben

Menschen. Inklusiv leben

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

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

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

e-commerce magazin

e-commerce magazin

PFLICHTLEKTÜRE – Seit zwei Jahrzehnten begleitet das e-commerce magazin das sich ständig ändernde Geschäftsfeld des Online- handels. Um den Durchblick zu behalten, teilen hier renommierte ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN informiert durch unabhängigen Journalismus umfassend über die wichtigsten Geschehnisse im Markt der regenerativen Energien. Mit Leidenschaft sind wir stets auf der Suche nach ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...