Andreas Koop Geschäftsführung & Consulting MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES DOAG Development, 04.06.2014, Düsseldorf
Jul 04, 2015
Andreas Koop Geschäftsführung
& Consulting
MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES
DOAG Development, 04.06.2014, Düsseldorf
Andreas Koop Geschäftsführung
& ConsultingÜBER MICH
Beratung, Training Oracle Technologie ADF Certified Implementation SpecialistCommunity DOAG, ADF EMG, ADF German Community, Google Plus,Twitter @multikoop @enpitBlogNews - http://www.enpit.de/blog Technical (english) - http://multikoop.blogspot.comTechnical (german) - http://enpit.blogspot.com
2
www.scope-alliance.de
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiele mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
3
DOAG Development, 04.06.2014, Düsseldorf
FRÜHER WAR ALLES EINFACHER
4
Data Access Layer
Presentation Layer
Business Rules / Logic / Process Layer
IT StuffUsers
Best Practice 3-tier Architecture
DOAG Development, 04.06.2014, Düsseldorf
Users
?Next
5
EINE WEBANWENDUNG REICHT NICHT MEHR AUS
Improved UX High Expectations
Engagement
DOAG Development, 04.06.2014, Düsseldorf
MULTI CHANNEL ERWARTUNGEN
6
in the office on the go take photo
on the couch
Beispiel!
DOAG Development, 04.06.2014, Düsseldorf
WIE SIEHT DIE IT ARCHITEKTUR AUS?
7
Users IT Stuff
?
DOAG Development, 04.06.2014, Düsseldorf
#CHANNEL UND #TECHNOLOGIEN WACHSEN
8
Time
Channel
Technology
Browser Cross-Browser
!Mobile/Tablet
Web
HTML/CSSHTML/CSS JavaScript
AJAX
HTML5/CSS3 JavaScript
AJAX WebSocket
!Responsive
Design
Mobile /Tablet Native/Hybrid
HTML5/CSS3 JavaScript
AJAX WebSocket
!Responsive
Design !
ObjectiveC Java C#
Glass Watch ?
…
…
DOAG Development, 04.06.2014, Düsseldorf
..UND DAMIT ENTWICKLUNGS- / WARTUNGSKOSTEN !
9
#Channels
Kosten / Aufwand
Browser Cross-Browser
!Mobile/Tablet
WebMobile /Tablet Native/Hybrid Glass Watch ?
…
…Multi-ChannelDevelopment
Per-Channel Development
DOAG Development, 04.06.2014, Düsseldorf
HERAUSFORDERUNGEN‣ Zu viele Plattformen, zu wenig Zeit
‣ Gleiche Qualität auf allen Geräten
‣ Integration mit dem Backend
10
DOAG Development, 04.06.2014, Düsseldorf
MULTI-CHANNEL ANSATZ
11
Build OnceRun „Anyware“
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
12
DOAG Development, 04.06.2014, Düsseldorf
MULTI-CHANNEL ARCHITECTURE?
13
Data Access Layer
Presentation Layer
Business Rules / Logic / Process Layer
Service Layer
Responsive / Adaptive Design
Native / Hybrid Apps
Client-App
REST / SOAPHTML5/CSS3
HTML5/CSS3
DOAG Development, 04.06.2014, Düsseldorf
SOA / OSB …
MULTI-CHANNEL ARCHITECTURE MIT ADF
14
ViewControllerTaskflows / JSF
SOA/WebServices
EJB/„POJOs“
REST-ServiceLayer
ADF BC!!ViewObjectsEntityObjects
Responsive / Adaptive Design
Native / Hybrid / ADF Mobile
AppsClient-App
ADF Model (Binding)
SOAP-Service
ADF SDO
ApplicationModule
DOAG Development, 04.06.2014, Düsseldorf
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)15
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
ADF MOBILE BROWSER‣ Apache MyFaces Trinidad, a set of JSF components
optimized to render on mobile phone and delivers mobile-optimized user experiences through CSS
‣ No ADFTaskflows
16
Presentation Layer
NOT STRATEGIC ANYMORE!
DOAG Development, 04.06.2014, Düsseldorf
ADF BC SDO SOAP SERVICES OUT OF THE BOX
!
!
!
!
‣ Nachteil für Mobile: High Volume Traffic
17
ADF Mobile !SOAP-Service
ADF SDOADF BC
ApplicationModuleHTTP(S)/SOAP WS DataControl
Service Layer
DOAG Development, 04.06.2014, Düsseldorf
NO SUPPORT FOR ADF BC SDO REST SERVICES YET
!
!
!
!
‣ Ab ADF 12.1.3+ sicherlich die einfachste Option, um bestehende Business Logik als Service für Mobile anzubieten!
18
REST-ServiceADF SDO
ADF Mobile !
WS DataControl
ADF BCApplicationModule
HTTP(S)/REST
Geplant fürADF 12.1.3+
Service Layer
DOAG Development, 04.06.2014, Düsseldorf
EJB -> REST SERVICE!
!
!
‣ Bei bestehendem EJB Model OK
‣ Nachteil: Keine Wiederverw. des ADF BC Models (Fusion Stack)
19
EJB REST Resource@EJB Service
ADF Mobile !
WS DataControlHTTP(S)/REST
Service Layer
REST Option 1
DOAG Development, 04.06.2014, Düsseldorf
EJB -> REST SERVICE HOWTO‣ Entity-Klassen annotieren
‣ REST-Resource annotieren, ggf. Wrapper-Klasse
!
!
!
‣ Fertig!
20
See also: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24adf-2147201.html
REST for EveryOne
Service Layer
REST Option 1
DOAG Development, 04.06.2014, Düsseldorf
ADF BC APPMODULE -> REST SERVICE
!
!
21
ADF BC REST Resource-getRootAM
ADF Mobile !
WS DataControlHTTP(S)/REST
Service Layer
REST Option 2
DOAG Development, 04.06.2014, Düsseldorf
ADF BC APPMODULE -> REST SERVICE‣ Vorteil
‣ ADF BC Logic zu 100% wiederverwendbar
‣ Nachteil
‣ Hoher manueller Aufwand für REST Service-Erstellung
22
Service Layer
REST Option 2
DOAG Development, 04.06.2014, Düsseldorf
ADF BC SDO EJB -> REST!
!
‣ 1. Inject EJB
‣ 2. Use ServiceBean
23
ADF Mobile !ADF SDOADF BC
ApplicationModuleHTTP(S)/REST WS DataControl
REST Resource@EJB Service
Wrapper-Klasse anlegen
Service Layer
REST Option 3
DOAG Development, 04.06.2014, Düsseldorf
ADF BC SDO EJB -> REST
24
‣ Vorteil
‣ ADF BC Logic zu 100% wiederverwendbar
‣ Geringer manueller Aufwand für REST Service-Erstellung
‣ Nachteil
‣ ? ;)
Service Layer
REST Option 3
DOAG Development, 04.06.2014, Düsseldorf
WAS GIBT ES SONST NOCH?
25
‣ Ggf. macht es Sinn eine ADF Service-Fassade einzuführen, z.B.
ADF BC!!!!!
AM
VO
EOEO
VO
AM
ServiceFacade
!!!!
AM
VOVO
AM
ADF BCSDO
REST-getAM
ADF BCSDO REST
REST@EJB
ADF BCSDO
SOAP
REST
REST
REST
Geplant fürADF 12.1.3+
extendor
customize
- No EOs here! - Custom Tuning possible
See also: https://www.youtube.com/watch?v=6QAkq3bI97M (Building WS from an existing ADF application - ADF Insider)
REST Zusammenfassung
use
OPTIONAL
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
26
DOAG Development, 04.06.2014, Düsseldorf
RESPONSIVE ADF APPLICATION
27
DEMO NOW
DOAG Development, 04.06.2014, Düsseldorf
ADF MOBILE APP‣ Phone / Tablet
28
‣ Bessere Unterstützung für SOAP Services
‣ => WS DataControl
DOAG Development, 04.06.2014, Düsseldorf
ADF MOBILE APP‣ Phone / Tablet
29
‣ REST-JSON Service Einbindung nur programmatisch
DOAG Development, 04.06.2014, Düsseldorf
ADF MOBILE - REMOTE URL INTEGRATION‣ Einbettung von Webseiten / Apps
über eine URL
‣ Einsatz / Empfehlung bei
‣ News / Status-Seiten
‣ Bestehende ADF Mobile Browser Apps
30
DOAG Development, 04.06.2014, Düsseldorf
ADAPTIVE ADF MOBILE APP‣ Tablet / Phone
Feature Constraints
31
DOAG Development, 04.06.2014, Düsseldorf
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
32
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
33
DOAG Development, 04.06.2014, Düsseldorf
FAZIT‣ Multi-Channel ist nicht wegzudenken! Responsive
Design für WebApps ist Standard.
‣ Auf das API-/ServiceFassade-Designkommt es an (REST/SOAP, Cloud, …)
‣ REST Unterstützung in ADF noch nicht optimal
‣ Testen / QA bleibt eine Herausforderung TestFlight usw…
34
DOAG Development, 04.06.2014, Düsseldorf
AUSBLICK!
‣ ADF 12.1.3+ wird die Entwicklungsproduktivität verbessernADF 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
35
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
Training DevelopmentConsultingOracle Business
IntelligenceOracle ADFADF Mobile
Oracle WebLogic
Oracle WebCenter
ENTERPRISE PRAGMATIC IT
Oracle Fusion Middleware
37
PARTNERSCHAFTEN
38