How to Incorporate Mobility into Oracle Based Solutions
Download
Report
Transcript How to Incorporate Mobility into Oracle Based Solutions
© 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
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
Mobility Trends
The Drive for Mobile Computing
“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.
Mobile Users Want:
– Seamless connectivity
– Graceful handling of connection changes
– Networked applications with “offline” mode
– Longer Battery Life
– High Performance
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Mobility Trends
Traditional Apps in a Wireless World
People discard technology that
DOES NOT meet their needs
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Mobility Trends
The Mobility Inflection Point
Wireless Roaming Stressing Traditional Applications
Resets, Reboots, Service Disruptions, Refreshes, etc.
+
Volume Mobile Platforms
Laptops, Handhelds, Phones
=
Opportunity to “Mobilize” Applications
• Develop an Occasionally Connected SW Architecture
• Develop to Standards for the Robustness IT Requires
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
OCC Architecture
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
OCC Architecture
Capabilities Features Benefits
Occasionally Connected Computing
Increased
User
Productivity
Transparent
User
Experience
Consistent
User
Experience
Increased
efficiency
and
utilization
Access Your
Data Anytime
Dynamically
manage
intermittent
connections
Common
technologies/
mechanisms
Run All Day
Unwired
Offline Data
Management
Seamless
Connectivity
Multiple
Platform
Support
Power and
Performance
Management
OCC enables applications to
overcome mobility challenges
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
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
© 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® Personal Internet Client Architecture
– Promotes Rapid Development and Deployment
– Cross Architecture Java* Support
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
Oracle Leadership in Enabling Mobility
Worldwide Middleware Forecast and Analysis: 2002-2006. Drake, Stephen D., IDC.
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
Oracle9i Lite* Mobile Development
Use standard development tools
Packaging Wizard
– Publish Application to Mobile Server
Mobile Server Control Center
– Provision Users
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Enabling Technology
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
Capabilities Features
Benefits
Occasionally Connected Computing
Increased
User
Productivity
Transparent
User
Experience
Consistent
User
Experience
Increased
efficiency
and
utilization
Access Your
Data Anytime
Dynamically
manage
intermittent
connections
Common
technologies/
mechanisms
Run All Day
Unwired
Offline Data
Management
Seamless
Connectivity
Multiple
Platform
Support
Power and
Performance
Management
User Productivity Independent
of Connection State
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
Oracle9i Lite* Offline Data Management
Transport
HTML
HTTP
Internet
Wireless Network
LAN
Online
Web-to-go allows users to
switch between online and
offline modes
Offline
Laptop Client
Mobile Client for Web-to-Go* (Oracle 9i Lite*)
10MB HD, 12MB RAM
Browser
Mobile Server
(Oracle 9i Lite*)
JVM
JDBC
ODBC
Oracle Lite DB
(Oracle 9i Lite*)
Repository
Apps
Mobile Sync
Mobile SQL
Data
Windows* 95/98/NT/2000/XP
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
Capabilities Features
Benefits
Occasionally Connected Computing
Increased
User
Productivity
Transparent
User
Experience
Consistent
User
Experience
Increased
efficiency
and
utilization
Access Your
Data Anytime
Dynamically
manage
intermittent
connections
Common
technologies/
mechanisms
Run All Day
Unwired
Offline Data
Management
Seamless
Connectivity
Multiple
Platform
Support
Power and
Performance
Management
Seamless Adaptation to User
Connection State
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
Capabilities Features
Benefits
Occasionally Connected Computing
Increased
User
Productivity
Transparent
User
Experience
Consistent
User
Experience
Increased
efficiency
and
utilization
Access Your
Data Anytime
Dynamically
manage
intermittent
connections
Common
technologies/
mechanisms
Run All Day
Unwired
Offline Data
Management
Seamless
Connectivity
Multiple
Platform
Support
Power and
Performance
Management
Seamless Adaptation to
Characteristics of User Platform
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
Capabilities Features
Benefits
Occasionally Connected Computing
Increased
User
Productivity
Transparent
User
Experience
Consistent
User
Experience
Increased
efficiency
and
utilization
Access Your
Data Anytime
Dynamically
manage
intermittent
connections
Common
technologies/
mechanisms
Run All Day
Unwired
Offline Data
Management
Seamless
Connectivity
Multiple
Platform
Support
Power and
Performance
Management
Maximization of Performance
and Battery Life
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design
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
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
Software Design
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Conclusion
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
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
Conclusion
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
© 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
SW Platform
Features
Application
Architecture
User
Experience
Software Architecture & Technology “Guiding principles”
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
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.
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
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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design Details
Seamless Connectivity
NetConnection.h for CNetConnection class
CNetConnection(void)
BOOL
BOOL
BOOL
BOOL
BOOL
//class constructor
//mbInitialized set FALSE
Initialize(void)
//query for network adapter with
//data stored in PIP_ADAPTER_INFO
//data structure
Uninitialize(void) //destructor function
IsNetOn(void)
//TRUE returned if network
//adapters have live connections
IsAnyAdapterConnected(void)
//returns TRUE is live network
//adapter found
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
Software Design Details
Multiple Platform Support
Dynamic content scaling
– Device capabilities
– Application Provisioning per device
– CPUID
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;
– Screen size
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners
Software Design Details
Windows Power Management
Data Structure
typedef struct _SYSTEM_POWER_STATUS {
BYTE
ACLineStatus;
BYTE
BatteryFlag;
BYTE
BatteryLifePercent;
BYTE
Reserved1;
DWORD
BatteryLifeTime;
DWORD
BatteryFullLifeTime;
}SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
Accessing Power Information
GetSystemPowerStatus //returns data structure
WM_POWERBROADCAST
//broadcasts state change
Coding to Suspend CPU Activity for Waiting
– Avoid spin wait loops
– Use WaitMessage() instead of PeekMessage()
© 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
© 2003 Intel Corporation
*Third party brands and names are the properties of their respective owners