How to Incorporate Mobility into Oracle Based Solutions

mashpeemoveMobile - Wireless

Nov 24, 2013 (3 years and 9 months ago)

82 views


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

How to Incorporate Mobility
into Oracle Based Solutions

Karen Mazurkiewicz

Technical Marketing Engineer


Intel Corporation

Software and Solutions Group


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Abstract


With the number of internet connected hotspots
steadily growing, now is the time to ensure your
application is ready for the changes occurring in
today's client computing environment.


The
concepts and issues relating to mobility will be
discussed, as well as the paradigms needed to
address the new issues created by temporal
internet connectivity in today's software. Be sure
that you are prepared to support the convergence
of computing and communications!


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Agenda


Trends Towards Mobile Computing



Occasionally Connected Computing



Technology Enabling Mobility



Implications for Software Design



Conclusion



© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

The Drive for Mobile Computing


Mobile Users Want:


Seamless connectivity


Graceful handling of connection changes


Networked applications with “offline” mode


Longer Battery Life


High Performance


Mobility Trends

“Consumers want more from their mobile devices and applications,
especially in the future. Enhancements need to provide greater utility
in order to lure consumers to the buying table.”

Mobilizing the Consumer
, Randy Giusto, IDC.


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Traditional Apps in a Wireless World

People discard technology that
DOES NOT meet their needs

Mobility Trends


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

The Mobility Inflection Point

Opportunity to “Mobilize” Applications


Develop an Occasionally Connected SW Architecture


Develop to Standards for the Robustness IT Requires

Volume Mobile Platforms


Laptops, Handhelds, Phones


Wireless Roaming Stressing Traditional Applications


Resets, Reboots, Service Disruptions, Refreshes, etc.

+

=

Mobility Trends


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Overcoming Application Limitations


Offline Data Management


Data caching and Synchronization


Security Protection


Manageability


Seamless Application Connectivity


Detect changes in network state & take action


Multiple Platform Support


Identification of Platform Attributes


Power Reduction and Performance
Management

OCC Architecture


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Occasionally Connected Computing


Benefits

Features

Offline Data
Management

Seamless
Connectivity

Power and
Performance
Management

Multiple
Platform
Support

Access Your
Data Anytime

Dynamically
manage
intermittent
connections

Run All Day
Unwired

Common
technologies/
mechanisms

Increased
User
Productivity

Transparent
User
Experience

Increased
efficiency
and
utilization

Consistent
User
Experience


Capabilities

OCC enables applications to
overcome mobility challenges

OCC Architecture


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Breakthrough Mobile Performance


Enables Extended Battery Life


Intelligent power distribution


New SpeedStep
®

power
-
optimized logic
design


Integrated WLAN capability


Wi
-
Fi Compliant


Innovative Form Factors


Smaller components


Minimized thermal power


High Performance

Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel
®

Technology Designed
Specifically for Mobility

Intel® Centrino™ Mobile Technology:




Intel® Pentium® M processor


32K L1 code and data cache, 1MB Unified Cache


Data Prefetch


Advanced Branch Prediction


400 MHz Processor System Bus




855 chipset


Supports up to 2GB 266/200 DDR


USB 2.0 Support


Optional Integrated Graphics




Integrated Wireless Pro 802.11b WLAN



Power Management Features

Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel
®

Technology Designed
Specifically for Hand Held Devices


Intel
® XScale Technology


Fully Integrated Cellular and Application Processor


High
-
performance/Low
-
power Intel XScale Core


Low
-
Power Intel Micro Signal Architecture



Key Applications


Data
-
enabled Cellular phones


Smartphones


Wireless Communicators


WPDAs



Intel®
P
ersonal Internet
C
lient
A
rchitecture


Promotes Rapid Development and Deployment


Cross Architecture Java* Support


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle Leadership in Enabling Mobility

Worldwide Middleware Forecast and Analysis: 2002
-
2006
. Drake, Stephen D., IDC.

Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle Products Enabling Mobility


Oracle9i* Lite


Introduced 1995


Client Side Component of Oracle9iAS*


Allows Offline Business Functionality


Data Synch With Mobile Server


http://otn.oracle.com/products/lite/htdocs/o9ilite_datasheet.htm



Oracle9iAS* Wireless


Introduced 1999


Component of Oracle9iAS*


Universal Access to content and applications


Normalizes underlying technology to one protocol / language


HTTP/XML


http://otn.oracle.com/products/iaswe/htdocs/datasheet.pdf

Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle 9i Lite* Enabling OCC


Oracle9i Lite* RDBMS


Offline processing with local data storage


Synchronization upon establishing connectivity


Mobile Server


Centralized provisioning of software components


Synchronization Logic and Service


User/Device/Application Data Management


Mobile Development Kit


Tools, APIs, and Sample Code


Packaging Wizard


Packages Mobile Components into EXE


Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle9i Lite* Mobile Development



Use standard development tools


Packaging Wizard


Publish Application to Mobile Server


Mobile Server Control Center


Provision Users


Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Take Advantage of Today’s Technology


Users Want Applications that:


Increase Productivity


Can be Used Anywhere


Intel
®

and Oracle are working together to
provide the best complete solution


Early introduction of enabling products


Development Tools


Ease of Deployment/Write to all architecture


High Performance


Working together to create the best solutions

Enabling Technology


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Overcoming Application Limitations


Offline Data Management


Data caching and Synchronization


Security Protection


Manageability


Seamless Application Connectivity


Detect changes in network state & take action


Multiple Platform Support


Identification of Platform Attributes


Power Reduction and Performance
Management

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Occasionally Connected Computing


Benefits

Features

Offline Data
Management

Seamless
Connectivity

Power and
Performance
Management

Multiple
Platform
Support

Access Your
Data Anytime

Dynamically
manage
intermittent
connections

Run All Day
Unwired

Common
technologies/
mechanisms

Increased
User
Productivity

Transparent
User
Experience

Increased
efficiency
and
utilization

Consistent
User
Experience


Capabilities

User Productivity Independent
of Connection State

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle9i Lite* Offline Data Management


Oracle9i Lite*


Windows* 98/NT/XP/CE, Palm*, EPOC*


Light Memory Footprint


Offline processing with local data storage


Synchronization occurs upon establishing connectivity


Web
-
to
-
Go


Lightweight web listener


Java* based servlet engine


OTL* interpreter

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Oracle9i Lite* Offline Data Management

Software Design

Transport

HTML

HTTP

Internet

Wireless Network

LAN

Offline

Online

Laptop Client

Windows* 95/98/NT/2000/XP

Mobile Client for Web
-
to
-
Go* (
Oracle 9i Lite*
)

10MB HD, 12MB RAM

Browser

Oracle Lite DB

(
Oracle 9i Lite*
)

Mobile Server

(
Oracle 9i Lite*
)

JVM

Mobile SQL

Data

JDBC

ODBC

Apps

Repository

Mobile Sync

Web
-
to
-
go allows users to
switch between online and
offline modes


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Occasionally Connected Computing


Benefits

Features

Offline Data
Management

Seamless
Connectivity

Power and
Performance
Management

Multiple
Platform
Support

Access Your
Data Anytime

Dynamically
manage
intermittent
connections

Run All Day
Unwired

Common
technologies/
mechanisms

Increased
User
Productivity

Transparent
User
Experience

Increased
efficiency
and
utilization

Consistent
User
Experience


Capabilities

Seamless Adaptation to User
Connection State

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Application Connectivity


Application Connectivity Assumptions
Becoming Invalid


New OCC Architecture Introduces New
Needs:


Managing Unreliable Connections


Scaling Data Richness


Robust Error Handling


Compressed Data Transfers


Maintaining Responsiveness


Assure Data Integrity With Temporal
Connectivity

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Occasionally Connected Computing


Benefits

Features

Offline Data
Management

Seamless
Connectivity

Power and
Performance
Management

Multiple
Platform
Support

Access Your
Data Anytime

Dynamically
manage
intermittent
connections

Run All Day
Unwired

Common
technologies/
mechanisms

Increased
User
Productivity

Transparent
User
Experience

Increased
efficiency
and
utilization

Consistent
User
Experience


Capabilities

Seamless Adaptation to
Characteristics of User Platform

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Multiple Platform Support


Similar User Interface for All Platforms


Content scaling for Device capabilities


Application Provisioning per device


Dynamically obtain CPU Information


Attributes Include:


System CPU


System Memory


Screen Size and Graphics Capabilities


Supported Data Feature Set May Vary
Depending on Platform Characteristics




Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Occasionally Connected Computing


Benefits

Features

Offline Data
Management

Seamless
Connectivity

Power and
Performance
Management

Multiple
Platform
Support

Access Your
Data Anytime

Dynamically
manage
intermittent
connections

Run All Day
Unwired

Common
technologies/
mechanisms

Increased
User
Productivity

Transparent
User
Experience

Increased
efficiency
and
utilization

Consistent
User
Experience


Capabilities

Maximization of Performance
and Battery Life

Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Power Reduction and Performance


Increase CPU Idle Time


Reduce Quality/Performance of Features


Turn off or Queue Background Activities


A Combination of Both


User Interface for User Adjustments


Sleep/Wake Power Transitions


Efficient Synchronization


Minimize Drive Accesses


Software Design

Intel® VTune™ Performance Analyzer 7.0
Can Help Identify Performance Bottlenecks!


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Impact for Database Applications


Intelligent Use of System Power Information


Smart handling of Sleep transitions


Data Commit at Low Power Threshold


Scalable Data Synchronizations


User configurable parameters


Battery Power Source


UI Functionality Adjustments


User configurable parameters


Low Battery Scenarios


Software Design


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Conclusion


Large Mobile Computing Base Today


Ever Increasing Connectivity


Legacy Applications Cannot Provide
Adequate User Experience

It is essential to adapt to how
your users are computing

Conclusion

Intel, the Intel logo, Pentium, Itanium, VTune are trademarks or registered trademarks of
Intel Corporation or its subsidiaries in the United States and other countries


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Next Steps


Join Intel
®

Developers Services today!


Sign up at our booth


Sign up at
www.intel.com/ids/



Join Intel
®

and Oracle in
Pioneering User Friendly Mobile
Applications

Conclusion


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Backup


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Software Architecture & Technology “Guiding principles”


Make the application network protocol independent
(TCP/IP or Other)


Use open industry standard transport protocols
(HTTP, HTTPS, FTPS, etc)


Use XML (at least), SOAP/WSDL (better) to exchange data & state/events


Use standard security mechanisms
(SSL, client/server X.509 certificates, VPN, etc)


Use platform OS event policies & QoS capabilities for connectivity


Recognize & utilize device characteristics and capabilities


Make mobility an integral aspect of the application design


Assume & embrace asynchronous interactions & intermittent connectivity
(Adopt a Service Oriented Architecture at the business layer; client and server)


Use data synchronization models for small, easily partitioned data sets and a
business synchronization logic for complex data sets


Separate application logic from synchronization logic
(Online/Offline transparency
handled by a OCC proxy)


Architect for optimal use of resources
(e.g. Power Management)


Address multi
-
master and multi
-
device synchronization


Provide a consistent and logical user view of data and state based on latest
data, pending work, and potential conflicts.


Move from user initiated synch to a connectivity availability synch model


Provide a common interface to all user devices, scale functionality


Allow the user to modify app and system policies relating to consistency,
synchronization, power mgmt, conflict resolution, etc.


SW Platform

Features

Application

Architecture

User

Experience


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Seamless Connectivity

NetConnection.h for CNetConnection class





Software Design Details

CNetConnection(void)

//class constructor





//mbInitialized set FALSE

BOOL Initialize(void)

//query for network adapter with





//data stored in PIP_ADAPTER_INFO





//data structure

BOOL Uninitialize(void)

//destructor function

BOOL IsNetOn(void)

//TRUE returned if network





//adapters have live connections

BOOL IsAnyAdapterConnected(void)





//returns TRUE is live network





//adapter found

BOOL IsAnyModemConnected(void)





//returns TRUE if live modem





//connection is found


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Multiple Platform Support


Dynamic content scaling


Device capabilities


Application Provisioning per device


CPUID














Screen size





Software Design Details

typedef struct _processor_info {


char v_name[_MAX_VNAME_LEN];


char model_name[_MAX_MNAME_LEN];


int family;


int model;


int stepping;


int feature;


int os_support;


int checks;

} _p_info;


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Windows Power Management


Data Structure









Accessing Power Information




Coding to Suspend CPU Activity for Waiting


Avoid spin wait loops


Use
WaitMessage()

instead of
PeekMessage()


typedef struct _SYSTEM_POWER_STATUS {



BYTE


ACLineStatus;



BYTE


BatteryFlag;



BYTE


BatteryLifePercent;



BYTE


Reserved1;



DWORD


BatteryLifeTime;



DWORD


BatteryFullLifeTime;

}SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;

Software Design Details

GetSystemPowerStatus

//returns data structure

WM_POWERBROADCAST

//broadcasts state change


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Information Sources


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel Development Tools


Intel
®

C/C++ Compiler



Auto
-
Vectorizer


Intel
®

Integrated Performance Primitives


Image/video/audio processing, small matrix operations
and more


Intel
®

VTune™ Performance Analyzer 7.0


Non
-
intrusive Sampling, enhanced Call Graph, and
Counter Monitor


Communication Tools


Network Detection Tool


Sample code with usable library to check network
on/off status from within apps. Available on the
Intel Developer Services Web site


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel White Papers


2003 Intel
®

Mobile Platform Vision

http://developer.intel.com/design/mobile/platform/index.htm


Applications Power Management for Mobility

http://developer.intel.com/design/mobile/platform/downloads/apm
m_wp.pdf



Whitepapers at
developer.intel.com

found by
searching on author:


Intel
®

Centrino


Mobile Technology Unveiled,
Andrew Binstock


Occasionally Connected Computing: The
Developer’s New Challenge,

Andrew Binstock


Intel® Developer Services
-

The Occasionally
Connected Computing (OCC) Model,
Dan Fineberg



© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel
®

White Papers (continued)


Network Status Detection,
Majd Naciri



Mobile Platforms Need Power
-
Conserving
Applications,

Eric L. Palmer


Revolution in our Hands: Mobility Matters
--

Application Design for a Wireless World,

Chris
Thomas


From Here to There: Software Architecture for
Mobile Computing,

Chris Thomas


Programming for Tablet PCs and Mobile
Computers
, Andy Wigley


Writing Code to Reveal the Performance Details
of Mobile Processors,

Richard Winterton


Optimizing for Mobility,

Alan Zeichick


© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Intel
®

Developer Services Offerings


OracleTest Drive Offerings


Oracle9i RAC* (Real Application Clusters)


Featuring Dell Power Edge* Servers


Oracle9iAS* with Oracle 9i* Database Backend on
Intel
®

Itanium
®
2 Processor
-
based Server


Featuring Servers by Rackable Systems


Launched Soon



www.intel.com/ids/oracle



Intel
®

Early Access Plan



www.intel.com/ids/eap


Intel
®

Mobile Computing



www.intel.com/design/mobile




© 2003 Intel Corporation



*Third party brands and names are the properties of their respective owners

Other Resources


IDC Reports Available at:
www.idc.com


Worldwide Mobile Middleware Forecast and
Analysis, 2002


2006,

Stephen D. Drake


Mobilizing the Consumer,

Randy Giusto



Oracle Tutorials and Whitepapers available
at
otn.oracle.com
:


Oracle9i Lite*: An Oracle Business Whitepaper


Oracle9i Lite*: A Technical Whitepaper


Oracle9i Lite* Tutorial


otn.oracle.com/products/lite/content.html