SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
1




    Architektur & Entwicklung
    Mobiler Anwendungen
2


    Agenda
     Mobile Plattformen
     Programmiersprachen und Frameworks
     Cloud-Anbieter
     Architektur mobiler Anwendungen – Vorbetrachtungen
     Android-App „Time Manager“
     Android-App „Time Manager“ – Architektur
       User Interface Patterns
       Application Lifecycle

       Integration mit anderen Apps

       Lokale Persistenz

       Anbindung an REST Schnittstelle

       Asynchrone Kommunikation

       Server-Push

       Einbindung von fremden Diensten

       Unit-Testing

     Architektur JEE Backend
3




    Architektur mobiler Anwendungen für die Cloud
    («AMC»)
4




    Virtual Developer Plattform
5




    Mobile Plattformen
6




    Source: Market study by International Data Corporation (IDC)
7
8
9




    Programmiersprachen
    und
    Frameworks
10




     Native   Hybrid   Web
11




               Objective-C: iOS
               Java: Android
               C/C++: Android, WP8,
                Bada, BB10, iOS
               C#: WP8




     Native
12




                        Codename One: Java
                        Adobe Air Mobile:
                           ActionScript
                          Mono/Monocross: C#
                          Corona: Lua
                          Qt: C++, QML
                          …


     Native, Cross-Platform/Cross-Compile
13




              HTML5, JavaScript, CSS3

               Appcelerator
               PhoneGap
               IBM Worklight
               RhoMobile
               MobiOne
               …

     Hybrid
14




           HTML5, JavaScript, CSS3

            jQuery Mobile
            jQTouch
            Sencha Touch
            Wink
            Vaadin TouchKit
            Qooxdoo

     Web    …
15
           Vergleich von Frameworks für die Entwicklung
           mobiler Anwendungen




     http://www.markus-falk.com/mobile-frameworks-comparison-chart/
16




     Cloud-Anbieter
17


                                                                               Benutzer




                                           Internet



                             Anwendungen                       Software as a Service

                Middleware
                App-Server                            Plattform as a Service
                    …



      Server
     Hardware                              Infrastructure as a Service
18




     Anbieter SaaS
      CRM                                    Anwendungen                                                Software as a Service




        Salesforce              Middleware
                                 App-Server                                         Plattform as a Service




        Oracle
                                     …




        Microsoft
                       Server
                                                            Infrastructure as a Service
                      Hardware




        SugarCRM
      Shopsysteme
        1&1
        Strato
        Hosteurope
        Magento
      ...
19




     Anbieter IaaS
      Amazon Web Services (AWS)                         Anwendungen                                                Software as a Service




       EC2                                 Middleware
                                            App-Server
                                                …
                                                                                               Plattform as a Service




       S3,  Glacier, EBS, RDS, DynamoDB
                                  Server
                                 Hardware
                                                                       Infrastructure as a Service




      Windows Azure
      Google Cloud Platform
        Computing Engine

        Cloud Storage

      … viele, viele andere Anbieter von virtuellen und
       dedicated Servern
20




     Anbieter PaaS
      CloudBees: Java                                   Anwendungen                                                Software as a Service




      Force.com: Apex                      Middleware
                                            App-Server
                                                …
                                                                                               Plattform as a Service




      Google App Engine: Java, Python
                                  Server
                                                                       Infrastructure as a Service
                                 Hardware



      Windows Azure: .NET
      Red Hat OpenShift: Java
      Amazon Elastic Beanstalk: PHP, Python, Ruby, .NET und
       Java
      Cloud Foundry (BETA): Java, Scala, Node.js und Ruby
      Heroku: Ruby, Node.js, Clojure, Java, Python und Scala
      Jelastic: Java und PHP
     …
21




     Cloud Foundry
      Startete als Plattform, um Spring-Applications auf
       Amazon Web-Services zu betreiben
      2011: VMware kauft Cloud Foundry
      Cloud Foundry kann auf verschiedensten Cloud-
       Infrastrukturen betrieben werden, sogar auf dem
       eigenen Computer/Notebook
      Ist zurzeit in Public BETA
22




     CloudBees
23




     Sonderfall Jelastic
24




     Architektur -
     Vorbetrachtungen
25



     Always On?
26




     Mobile App Besonderheiten (im Vergleich zu
     Desktop)
                             OS kann App und einzelne
                              Aktivitäten
                               Pausieren
                               Beenden
                               Fortsetzen
                               Neu Starten
                               Bestimmte Aktivitäten
                                erscheinen dem OS wichtiger
                                als die Anderen
                                 Aktivitäten die benutzt
                                  werden
                                 Aktivitäten die sichtbar
                                  sind
                             Daten die nicht auf Gerät
                              persistiert sind, können
                              jederzeit verloren gehen
                             Es gibt für den Benutzer keine
                              „Beende App“ Funktion
                             Offline-Fähigkeit einer App ist
27



              Architektur-Optionen - Schichten

                Fat               Smart             Thin              Ultra Thin

     Client                                         Presentation      Presentation
                Presentation      Presentation
                                                    Logic             Engine
                Logic             Logic

                           Data              Data              Data
                                  Business
                Business
                                  Logic
                Logic



     Cloud/Server                                   Presentation      Presentation
                                                    Logic             Logic

                                                    Business          Business
                                  Business
                                                    Logic             Logic
                                  Logic

                Data              Data              Data              Data
28




     Android-App „Time
     Manager“
29
30
31




          Funktionen der App

     Gezeigt mit WireframeSketcher
32




     Android-App „Time
     Manager“
     Architektur
33




     Architektonische Themen in der „Time
     Manager“ App
      User Interface Patterns (MVC, MVP)
      Application-Lifecycle
      Integration mit anderen Apps, die auf dem mobilen Gerät
       laufen (über URI Schemata)
      Lokale Persistenz (SQLite)
      Anbindung an eigene, entfernte REST Schnittstelle (JAX-RS,
       JEE)
      Asynchrone Kommunikation mit Server (über
       Hintergrundprozesse auf moilbem Gerät)
      Server-Push (Google Cloud Messaging, WebSockets)
      Einbindung von fremden, entfernten Diensten
        In der App (Google Maps, DropBox)
        Auf dem Server (DropBox)
      Unit-Testing
34




     Architekturthemen
     USER INTERFACE PATTERNS
35




     Model View Controller
36




     Model View Presenter


                             Supervising Controller
                             Passive View
37




     iOS   Traditional version of MVC as a compound pattern




           Cocoa version of MVC as a compound design pattern
38




     iOS – Beispiel Mediating Controller
39




     iOS – Coordinating Controller
                          Coordinating controller as the owner of a nib file
40




             Android – MVC mit Adaptern

              User event
                           Adapter



                                               update
                           read
                           write
     AdapterView                     Model
                                      Array
                                      Cursor
                                        …
41




            Android - MVC   Activity
                            Fragment




     Widgets
     Layout
     Resources                    Entities
                                  ContentProvider
42




                               Plain, self-made Classes   Activity
                                                          Fragment
               Android - MVP                              Widgets
                                                          Layout
                                                          Resources




     Entities
     ContentProvider
43




     Windows 8, Windows Phone 8
44




     Architekturthemen
     APPLICATION LIFECYCLE
45


     Android Activity/Application Lifecycle
46



     Vergleich iOS/Android Lifecycles
47



     Windows Phone 8 Application Lifecycle
48




     Architekturthemen
     INTEGRATION MIT ANDEREN
     APPS
49




     Mobile OS

                                          App A
                                       Register scheme://




                 scheme://some/value
         MyApp                            App B
                                       Register scheme://




                                          App C
                                       Register scheme://
50




     Android Standard Activity Actions
                ACTION_MAIN
                ACTION_VIEW
                ACTION_ATTACH_DATA
                ACTION_EDIT
                ACTION_PICK
                ACTION_CHOOSER
                ACTION_GET_CONTENT
                ACTION_DIAL
                ACTION_CALL
                ACTION_SEND
                ACTION_SENDTO
                ACTION_ANSWER
                ACTION_INSERT
                ACTION_DELETE
                ACTION_RUN
                ACTION_SYNC
                ACTION_PICK_ACTIVITY
                ACTION_SEARCH
                ACTION_WEB_SEARCH
                ACTION_FACTORY_TEST
51




       Android Intent Filter


     <activity android:name=".MyUriActivity">
       <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data android:scheme="myapp" android:host="path" />
       </intent-filter>
     </activity>
52




     Architekturthemen
     LOKALE PERSISTENZ
53




     SQLite mit Android
                                                 Nutzung mit dem
                           Controller             Android Loader
                                                   Framework
               (Activity, Fragment, Presenter)



                      ContentProvider



                     SQLiteOpenHelper



                           SQLite
54




     Architekturthemen
     ANBINDUNG AN REST-
     SCHNITTSTELLE
55



              Kommunikation und Datenformate




     Client
                JSON oder XML
                 über HTTP(S)        Server   Server   Server
56




        Twitter API hat XML Support eingestellt


     JSON support only
     API v1.1 will support JSON only. We've been hinting at this for
     some time now, first dropping XML support on the Streaming
     API and more recently on the trends API. We've chosen to
     throw our support behind the JSON format shared across the
     platform. Consequently, we've decided to discontinue support
     for XML, Atom, and RSS, which are infrequently used today. For
     historical context, when we originally built the API all major
     languages did not have performant, well vetted libraries
     supporting JSON — today they do.
57




     CRUD und REST



       Aktion        Idempotent   HTTP-Verb
       Create        Ja           PUT
       Create        Nein         POST
       Read                       GET
       Update        Ja           PUT
       Update        Nein         POST
       Delete                     DELETE
58




     Architekturthemen
     ASYNCHRONE KOMMUNIKATION
59




     HTTP = Synchrones Protokoll
60




     http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
61




                    Android – Pattern für REST-Implementierung




     Hintergrund-
       Prozess
62




                    Android – Pattern für REST-Implementierung




     Hintergrund-
       Prozess
63




                    Android – Pattern für REST-Implementierung




     Hintergrund-
       Prozess
64




     Architekturthemen
     SERVER-PUSH
65




     Apple Push Notifications
66




     Windows Phone Push Notifications
67

              Google Cloud Messaging (GCM)
                           2          Message

     Client
                                                    1

                                  2     regId
                                                                         1   regId   Message


                                                                                      Server


                      3   regId



     Message       Registration                 4       regId   Registration
                     Handler                                      Handler
          3
               Message                              4            5   regId <-> username
               Handler
68




     WebSockets
69




     WebSockets
70




     Architekturthemen
     EINBINDUNG VON FREMDEN
     DIENSTEN
71




                     Optionen
                                                               My Server



                                                               REST-API

                            My App      Credentials sind auf                  Credentials sind auf
                                          Gerät hinterlegt                     Server hinterlegt
                                             - ODER -                              - ODER –
                                             OAuth2                                 OAuth2
       Lokale Integration
     z.B. Google Maps API


                            3rd Party
                              App                              REST-API




                                                           3rd Party Server
                                                             z.B. DropBox
72




     Architekturthemen
     UNIT-TESTING
73




          Testbarkeit von (Business-)Logik der App

                     Fragment            AdapterView

            Layout              Widget
                                                Adapter

                                                       ContentProvider

     UnitTest               Activity                       Service

                                                          AsyncTask
74




          Testbarkeit von (Business-)Logik der App

                         Fragment               AdapterView

                Layout               Widget
                                                      Adapter


                                    Activity                  ContentProvider

                     Interface                                    Service

     UnitTest                       Presenter                   AsyncTask
75




     Architektur
     JEE Backend
76




       JEE – Servlets, JAX-RS und EJB
               HTTP(S)

     Request                     Response

       1                         6
                                                                                            EJB-Container
                                                                  Stateless Session Bean
           Jersey REST-Servlet              JAX-RS

                                                                  Stateless Session Bean
                                        Resource

                                                                  Stateless Session Bean
                          2             Resource
                                                          3       Stateless Session Bean
                                                                                               4
                                        Resource

        Web-Container                                                                      Entity Manager


                                                     Application Server
                                                                                           5

                                                                                   DB
77




     Architektur mobiler Anwendungen für die Cloud
     («AMC»)
78




     Virtual Developer Plattform

Weitere ähnliche Inhalte

Was ist angesagt?

Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Bokowsky + Laymann GmbH
 
Software Entwicklung im Zeitalter der Kundenorientierung
Software Entwicklung im Zeitalter der KundenorientierungSoftware Entwicklung im Zeitalter der Kundenorientierung
Software Entwicklung im Zeitalter der KundenorientierungMarkus Eiglsperger
 
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...Rainer Stropek
 
Mobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesMobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesAdrian Oggenfuss
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Gregor Biswanger
 
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestalten
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestaltenBTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestalten
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestaltenBTEXX GmbH
 
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Christian Sauter
 
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionExecutive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionBokowsky + Laymann GmbH
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderBokowsky + Laymann GmbH
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)die.agilen GmbH
 
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streichESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streichRomano Roth
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungMatthias Jauernig
 

Was ist angesagt? (14)

Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
Einführung in die Mobile-Produktentwicklung: Konzeption, Design, Entwicklung,...
 
App - und dann?
App - und dann?App - und dann?
App - und dann?
 
Software Entwicklung im Zeitalter der Kundenorientierung
Software Entwicklung im Zeitalter der KundenorientierungSoftware Entwicklung im Zeitalter der Kundenorientierung
Software Entwicklung im Zeitalter der Kundenorientierung
 
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
BASTA Spring 2018: User Interface, quo vadis? Überlebensstrategien eines Soft...
 
Mobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & WebsitesMobile Facts 2013: Apps & Websites
Mobile Facts 2013: Apps & Websites
 
Mobile Applikationen - Juni 2013 - Cross-Plattform-Entwicklung
Mobile Applikationen - Juni 2013 - Cross-Plattform-EntwicklungMobile Applikationen - Juni 2013 - Cross-Plattform-Entwicklung
Mobile Applikationen - Juni 2013 - Cross-Plattform-Entwicklung
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
 
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestalten
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestaltenBTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestalten
BTEXX Fachartikel: Zukunftssichere Anwendungen mit SAP gestalten
 
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
Case Study: Cross-Platform Strategie in einem Großprojekt der App-Entwicklung...
 
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionExecutive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für Entscheider
 
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)jQuery Mobile Kompakt  - das Kompendium - über 150 Seiten (typovision)
jQuery Mobile Kompakt - das Kompendium - über 150 Seiten (typovision)
 
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streichESE Conference: iOS, Android, WP7...Alle nativ auf einen Streich! streich
ESE Conference: iOS, Android, WP7... Alle nativ auf einen Streich! streich
 
Windows 8 Business-App-Entwicklung
Windows 8 Business-App-EntwicklungWindows 8 Business-App-Entwicklung
Windows 8 Business-App-Entwicklung
 

Ähnlich wie Referat: Architektur und Entwicklung mobiler Anwendungen

Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyCloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyMedien Meeting Mannheim
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixDigicomp Academy AG
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftIBM Lotus
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle CloudTim Cole
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgDNUG e.V.
 
Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Thomas Uhl
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche WolkeThomas Uhl
 
Oliver ryf anpassungsoptionen und verwaltung
Oliver ryf anpassungsoptionen und verwaltungOliver ryf anpassungsoptionen und verwaltung
Oliver ryf anpassungsoptionen und verwaltungDigicomp Academy AG
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDNUG e.V.
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
Cloud Databases, Developer Week Nuernberg 2014
Cloud Databases, Developer Week Nuernberg 2014Cloud Databases, Developer Week Nuernberg 2014
Cloud Databases, Developer Week Nuernberg 2014Romeo Kienzler
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1DNUG e.V.
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows AzureCreasoft AG
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Ileana Somesan
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformQAware GmbH
 
Cloud Computing: Eine Einführung
Cloud Computing: Eine EinführungCloud Computing: Eine Einführung
Cloud Computing: Eine EinführungTelekom MMS
 

Ähnlich wie Referat: Architektur und Entwicklung mobiler Anwendungen (20)

Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael PaulyCloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
Cloud Computing – erwachsen genug für Unternehmen? by Dr. Michael Pauly
 
Technologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von CitrixTechnologien 2011 Einblick in die Zukunft von Citrix
Technologien 2011 Einblick in die Zukunft von Citrix
 
Andreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der ZukunftAndreas Pleschek zu den Clients der Zukunft
Andreas Pleschek zu den Clients der Zukunft
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
Gil2013 gridsolut public
Gil2013 gridsolut publicGil2013 gridsolut public
Gil2013 gridsolut public
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012Hosting Provider Summit Mai 2012
Hosting Provider Summit Mai 2012
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche Wolke
 
Oliver ryf anpassungsoptionen und verwaltung
Oliver ryf anpassungsoptionen und verwaltungOliver ryf anpassungsoptionen und verwaltung
Oliver ryf anpassungsoptionen und verwaltung
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
DACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdfDACHNUG50 MX_Workshop.pdf
DACHNUG50 MX_Workshop.pdf
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Cloud Databases, Developer Week Nuernberg 2014
Cloud Databases, Developer Week Nuernberg 2014Cloud Databases, Developer Week Nuernberg 2014
Cloud Databases, Developer Week Nuernberg 2014
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Creasoft - Windows Azure
Creasoft - Windows AzureCreasoft - Windows Azure
Creasoft - Windows Azure
 
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
Die Oracle Datenbank als Service in der Oracle Cloud, November 2012
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
OSLC in Aktion
OSLC in AktionOSLC in Aktion
OSLC in Aktion
 
Cloud Computing: Eine Einführung
Cloud Computing: Eine EinführungCloud Computing: Eine Einführung
Cloud Computing: Eine Einführung
 

Mehr von Digicomp Academy AG

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Digicomp Academy AG
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Digicomp Academy AG
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Digicomp Academy AG
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutDigicomp Academy AG
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutDigicomp Academy AG
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xDigicomp Academy AG
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Digicomp Academy AG
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinDigicomp Academy AG
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Digicomp Academy AG
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattDigicomp Academy AG
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogDigicomp Academy AG
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnDigicomp Academy AG
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingDigicomp Academy AG
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessDigicomp Academy AG
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Digicomp Academy AG
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceDigicomp Academy AG
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudDigicomp Academy AG
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slidesDigicomp Academy AG
 

Mehr von Digicomp Academy AG (20)

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handout
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit x
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe Klein
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING Expertendialog
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital Business
 
Minenfeld IPv6
Minenfeld IPv6Minenfeld IPv6
Minenfeld IPv6
 
Was ist design thinking
Was ist design thinkingWas ist design thinking
Was ist design thinking
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slides
 

Referat: Architektur und Entwicklung mobiler Anwendungen

  • 1. 1 Architektur & Entwicklung Mobiler Anwendungen
  • 2. 2 Agenda  Mobile Plattformen  Programmiersprachen und Frameworks  Cloud-Anbieter  Architektur mobiler Anwendungen – Vorbetrachtungen  Android-App „Time Manager“  Android-App „Time Manager“ – Architektur  User Interface Patterns  Application Lifecycle  Integration mit anderen Apps  Lokale Persistenz  Anbindung an REST Schnittstelle  Asynchrone Kommunikation  Server-Push  Einbindung von fremden Diensten  Unit-Testing  Architektur JEE Backend
  • 3. 3 Architektur mobiler Anwendungen für die Cloud («AMC»)
  • 4. 4 Virtual Developer Plattform
  • 5. 5 Mobile Plattformen
  • 6. 6 Source: Market study by International Data Corporation (IDC)
  • 7. 7
  • 8. 8
  • 9. 9 Programmiersprachen und Frameworks
  • 10. 10 Native Hybrid Web
  • 11. 11  Objective-C: iOS  Java: Android  C/C++: Android, WP8, Bada, BB10, iOS  C#: WP8 Native
  • 12. 12  Codename One: Java  Adobe Air Mobile: ActionScript  Mono/Monocross: C#  Corona: Lua  Qt: C++, QML  … Native, Cross-Platform/Cross-Compile
  • 13. 13 HTML5, JavaScript, CSS3  Appcelerator  PhoneGap  IBM Worklight  RhoMobile  MobiOne  … Hybrid
  • 14. 14 HTML5, JavaScript, CSS3  jQuery Mobile  jQTouch  Sencha Touch  Wink  Vaadin TouchKit  Qooxdoo Web  …
  • 15. 15 Vergleich von Frameworks für die Entwicklung mobiler Anwendungen http://www.markus-falk.com/mobile-frameworks-comparison-chart/
  • 16. 16 Cloud-Anbieter
  • 17. 17 Benutzer Internet Anwendungen Software as a Service Middleware App-Server Plattform as a Service … Server Hardware Infrastructure as a Service
  • 18. 18 Anbieter SaaS  CRM Anwendungen Software as a Service  Salesforce Middleware App-Server Plattform as a Service  Oracle …  Microsoft Server Infrastructure as a Service Hardware  SugarCRM  Shopsysteme  1&1  Strato  Hosteurope  Magento  ...
  • 19. 19 Anbieter IaaS  Amazon Web Services (AWS) Anwendungen Software as a Service  EC2 Middleware App-Server … Plattform as a Service  S3, Glacier, EBS, RDS, DynamoDB Server Hardware Infrastructure as a Service  Windows Azure  Google Cloud Platform  Computing Engine  Cloud Storage  … viele, viele andere Anbieter von virtuellen und dedicated Servern
  • 20. 20 Anbieter PaaS  CloudBees: Java Anwendungen Software as a Service  Force.com: Apex Middleware App-Server … Plattform as a Service  Google App Engine: Java, Python Server Infrastructure as a Service Hardware  Windows Azure: .NET  Red Hat OpenShift: Java  Amazon Elastic Beanstalk: PHP, Python, Ruby, .NET und Java  Cloud Foundry (BETA): Java, Scala, Node.js und Ruby  Heroku: Ruby, Node.js, Clojure, Java, Python und Scala  Jelastic: Java und PHP …
  • 21. 21 Cloud Foundry  Startete als Plattform, um Spring-Applications auf Amazon Web-Services zu betreiben  2011: VMware kauft Cloud Foundry  Cloud Foundry kann auf verschiedensten Cloud- Infrastrukturen betrieben werden, sogar auf dem eigenen Computer/Notebook  Ist zurzeit in Public BETA
  • 22. 22 CloudBees
  • 23. 23 Sonderfall Jelastic
  • 24. 24 Architektur - Vorbetrachtungen
  • 25. 25 Always On?
  • 26. 26 Mobile App Besonderheiten (im Vergleich zu Desktop)  OS kann App und einzelne Aktivitäten  Pausieren  Beenden  Fortsetzen  Neu Starten  Bestimmte Aktivitäten erscheinen dem OS wichtiger als die Anderen  Aktivitäten die benutzt werden  Aktivitäten die sichtbar sind  Daten die nicht auf Gerät persistiert sind, können jederzeit verloren gehen  Es gibt für den Benutzer keine „Beende App“ Funktion  Offline-Fähigkeit einer App ist
  • 27. 27 Architektur-Optionen - Schichten Fat Smart Thin Ultra Thin Client Presentation Presentation Presentation Presentation Logic Engine Logic Logic Data Data Data Business Business Logic Logic Cloud/Server Presentation Presentation Logic Logic Business Business Business Logic Logic Logic Data Data Data Data
  • 28. 28 Android-App „Time Manager“
  • 29. 29
  • 30. 30
  • 31. 31 Funktionen der App Gezeigt mit WireframeSketcher
  • 32. 32 Android-App „Time Manager“ Architektur
  • 33. 33 Architektonische Themen in der „Time Manager“ App  User Interface Patterns (MVC, MVP)  Application-Lifecycle  Integration mit anderen Apps, die auf dem mobilen Gerät laufen (über URI Schemata)  Lokale Persistenz (SQLite)  Anbindung an eigene, entfernte REST Schnittstelle (JAX-RS, JEE)  Asynchrone Kommunikation mit Server (über Hintergrundprozesse auf moilbem Gerät)  Server-Push (Google Cloud Messaging, WebSockets)  Einbindung von fremden, entfernten Diensten  In der App (Google Maps, DropBox)  Auf dem Server (DropBox)  Unit-Testing
  • 34. 34 Architekturthemen USER INTERFACE PATTERNS
  • 35. 35 Model View Controller
  • 36. 36 Model View Presenter  Supervising Controller  Passive View
  • 37. 37 iOS Traditional version of MVC as a compound pattern Cocoa version of MVC as a compound design pattern
  • 38. 38 iOS – Beispiel Mediating Controller
  • 39. 39 iOS – Coordinating Controller Coordinating controller as the owner of a nib file
  • 40. 40 Android – MVC mit Adaptern User event Adapter update read write AdapterView Model Array Cursor …
  • 41. 41 Android - MVC Activity Fragment Widgets Layout Resources Entities ContentProvider
  • 42. 42 Plain, self-made Classes Activity Fragment Android - MVP Widgets Layout Resources Entities ContentProvider
  • 43. 43 Windows 8, Windows Phone 8
  • 44. 44 Architekturthemen APPLICATION LIFECYCLE
  • 45. 45 Android Activity/Application Lifecycle
  • 46. 46 Vergleich iOS/Android Lifecycles
  • 47. 47 Windows Phone 8 Application Lifecycle
  • 48. 48 Architekturthemen INTEGRATION MIT ANDEREN APPS
  • 49. 49 Mobile OS App A Register scheme:// scheme://some/value MyApp App B Register scheme:// App C Register scheme://
  • 50. 50 Android Standard Activity Actions ACTION_MAIN ACTION_VIEW ACTION_ATTACH_DATA ACTION_EDIT ACTION_PICK ACTION_CHOOSER ACTION_GET_CONTENT ACTION_DIAL ACTION_CALL ACTION_SEND ACTION_SENDTO ACTION_ANSWER ACTION_INSERT ACTION_DELETE ACTION_RUN ACTION_SYNC ACTION_PICK_ACTIVITY ACTION_SEARCH ACTION_WEB_SEARCH ACTION_FACTORY_TEST
  • 51. 51 Android Intent Filter <activity android:name=".MyUriActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="myapp" android:host="path" /> </intent-filter> </activity>
  • 52. 52 Architekturthemen LOKALE PERSISTENZ
  • 53. 53 SQLite mit Android Nutzung mit dem Controller Android Loader Framework (Activity, Fragment, Presenter) ContentProvider SQLiteOpenHelper SQLite
  • 54. 54 Architekturthemen ANBINDUNG AN REST- SCHNITTSTELLE
  • 55. 55 Kommunikation und Datenformate Client JSON oder XML über HTTP(S) Server Server Server
  • 56. 56 Twitter API hat XML Support eingestellt JSON support only API v1.1 will support JSON only. We've been hinting at this for some time now, first dropping XML support on the Streaming API and more recently on the trends API. We've chosen to throw our support behind the JSON format shared across the platform. Consequently, we've decided to discontinue support for XML, Atom, and RSS, which are infrequently used today. For historical context, when we originally built the API all major languages did not have performant, well vetted libraries supporting JSON — today they do.
  • 57. 57 CRUD und REST Aktion Idempotent HTTP-Verb Create Ja PUT Create Nein POST Read GET Update Ja PUT Update Nein POST Delete DELETE
  • 58. 58 Architekturthemen ASYNCHRONE KOMMUNIKATION
  • 59. 59 HTTP = Synchrones Protokoll
  • 60. 60 http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
  • 61. 61 Android – Pattern für REST-Implementierung Hintergrund- Prozess
  • 62. 62 Android – Pattern für REST-Implementierung Hintergrund- Prozess
  • 63. 63 Android – Pattern für REST-Implementierung Hintergrund- Prozess
  • 64. 64 Architekturthemen SERVER-PUSH
  • 65. 65 Apple Push Notifications
  • 66. 66 Windows Phone Push Notifications
  • 67. 67 Google Cloud Messaging (GCM) 2 Message Client 1 2 regId 1 regId Message Server 3 regId Message Registration 4 regId Registration Handler Handler 3 Message 4 5 regId <-> username Handler
  • 68. 68 WebSockets
  • 69. 69 WebSockets
  • 70. 70 Architekturthemen EINBINDUNG VON FREMDEN DIENSTEN
  • 71. 71 Optionen My Server REST-API My App Credentials sind auf Credentials sind auf Gerät hinterlegt Server hinterlegt - ODER - - ODER – OAuth2 OAuth2 Lokale Integration z.B. Google Maps API 3rd Party App REST-API 3rd Party Server z.B. DropBox
  • 72. 72 Architekturthemen UNIT-TESTING
  • 73. 73 Testbarkeit von (Business-)Logik der App Fragment AdapterView Layout Widget Adapter ContentProvider UnitTest Activity Service AsyncTask
  • 74. 74 Testbarkeit von (Business-)Logik der App Fragment AdapterView Layout Widget Adapter Activity ContentProvider Interface Service UnitTest Presenter AsyncTask
  • 75. 75 Architektur JEE Backend
  • 76. 76 JEE – Servlets, JAX-RS und EJB HTTP(S) Request Response 1 6 EJB-Container Stateless Session Bean Jersey REST-Servlet JAX-RS Stateless Session Bean Resource Stateless Session Bean 2 Resource 3 Stateless Session Bean 4 Resource Web-Container Entity Manager Application Server 5 DB
  • 77. 77 Architektur mobiler Anwendungen für die Cloud («AMC»)
  • 78. 78 Virtual Developer Plattform