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 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
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 Stuff
Users
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/CSS
HTML/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
Web
Mobile /Tablet
Native/Hybrid Glass Watch ?
…
…
Multi-Channel

Development
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 Once
Run „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
ViewController

Taskflows / JSF
SOA/
WebServices

EJB/

„POJOs“
REST-Service

Layer
ADF BC

!
!
ViewObjects

EntityObjects
Responsive /
Adaptive
Design
Native /
Hybrid / ADF Mobile
Apps
Client-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 ADF

Taskflows
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 SDO
ADF BC

ApplicationModule
HTTP(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-Service

ADF SDO
ADF Mobile
!
WS DataControl
ADF BC

ApplicationModule
HTTP(S)/REST
Geplant für

ADF 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 SDO
ADF BC

ApplicationModule
HTTP(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
EO
EO
VO
AM
Service

Facade

!
!
!
!
AM
VO
VO
AM
ADF BC

SDO
REST

-getAM
ADF BC

SDO REST
REST

@EJB
ADF BC

SDO
SOAP
REST
REST
REST
Geplant für

ADF 12.1.3+
extend
or
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-Design

kommt 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
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
35
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
Training DevelopmentConsulting
Oracle Business
Intelligence
Oracle ADF

ADF Mobile
Oracle
WebLogic
Oracle
WebCenter
ENTERPRISE PRAGMATIC IT
Oracle Fusion Middleware
37
PARTNERSCHAFTEN
38
Best Practices für Multi-Channel Application Development

Best Practices für Multi-Channel Application Development

  • 1.
    Andreas Koop Geschäftsführung & Consulting MULTI-CHANNELAPPLICATION DEVELOPMENT BEST PRACTICES DOAG Development, 04.06.2014, Düsseldorf
  • 2.
    Andreas Koop Geschäftsführung &ConsultingÜBER MICH 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
  • 3.
    DOAG Development, 04.06.2014,Düsseldorf AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiele mit ADF & ADF Mobile
 Desktop, Tablet, Mobile Fazit & Ausblick 3
  • 4.
    DOAG Development, 04.06.2014,Düsseldorf FRÜHER WAR ALLES EINFACHER 4 Data Access Layer Presentation Layer Business Rules / Logic / Process Layer IT Stuff Users Best Practice 3-tier Architecture
  • 5.
    DOAG Development, 04.06.2014,Düsseldorf Users ?Next 5 EINE WEBANWENDUNG REICHT NICHT MEHR AUS Improved UX High Expectations Engagement
  • 6.
    DOAG Development, 04.06.2014,Düsseldorf MULTI CHANNEL ERWARTUNGEN 6 in the office on the go take photo on the couch Beispiel!
  • 7.
    DOAG Development, 04.06.2014,Düsseldorf WIE SIEHT DIE IT ARCHITEKTUR AUS? 7 Users IT Stuff ?
  • 8.
    DOAG Development, 04.06.2014,Düsseldorf #CHANNEL UND #TECHNOLOGIEN WACHSEN 8 Time Channel Technology Browser Cross-Browser ! Mobile/Tablet Web HTML/CSS HTML/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 ? … …
  • 9.
    DOAG Development, 04.06.2014,Düsseldorf ..UND DAMIT ENTWICKLUNGS- / WARTUNGSKOSTEN ! 9 #Channels Kosten / Aufwand Browser Cross-Browser ! Mobile/Tablet Web Mobile /Tablet Native/Hybrid Glass Watch ? … … Multi-Channel Development Per-Channel Development
  • 10.
    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
  • 11.
    DOAG Development, 04.06.2014,Düsseldorf MULTI-CHANNEL ANSATZ 11 Build Once Run „Anyware“
  • 12.
    DOAG Development, 04.06.2014,Düsseldorf AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile Fazit & Ausblick 12
  • 13.
    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
  • 14.
    DOAG Development, 04.06.2014,Düsseldorf SOA / OSB … MULTI-CHANNEL ARCHITECTURE MIT ADF 14 ViewController Taskflows / JSF SOA/ WebServices EJB/ „POJOs“ REST-Service Layer ADF BC ! ! ViewObjects EntityObjects Responsive / Adaptive Design Native / Hybrid / ADF Mobile Apps Client-App ADF Model (Binding) SOAP- Service ADF SDO ApplicationModule
  • 15.
    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
  • 16.
    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 ADF
 Taskflows 16 Presentation Layer NOT STRATEGIC ANYMORE!
  • 17.
    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 SDO ADF BC ApplicationModule HTTP(S)/SOAP WS DataControl Service Layer
  • 18.
    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-Service ADF SDO ADF Mobile ! WS DataControl ADF BC ApplicationModule HTTP(S)/REST Geplant für ADF 12.1.3+ Service Layer
  • 19.
    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
  • 20.
    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
  • 21.
    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
  • 22.
    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
  • 23.
    DOAG Development, 04.06.2014,Düsseldorf ADF BC SDO EJB -> REST! ! ‣ 1. Inject EJB ‣ 2. Use ServiceBean 23 ADF Mobile !ADF SDO ADF BC ApplicationModule HTTP(S)/REST WS DataControl REST Resource @EJB Service Wrapper -Klasse anlegen Service Layer REST
 Option 3
  • 24.
    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
  • 25.
    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 EO EO VO AM Service Facade ! ! ! ! AM VO VO AM ADF BC SDO REST -getAM ADF BC SDO REST REST @EJB ADF BC SDO SOAP REST REST REST Geplant für ADF 12.1.3+ extend or 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
  • 26.
    DOAG Development, 04.06.2014,Düsseldorf AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile Fazit & Ausblick 26
  • 27.
    DOAG Development, 04.06.2014,Düsseldorf RESPONSIVE ADF APPLICATION 27 DEMO NOW
  • 28.
    DOAG Development, 04.06.2014,Düsseldorf ADF MOBILE APP ‣ Phone / Tablet 28 ‣ Bessere Unterstützung für SOAP Services ‣ => WS DataControl
  • 29.
    DOAG Development, 04.06.2014,Düsseldorf ADF MOBILE APP ‣ Phone / Tablet 29 ‣ REST-JSON Service Einbindung nur programmatisch
  • 30.
    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
  • 31.
    DOAG Development, 04.06.2014,Düsseldorf ADAPTIVE ADF MOBILE APP ‣ Tablet / Phone
 Feature Constraints 31
  • 32.
    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
  • 33.
    DOAG Development, 04.06.2014,Düsseldorf AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile Fazit & Ausblick 33
  • 34.
    DOAG Development, 04.06.2014,Düsseldorf 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… 34
  • 35.
    DOAG Development, 04.06.2014,Düsseldorf 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 35
  • 36.
    VIELEN DANK FÜRIHRE AUFMERKSAMKEIT HABEN SIE NOCH FRAGEN?
  • 37.
    Training DevelopmentConsulting Oracle Business Intelligence OracleADF
 ADF Mobile Oracle WebLogic Oracle WebCenter ENTERPRISE PRAGMATIC IT Oracle Fusion Middleware 37
  • 38.