multichannel application development best practices
DESCRIPTION
Der Multi-Channel Entwicklungsansatz mit Oracle ADF ermöglicht es die Nutzererwartungen für alle marktüblichen Geräteklassen und Betriebssysteme zu erfüllen und gleichzeitig eine möglichst homogene Enterprise-Architektur zu bewahren. Mit einem einzigen Werkzeug - JDeveloper - lässt sich derselbe Anwendungsfall auf ähnliche Art und Weise sowohl für Desktop (Web-Client) als auch Tablet/Smartphone (Hybrid-App) entwickeln. Die Herausforderung liegt in der Architektur des Gesamtsystems bzgl. SOA und Security mit maximaler Wiederverwendung. Im Vortrag werden Best Practices für den genannten Multi-Channel Ansatz aufgezeigt und mit Beispielen aus der Praxis untermauert.TRANSCRIPT
![Page 1: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/1.jpg)
Andreas Koop Geschäftsführung
& Consulting
MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES
DOAG Development, 04.06.2014, Düsseldorf
![Page 2: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/2.jpg)
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
![Page 3: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/3.jpg)
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiele mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
3
![Page 4: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/4.jpg)
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
![Page 5: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/5.jpg)
DOAG Development, 04.06.2014, Düsseldorf
Users
?Next
5
EINE WEBANWENDUNG REICHT NICHT MEHR AUS
Improved UX High Expectations
Engagement
![Page 6: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/6.jpg)
DOAG Development, 04.06.2014, Düsseldorf
MULTI CHANNEL ERWARTUNGEN
6
in the office on the go take photo
on the couch
Beispiel!
![Page 7: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/7.jpg)
DOAG Development, 04.06.2014, Düsseldorf
WIE SIEHT DIE IT ARCHITEKTUR AUS?
7
Users IT Stuff
?
![Page 8: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/8.jpg)
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 ?
…
…
![Page 9: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/9.jpg)
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
![Page 10: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/10.jpg)
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
![Page 11: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/11.jpg)
DOAG Development, 04.06.2014, Düsseldorf
MULTI-CHANNEL ANSATZ
11
Build OnceRun „Anyware“
![Page 12: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/12.jpg)
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
12
![Page 13: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/13.jpg)
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
![Page 14: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/14.jpg)
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
![Page 15: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/15.jpg)
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
![Page 16: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/16.jpg)
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!
![Page 17: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/17.jpg)
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
![Page 18: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/18.jpg)
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
![Page 19: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/19.jpg)
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
![Page 20: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/20.jpg)
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
![Page 21: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/21.jpg)
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
![Page 22: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/22.jpg)
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
![Page 23: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/23.jpg)
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
![Page 24: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/24.jpg)
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
![Page 25: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/25.jpg)
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
![Page 26: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/26.jpg)
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
26
![Page 27: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/27.jpg)
DOAG Development, 04.06.2014, Düsseldorf
RESPONSIVE ADF APPLICATION
27
DEMO NOW
![Page 28: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/28.jpg)
DOAG Development, 04.06.2014, Düsseldorf
ADF MOBILE APP‣ Phone / Tablet
28
‣ Bessere Unterstützung für SOAP Services
‣ => WS DataControl
![Page 29: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/29.jpg)
DOAG Development, 04.06.2014, Düsseldorf
ADF MOBILE APP‣ Phone / Tablet
29
‣ REST-JSON Service Einbindung nur programmatisch
![Page 30: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/30.jpg)
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
![Page 31: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/31.jpg)
DOAG Development, 04.06.2014, Düsseldorf
ADAPTIVE ADF MOBILE APP‣ Tablet / Phone
Feature Constraints
31
![Page 32: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/32.jpg)
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
![Page 33: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/33.jpg)
DOAG Development, 04.06.2014, Düsseldorf
AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile Desktop, Tablet, Mobile
Fazit & Ausblick
33
![Page 34: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/34.jpg)
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
![Page 35: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/35.jpg)
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
![Page 36: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/36.jpg)
VIELEN DANK FÜR IHRE AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
![Page 37: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/37.jpg)
Training DevelopmentConsultingOracle Business
IntelligenceOracle ADFADF Mobile
Oracle WebLogic
Oracle WebCenter
ENTERPRISE PRAGMATIC IT
Oracle Fusion Middleware
37
![Page 38: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/38.jpg)
PARTNERSCHAFTEN
38
![Page 39: Multichannel Application Development Best Practices](https://reader036.vdocument.in/reader036/viewer/2022081603/559704c81a28ab724f8b482d/html5/thumbnails/39.jpg)