Gooding, John.ppt

Download Report

Transcript Gooding, John.ppt

iphone / Mobile Application Development using Oracle ADF
Jon Gooding – Solutions Architect
Session Agenda
•
•
•
•
Framework
ADF Mobile Components
iphone App Build and Demo
Questions and Answers
<Insert Picture Here>
Session Agenda
•
•
•
•
Framework
ADF Mobile Components
iphone App Build and Demo
Questions and Answers
<Insert Picture Here>
Mobile Application Development Framework
Key Requirements
Provide a framework to
Extend Oracle Tech/App
to Mobile Clients
• Support development of mobile
application as a natural extension of
Oracle Applications and Technologies
Support choices of
client types and
platforms
• Allow developer to pick and choose
the appropriate channels and mobile
platforms for their scenario
Provide a single,
integration environment
to build variety of
mobile applications
• One unified development framework
and tool for multiple mobile platforms
• Quick integration with enterprise
applications
• Process orchestration and integration
for collaboration via mobile devices
Oracle Fusion Middleware
Extending Oracle Fusion Middleware to Mobile Clients
Application
Development Framework
JDeveloper
JDeveloper
Single, Integrated Enterprise IDE
DBMS
Modeling
Java Dev.
Java EE
Dev.
ESB Dev.
BPM Dev.
Business
Rules
Common Metadata Manager
Common Application Lifecycle Management
Common Business Catalog
Common Modeling Framework
Common IDE Framework
Portal Dev.
Desktop &
Mobile
Application Development Framework
MVC Development for the Enterprise
Device
•
Mobile
Device &
Browser
Optimization
View
Controller
JSF Components • JSF Page Flow
• Mobile
• JSR 227 Data
Components
Binding
• Ajax & DHTML
• Flash
•
Model
O-R Mapping
• EJB 3, JPA
• WebServices
•
Complete/Standards-based Framework
Browser and Mobile Devices
Desktop
Swing
JSP
Office
Mobile JSF/ADF Faces
Metadata Services
Struts
JSF/ADFc
ADFm (JSR 227)
Java
EJB BAM BPEL
Portlet
Web Services
Toplink
JCR
View
Controller
Model
ADF BC
BI
XML
JMX
Business
Services
Data Services
Relational Data
XML Data
Legacy Data
Ent. Apps
ADF and JDeveloper
Target Developers and Communities
• One development environment and platform
• For server/web-based and on-device applications
• Covering both desktop and mobile clients
• Used by developers to
• Build custom applications and modules
• Configure/develop/integrate Fusion Middleware
components
• Extend integrated applications to end users
• Used by Internal Oracle teams to build products:
•
•
•
•
Oracle Fusion Applications
Oracle Applications Unlimited
WebCenter Suite (Enterprise 2.0)
Oracle Enterprise Manager
Session Agenda
•
•
•
•
Framework
ADF Mobile Components
iphone App Build and Demo
Questions and Answers
<Insert Picture Here>
Breaking Through Common Mobile Platform Limitations
Limitations of current solutions:
• Duplicating development efforts
• Different tools and environment for different mobile
devices and channels (on-device vs. web)
• Different frameworks for native/on-device vs. web
based mobile applications
• Code-driven development paradigm
• Java (ME and SE), Objective C, C++, etc.
• (Re)build all application services from the
ground up
• For application logic services, view services, etc.
• Proprietary frameworks and technologies
ADF Mobile Enables Rapid and Scalable Mobile
Application Development
• Mobile Browser: Support for broad range of devices
• Automatically leverages AJAX features in smartphone
browsers
• Degrades gracefully to support plain HTML/WAP browsers
• Mobile Client: Develop one application, and deploy to
many smartphone platforms
• Native UI controls and complete on-device framework
• Single set of application logic components can be extended to
desktop browser, mobile browser, and native mobile clients
Steps to Create Mobile Extensions using ADF
1. Ideally have existing Business Components to reuse
2. Create (or acquire) Mobile templates and css files.
3. Add to trinidad-config.xml
4. Add to trinidad-skins.xml
5. Build out View / Controller components with faces-config.xml
6. Apply mobile features to pages
Session Agenda
•
•
•
•
Framework
ADF Mobile Components
iphone App Build and Demo
Questions and Answers
<Insert Picture Here>
iphone Native Look and Feel Style Programming
CSS 3.0 features enable our web application to have the same look
and feel of the native iPhone applications. So we need to create a
new skin in Trinidad for iPhone to include iPhone specific CSS
features.
The steps to create a new skin is well documented in the below link
http://myfaces.apache.org/trinidad/devguide/skinning.html
After creating iPhone skin, we can switch between default skin and
iPhone skin by using EL like below in Trinidad-config.xml:
<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
<skin-family>
#{agentUtil.isiPhone ? 'iphoneFamily':‘minimal’}
</skin- family>
</trinidad-config>
iphone Navigation Panel Lists
iphone Email Client
iPhone Safari browser provides interface to iPhone email client as well. To
invoke the email client with an email destination filled out, developer
would use a tr:goLink component to display the email field, and add
mailto: to the destination attribute of the component, such as:
<tr:goLink styleClass="messageLink"
destination="mailto:#{sessionScope.houseDetails.AgentEmail}"
text="#{sessionScope.houseDetails.AgentEmail}"/>
When a user links on this goLink, iPhone Email client will be started, and
the To: field would be populated with the content of the AgentEmail
variable.
iphone Google Maps
For example, the following will drop a pin at a location specified by
session variables houseDetail.Street, houseDetail.City, and
houseDetail.PostCode.
<tr:goLink styleClass="messageLink"
destination="http://maps.google.com/maps?q=#{sessionScope.houseDeta
ils.Street},
+#{sessionScope.houseDetails.City},
+#{sessionScope.houseDetails.PostCode}"
text="#{sessionScope.houseDetails.Street}"/>
It is also possible to program driving directions using this feature. The
format of the Google Maps URL would be:
http://maps.google.com/maps?saddr=<Start_Address>&daddr=
iphone specific tips
• Not Quite Apps Store
• Can Still have users have an icon on the desktop
• Create a PNG format graphic file (45x45 pixels in size)
named apple-touch-icon.png and place it in the root
directory of the site.
A lot of Apps Store applications are browser based, with a
application wrapper.
Roadmap – ADF Mobile Platform
• ADF Mobile Browser
•
•
Version 11gR1 is available today
Version 11g PS1 (11.1.1.2.0) will add better
narrow screen support, style sheet samples,
and browser detection support
• ADF Mobile Client
•
•
Technical Preview planned for 2009
• Will be delivered as an Extension/Update for JDeveloper
11g PS1
Production Release planned for 2010
• Including:
• Developer feedback
• Performance optimization
• Dependent on BlackBerry OS Updates
Resources for ADF Mobile
•Product Information:
http://www.oracle.com/technology/tech/wireless/adf_mobile.ht
ml
•Demo Site:
ADF Mobile Browser Demos
http://stshld.oracle.com:8888/demo/faces/main.jspx
Mobile Banking Demo (New)Demo of Mobile Banking site for commercial/retail banking. Supports all major smartphone and
feature phone browsers.
Service Manager Demo (New)Link to Service Manager application in the Oracle OpenWorld 09. Supports BlackBerry 4.6 and
above, iPhone Safari browser, and consumer phone running plain HTML browsers.
Pharma App (New)Demo of a Pharma Sample Drop application. Basic (no mobile CSS optimization) user interface. Supports
all major smartphone and feature phone browsers.
HR Demo App (New)Demo of Mobile Banking site for commercial/retail banking. Supports all major smartphone and feature
phone browsers.
Mobile FOD Demo (Enhanced)Running demo of the tutorial for building the mobile version of Fusion Order Demo (FOD).
Now with ADF Security enabled. Supports all major smartphone and feature phone browsers\
More Information on Oracle JDeveloper
• http://oracle.com/technology/jdev
•
•
•
•
•
•
•
Tutorials and How-To’s
Samples
Demos
Books and Training
Discussion forum
Blogs
More…
<Insert Picture Here>
Session Agenda
•
•
•
•
Framework
ADF Mobile Components
iphone App Build and Demo
Questions and Answers
<Insert Picture Here>