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.
2. & Consulting ÜBER MICH
Andreas Koop
Geschäftsführung
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. AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiele mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
3
4. FRÜHER WAR ALLES
EINFACHER
DOAG Development, 04.06.2014, Düsseldorf
4
Presentation Layer
Business Rules / Logic / Process
Layer
Data Access Layer
IT Stuff
Users
Best Practice
3-tier Architecture
5. EINE WEBANWENDUNG
REICHT NICHT MEHR AUS
DOAG Development, 04.06.2014, Düsseldorf
Users
?Next
Improved UX
High Expectations
Engagement
5
6. MULTI CHANNEL
ERWARTUNGEN
DOAG Development, 04.06.2014, Düsseldorf
6
in the office on the go
take photo
on the couch
Beispiel!
7. WIE SIEHT DIE IT
ARCHITEKTUR AUS?
Users IT Stuff
DOAG Development, 04.06.2014, Düsseldorf
7
?
9. ..UND DAMIT ENTWICKLUNGS-
/ WARTUNGSKOSTEN !
DOAG Development, 04.06.2014, Düsseldorf
9
Per-Channel
Development
#Channels
Kosten /
Aufwand
Browser Cross-Browser
!
Mobile/Tablet
Web
…
…
Mobile /Tablet
Native/Hybrid Glass Watch ?
Multi-Channel
Development
10. 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
12. AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
12
13. MULTI-CHANNEL
ARCHITECTURE?
DOAG Development, 04.06.2014, Düsseldorf
Service Layer
Data Access Layer
13
Presentation
Layer
Business Rules / Logic / Process Layer
Responsive /
Adaptive
Design
Native /
Hybrid
Apps
Client-App
HTML5/CSS3
HTML5/CSS3 REST / SOAP
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. 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
16. 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
DOAG Development, 04.06.2014, Düsseldorf
16
Presentation
Layer
NOT STRATEGIC
ANYMORE!
17. ADF BC SDO SOAP
SERVICES OUT OF THE BOX
!
!
!
!
‣ Nachteil für Mobile: High Volume Traffic
DOAG Development, 04.06.2014, Düsseldorf
17
ADF Mobile
! SOAP-Service
ADF SDO
ADF BC
ApplicationModule HTTP(S)/SOAP WS DataControl
Service Layer
18. 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!
DOAG Development, 04.06.2014, Düsseldorf
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. EJB -> REST SERVICE
!
!
!
‣ Bei bestehendem EJB Model OK
‣ Nachteil: Keine Wiederverw. des ADF BC Models
(Fusion Stack)
DOAG Development, 04.06.2014, Düsseldorf
19
EJB REST Resource
@EJB Service
ADF Mobile
!
HTTP(S)/REST WS DataControl
Service Layer
REST
Option 1
20. EJB -> REST SERVICE
HOWTO
‣ Entity-Klassen annotieren
‣ REST-Resource annotieren, ggf. Wrapper-Klasse
!
!
!
‣ Fertig!
See also: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24adf-2147201.html
DOAG Development, 04.06.2014, Düsseldorf
20
Service Layer
REST
Option 1
REST for
EveryOne
21. ADF BC APPMODULE
-> REST SERVICE
!
!
DOAG Development, 04.06.2014, Düsseldorf
21
ADF BC REST Resource
-getRootAM
ADF Mobile
!
HTTP(S)/REST WS DataControl
Service Layer
REST
Option 2
22. ADF BC APPMODULE
-> REST SERVICE
‣ Vorteil
‣ ADF BC Logic zu 100% wiederverwendbar
‣ Nachteil
‣ Hoher manueller Aufwand für REST Service-
Erstellung
DOAG Development, 04.06.2014, Düsseldorf
22
Service Layer
REST
Option 2
23. ADF BC SDO
EJB -> REST !
!
‣ 1. Inject EJB
‣ 2. Use ServiceBean
DOAG Development, 04.06.2014, Düsseldorf
REST Resource
@EJB Service
23
ADF Mobile
ADF BCADF SDO !
ApplicationModule HTTP(S)/REST WS DataControl
Wrapper
-Klasse anlegen
Service Layer
REST
Option 3
24. ADF BC SDO
EJB -> REST
‣ Vorteil
‣ ADF BC Logic zu 100% wiederverwendbar
‣ Geringer manueller Aufwand für REST Service-
DOAG Development, 04.06.2014, Düsseldorf
24
Erstellung
‣ Nachteil
‣ ? ;)
Service Layer
REST
Option 3
25. WAS GIBT ES SONST NOCH?
‣ Ggf. macht es Sinn eine ADF Service-Fassade
AM
DOAG Development, 04.06.2014, Düsseldorf
25
einzuführen, z.B.
ADF BC
!
!
!
!
!
AM
VO
VO
EOEO
Service
Facade
!
!
!
!
AM
AM
VOVO
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. AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
26
32. 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
33. AGENDA
Multi-Channel Strategie
Architekturbetrachtung
Beispiel mit ADF & ADF Mobile
Desktop, Tablet, Mobile
Fazit & Ausblick
DOAG Development, 04.06.2014, Düsseldorf
33
34. 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
35. 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
37. ENTERPRISE PRAGMATIC IT
Consulting Training Development
Oracle Business
Oracle
Oracle ADF
Oracle
Intelligence
WebCenter
ADF Mobile
WebLogic
Oracle Fusion Middleware
37