
SWING PDF Converter: Probleme und Fehler in der Darstellung beseitigen
Der Ausdruck mit SWING PDF unterscheidet sich stellenweise von der Darstellung/Vorschau in IBM Notes. Zwei Unterschiede sehen Sie hier. Mehr
von
Bernd Hort,
assono GmbH, Standort Hamburg,
Mein letzter Blogeintrag OOP in LS: MVC in Lotus
Notes hörte mit dem Versprechen auf, näher auf die Trennung
zwischen Frontend und Backend und die Verwendung von Controllerklassen
einzugehen.
Das zugrundeliegende Ziel bei der Verwendung
von Controllerklassen, um auf die Fachklassen zuzugreifen, ist die Umsetzung
aller fachlichen Anforderungen nur an einer Stelle im Code.
Wenn also die fachliche Anforderung z.B.
gewisse Pflichtfelder vorzieht, so wird die Definition der Pflichtfelder
nur in der Fachklasse vorgenommen. Der entscheidene Vorteil in diesem Vorgehen
besteht in einer höheren Wartbarkeit. Wenn sich die Anforderungen mal ändern
sollten (was ab und zu mal vorgekommen sein soll ), dann wird die neue
Anforderung auch nur an einer Stelle umgesetzt.
Der Vorteil wird spätestens dann deutlich,
wenn neben dem Notes Client auch Eingaben per Web Browser erfolgen. Die
Praxis hat gezeigt, dass für eine optimale Umsetzung zwei Masken notwendig
sind. Nur so kann in beiden Welten eine optimale Darstellung gewährleistet
werden. Statt nun zu versuchen, die Eingabevalidierung in beiden Masken
gleich zu halten, greifen die Masken über ihre jeweiligen Controllerklassen
auf die Fachklasse zu.
Es muss unterschiedliche Controllerklassen
für den Notes Client und den Browser geben, weil in beiden unterschiedliche
Events gibt, auf die mit einem Zugriff auf die Fachklasse reagiert werden
muss. Zum Beispiel kann bei der Eingabevalidierung im Notes Client beim
QuerySave-Event die Gültigkeit überprüft werden. Im Web Browser gibt es
zwar mit dem OnSubmit-Event in JavaScript auch ein Event, dass vergleichbar
dem QuerySave ist. Jedoch kann dort nicht direkt LotusScript ausgeführt
werden. Außerdem kann JavaScript im Browser abgeschaltet sein, so dass
man um eine weitere Überprüfung auf dem Server nicht herum kommt.
Selbstverständlich gelten die Anforderungen
aus der Fachwelt auch dann, wenn z.B. ein Dokument durch einen zeitgesteuerten
Agenten verändert wird. Der Agent greift direkt auf die Fachklasse direkt
zu. In dem Fall kann auf einen Controller verzichtet werden, weil es keine
Events gibt, auf die reagiert werden müsste.
Damit die Fachklasse von jedem Kontext
aus verwendet werden kann, dürfen keine Notes UI-Methoden oder -Klassen
wie z.B. NotesUIWorkspace oder NotesUIDocument verwendet werden. Der Grund
für diese Einschränkung liegt darin, dass z.B. zeitgesteuerte Agent und
WebQuerySave-Agents nicht ausgeführt werden, wenn Notes UI-Klassen im Code
referenziert werden. Der Verzicht auf Notes UI-Klassen in der Fachklasse
ist insofern keine Einschränkung, weil die Controllerklasse für den Notes
Client alle Aufgaben übernimmt, die mit diesen Klassen zu tun haben.
In den nächsten Blog-Einträge werden
Basisklassen für Model und Controller vorgestellt, von denen die konkreten
Klassen abgeleitet werden können.
Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de
Der Ausdruck mit SWING PDF unterscheidet sich stellenweise von der Darstellung/Vorschau in IBM Notes. Zwei Unterschiede sehen Sie hier. Mehr
Viele inhaltliche ähnliche Kundenanfragen, die sich eigentlich leicht beantworten lassen? Warum sich genau jetzt ein Chatbot lohnt ... Mehr
Bevor es mit einer App losgehen kann, muss eine grundlegende Entscheidung getroffen werden: Welche technische Basis ist die richtige? ... Mehr
Refactoring lohnt sich. Wie wir die Base64-Decodierung von 9 Minuten auf 1 Sekunde gebracht haben (mit Quellcode) Mehr
Schneller Prozesse einleiten: Wie wäre es, wenn durch ein Foto und Künstliche Intelligenz direkt ein passender Workflow gestartet wird? Mehr
Web-Frontends mit Agular 7, Ansätze für die Entwicklung von Web-Apps, eine Einführung in Node.js und das neue Domino-DB-Modul im Fokus Mehr
Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223
Schwentinental
Standort Hamburg
assono GmbH
Bornkampsweg 58
22761
Hamburg
Telefonnummern:
Zentrale:
+49 4307 900 407
Techn. Hotline:
+49 4307 900 403
Vertrieb:
+49 4307 900 402
E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de