Top Banner
Andreas Koop Geschäftsführung & Consulting MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES DOAG Development, 04.06.2014, Düsseldorf
39

Multichannel Application Development Best Practices

Jul 04, 2015

Download

Internet

Andreas Koop

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multichannel Application Development Best Practices

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

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

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

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

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

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

DOAG Development, 04.06.2014, Düsseldorf

WIE SIEHT DIE IT ARCHITEKTUR AUS?

7

Users IT Stuff

?

Page 8: Multichannel Application Development Best Practices

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

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

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

DOAG Development, 04.06.2014, Düsseldorf

MULTI-CHANNEL ANSATZ

11

Build OnceRun „Anyware“

Page 12: Multichannel Application Development Best Practices

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DOAG Development, 04.06.2014, Düsseldorf

RESPONSIVE ADF APPLICATION

27

DEMO NOW

Page 28: Multichannel Application Development Best Practices

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

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

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

DOAG Development, 04.06.2014, Düsseldorf

ADAPTIVE ADF MOBILE APP‣ Tablet / Phone

Feature Constraints

31

Page 32: Multichannel Application Development Best Practices

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

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

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

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

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?

Page 37: Multichannel Application Development Best Practices

Training DevelopmentConsultingOracle Business

IntelligenceOracle ADFADF Mobile

Oracle WebLogic

Oracle WebCenter

ENTERPRISE PRAGMATIC IT

Oracle Fusion Middleware

37

Page 38: Multichannel Application Development Best Practices

PARTNERSCHAFTEN

38

Page 39: Multichannel Application Development Best Practices