37
1 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

Embed Size (px)

DESCRIPTION

Slides from Oracle's ADF Architecture TV series covering the Design phase of ADF projects, a broad overview of integrating ADF Mobile into your ADF landscape. Like to know more? Check out: - Subscribe to the YouTube channel - http://bit.ly/adftvsub - Design Playlist - http://www.youtube.com/playlist?list=PLJz3HAsCPVaSemIjFk4lfokNynzp5Euet - Read the episode index on the ADF Architecture Square - http://bit.ly/adfarchsquare

Citation preview

Page 1: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

1 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Page 2: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

2 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Real World ADF Design & Architecture Principles

Architecting for ADF Mobile Integration

15th Feb 2013 v1.0

Page 3: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

3 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Learning Objectives

•  At the end of this module you should be able to:

– Understand where ADF Mobile fits into the ADF ecosphere – Describe ADF Mobile's capabilities and its platform –  Identify challenges of integrating mobile into the enterprise – Consider if ADF BC web services SDOs are suitable for the ADF

Mobile platform and how they can be integrated

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 4: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

4 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Introduction to ADF Mobile •  ADF Mobile Framework •  Application Design Considerations •  Mobile 2 Enterprise Integration Challenges •  Reusing ADF Business Components & SDOs

Page 5: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

5 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

ADF Mobile Benefits

•  Mobile-enables Oracle Fusion Middleware and applications –  Without complexity and expense of integrating separate "mobile

platform"

•  Build-once, deploy to multiple platforms –  Common metadata-based application definition –  Device specific deployment packages generating native application files

•  Tight device services integration –  Call to on device services such as GPS, camera, contacts and more –  Leverages open-sourced PhoneGap in the native application container

Page 6: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

6 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

ADF Mobile Benefits

•  Native device user experience – Delivered through HTML5 UI components –  Full support for animations, gestures, and touch interaction –  Interactive data visualization components

•  Enterprise-grade Mobile application security – SSO and OAM/OID integration – End-to-end encryption, for local database, communication

channels, and cached credentials – Access control for application features

Page 7: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

7 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

ADF Mobile Benefits

•  Leverage existing skills –  In Java and Web technologies – Same development paradigm as ADF for server/Java EE

applications –  Lowers TCO and learning curve

Page 8: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

8 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Oracle’s Mobile Approach §  Deliver one common platform

for both desktop-based and mobile enterprise apps

§  Reuse your development skills and tools – Java and Web-based Development Skills

§  Minimize development cycle and cost

§  Extend enterprise apps and data to mobile clients

§  Support multiple channels and platforms

ORACLE  MOBILE  APPS  

ORACLE  APPLICATION  DEVELOPMENT  FRAMEWORK  

ISV  /  CUSTOM  APPS  

Page 9: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

9 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Description Benefits Scenario

ADF Faces Rich Client Components

For desktop browser apps that are fully functional in iPad and Android tablet browsers

•  Single codebase

•  Simplest rollout, maintenance, portability

Laptop/Desktop Replacement

ADF Mobile Browser

For web pages that adapt to the mobile browser where they are viewed

Supports broad range of mobile browsers (smartphones and feature phones)

Mobile Approval and Search

ADF Mobile For mobile apps that install and run on iOS and Android devices

•  Access to local storage and device services (camera, contacts, etc.)

•  Offline Access

•  Highly interactive and native look & feel

Mobile Worker

Mobile Approval and Search

Mobile Development with Oracle ADF

Page 10: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

10 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Java HTML5

Use Existing Skills Set

Built On Standards

Use  Exis:ng  Skills  Set  

Built  On  Standards  

Oracle ADF Mobile

Simplify Development Write Once, Deploy to Many

Page 11: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

11 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Integrated Development Environment

§  Declarative and visual development

§  Integration with Apple Xcode and Android SDK

§  Consistent tooling §  Task Flows §  Data Controls §  Packaging §  Deployment §  Debugging

Page 12: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

12 Copyright © 2013 Oracle and/or its affiliates. All rights reserved. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Given we’ve now ADF Mobile, does this mean we can go without ADF server-based applications altogether?

Could this be the replacement for ADF Swing?

Exercise

Image: imagerymajestic/ FreeDigitalPhotos.net

Page 13: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

13 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

ADF Mobile Suitability •  Not designed to replace native development platforms (eg. XCode)

–  Extremely unlikely that somebody will build ADF Angry Birds –  Its cross platform nature makes it a generalized development platform, not an

optimized one

•  Ideal for small mobile applications –  Unlikely to replace full blown enterprise

applications –  But may provide many small apps that interface

remotely

•  Mobile UI is not suitable for extensive data entry applications

Page 14: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

14 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Introduction to ADF Mobile •  ADF Mobile Framework •  Application Design Considerations •  Mobile 2 Enterprise Integration Challenges •  Reusing ADF Business Components & SDOs

Page 15: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

15 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Framework Overview

•  Thin Native container on each platform, allows for –  Native application install –  Device interaction via PhoneGap

•  HTML5/JavaScript Frontend •  Java Backend

–  Embeds a light headless JVM

•  Content packaged as reusable modules –  Implemented as local or remote

content

Page 16: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

16 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

UI Content options

•  Local AMX File –  JSF-like file built visually in JDeveloper –  Converted at RT HTML/JS on device

•  Remote URL –  ADF Trinidad for Smartphones –  ADF Faces on Tablets –  Any third-party site

•  Local HTML File –  Supports third-party HTML5 frameworks

Page 17: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

17 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Access and Security

•  Authentication: –  Out of the box integration with Oracle IDM –  Offline authentication –  Single login across Features

•  Access Control: –  Role based access

•  Encryption: –  Credential store –  Local data –  Communication channels

Page 18: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

18 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Device Services

How It Works?

Phone Gap

Device Native Container Web View

Server HTML

ADF Mobile XML View

Java

Managed Beans

ADF Model

Third Party Web Sites

ADF Faces RC

ADF Mobile Browser

Mobile Device

Web Services (SOAP & REST)

Local HTML

HTML5 & JavaScript

Configuration Server

ADF Controller

Local  Data  

Credential M

anagement,

SSO &

Access C

ontrol

Application

Configuration

Server

Page 19: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

19 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Introduction to ADF Mobile •  ADF Mobile Framework •  Application Design Considerations •  Mobile 2 Enterprise Integration Challenges •  Reusing ADF Business Components & SDOs

Page 20: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

20 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Architecture “Within” ADF Mobile Apps

Image: fotographic1980/ FreeDigitalPhotos.net

Page 21: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

21 Copyright © 2013 Oracle and/or its affiliates. All rights reserved. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

ADF Mobile is a relatively new technology. Best practices and

architectures are still up for discussion at this stage.

Image: Ambro / FreeDigitalPhotos.net

Page 22: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

22 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Introduction to ADF Mobile •  ADF Mobile Framework •  Application Design Considerations •  Mobile 2 Enterprise Integration Challenges •  Reusing ADF Business Components & SDOs

Page 23: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

23 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Mobile 2 Enterprise Integration

•  Mobile 2 Enterprise –  Beyond the architecture within a

mobile application –  How does the mobile application

consume & communicate to remote enterprise services?

–  How does mobile fit into the larger enterprise architecture?

Image: Pong / FreeDigitalPhotos.net

Page 24: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

24 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Mobile 2 Enterprise Integration

•  Technically mobile’s can consume numerous technical protocols –  Within an enterprise domain this will typically include:

• Remote web pages • Web services

–  ADF Mobile v1.0 is capable of using both of these •  In built browser to access remote web pages • Good support for SOAP based web service, reasonable support for REST

Page 25: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

25 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Mobile 2 Enterprise Integration Challenges •  The nature of mobile devices are they are

“mobile” –  Mobile devices cannot be easily maintained by the

enterprise –  Enterprise workers may be offsite for days/weeks/

months –  Some applications are designed to go “off-line” or

survive “wifi” and connection dead-spots

•  If the enterprise services need to be upgraded and APIs change –  Presents challenge as the mobile application may

not be easily upgraded

Image: posterize/ FreeDigitalPhotos.net

Page 26: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

26 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Providing Stable Enterprise Services

•  Unless you can guarantee –  Ability to upgrade mobile applications on service

upgrades –  Or stable APIs of the enterprise services

•  You must consider your strategy to supporting multiple versions of these services –  Not all changes will require supporting multiple

versions of your services –  But changes to APIs and protocols will

Image: Stuart Miles/ FreeDigitalPhotos.net

Page 27: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

27 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Versioned Web Pages

•  The stability of web pages is not as important as web services •  Web pages are typically read by a human, not the mobile application •  Exceptions

–  The page requires URL parameters and the API changes –  The application is scrapping the returned HTML and the structure changes

•  Your options are different deployments with different URLs •  Through different servers • Or versioned URLs

Page 28: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

28 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Versioned Web Services

•  Options: –  Different deployments with different URLs

•  Potentially different servers •  Or versioned URLs

–  A variable xsl:anyType payload structure with the disadvantage the payload can no longer be validated at runtime via the XSD •  Not supported by the ADF web service data control

–  Regardless of the technology you may need to provide stable protocol versions too (e.g. HTTP v1.1, SOAP v1.2)

–  Typical solution for web services is an Enterprise Service Buses (ESBs) –  Alternatively you may require to maintain multiple running environments

•  Be wary of the license costs

Page 29: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

29 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Web Service Auxiliary Services – Use-By-Date

•  While you can’t necessarily control mobile application upgrades –  Helpful to push users to new versions when

they connect –  So you can eventually disable older services –  Solutions:

•  Build-in a use-by-date disable function into your mobile app

• Or provide a mechanism for the mobile application to determine a new version is available

Image: Salvatore Vuono/ FreeDigitalPhotos.net

Page 30: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

30 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Web Service Auxiliary Services – Heartbeat

•  For debugging and service sanity point of view •  Useful to have a web service that reports “we’re up!” •  Exercises the complete stack of software behind the web service

Image: jscreationzs / FreeDigitalPhotos.net

Page 31: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

31 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Program Agenda

•  Introduction to ADF Mobile •  ADF Mobile Framework •  Application Design Considerations •  Mobile 2 Enterprise Integration Challenges •  Reusing ADF Business Components & SDOs

Page 32: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

32 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Reusing ADF Business Component & SDOs

•  Existing ADF web-server systems may have considerable investment in ADF BC and the embedded logic –  It would be advantageous to reuse this

•  While ADF Mobile & other mobile technologies can’t reuse ADF BC directly •  ADF BC can be published on servers to reuse externally as SDOs

–  11g – SOAP based, 12c+ will also support REST

Page 33: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

33 Copyright © 2013 Oracle and/or its affiliates. All rights reserved. 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Exercise

Image: imagerymajestic/ FreeDigitalPhotos.net

While we can reuse ADF BC, questionably what should we

reuse and how should the ADF BC project be structured

for reuse?

Page 34: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

34 Copyright © 2013 Oracle and/or its affiliates. All rights reserved. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Exercise

Image: imagerymajestic/ FreeDigitalPhotos.net

Given what we've learned, if we want to support both a

web application and a native mobile application, do we

need to change our application architecture?

Page 35: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

35 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Conclusion

•  ADF Mobile presents an excellent opportunity to leverage existing skills and solutions to deliver mobile solutions for the enterprise

•  However even though the scale of mobile applications is small, they present there own challenges beyond the mobile itself, enterprises need to form and document a working mobile strategy

Page 36: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

36 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.

Further Reading

•  ADF Mobile Website http://bit.ly/adfmobile •  ADF Mobile Developer's Guide http://bit.ly/adfmobguide111230

•  ADF Mobile UX Guidelines http://bit.ly/adfmobileuxguidelines

Page 37: Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration

37 Copyright © 2013 Oracle and/or its affiliates. All rights reserved.