MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES

MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES Andreas Koop Geschäftsführung & Consulting DOAG Development, 04.06.2014, Düsseldorf Andreas ...
1 downloads 3 Views 3MB Size
MULTI-CHANNEL APPLICATION DEVELOPMENT BEST PRACTICES

Andreas Koop Geschäftsführung

& Consulting

DOAG Development, 04.06.2014, Düsseldorf

Andreas Koop

ÜBER MICH

Geschäftsführung

& Consulting

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

AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiele mit ADF & ADF Mobile
 Desktop, Tablet, Mobile

Fazit & Ausblick

DOAG Development, 04.06.2014, Düsseldorf

3

FRÜHER WAR ALLES EINFACHER Best Practice 3-tier Architecture Presentation Layer Business Rules / Logic / Process Layer Data Access Layer

IT Stuff

Users DOAG Development, 04.06.2014, Düsseldorf

4

EINE WEBANWENDUNG REICHT NICHT MEHR AUS

Users Improved UX

High Expectations

Engagement DOAG Development, 04.06.2014, Düsseldorf

5

?Next

MULTI CHANNEL ERWARTUNGEN in the office

on the go take photo

DOAG Development, 04.06.2014, Düsseldorf

on the couch

6

Bei

spie

l!

WIE SIEHT DIE IT ARCHITEKTUR AUS?

? IT Stuff

Users DOAG Development, 04.06.2014, Düsseldorf

7

#CHANNEL UND #TECHNOLOGIEN WACHSEN Channel

… !

Browser

HTML/CSS

Cross-Browser

HTML/CSS JavaScript AJAX

Mobile /Tablet Native/Hybrid

Mobile/Tablet Web

HTML5/CSS3 JavaScript AJAX WebSocket

HTML5/CSS3 JavaScript AJAX WebSocket

!

!

Responsive Design

Responsive Design

!

ObjectiveC Java C#

Technology DOAG Development, 04.06.2014, Düsseldorf

8

Glass

Watch



?

Time

..UND DAMIT ENTWICKLUNGS/ WARTUNGSKOSTEN !

Per-Channel Development

Kosten / Aufwand



Multi-Channel

Development

#Channels

… !

Browser

Cross-Browser

DOAG Development, 04.06.2014, Düsseldorf

Mobile /Tablet Native/Hybrid

Mobile/Tablet Web 9

Glass

Watch

?

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

MULTI-CHANNEL ANSATZ

Build Once Run „Anyware“

DOAG Development, 04.06.2014, Düsseldorf

11

AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile

Fazit & Ausblick

DOAG Development, 04.06.2014, Düsseldorf

12

MULTI-CHANNEL ARCHITECTURE? Responsive / Adaptive Design

Native / Hybrid Apps Client-App

Presentation Layer

HTML5/CSS3

Service Layer

Business Rules / Logic / Process Layer Data Access Layer

DOAG Development, 04.06.2014, Düsseldorf

13

HTML5/CSS3

REST / SOAP

MULTI-CHANNEL ARCHITECTURE MIT ADF Native / Hybrid / ADF Mobile Apps

Responsive / Adaptive Design

Client-App

REST-Service

Layer

ViewController

Taskflows / JSF ADF Model (Binding) ADF BC

SOA/ ! WebServices

ApplicationModule ! EJB/

ViewObjects

„POJOs“ EntityObjects DOAG Development, 04.06.2014, Düsseldorf

SOAPService

ADF SDO 14

SOA / OSB



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

ADF MOBILE BROWSER Presentation Layer



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

NOT STRATEGIC ANYMORE! DOAG Development, 04.06.2014, Düsseldorf

16

ADF BC SDO SOAP 
 SERVICES OUT OF THE BOX ! ADF BC

ApplicationModule

SOAP-Service

ADF SDO

!

ADF Mobile

!

HTTP(S)/SOAP

WS DataControl

! !



Nachteil für Mobile: High Volume Traffic

DOAG Development, 04.06.2014, Düsseldorf

17

Service Layer

NO SUPPORT FOR ADF 
 BC SDO REST SERVICES YET

Service Layer

! ADF BC

ApplicationModule

REST-Service

ADF SDO

ADF Mobile

!

HTTP(S)/REST

! !

WS DataControl

Geplant für

ADF 12.1.3+

!



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

EJB -> REST SERVICE !

EJB

REST Resource

@EJB Service

Service Layer

REST
 Option 1

ADF Mobile HTTP(S)/REST

!

!

WS DataControl

!



Bei bestehendem EJB Model OK



Nachteil: Keine Wiederverw. des ADF BC Models (Fusion Stack)

DOAG Development, 04.06.2014, Düsseldorf

19

EJB -> REST SERVICE HOWTO

Service Layer

REST
 Option 1



Entity-Klassen annotieren



REST-Resource annotieren, ggf. Wrapper-Klasse ! ! !



REST for EveryOne

Fertig! See also: http://www.oracle.com/technetwork/issue-archive/2014/14-mar/o24adf-2147201.html

DOAG Development, 04.06.2014, Düsseldorf

20

ADF BC APPMODULE 
 -> REST SERVICE !

ADF BC

REST Resource

-getRootAM

REST
 Option 2 ADF Mobile

HTTP(S)/REST

!

DOAG Development, 04.06.2014, Düsseldorf

Service Layer

21

!

WS DataControl

ADF BC APPMODULE 
 -> REST SERVICE Vorteil

‣ ‣

ADF BC Logic zu 100% wiederverwendbar Nachteil

‣ ‣

Hoher manueller Aufwand für REST ServiceErstellung

DOAG Development, 04.06.2014, Düsseldorf

22

Service Layer

REST
 Option 2

ADF BC SDO EJB -> REST

Service Layer

REST
 Option 3

!

ADF BC

! ApplicationModule

ADF SDO



1. Inject EJB



2. Use ServiceBean

REST Resource

@EJB Service

ADF Mobile

!

HTTP(S)/REST

WS DataControl

Wrapper

-Klasse anlegen DOAG Development, 04.06.2014, Düsseldorf

23

ADF BC SDO EJB -> REST

Service Layer

REST
 Option 3

Vorteil

‣ ‣

ADF BC Logic zu 100% wiederverwendbar



Geringer manueller Aufwand für REST ServiceErstellung Nachteil

‣ ‣

? ;)

DOAG Development, 04.06.2014, Düsseldorf

24

Zus RE am ST
 me nfas sun g

WAS GIBT ES SONST NOCH? ‣

Ggf. macht es Sinn eine ADF Service-Fassade einzuführen, z.B. ADF BC

SDO

OPTIONAL

ADF BC

! AM AM ! ! VO VO ! ! EO EO

Service

Facade

! ! AM ! AM !

extend or customize

No EOs here! Custom Tuning possible

REST

@EJB

REST

REST

use

REST

-getAM

Geplant für

ADF 12.1.3+

See also: https://www.youtube.com/watch?v=6QAkq3bI97M (Building WS from an existing ADF application - ADF Insider) DOAG Development, 04.06.2014, Düsseldorf

ADF BC

SDO

ADF BC

SDO REST

VO VO

-

SOAP

25

REST

AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile

Fazit & Ausblick

DOAG Development, 04.06.2014, Düsseldorf

26

RESPONSIVE ADF APPLICATION

DEMO NOW DOAG Development, 04.06.2014, Düsseldorf

27

ADF MOBILE APP ‣

Phone / Tablet

Bessere Unterstützung für SOAP Services

‣ ‣

DOAG Development, 04.06.2014, Düsseldorf

28

=> WS DataControl

ADF MOBILE APP ‣

Phone / Tablet

DOAG Development, 04.06.2014, Düsseldorf

REST-JSON Service Einbindung nur programmatisch



29

ADF MOBILE - REMOTE URL INTEGRATION ‣

Einbettung von Webseiten / Apps
 über eine URL



Einsatz / Empfehlung bei ‣

News / Status-Seiten



Bestehende ADF Mobile
 Browser Apps

DOAG Development, 04.06.2014, Düsseldorf

30

ADAPTIVE ADF MOBILE APP ‣

Tablet / Phone
 Feature Constraints

DOAG Development, 04.06.2014, Düsseldorf

31

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

AGENDA Multi-Channel Strategie Architekturbetrachtung Beispiel mit ADF & ADF Mobile
 Desktop, Tablet, Mobile

Fazit & Ausblick

DOAG Development, 04.06.2014, Düsseldorf

33

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

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

VIELEN DANK FÜR IHRE AUFMERKSAMKEIT

HABEN SIE NOCH FRAGEN?

ENTERPRISE PRAGMATIC IT

Consulting Oracle Business Intelligence

Training Oracle WebCenter

Oracle ADF
 ADF Mobile

Oracle Fusion Middleware

37

Development Oracle WebLogic

PARTNERSCHAFTEN

38