MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES
Andreas Koop Geschäftsführung
& Consulting
DOAG Development, 04.06.2014, Düsseldorf
Andreas Koop
ÜBER MICH
Geschäftsführung
& Consulting
Beratung, Training Oracle Technologie
ADF Certified Implementation Specialist
Community
DOAG, ADF EMG, ADF German Community, Google Plus,
Twitter @multikoop @enpit
Blog
News - http://www.enpit.de/blog
Technical (english) - http://multikoop.blogspot.com
Technical (german) - http://enpit.blogspot.com 2
www.scope-alliance.de
AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiele mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
3
FRÜHER WAR ALLES EINFACHER Best Practice 3-tier Architecture Presentation Layer Business Rules / Logic / Process Layer Data Access Layer
IT Stuff
Users DOAG Development, 04.06.2014, Düsseldorf
4
EINE WEBANWENDUNG REICHT NICHT MEHR AUS
Users Improved UX
High Expectations
Engagement DOAG Development, 04.06.2014, Düsseldorf
5
?Next
MULTI CHANNEL ERWARTUNGEN in the office
on the go take photo
DOAG Development, 04.06.2014, Düsseldorf
on the couch
6
Bei
spie
l!
WIE SIEHT DIE IT ARCHITEKTUR AUS?
? IT Stuff
Users DOAG Development, 04.06.2014, Düsseldorf
7
#CHANNEL UND #TECHNOLOGIEN WACHSEN Channel
… !
Browser
HTML/CSS
Cross-Browser
HTML/CSS JavaScript AJAX
Mobile /Tablet Native/Hybrid
Mobile/Tablet Web
HTML5/CSS3 JavaScript AJAX WebSocket
HTML5/CSS3 JavaScript AJAX WebSocket
!
!
Responsive Design
Responsive Design
!
ObjectiveC Java C#
Technology DOAG Development, 04.06.2014, Düsseldorf
8
Glass
Watch
…
?
Time
..UND DAMIT ENTWICKLUNGS/ WARTUNGSKOSTEN !
Per-Channel Development
Kosten / Aufwand
…
Multi-Channel
Development
#Channels
… !
Browser
Cross-Browser
DOAG Development, 04.06.2014, Düsseldorf
Mobile /Tablet Native/Hybrid
Mobile/Tablet Web 9
Glass
Watch
?
HERAUSFORDERUNGEN ‣
Zu viele Plattformen, zu wenig Zeit
‣
Gleiche Qualität auf allen Geräten
‣
Integration mit dem Backend
DOAG Development, 04.06.2014, Düsseldorf
10
MULTI-CHANNEL ANSATZ
Build Once Run „Anyware“
DOAG Development, 04.06.2014, Düsseldorf
11
AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
12
MULTI-CHANNEL ARCHITECTURE? Responsive / Adaptive Design
Native / Hybrid Apps Client-App
Presentation Layer
HTML5/CSS3
Service Layer
Business Rules / Logic / Process Layer Data Access Layer
DOAG Development, 04.06.2014, Düsseldorf
13
HTML5/CSS3
REST / SOAP
MULTI-CHANNEL ARCHITECTURE MIT ADF Native / Hybrid / ADF Mobile Apps
Responsive / Adaptive Design
Client-App
REST-Service
Layer
ViewController
Taskflows / JSF ADF Model (Binding) ADF BC
SOA/ ! WebServices
ApplicationModule ! EJB/
ViewObjects
„POJOs“ EntityObjects DOAG Development, 04.06.2014, Düsseldorf
SOAPService
ADF SDO 14
SOA / OSB
…
RESPONSIVE DESIGN BEST PRACTICES ‣
1. Initial Scaling: ViewPort
‣
2. Layout serverseitig anpassen ‣
Dynamic Page Templates
‣
UI-Komponentenbaum manipulieren
‣
3. Media Queries (leider noch nicht im Skin-File)
See also: http://www.ateam-oracle.com/going-mobile-with-adf-running-adf-faces-on-mobile-phones-and-tablets/
and http://de.slideshare.net/stevendavelaar/running-adf-faces-on-tablets-and-mobile-phones DOAG Development, 04.06.2014, Düsseldorf 15
ADF MOBILE BROWSER Presentation Layer
‣
Apache MyFaces Trinidad, a set of JSF components optimized to render on mobile phone and delivers mobile-optimized user experiences through CSS
‣
No ADF
Taskflows
NOT STRATEGIC ANYMORE! DOAG Development, 04.06.2014, Düsseldorf
16
ADF BC SDO SOAP
SERVICES OUT OF THE BOX ! ADF BC
ApplicationModule
SOAP-Service
ADF SDO
!
ADF Mobile
!
HTTP(S)/SOAP
WS DataControl
! !
‣
Nachteil für Mobile: High Volume Traffic
DOAG Development, 04.06.2014, Düsseldorf
17
Service Layer
NO SUPPORT FOR ADF
BC SDO REST SERVICES YET
Service Layer
! ADF BC
ApplicationModule
REST-Service
ADF SDO
ADF Mobile
!
HTTP(S)/REST
! !
WS DataControl
Geplant für
ADF 12.1.3+
!
‣
Ab ADF 12.1.3+ sicherlich die einfachste Option, um bestehende Business Logik als Service für Mobile anzubieten!
DOAG Development, 04.06.2014, Düsseldorf
18
EJB -> REST SERVICE !
EJB
REST Resource
@EJB Service
Service Layer
REST
Option 1
ADF Mobile HTTP(S)/REST
!
!
WS DataControl
!
‣
Bei bestehendem EJB Model OK
‣
Nachteil: Keine Wiederverw. des ADF BC Models (Fusion Stack)
DOAG Development, 04.06.2014, Düsseldorf
19
EJB -> REST SERVICE HOWTO
Service Layer
REST
Option 1
‣
Entity-Klassen annotieren
‣
REST-Resource annotieren, ggf. Wrapper-Klasse ! ! !
‣
REST for EveryOne
Fertig! See also: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24adf-2147201.html
DOAG Development, 04.06.2014, Düsseldorf
20
ADF BC APPMODULE
-> REST SERVICE !
ADF BC
REST Resource
-getRootAM
REST
Option 2 ADF Mobile
HTTP(S)/REST
!
DOAG Development, 04.06.2014, Düsseldorf
Service Layer
21
!
WS DataControl
ADF BC APPMODULE
-> REST SERVICE Vorteil
‣ ‣
ADF BC Logic zu 100% wiederverwendbar Nachteil
‣ ‣
Hoher manueller Aufwand für REST ServiceErstellung
DOAG Development, 04.06.2014, Düsseldorf
22
Service Layer
REST
Option 2
ADF BC SDO EJB -> REST
Service Layer
REST
Option 3
!
ADF BC
! ApplicationModule
ADF SDO
‣
1. Inject EJB
‣
2. Use ServiceBean
REST Resource
@EJB Service
ADF Mobile
!
HTTP(S)/REST
WS DataControl
Wrapper
-Klasse anlegen DOAG Development, 04.06.2014, Düsseldorf
23
ADF BC SDO EJB -> REST
Service Layer
REST
Option 3
Vorteil
‣ ‣
ADF BC Logic zu 100% wiederverwendbar
‣
Geringer manueller Aufwand für REST ServiceErstellung Nachteil
‣ ‣
? ;)
DOAG Development, 04.06.2014, Düsseldorf
24
Zus RE am ST
me nfas sun g
WAS GIBT ES SONST NOCH? ‣
Ggf. macht es Sinn eine ADF Service-Fassade einzuführen, z.B. ADF BC
SDO
OPTIONAL
ADF BC
! AM AM ! ! VO VO ! ! EO EO
Service
Facade
! ! AM ! AM !
extend or customize
No EOs here! Custom Tuning possible
REST
@EJB
REST
REST
use
REST
-getAM
Geplant für
ADF 12.1.3+
See also: https://www.youtube.com/watch?v=6QAkq3bI97M (Building WS from an existing ADF application - ADF Insider) DOAG Development, 04.06.2014, Düsseldorf
ADF BC
SDO
ADF BC
SDO REST
VO VO
-
SOAP
25
REST
AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
26
RESPONSIVE ADF APPLICATION
DEMO NOW DOAG Development, 04.06.2014, Düsseldorf
27
ADF MOBILE APP ‣
Phone / Tablet
Bessere Unterstützung für SOAP Services
‣ ‣
DOAG Development, 04.06.2014, Düsseldorf
28
=> WS DataControl
ADF MOBILE APP ‣
Phone / Tablet
DOAG Development, 04.06.2014, Düsseldorf
REST-JSON Service Einbindung nur programmatisch
‣
29
ADF MOBILE - REMOTE URL INTEGRATION ‣
Einbettung von Webseiten / Apps
über eine URL
‣
Einsatz / Empfehlung bei ‣
News / Status-Seiten
‣
Bestehende ADF Mobile
Browser Apps
DOAG Development, 04.06.2014, Düsseldorf
30
ADAPTIVE ADF MOBILE APP ‣
Tablet / Phone
Feature Constraints
DOAG Development, 04.06.2014, Düsseldorf
31
AUSWAHLEMPFEHLUNG STAND HEUTE ‣
1) Responsive ADF Web (das Mindestmaß)
ADF Mobile Browser nicht mehr zu empfehlen
‣
2) SOAP Services auf ADF BC generieren
‣
3) Phone-Variante in einer ADF Mobile App implementieren (Content Constraints vorsehen)
WS DataControl bei eigenen Services / ggf. REST bei Service-Fremdanbietern
‣
4) Tablet-Variante auf Basis von 3) ausbauen
DOAG Development, 04.06.2014, Düsseldorf
32
AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
33
FAZIT ‣
Multi-Channel ist nicht wegzudenken! Responsive Design für WebApps ist Standard.
‣
Auf das API-/ServiceFassade-Design
kommt es an (REST/SOAP, Cloud, …)
‣
REST Unterstützung in ADF noch nicht
optimal
‣
Testen / QA bleibt eine Herausforderung
TestFlight usw…
DOAG Development, 04.06.2014, Düsseldorf
34
AUSBLICK !
ADF 12.1.3+ wird die Entwicklungsproduktivität verbessern
‣
ADF BC REST Services, Tablet First Template, CSS3 MediaQueries
Akzeptanz von Mobile/Tablet Hybrid Apps steigt
‣ ‣
Verbesserung der User Experience / Performance
‣
Fast alle Gerätefeatures werden unterstützt
DOAG Development, 04.06.2014, Düsseldorf
35
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
ENTERPRISE PRAGMATIC IT
Consulting Oracle Business Intelligence
Training Oracle WebCenter
Oracle ADF
ADF Mobile
Oracle Fusion Middleware
37
Development Oracle WebLogic
PARTNERSCHAFTEN
38