410 likes | 990 Views
How to Incorporate Mobility into Oracle Based Solutions. Karen Mazurkiewicz Technical Marketing Engineer Intel Corporation Software and Solutions Group. Abstract.
E N D
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!
Agenda • Trends Towards Mobile Computing • Occasionally Connected Computing • Technology Enabling Mobility • Implications for Software Design • Conclusion
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
Mobility Trends Traditional Apps in a Wireless World People discard technology that DOES NOT meet their needs
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
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
OCC Architecture Occasionally Connected Computing Increased User Productivity Transparent User Experience Consistent User Experience Increased efficiency and utilization Benefits Access Your Data Anytime Dynamically manage intermittent connections Common technologies/ mechanisms Run All Day Unwired Features Power and Performance Management Offline Data Management Seamless Connectivity Multiple Platform Support Capabilities OCC enables applications to overcome mobility challenges
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
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
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
Enabling Technology Oracle Leadership in Enabling Mobility Worldwide Middleware Forecast and Analysis: 2002-2006. Drake, Stephen D., IDC.
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
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
Enabling Technology Oracle9i Lite* Mobile Development • Use standard development tools • Packaging Wizard • Publish Application to Mobile Server • Mobile Server Control Center • Provision Users
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
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
Software Design Occasionally Connected Computing Increased User Productivity Transparent User Experience Consistent User Experience Increased efficiency and utilization Benefits Access Your Data Anytime Dynamically manage intermittent connections Common technologies/ mechanisms Run All Day Unwired Features Power and Performance Management Offline Data Management Seamless Connectivity Multiple Platform Support Capabilities User Productivity Independent of Connection State
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
Software Design Oracle9i Lite* Offline Data Management Transport HTML HTTP Internet Wireless Network LAN Web-to-go allows users to switch between online and offline modes Online Offline 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 Apps Data JVM Windows* 95/98/NT/2000/XP
Software Design Occasionally Connected Computing Increased User Productivity Transparent User Experience Consistent User Experience Increased efficiency and utilization Benefits Access Your Data Anytime Dynamically manage intermittent connections Common technologies/ mechanisms Run All Day Unwired Features Power and Performance Management Offline Data Management Seamless Connectivity Multiple Platform Support Capabilities Seamless Adaptation to User Connection State
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
Software Design Occasionally Connected Computing Increased User Productivity Transparent User Experience Consistent User Experience Increased efficiency and utilization Benefits Access Your Data Anytime Dynamically manage intermittent connections Common technologies/ mechanisms Run All Day Unwired Features Power and Performance Management Offline Data Management Seamless Connectivity Multiple Platform Support Capabilities Seamless Adaptation to Characteristics of User Platform
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
Software Design Occasionally Connected Computing Increased User Productivity Transparent User Experience Consistent User Experience Increased efficiency and utilization Benefits Access Your Data Anytime Dynamically manage intermittent connections Common technologies/ mechanisms Run All Day Unwired Features Power and Performance Management Offline Data Management Seamless Connectivity Multiple Platform Support Capabilities Maximization of Performance and Battery Life
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!
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
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
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
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. 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
Software Design Details Seamless Connectivity 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 NetConnection.h for CNetConnection class
Software Design Details Multiple Platform Support • 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;
Software Design Details Windows Power Management typedef struct _SYSTEM_POWER_STATUS { BYTE ACLineStatus; BYTE BatteryFlag; BYTE BatteryLifePercent; BYTE Reserved1; DWORD BatteryLifeTime; DWORD BatteryFullLifeTime; }SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; • Data Structure • Accessing Power Information • Coding to Suspend CPU Activity for Waiting • Avoid spin wait loops • Use WaitMessage() instead of PeekMessage() • GetSystemPowerStatus //returns data structure • WM_POWERBROADCAST //broadcasts state change
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
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/apmm_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
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
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
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