359 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
Quick Tip: After renaming hostname of Sametime server, DB2 doesn't start anymore
Tue, Oct 21st 2014 59
Sicherheitslücke im Android Standardbrowser
Thu, Oct 9th 2014 108
IBM SmartCloud wird zu IBM Connections Cloud
Thu, Oct 2nd 2014 111
AdminCamp 2014: Probier's mal mit Gemütlichkeit
Wed, Oct 1st 2014 158
Quick Tip: Validate current user by enforcing him to enter his password
Tue, Sep 30th 2014 162
AdminCamp 2014: Weil sicher sicher sicher ist - Sicherheit in IBM Domino
Tue, Sep 30th 2014 141
IBM Notes Traveler 9.0.0.1 IF7 und 9.0.1 IF6 erschienen
Wed, Sep 17th 2014 179
Top 10
automatische Telefonwahl über das Softphone "Phoner" aus IBM Notes heraus - eine einfache Anleitung
Tue, Sep 3rd 2013 439
Quick Tip: Get rid of those Scheduler messages each time the Domino server starts
Fri, Jul 18th 2014 413
Quick-Tipp: Domino Console verbindet sich nicht mit lokalem Server
Sun, Jul 6th 2014 351
Neue Traveler Client App 9.0.1.1 erschienen
Fri, Jul 11th 2014 322
IBM Connections 5 - interessante Links
Fri, Jun 27th 2014 314
Quick-Tipp: Fehler beim Signieren von Datenbanken mit der Server-ID
Fri, Jul 4th 2014 294
Empfangsbestätigung für jede eingehende E-Mail
Wed, Apr 11th 2012 276
Quick-Tipp: 'Verbergen-Formeln von Aktionen bei jedem Dok'wechsel prüfen' funktioniert nicht
Thu, Jul 24th 2014 261
Auch mit Firefox 31 nun keine selbstsignierten SSL Zertifikate mehr unterstützt
Fri, Aug 1st 2014 252
IBM Connections 5-Plug-ins sind auch schon da
Thu, Jun 26th 2014 247


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
69 hits



Recent Blog Posts
59


Quick Tip: After renaming hostname of Sametime server, DB2 doesn't start anymore
Tue, Oct 21st 2014 1:56p   Thomas Bahn
I recently changed the name of a IBM Sametime server, i.e. the hostname of the (virtual) machine. On the same box runs the IBM DB2 server, which is used by the system console server and by the proxy server. Everything runs on top of Microsoft Windows 2008 R2. After the necessary reboot, DB2 greeted me with a "SQL1042C An unexpected system error occurred" and would not start - neither as a service, neither manually. Even the DB2 command console exited immediately. In the details of the logs [read] Keywords: ibm sametime sametimeibm archive database db2 microsoft server
108


Sicherheitslücke im Android Standardbrowser
Thu, Oct 9th 2014 6:12a   Manuel Nientit
Bereits Anfang September wurde offenbar eine nicht unbedingt kleine Sicherheitslücke im Android Standardbrowser AOSP entdeckt. Damals ist mir das leider entgangen. Ich wurde erst jetzt wieder darauf aufmerksam als golem erneut berichtete und feststellte, dass ca. 60% der deutschen Android-Nutzer davon betroffen sein dürften. Betroffen sind nämlich Android Versionen < 4.4, die weltweit auf immer noch ca. 75% der Geräte kursieren. Der Fehler betrifft die "Same-Origin-Policy", die verh [read] Keywords: javascript
111


IBM SmartCloud wird zu IBM Connections Cloud
Thu, Oct 2nd 2014 6:22a   Bent Kalbhenn
IBM hat angekündigt, die IBM SmartCloud zu „rebranden“, also auf gut Deutsch: umzubenennen. Die neue Bezeichnung ist ab sofort IBM Connections Cloud. Weitere dazugehörige Produkte wurden ebenfalls umbenannt. Hier die neuen Bezeichnungen der IBM Connections Cloud: IBM SmartCloud Engage Advanced IBM Connections Cloud S1 IBM SmartCloud Engage Standard IBM Connections Cloud S2 IBM SmartCloud iNotes IBM Web Mail Cloud IBM SmartCloud Archive Essentials IBM Connections Archive Esse [read] Keywords: connections ibm inotes archive
158


AdminCamp 2014: Probier's mal mit Gemütlichkeit
Wed, Oct 1st 2014 6:29a   Thomas Bahn
Es war wieder einmal ein unwahrscheinliches Erlebnis. Weit über hundert Domino-Administratoren und jeder ist engagiert, interessiert und hoch motiviert. Das ist das Admin Camp! Alles war toll: Die Leute, die hochklassigen Vorträge, die Verpflegung, die Abendveranstaltungen, ... Ich werde schon ganz wehmütig. Aber nach dem AdminCamp ist vor dem EntwicklerCamp, nächstes Jahr vom 2. bis 4. März, wieder hier in Gelsenkirchen. Ich freue mich schon darauf. Die Präsentation zu meinem [read] Keywords: admin domino archive
162


Quick Tip: Validate current user by enforcing him to enter his password
Tue, Sep 30th 2014 10:44a   Thomas Bahn
I had a "small" request from a customer last week: He'd be interested in the extended commercial version of our assono Password-Safe. But his internal audit team had the requirement that a user should have to re-enter his Notes client password when opening a document or copying it directly to the clipboard from a view. There is a @Command for this: ToolsUserLogoff. It just logs the user off, thus you have to combine it with some kind of server access to get the password input dialog to appe [read] Keywords: domino ibm lotus lotusscript notes notes client archive database openntf password server
141


AdminCamp 2014: Weil sicher sicher sicher ist - Sicherheit in IBM Domino
Tue, Sep 30th 2014 10:12a   Thomas Bahn
Der zweite Tag des diesjährigen AdminCamps nähert sich langsam dem Ende. Ich warte noch gespannt auf die Fragestunde nach dem Abendessen. Auf meine Frage gestern habe ich ganz viele wertvolle Antworten bekommen, so dass ich letzte Nacht gleich eine Lösung bauen konnte. Dazu gleich mehr in einem weiteren Blog-Eintrag. Hier schon mal die Präsentation zu meinem heutigen Vortrag in Track 2, Session 3: Weil sicher sicher sicher ist - Sicherheit in IBM Domino: T2S3-Weil-sicher-sicher-sicher [read] Keywords: domino ibm archive
179


IBM Notes Traveler 9.0.0.1 IF7 und 9.0.1 IF6 erschienen
Wed, Sep 17th 2014 6:11a   Christoph Salka
In aller Kürze: IBM hat die Interims Fixes 9.0.0.1 IF7 und 9.0.1 IF6 für IBM Notes Traveler heraus gebracht. Beide Fixes bieten bereits Support für iOS 8. Für mehr Informationen zum Interim Fix Pack 6 für Traveler 9.0.1: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/IBM_Notes_Traveler_9.0.1_IF6 Für mehr Informationen zum Interim Fix Pack 7 für Traveler 9.0.0.1: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/IBM_Notes_Traveler_9.0.0.1_IF7 Die Liste der Änderungen gibt es wie im [read] Keywords: domino ibm ldd lotus notes traveler wiki




35


Fix Pack 2 für IBM Notes und Domino 9.0.1 erschienen
Thu, Aug 21st 2014 2:30a   Thomas Bahn
IBM hat kürzlich das 2. Fix Pack für IBM Notes und Domino 9.0.1 heraus gebracht. Aus meiner Sicht nichts Spektakuläres (nicht zu erwarten), aber es werden neuere Versionen in der "Umgebung" offiziell unterstützt, z. B. Microsoft Internet Explorer 11 für XPages und Citrix XenApp 7.5 für den Client, und einige Fehler korrigiert. Weitere Informationen: IBM Notes/Domino 9.0.1 Fix Pack 2 Release Notice Download Options for Notes & Domino 9.0.1 Fix Packs [read] Keywords: domino ibm ldd lotus notes xpages archive citrix microsoft
227


Fix Pack 2 für IBM Notes und Domino 9.0.1 erschienen
Thu, Aug 21st 2014 12:17a   Thomas Bahn
IBM hat kürzlich das 2. Fix Pack für IBM Notes und Domino 9.0.1 heraus gebracht. Aus meiner Sicht nichts Spektakuläres (nicht zu erwarten), aber es werden neuere Versionen in der "Umgebung" offiziell unterstützt, z. B. Microsoft Internet Explorer 11 für XPages und Citrix XenApp 7.5 für den Client, und einige Fehler korrigiert. Weitere Informationen: IBM Notes/Domino 9.0.1 Fix Pack 2 Release Notice Download Options for Notes & Domino 9.0.1 Fix Packs [read] Keywords: domino ibm ldd lotus notes xpages archive citrix microsoft
220


Quick-Tip: Script library prevents execution of agent
Wed, Aug 20th 2014 11:45p   Thomas Bahn
Today I solved a mysterious problem, a customer of mine had with an scheduled LotusScript agent: It just didn't ran! It was executed by the agent manager, e.g. via tell amgr run "some-db.nsf" 'Test': AMgr: Start executing agent 'Test' in 'some-db.nsf' AMgr: Agent 'Test' in 'some-db.nsf' completed execution But event a Print "TEST" as the first line of its Initialize sub didn't work - not to speak of its original "payload". We checked everything (really), including, but [read] Keywords: acl administration agent domino ibm lotusscript notes script library application archive properties security server




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