Title: How to Incorporate Mobility into Oracle Based Solutions
1(No Transcript)
2How to Incorporate Mobility into Oracle Based
Solutions
Karen Mazurkiewicz Technical Marketing
Engineer Intel Corporation Software and
Solutions Group
3Abstract
- 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!
4Agenda
- Trends Towards Mobile Computing
- Occasionally Connected Computing
- Technology Enabling Mobility
- Implications for Software Design
- Conclusion
5The Drive for Mobile Computing
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.
- Mobile Users Want
- Seamless connectivity
- Graceful handling of connection changes
- Networked applications with offline mode
- Longer Battery Life
- High Performance
6Traditional Apps in a Wireless World
Mobility Trends
People discard technology that DOES NOT meet
their needs
7The Mobility Inflection Point
Mobility Trends
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
8Overcoming Application Limitations
OCC Architecture
- 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
9OCC Architecture
Occasionally Connected Computing
Increased User Productivity
Transparent User Experience
Increased efficiency and utilization
Consistent User Experience
Benefits
Access Your Data Anytime
Dynamically manage intermittent connections
Run All Day Unwired
Common technologies/ mechanisms
Features
Power and Performance Management
Offline Data Management
Seamless Connectivity
Multiple Platform Support
Capabilities
OCC enables applications to overcome mobility
challenges
10Breakthrough Mobile Performance
Enabling Technology
- 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
11Intel Technology Designed Specifically for
Mobility
Enabling Technology
- 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
12Intel 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
13Oracle Leadership in Enabling Mobility
Enabling Technology
Worldwide Middleware Forecast and Analysis
2002-2006. Drake, Stephen D., IDC.
14Oracle Products Enabling Mobility
Enabling Technology
- 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/datash
eet.pdf
15Oracle 9i Lite Enabling OCC
Enabling Technology
- 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
16Oracle9i Lite Mobile Development
Enabling Technology
- Use standard development tools
- Packaging Wizard
- Publish Application to Mobile Server
- Mobile Server Control Center
- Provision Users
17Take Advantage of Todays Technology
Enabling 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
18Overcoming Application Limitations
Software Design
- 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
19Software Design
Occasionally Connected Computing
Increased User Productivity
Transparent User Experience
Increased efficiency and utilization
Consistent User Experience
Benefits
Access Your Data Anytime
Dynamically manage intermittent connections
Run All Day Unwired
Common technologies/ mechanisms
Features
Power and Performance Management
Offline Data Management
Seamless Connectivity
Multiple Platform Support
Capabilities
User Productivity Independent of Connection State
20Oracle9i Lite Offline Data Management
Software Design
- 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
21Oracle9i Lite Offline Data Management
Software Design
Transport
HTML
HTTP
Internet
Wireless Network
LAN
Web-to-go allows users to switch between online
and offline modes
Offline
Online
Laptop Client
Mobile Client for Web-to-Go (Oracle 9i
Lite) 10MB HD, 12MB RAM
Oracle Lite DB (Oracle 9i Lite)
Browser
Mobile Sync
JDBC
Mobile Server (Oracle 9i Lite)
ODBC
Repository
Mobile SQL
Data
Apps
JVM
Windows 95/98/NT/2000/XP
22Software Design
Occasionally Connected Computing
Increased User Productivity
Transparent User Experience
Increased efficiency and utilization
Consistent User Experience
Benefits
Access Your Data Anytime
Dynamically manage intermittent connections
Run All Day Unwired
Common technologies/ mechanisms
Features
Power and Performance Management
Offline Data Management
Seamless Connectivity
Multiple Platform Support
Capabilities
Seamless Adaptation to User Connection State
23Application Connectivity
Software Design
- 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
24Software Design
Occasionally Connected Computing
Increased User Productivity
Transparent User Experience
Increased efficiency and utilization
Consistent User Experience
Benefits
Access Your Data Anytime
Dynamically manage intermittent connections
Run All Day Unwired
Common technologies/ mechanisms
Features
Power and Performance Management
Offline Data Management
Seamless Connectivity
Multiple Platform Support
Capabilities
Seamless Adaptation to Characteristics of User
Platform
25Multiple Platform Support
Software Design
- 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
26Software Design
Occasionally Connected Computing
Increased User Productivity
Transparent User Experience
Increased efficiency and utilization
Consistent User Experience
Benefits
Access Your Data Anytime
Dynamically manage intermittent connections
Run All Day Unwired
Common technologies/ mechanisms
Features
Power and Performance Management
Offline Data Management
Seamless Connectivity
Multiple Platform Support
Capabilities
Maximization of Performance and Battery Life
27Power Reduction and Performance
Software Design
- 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!
28Impact for Database Applications
Software Design
- 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
29Conclusion
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
30Next Steps
Conclusion
- 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
31Backup
32Software 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.
User Experience
- 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
ApplicationArchitecture
- 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
SW Platform Features
33Seamless Connectivity
Software Design Details
- NetConnection.h for CNetConnection class
CNetConnection(void) //class constructor //mbI
nitialized 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
34Multiple Platform Support
Software Design Details
- Dynamic content scaling
- Device capabilities
- Application Provisioning per device
- CPUID
- Screen size
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
35Windows Power Management
Software Design Details
- 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 BYT
E BatteryLifePercent BYTE Reserved1 DWORD
BatteryLifeTime DWORD BatteryFullLifeTime S
YSTEM_POWER_STATUS,LPSYSTEM_POWER_STATUS
GetSystemPowerStatus //returns data
structure WM_POWERBROADCAST //broadcasts state
change
36Information Sources
37Intel 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
38Intel 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/apmm_wp.pdf - Whitepapers at developer.intel.com found by
searching on author - Intel Centrino Mobile Technology Unveiled,
Andrew Binstock - Occasionally Connected Computing The
Developers New Challenge, Andrew Binstock - Intel Developer Services - The Occasionally
Connected Computing (OCC) Model, Dan Fineberg
39Intel 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
40Intel Developer Services Offerings
- OracleTest Drive Offerings
- Oracle9i RAC (Real Application Clusters)
- Featuring Dell Power Edge Servers
- Oracle9iAS with Oracle 9i Database Backend on
Intel Itanium2 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
41Other 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