Vortrag von Andreas Koop (@enpit) auf der DOAG Development Konferenz 2014 Thema "Best Practices für Multi-Channel Application Development".
Die IT-Welt ist schnelllebiger als je zuvor. Neue Geräteklassen und Betriebssysteme erobern den Markt. Nutzer erwarten, dass Geschäftsprozesse auf allen zu Verfügung stehenden Geräten durchführbar sind.Der Multi-Channel Entwicklungsansatz mit Oracle ADF ermöglicht es diese Erwartungen zu erfüllen und gleichzeitig eine 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.
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!
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
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
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