357 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
Quick-Tipp: 'Verbergen-Formeln von Aktionen bei jedem Dok'wechsel prüfen' funktioniert nicht
Thu, Jul 24th 2014 102
Quick Tip: Get rid of those Scheduler messages each time the Domino server starts
Fri, Jul 18th 2014 243
Neue Traveler Client App 9.0.1.1 erschienen
Fri, Jul 11th 2014 176
Quick-Tipp: Domino Console verbindet sich nicht mit lokalem Server
Sun, Jul 6th 2014 197
Quick-Tipp: Fehler beim Signieren von Datenbanken mit der Server-ID
Fri, Jul 4th 2014 170
Quick-Tipp: Unter CentOS 6 zusätzliche Repositories benutzen
Tue, Jul 1st 2014 120
IBM Connections 5 - interessante Links
Fri, Jun 27th 2014 172
Top 10
automatische Telefonwahl über das Softphone "Phoner" aus IBM Notes heraus - eine einfache Anleitung
Tue, Sep 3rd 2013 557
IBM Connect 2014: BP 206 - Be Open - Use Web Services and REST in XPages Applications
Thu, Jan 30th 2014 505
Anmeldeproblem in Traveler 9.0.1 mit neuem IF3 (nicht) gelöst (Update 04.02.2014)
Tue, Feb 4th 2014 500
Empfangsbestätigung für jede eingehende E-Mail
Wed, Apr 11th 2012 470
IBM Connect 2014 - Fazit
Sun, Feb 2nd 2014 398
Domino 9.0.1 und 8.5.3FP6: Ansichten zeigen nicht alle Dokumente
Wed, Mar 12th 2014 390
Fehler im Language Pack für Domino 9.01
Fri, Jan 31st 2014 387
Vom kostenlosen IBM Sametime v9.0 Limited Use richtig profitieren
Tue, Feb 18th 2014 366
Liste mit Support-Ende-Daten für IBM Lotus-Produkte
Fri, Feb 21st 2014 357
Heartbleed Bug in Sametime 9 HF1
Tue, Apr 15th 2014 343


assono XPages-Framework - mobile Entwicklungsstragie
Bernd Hort    

assono XPages-Framework

Beim Thema mobile Endgeräte gibt es zwei wesentliche Erkenntnisse. Die erste Erkenntnis ist, dass Smartphones und Tablets die Art und Weise wie wir leben und arbeiten in wenigen Jahren grundlegend verändert haben. Man darf gespannt sein, was die Zukunft noch alles bringt, denn bei dieser Entwicklung stehen wir erst am Anfang,

Die zweite Erkenntnis aus Sicht des Softwareentwicklers betrifft die Frage, wie mobile Anwendungen am Besten zu entwickeln sind. Die verschiedensten Ansätze gehen von einfachen Web Anwendungen bis hin zu nativen Anwendungen, die für das jeweilige Smartphone / Tablet Betriebssystem geschrieben werden. Das Spannungsfeld liegt, wie bei den meisten Entscheidungen in der Software-Entwicklung, im Dreieck zwischen Qualität, Zeit und Budget. Wobei in dem Fall Qualität sich auf die optimale Nutzung der Möglichkeiten des jeweiligen Betriebssystem bezieht.

Um es klar zu sagen: Wenn Zeit und Budget keine Rolle spielt, ist eine native Anwendung sicherlich das Optimum. Vor zwei/drei Jahren war diese Entscheidung noch einfacher. Das iPhone und damit iOS war das Maß aller Dinge. Mit dem stärker werdenden Marktanteil von Android mussten mindestens zwei Plattformen unterstützt werden. Im primär geschäftlichen Umfeld konnten Anwendungen auch für BlackBerry entwickelt werden. Eventuell schafft es Microsoft zusammen mit Nokia doch noch, Windows 8 zu einem erst zu nehmenden Player in dem Markt werden zu lassen.

Mit dem stärker werdenden Trend Bring-Your-Own-Device fällt die Entscheidung, welche Plattform unterstützt werden soll, zunehmend schwieriger. Für zwei oder drei, eventuell sogar vier, Plattformen native Anwendungen zu entwickeln und auch noch "Feature"-gleich zu halten, bedeutet erhebliche Mehraufwände. Zumal das notwendige Know-how für jede dieser Plattformen vorhanden und stets aktuell gehalten werden muss.

Eine Alternative sind Entwicklungsumgebungen wie PhoneGap. Der Anwendungscode wird Plattform-unabhängig entwickelt und anschließend werden für die jeweiligen Plattformen native Clients generiert. Es kann dementsprechend nur der kleinste gemeinsame Nenner aller Plattformen unterstützt werden, aber auch der hat schon einen beträchtlichen Umfang. Gegebenenfalls kann aber auch PhoneGap so eingesetzt werden, dass auf die besonderen Fähigkeiten der einzelnen Plattformen Rücksicht genommen wird.

Auf der anderen Seite werden Web Anwendungen für Smartphones / Tablets mit den Möglichkeiten von HTML5 und CSS3 auch immer mächtiger. Das neueste Schlagwort in diesem Bereich heißt "Responsive (Web) Design". Ziel dabei ist es, die Anwendung von vorne herein so zu entwickeln, dass sie möglichst sowohl im Desktop-Browser als auch von mobilen Browsern optimal zu bedienen ist. Dieser Ansatz verspricht deutlich geringere Kosten bei der Entwicklung.

Bleibt also die Frage, was ist die richtige mobile Entwicklungsstrategie insbesondere im Hinblick auf XPages-Anwendungen?


Die vielleicht auf den ersten Blick unbefriedigende Antwort lautet: Es hängt von den Anforderungen ab.

Themen wie Push-Notifikationen, Zugriff auf Kalender / Kontakte auf den mobilen Geräten und Verschlüsselung sprechen für einen nativen Client. Auch der Themenbereich Offline-Fähigkeit ist eventuell ein Grund eher in Richtung nativer Client zu gehen.

Ist ein nativer Client notwendig, so favorisieren wir PhoneGap. Einfach aus dem Grund heraus, dass in PhoneGap in HTML und JavaScript entwickelt wird. Wir können also das Know-how und die Erfahrung aus der XPages-Welt nutzen.

Wenn die Anforderungen aber den nativen Client nicht zwingend erforderlich machen, so ist die Web Entwicklung unsere erste Wahl. Eine Anwendung so zu entwickeln, die sowohl vom Desktop als auch von mobilen Endgeräten bedient werden kann, ist allein vom Zeit- und Kostenaspekt her absolut sinnvoll.

Was bedeutet diese Unsicherheit bezüglich der Architektur nun für unser XPages-Framework?

Das in meinem letzten Blogeintrag "assono XPages-Framework - Trennung von Business Logik und Darstellung" beschriebene Prinzip des Model View Controller–Pattern kann seine Vorteile voll ausspielen.

Das Model View Controller–Pattern ist so aufgebaut, dass die Business–Logik sich komplett im so genannten Model befindet. Die Oberfläche wird in der View realisiert. Die gesamte Interaktion zwischen dem Model und der View wird über den Controller gesteuert. Das Model View Controller–Pattern auf XPages angewendet hat folgenden Aufbau.

Model View Controller-Pattern in XPage-Anwendungen

Betrachten wir einmal die verschiedenen Szenarien für mobile Anwendungen.

Responsive (Web) Design

Sollte sich die Anforderungen an das Projekt so umsetzen lassen, dass sich die Anwendung mit der gleichen Weboberfläche gut sowohl im Desktop-Browser als auch im mobilen Browser bedienen lässt, so benötigen wir lediglich ein Model, einen Controller und die XPage.

Separate Webseiten für mobile Browser

Bisweilen greift der Ansatz des "Responsive (Web) Design" zu kurz und separate Webseiten für mobile Browser sind unumgänglich. In einem solchen Fall können die gleichen Klassen für das Model verwendet werden. Jeglicher Code, die Business-Logik betreffend, ist also nur einmal vorhanden. Es müsste lediglich ein weiterer Controller für die Interaktion geschrieben werden und die XPages für den mobilen Browser.

Native Anwendung

Für die Datenanbindung für native Anwendungen bieten sich REST-Services an. Selbstverständlich müssen für Daten, die über eine native Anwendung in das System gelangen, die gleichen Regeln gelten wie für Daten vom Desktop-Browser. Über einen separaten Controller wird wiederum der gleiche Code im Model angesprochen, so dass Business-Logik immer die gleiche ist.

 

Zusammenfassend liegt der große Vorteil in unserem XPages-Framework darin, dass unabhängig von der Zugriffsart immer der gleiche Code im Model angesprochen wird. Jede Anpassung auf der Ebene muss nur einmal vorgenommen werden. Dieses Prinzip spart Entwicklungszeit und sorgt für eine bessere Wartbarkeit der Anwendung.

XPages-Framework und mobile Entwicklungsstragie


---------------------
http://www.assono.de/blog/d6plinks/assono_XPages-Framework-mobile-Strategie
Dec 14, 2012
114 hits



Recent Blog Posts
102


Quick-Tipp: 'Verbergen-Formeln von Aktionen bei jedem Dok'wechsel prüfen' funktioniert nicht
Thu, Jul 24th 2014 4:10a   Thomas Bahn
Es gibt immer mal wieder Tage, wo einem das Offensichtliche nicht ins Gesicht springt und man sucht und sucht und sucht... Man kann bei einer Ansicht eine Eigenschaft einstellen, dass die Verbergen-Wenn-Formeln (hide when) jedes mal neu berechnet werden, wenn man auf ein anderes Dokument in der Ansicht geht bzw. darauf klickt. Das braucht man, wenn man z. B. Ansicht-Aktionen abhängig von Status des Dokuments anzeigen möchte, also die Aktion "Antrag genehmigen" in der Ansicht nur anzeig [read] Keywords: ibm notes archive
243


Quick Tip: Get rid of those Scheduler messages each time the Domino server starts
Fri, Jul 18th 2014 6:12a   Thomas Bahn
Chris Miller is one of the best Domino administrators alive. He regularly writes for the SocialBiz user group and answers difficult questions about Domino administration, like last week's From the SocialBiz Mailbox: Excluding Calendars from Mail-in Databases You all probably know those unnecessary "errors" the Scheduler writes each time, when it encounters a mail database, where it cannot find the database's owner in the Domino directory anymore. SchedMgr: Error processing calendar [read] Keywords: administration agent domino ibm notes R5 archive database profile server
176


Neue Traveler Client App 9.0.1.1 erschienen
Fri, Jul 11th 2014 6:11a   Manuel Nientit
Wie Mat Newman in seinem Blog ganz richtig bemerkt, ist dieses Release nicht einfach nur ein Punkt-Release. Es ist eine Generalüberholung mit neuen Funktionen und ganz neuer Benutzerführung. Die nachfolgende 29(!)-seitige Präsentation zeigt mit sehr schönen Screenshots, was sich geändert hat: Matnewman.com IBM Notes Traveler 9.0.1.1 from Mat Newman Um Missverständnissen vorzubeugen: Damit geht kein neues Traveler Server Release einher. Wer diese neue App also haben möchte, [read] Keywords: ibm lotus notes traveler google server
197


Quick-Tipp: Domino Console verbindet sich nicht mit lokalem Server
Sun, Jul 6th 2014 3:53a   Thomas Bahn
Seit einigen Versionen des Windows-Servers kann man nicht mehr direkt die Konsole des Domino-Servers sehen - aus Sicherheitsgründen. Als Ersatz kann man die Domino Console (jconsole.exe) auf dem Server starten, die auch deutlich vielseitiger und leistungsfähiger als die "alte" Serverkonsole ist.. Normalerweise (soll heißen: in meiner Erfahrung bisher immer) findet die Domino Console nach dem Start den lokal laufenden Domino-Server und verbindet sich ohne weitere Authentifizierung mit diese [read] Keywords: domino ibm lotus archive server vm
170


Quick-Tipp: Fehler beim Signieren von Datenbanken mit der Server-ID
Fri, Jul 4th 2014 5:12p   Thomas Bahn
Das war mal wieder ein ganz mysteriöser Fehler: Im Domino Administrator unter dem Reiter Dateien eine Datenbank ausgewählt, im Rechtsklick-Kontextmenü "Signieren..." und im folgenden Dialog "ID des aktiven Servers" gewählt. Sofort kommt eine Dialogbox mit der Fehlermeldung "Sie sind zur Durchführung dieser Operation nicht berechtigt." (You are not authorized to perform that operation). Kurze Recherche und viel Überprüfen der aktuellen Einstellungen: Aktueller Benutzer muss Adminis [read] Keywords: admin administration adminp agent domino ibm notes archive database server
120


Quick-Tipp: Unter CentOS 6 zusätzliche Repositories benutzen
Tue, Jul 1st 2014 6:12a   Thomas Bahn
CentOS 6 ist für mich eine rundherum gelungene Distribution. In Zusammenhang mit IBM-Software, wie z. B. IBM Domino, gefällt mir besonders die Kombination aus "fast" offiziell vom Hersteller unterstützter Plattform und kostenloser Benutzung für beliebig viele Server. Gerade wenn man ständig neue VMs erstellt zum Testen, für Demos usw., die man aber auch nach Monaten und Jahren noch nutzen können möchte, müsste man sonst für andere Betriebssystemlizenzen sehr viel Geld ausgeben. Nur [read] Keywords: connections domino ibm notes sametime archive centos enterprise linux redhat server wiki




172


IBM Connections 5 - interessante Links
Fri, Jun 27th 2014 3:30a   Thomas Bahn
Nachdem gestern (endlich) IBM Connections 5.0 erschienen ist, heute noch ein paar Links zu nützlichen und/oder interessanten Informationen: Die Produktdokumentation, die ich gestern noch nicht gefunden hatte, im IBM Knowledge Center: IBM Connections 5.0 - Administering Connections V5 Die Dokumentation enthält auch diese interessante Übersicht: What's new in IBM Connections 5.0 Dadurch dass aber (fast) alle Änderungen aufgelistet sind, kann man kaum die wichtigen großen von den ni [read] Keywords: admin connections ibm ldd lotus application archive server social software websphere
123


IBM Connections 5-Plug-ins sind auch schon da
Thu, Jun 26th 2014 11:41a   Thomas Bahn
Bereits seit letzter Woche steht das IBM Connections Plug-in für Microsoft Windows zum Download bereit. Es "passt" auch zur IBM SmartCloud for Social Business-Variante von IBM Connections, die schon seit einiger Zeit auf der Version 5 der "on-premises"-Lösung aufsetzt. Heute ist noch das Plug-In für IBM Notes dazu gekommen: Beide befinden sich im Solutions Catalog auf dem IBM Greenhouse: IBM Connections Plug-ins for IBM Notes IBM Connections Desktop Plug-ins for Microsoft Windows [read] Keywords: connections ibm lotus notes archive desktop microsoft
118


IBM Connections 5 ist schon da
Thu, Jun 26th 2014 11:05a   Thomas Bahn
Uups, da bin ich wohl in der Zeile verrutscht und wurde heute positiv überrascht: Bereits heute hat IBM die Version 5 von IBM Connections heraus gebracht. In meiner Ankündigung hatte ich versehentlich das Erscheinungsdatum (24. Juli) für die physischen Medien genannt, die üblicherweise ungefähr einen Monat nach der elektronischen Verfügbarkeit einer Software-Version erscheinen. Wie immer kein kleiner Download - insbesondere, weil sich auch die Version des Websphere Application Servers [read] Keywords: collaboration connections ibm sametime application archive mobile network server websphere
47


IBM Connections 5 angekündigt
Tue, Jun 17th 2014 10:16a   Thomas Bahn
Eigentlich hat IBM die nächste Version von IBM Connections 5 (vorher: IBM Connections Next) schon länger angekündigt, aber heute kam die "offizielle" Ankündigung mit Verfügbarkeitsdatum: Am 24. Juli soll es dann soweit sein. Neben vielen Verbesserungen - es ist immerhin eine neue Hauptversion - gefällt mir eine ganz besonders (und ich warte schon länger darauf). Bei LotusLive IBM SmartCloud for Social Business gibt es schon ganz lange die Möglichkeit, mit externen Personen, als [read] Keywords: connections ibm archive community




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition