SlideShare una empresa de Scribd logo
1 de 28
Integrating ADF Mobile with
WebCenter

Brian “Bex” Huff
Chief Software Architect
Oracle ACE Director
Agenda


  History of the mobile web
  What’s your Mobile Strategy?
  Crash Course in ADF
  Native, ADF Mobile, and HTML5
  Integrating Content and Web Services
  Recommendations
  Tips and Traps




                                          2
History of Mobile Apps


  Native
   • All mobile devices have an API for native programming
   • Used mainly for developers working on one specific platform
  Wireless Application Protocol (1997)
   • Slimmed-down version of HTML for tiny mobile screens
   • Relatively unused
  BlackBerry
   • Email on my mobile phone! Yay!!! I mean... Boooooo!
  iPhone
   • The first true “smartphone”
   • Native language: Objective-C
  HTML5
   • Supported on all mobile smartphones
   • Supported on some desktops
                                                                   3
Mobile Challenges


  Richer context
   • Location, acceleration, camera, video
   • Offline database storage, messages and notifications


  Design techniques
   • Objective-C, Java, C#, Native libraries
   • Web services, JSON, HTML5, JavaScript


  New devices and operating systems every month!
   • iPhone, iPod Touch, iPad, Kindle, Nook
   • iOS, Blackberry, WebOS, Windows Mobile
   • Android has already “forked” three times!



                                                            4
Mobile OS Market Share


  2013 Q1 Sales by OS (ABI Research / CNN)




                                              5
Technology Adoption Rates




                            6
Words of Warning!


  Heed the lessons from the dot com bust
   • Don’t rush to mobile like people rushed to the web
   • You’ll spend too much and get too little


  Your web site should be a natural extension of your business

  Your mobile app should be a natural extension of your business




                                                                    7
Words of Wisdom...



 "Ten mobile apps is all I need"
        -- David Heinemeier Hansson, creator of Ruby on Rails




 "If we only bought what we needed, the economy would collapse"
        -- Paco Underhill




                                                                  8
Three Main Mobile Strategies


  Mobile application
   • Create native mobile application (iOS, Android, etc.)


  Mobile website
   • Your current website data, optimized for a mobile browser
   • Optimized content and interactions


  Hybrid applications
   • Part application, part website
   • Built with common web technologies (HTML5/JavaScript)
   • Load native libraries only as needed




                                                                 9
Mobile Application


  “Native Application” strategy
   • Initially the only way to make mobile apps


  Are smart phone app sales your main moneymaker?
   • $15 billion market in 2013


  Probably not what you need!




                                                     10
Mobile Web


  The HTML5 Strategy
   • Use the power of HTML5
   • Animation, offline storage, location services, etc.


  Supported on most mobile browsers

  Incredibly powerful

  Preferred by most users, according to Adobe
   • Exceptions: social, music, and games




                                                           11
Users Prefer Mobile Web To Mobile Apps




                                         12
Hybrid Application: Web-Based Native
Apps

  Three common frameworks
   • Titanium, PhoneGap, ADF Mobile


  ADF Mobile
   • Released in November, 2012


  ADF Mobile is based partly on PhoneGap
   • Allow you to create a “native” application using only HTML5 and JavaScript
   • New component-driven framework: ADF Mobile AMX files




                                                                                  13
History of ADF Mobile


  ADF Mobile Browser
   • JSF skins optimized for older mobile phones
   • Open sourced as Trinidad skins
   • Probably not what you need


  ADF ViewController with mobile skin
   • Slimmed down View, optimized for mobile
   • Supports gestures


  ADF Mobile
   • Next-Generation hybrid mobile toolkit




                                                   14
Crash Course in ADF


  ADF is a Model, View, Controller framework
   • Support included in JDeveloper and Eclipse
   • Tight DataBinding layer ties all 3 together


  Model is typically ADF Business Components
   • POJOs, Web Services, Struts, and EJB also supported


  View is typically ADF Faces (declarative framework)
   • JSP, JSF, ADF Mobile (AMX), Swing also supported
   • AMX very similar to JSF: declarative component based framework


  Controller is typically ADF Task Flows
   • JSF Page Flows also supported, but less powerful

                                                                      15
ADF Mobile Architecture




                          16
Integrating Hybrid Apps with your Enterprise


  Best practice to have middleware between app and enterprise

  What about existing SOAP/JSON APIs?
   • WebCenter Spaces? WebCenter Content?


  Back-end APIs can change frequently
   •   WebCenter Content is mostly stable, but no guarantee
   •   Existing APIs may be too “chatty”
   •   Updating Hybrid Apps is a pain that should be avoided
   •   Have a slimmed-down API
        • ReST-ful XML or JSON good choices
        • JSON requires a bit more work in ADF Mobile




                                                                 17
Enterprise Hybrid App Needs Middleware



                                     WebCenter
                                      Content



                   WebLogic          WebCenter
                                      Portal



                                     Enterprise
                                       Apps

                                                  18
Four “Flavors” of ADF Mobile


  Declarative XML components
   • ADF Mobile (AMX), similar to JSF
   • Can use expression language, data controls, and binding layer
  Remote URL
   • Similar to an iFrame with authentication
  Local HTML/CSS/JS files on device
   • Basically PhoneGap 1.0
   • Common native functions exposed via JavaScript
      • Camera, video, location services
  Native
   • Undocumented “hooks” to integrate custom code (like bar code)
   • Not fully baked yet: custom native plugins require workarounds



                                                                      19
Integrating Content


  Mobile Web
   • CORS or JSON-P direct to WebCenter Content
   • jQuery $.post() to simplified JSP that connects via RIDC


  Hybrid ADF App
   • Create a WebService Data Control (for XML)
      • Set endpoints in the connections.xml file
      • Call with RestServiceAdapter
   • Create a POJO Data Control for (JSON)
      • Use URLConnection object, or a custom ReST/JSON library


  Hybrid jQuery/Cordova App
   • Use jQuery $.post() method


                                                                  20
ADF Mobile WebService Data Control



 RestServiceAdapter rsa = Model.createRestServiceAdapter();
 rsa.clearRequestProperties();
 rsa.setConnectionName("RestServerEndpoint");
 rsa.setRequestType(RestServiceAdapter.REQUEST_TYPE_POST);
 rsa.setRequestURI("/path/to/my/restful/endpoint");
 String postData = "<msg>my data to send</msg>";
 String response = restServiceAdapter.send(postData);
 // parse the XML response




                                                              21
Integrating Portal


  WebCenter Spaces
    • Has its own JSON API


  WebCenter Business Mashups
    • Part of WebCenter PORTAL
    • Can use SQL or Web Services as data sources
    • Turns them into REST-ful JSON or XML endpoints
    • Good middleware wrapper for any back-end system
       • EBS, Siebel, PeopleSoft, even WebCenter Content
    • Parameter binding for dynamic queries / services




                                                           22
WebCenter Spaces Data Sources




                                23
Recommendations


  Think strategically, act tactically!
  HTML5 is the future of the web
    • Your team MUST learn it anyway
  HTML5 does 90% of what you want on mobile
    • Use mobile as a reason to begin HTML5 adoption
  If not enough, use ADF Mobile
    • Deploy existing business components as web services
    • Consume via Business Mashups or custom middleware
  Mobile web or mobile app?
    • Users prefer mobile web, unless data entry or graphics are key




                                                                       24
Tips for Hybrid Apps


  Apple store is biased towards native apps
   • It seems like a good idea to load all of your images/assets from a server
   • Apple considers that an attempt to get an “evil” app certified
   • Bundle most of the UI with the app


  ADF Mobile works better with ReST/XML
   • No native support for ReST/JSON in current release


  Migrating an existing ADF application?
   • Do not call existing Model objects directly from ADF Mobile!
   • Turn your ADF Model layer into a web service layer




                                                                                 25
Tips for Mobile Web


  ADF: create separate View for mobile browsers
   • Don’t just slim the same UI down
   • Think about user experience, especially data entry
  Alternate mobile web toolkits
   • jQuery Mobile, jqTouch, Sencha Touch
   • Sencha Touch, EXTJS, Zepto
  weinre (WEb INspector REmote)
   • UNBELIEVABLY cool remote HTML5 debugger
  modernizr
   • Feature detection library for HTML5 and CSS
  html5shiv
   • add some HTML5 support to older browsers


                                                          26
Useful Links


  Download ADF Mobile
   • http://www.oracle.com/technetwork/developer-tools/adf-
     mobile/downloads/index.html
   • http://docs.oracle.com/cd/E18941_01/tutorials/MobileTutorial/jdtut_11r2_54
     _1.html


  ADF Mobile References
   • http://jdevadf.oracle.com/amx/
   • http://docs.oracle.com/cd/E35521_01/apirefs.111230/e27204/toc.htm
   • http://docs.oracle.com/cd/E35521_01/apirefs.111230/e26230/toc.htm


  JSON-P/CORS/jQuery support for WebCenter Content
   • https://bezzotech.com/support/attachments/download/155/CrossDomainJs
     on-11g.zip

                                                                                  27
Questions?


  My Company: http://bezzotech.com

  My Blog: http://bexhuff.com

  My Self: bex@bezzotech.com




                                      28

Más contenido relacionado

La actualidad más candente

Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco Software
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Acquia
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11
Zia Consulting
 

La actualidad más candente (20)

Switching to Oracle Document Cloud
Switching to Oracle Document CloudSwitching to Oracle Document Cloud
Switching to Oracle Document Cloud
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized Website
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
 
Web works presso
Web works pressoWeb works presso
Web works presso
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
Losing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for SolutionLosing the Document Battle? Alfresco, Drupal Combine for Solution
Losing the Document Battle? Alfresco, Drupal Combine for Solution
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClient
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 

Destacado

Oracle Document Cloud Service
Oracle Document Cloud ServiceOracle Document Cloud Service
Oracle Document Cloud Service
Arush Jain
 
28 a dupla ceifa da terra. apoc. 14.14-20
28   a dupla ceifa da terra. apoc. 14.14-2028   a dupla ceifa da terra. apoc. 14.14-20
28 a dupla ceifa da terra. apoc. 14.14-20
Diego Fortunatto
 

Destacado (18)

Idoc script beginner guide
Idoc script beginner guide Idoc script beginner guide
Idoc script beginner guide
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
Java Deserialization Vulnerabilities - The Forgotten Bug Class (RuhrSec Edition)
 
Oracle Webcenter Suite Overview
Oracle Webcenter Suite OverviewOracle Webcenter Suite Overview
Oracle Webcenter Suite Overview
 
Rapid process automation with oracle process cloud service
Rapid process automation with oracle process cloud serviceRapid process automation with oracle process cloud service
Rapid process automation with oracle process cloud service
 
Oracle Document Cloud Service
Oracle Document Cloud ServiceOracle Document Cloud Service
Oracle Document Cloud Service
 
flyer-BDPAConnect Virtual Career Fair
flyer-BDPAConnect Virtual Career Fairflyer-BDPAConnect Virtual Career Fair
flyer-BDPAConnect Virtual Career Fair
 
Top Companies for Blacks in Technology `
Top Companies for Blacks in Technology `Top Companies for Blacks in Technology `
Top Companies for Blacks in Technology `
 
What is Digital Signage ?
What is Digital Signage ?What is Digital Signage ?
What is Digital Signage ?
 
Python Metaclasses
Python MetaclassesPython Metaclasses
Python Metaclasses
 
A spectos tecnicos
A spectos tecnicosA spectos tecnicos
A spectos tecnicos
 
Twitter for Events - amiando Social Media Study
Twitter for Events - amiando Social Media StudyTwitter for Events - amiando Social Media Study
Twitter for Events - amiando Social Media Study
 
Chrisiane Kubrick über Stanley
Chrisiane Kubrick über Stanley Chrisiane Kubrick über Stanley
Chrisiane Kubrick über Stanley
 
28 a dupla ceifa da terra. apoc. 14.14-20
28   a dupla ceifa da terra. apoc. 14.14-2028   a dupla ceifa da terra. apoc. 14.14-20
28 a dupla ceifa da terra. apoc. 14.14-20
 
MESSAGES
  MESSAGES   MESSAGES
MESSAGES
 
Jalan menuju iman
Jalan menuju imanJalan menuju iman
Jalan menuju iman
 
Atravesando fronteras: los programas de promoción a la traducción desde la Bi...
Atravesando fronteras: los programas de promoción a la traducción desde la Bi...Atravesando fronteras: los programas de promoción a la traducción desde la Bi...
Atravesando fronteras: los programas de promoción a la traducción desde la Bi...
 
Thuban talleres karma
Thuban talleres karmaThuban talleres karma
Thuban talleres karma
 

Similar a Integrating ADF Mobile with WebCenter

Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Worklight
 
Michael Slater Mobile Opportunity
Michael Slater Mobile OpportunityMichael Slater Mobile Opportunity
Michael Slater Mobile Opportunity
NorthBayWeb
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
Bryce Curtis
 

Similar a Integrating ADF Mobile with WebCenter (20)

Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionicHybrid Mobile Development with Apache Cordova,AngularJs and ionic
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
 
HTML5 for Mobile - When and Why
HTML5 for Mobile - When and WhyHTML5 for Mobile - When and Why
HTML5 for Mobile - When and Why
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGapDeveloping Downloadable Mobile Apps Using HTML5 and PhoneGap
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
 
appMobi HTML5 Gaming
appMobi HTML5 GamingappMobi HTML5 Gaming
appMobi HTML5 Gaming
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Drupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_printDrupalcamp armedia phonegap_oct2012_print
Drupalcamp armedia phonegap_oct2012_print
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps12 Frameworks for Mobile Hybrid Apps
12 Frameworks for Mobile Hybrid Apps
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Michael Slater Mobile Opportunity
Michael Slater Mobile OpportunityMichael Slater Mobile Opportunity
Michael Slater Mobile Opportunity
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleKeynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
 

Más de Brian Huff

OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Brian Huff
 

Más de Brian Huff (9)

AP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenterAP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenter
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
 
Oracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best PracticesOracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best Practices
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
Real World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management StrategiesReal World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management Strategies
 
A Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content ManagementA Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content Management
 
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
 
Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Integrating ADF Mobile with WebCenter

  • 1. Integrating ADF Mobile with WebCenter Brian “Bex” Huff Chief Software Architect Oracle ACE Director
  • 2. Agenda  History of the mobile web  What’s your Mobile Strategy?  Crash Course in ADF  Native, ADF Mobile, and HTML5  Integrating Content and Web Services  Recommendations  Tips and Traps 2
  • 3. History of Mobile Apps  Native • All mobile devices have an API for native programming • Used mainly for developers working on one specific platform  Wireless Application Protocol (1997) • Slimmed-down version of HTML for tiny mobile screens • Relatively unused  BlackBerry • Email on my mobile phone! Yay!!! I mean... Boooooo!  iPhone • The first true “smartphone” • Native language: Objective-C  HTML5 • Supported on all mobile smartphones • Supported on some desktops 3
  • 4. Mobile Challenges  Richer context • Location, acceleration, camera, video • Offline database storage, messages and notifications  Design techniques • Objective-C, Java, C#, Native libraries • Web services, JSON, HTML5, JavaScript  New devices and operating systems every month! • iPhone, iPod Touch, iPad, Kindle, Nook • iOS, Blackberry, WebOS, Windows Mobile • Android has already “forked” three times! 4
  • 5. Mobile OS Market Share  2013 Q1 Sales by OS (ABI Research / CNN) 5
  • 7. Words of Warning!  Heed the lessons from the dot com bust • Don’t rush to mobile like people rushed to the web • You’ll spend too much and get too little  Your web site should be a natural extension of your business  Your mobile app should be a natural extension of your business 7
  • 8. Words of Wisdom... "Ten mobile apps is all I need" -- David Heinemeier Hansson, creator of Ruby on Rails "If we only bought what we needed, the economy would collapse" -- Paco Underhill 8
  • 9. Three Main Mobile Strategies  Mobile application • Create native mobile application (iOS, Android, etc.)  Mobile website • Your current website data, optimized for a mobile browser • Optimized content and interactions  Hybrid applications • Part application, part website • Built with common web technologies (HTML5/JavaScript) • Load native libraries only as needed 9
  • 10. Mobile Application  “Native Application” strategy • Initially the only way to make mobile apps  Are smart phone app sales your main moneymaker? • $15 billion market in 2013  Probably not what you need! 10
  • 11. Mobile Web  The HTML5 Strategy • Use the power of HTML5 • Animation, offline storage, location services, etc.  Supported on most mobile browsers  Incredibly powerful  Preferred by most users, according to Adobe • Exceptions: social, music, and games 11
  • 12. Users Prefer Mobile Web To Mobile Apps 12
  • 13. Hybrid Application: Web-Based Native Apps  Three common frameworks • Titanium, PhoneGap, ADF Mobile  ADF Mobile • Released in November, 2012  ADF Mobile is based partly on PhoneGap • Allow you to create a “native” application using only HTML5 and JavaScript • New component-driven framework: ADF Mobile AMX files 13
  • 14. History of ADF Mobile  ADF Mobile Browser • JSF skins optimized for older mobile phones • Open sourced as Trinidad skins • Probably not what you need  ADF ViewController with mobile skin • Slimmed down View, optimized for mobile • Supports gestures  ADF Mobile • Next-Generation hybrid mobile toolkit 14
  • 15. Crash Course in ADF  ADF is a Model, View, Controller framework • Support included in JDeveloper and Eclipse • Tight DataBinding layer ties all 3 together  Model is typically ADF Business Components • POJOs, Web Services, Struts, and EJB also supported  View is typically ADF Faces (declarative framework) • JSP, JSF, ADF Mobile (AMX), Swing also supported • AMX very similar to JSF: declarative component based framework  Controller is typically ADF Task Flows • JSF Page Flows also supported, but less powerful 15
  • 17. Integrating Hybrid Apps with your Enterprise  Best practice to have middleware between app and enterprise  What about existing SOAP/JSON APIs? • WebCenter Spaces? WebCenter Content?  Back-end APIs can change frequently • WebCenter Content is mostly stable, but no guarantee • Existing APIs may be too “chatty” • Updating Hybrid Apps is a pain that should be avoided • Have a slimmed-down API • ReST-ful XML or JSON good choices • JSON requires a bit more work in ADF Mobile 17
  • 18. Enterprise Hybrid App Needs Middleware WebCenter Content WebLogic WebCenter Portal Enterprise Apps 18
  • 19. Four “Flavors” of ADF Mobile  Declarative XML components • ADF Mobile (AMX), similar to JSF • Can use expression language, data controls, and binding layer  Remote URL • Similar to an iFrame with authentication  Local HTML/CSS/JS files on device • Basically PhoneGap 1.0 • Common native functions exposed via JavaScript • Camera, video, location services  Native • Undocumented “hooks” to integrate custom code (like bar code) • Not fully baked yet: custom native plugins require workarounds 19
  • 20. Integrating Content  Mobile Web • CORS or JSON-P direct to WebCenter Content • jQuery $.post() to simplified JSP that connects via RIDC  Hybrid ADF App • Create a WebService Data Control (for XML) • Set endpoints in the connections.xml file • Call with RestServiceAdapter • Create a POJO Data Control for (JSON) • Use URLConnection object, or a custom ReST/JSON library  Hybrid jQuery/Cordova App • Use jQuery $.post() method 20
  • 21. ADF Mobile WebService Data Control RestServiceAdapter rsa = Model.createRestServiceAdapter(); rsa.clearRequestProperties(); rsa.setConnectionName("RestServerEndpoint"); rsa.setRequestType(RestServiceAdapter.REQUEST_TYPE_POST); rsa.setRequestURI("/path/to/my/restful/endpoint"); String postData = "<msg>my data to send</msg>"; String response = restServiceAdapter.send(postData); // parse the XML response 21
  • 22. Integrating Portal  WebCenter Spaces • Has its own JSON API  WebCenter Business Mashups • Part of WebCenter PORTAL • Can use SQL or Web Services as data sources • Turns them into REST-ful JSON or XML endpoints • Good middleware wrapper for any back-end system • EBS, Siebel, PeopleSoft, even WebCenter Content • Parameter binding for dynamic queries / services 22
  • 23. WebCenter Spaces Data Sources 23
  • 24. Recommendations  Think strategically, act tactically!  HTML5 is the future of the web • Your team MUST learn it anyway  HTML5 does 90% of what you want on mobile • Use mobile as a reason to begin HTML5 adoption  If not enough, use ADF Mobile • Deploy existing business components as web services • Consume via Business Mashups or custom middleware  Mobile web or mobile app? • Users prefer mobile web, unless data entry or graphics are key 24
  • 25. Tips for Hybrid Apps  Apple store is biased towards native apps • It seems like a good idea to load all of your images/assets from a server • Apple considers that an attempt to get an “evil” app certified • Bundle most of the UI with the app  ADF Mobile works better with ReST/XML • No native support for ReST/JSON in current release  Migrating an existing ADF application? • Do not call existing Model objects directly from ADF Mobile! • Turn your ADF Model layer into a web service layer 25
  • 26. Tips for Mobile Web  ADF: create separate View for mobile browsers • Don’t just slim the same UI down • Think about user experience, especially data entry  Alternate mobile web toolkits • jQuery Mobile, jqTouch, Sencha Touch • Sencha Touch, EXTJS, Zepto  weinre (WEb INspector REmote) • UNBELIEVABLY cool remote HTML5 debugger  modernizr • Feature detection library for HTML5 and CSS  html5shiv • add some HTML5 support to older browsers 26
  • 27. Useful Links  Download ADF Mobile • http://www.oracle.com/technetwork/developer-tools/adf- mobile/downloads/index.html • http://docs.oracle.com/cd/E18941_01/tutorials/MobileTutorial/jdtut_11r2_54 _1.html  ADF Mobile References • http://jdevadf.oracle.com/amx/ • http://docs.oracle.com/cd/E35521_01/apirefs.111230/e27204/toc.htm • http://docs.oracle.com/cd/E35521_01/apirefs.111230/e26230/toc.htm  JSON-P/CORS/jQuery support for WebCenter Content • https://bezzotech.com/support/attachments/download/155/CrossDomainJs on-11g.zip 27
  • 28. Questions?  My Company: http://bezzotech.com  My Blog: http://bexhuff.com  My Self: bex@bezzotech.com 28