© 2003 Intel Corporation *Third party brands and names are ...

742 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

© 2003 Intel Corporation *Third party brands and names are ...

  1. 2. How to Incorporate Mobility into Oracle Based Solutions Karen Mazurkiewicz Technical Marketing Engineer Intel Corporation Software and Solutions Group
  2. 3. Abstract <ul><li>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! </li></ul>
  3. 4. Agenda <ul><li>Trends Towards Mobile Computing </li></ul><ul><li>Occasionally Connected Computing </li></ul><ul><li>Technology Enabling Mobility </li></ul><ul><li>Implications for Software Design </li></ul><ul><li>Conclusion </li></ul>
  4. 5. The Drive for Mobile Computing <ul><li>Mobile Users Want: </li></ul><ul><ul><li>Seamless connectivity </li></ul></ul><ul><ul><ul><li>Graceful handling of connection changes </li></ul></ul></ul><ul><ul><ul><li>Networked applications with “offline” mode </li></ul></ul></ul><ul><ul><li>Longer Battery Life </li></ul></ul><ul><ul><li>High Performance </li></ul></ul>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.
  5. 6. Traditional Apps in a Wireless World People discard technology that DOES NOT meet their needs Mobility Trends
  6. 7. The Mobility Inflection Point <ul><li>Opportunity to “Mobilize” Applications </li></ul><ul><li>Develop an Occasionally Connected SW Architecture </li></ul><ul><li>Develop to Standards for the Robustness IT Requires </li></ul>Volume Mobile Platforms Laptops, Handhelds, Phones Wireless Roaming Stressing Traditional Applications Resets, Reboots, Service Disruptions, Refreshes, etc. + = Mobility Trends
  7. 8. Overcoming Application Limitations <ul><li>Offline Data Management </li></ul><ul><ul><li>Data caching and Synchronization </li></ul></ul><ul><ul><li>Security Protection </li></ul></ul><ul><ul><li>Manageability </li></ul></ul><ul><li>Seamless Application Connectivity </li></ul><ul><ul><li>Detect changes in network state & take action </li></ul></ul><ul><li>Multiple Platform Support </li></ul><ul><ul><li>Identification of Platform Attributes </li></ul></ul><ul><li>Power Reduction and Performance Management </li></ul>OCC Architecture
  8. 9. 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
  9. 10. Breakthrough Mobile Performance <ul><li>Enables Extended Battery Life </li></ul><ul><ul><li>Intelligent power distribution </li></ul></ul><ul><ul><li>New SpeedStep ® power-optimized logic design </li></ul></ul><ul><li>Integrated WLAN capability </li></ul><ul><ul><li>Wi-Fi Compliant </li></ul></ul><ul><li>Innovative Form Factors </li></ul><ul><ul><li>Smaller components </li></ul></ul><ul><ul><li>Minimized thermal power </li></ul></ul><ul><li>High Performance </li></ul>Enabling Technology
  10. 11. Intel ® Technology Designed Specifically for Mobility <ul><li>Intel® Centrino™ Mobile Technology: </li></ul><ul><ul><li>Intel® Pentium® M processor </li></ul></ul><ul><ul><ul><li>32K L1 code and data cache, 1MB Unified Cache </li></ul></ul></ul><ul><ul><ul><li>Data Prefetch </li></ul></ul></ul><ul><ul><ul><li>Advanced Branch Prediction </li></ul></ul></ul><ul><ul><ul><li>400 MHz Processor System Bus </li></ul></ul></ul><ul><ul><li>855 chipset </li></ul></ul><ul><ul><ul><li>Supports up to 2GB 266/200 DDR </li></ul></ul></ul><ul><ul><ul><li>USB 2.0 Support </li></ul></ul></ul><ul><ul><ul><li>Optional Integrated Graphics </li></ul></ul></ul><ul><ul><li>Integrated Wireless Pro 802.11b WLAN </li></ul></ul><ul><ul><ul><li>Power Management Features </li></ul></ul></ul>Enabling Technology
  11. 12. Intel ® Technology Designed Specifically for Hand Held Devices <ul><li>Intel ® XScale Technology </li></ul><ul><ul><li>Fully Integrated Cellular and Application Processor </li></ul></ul><ul><ul><li>High-performance/Low-power Intel XScale Core </li></ul></ul><ul><ul><li>Low-Power Intel Micro Signal Architecture </li></ul></ul><ul><li>Key Applications </li></ul><ul><ul><li>Data-enabled Cellular phones </li></ul></ul><ul><ul><li>Smartphones </li></ul></ul><ul><ul><li>Wireless Communicators </li></ul></ul><ul><ul><li>WPDAs </li></ul></ul><ul><li>Intel® P ersonal Internet C lient A rchitecture </li></ul><ul><ul><li>Promotes Rapid Development and Deployment </li></ul></ul><ul><ul><li>Cross Architecture Java* Support </li></ul></ul>
  12. 13. Oracle Leadership in Enabling Mobility Worldwide Middleware Forecast and Analysis: 2002-2006 . Drake, Stephen D., IDC. Enabling Technology
  13. 14. Oracle Products Enabling Mobility <ul><li>Oracle9i* Lite </li></ul><ul><ul><li>Introduced 1995 </li></ul></ul><ul><ul><li>Client Side Component of Oracle9iAS* </li></ul></ul><ul><ul><li>Allows Offline Business Functionality </li></ul></ul><ul><ul><ul><li>Data Synch With Mobile Server </li></ul></ul></ul><ul><ul><li>http://otn.oracle.com/products/lite/htdocs/o9ilite_datasheet.htm </li></ul></ul><ul><li>Oracle9iAS* Wireless </li></ul><ul><ul><li>Introduced 1999 </li></ul></ul><ul><ul><li>Component of Oracle9iAS* </li></ul></ul><ul><ul><ul><li>Universal Access to content and applications </li></ul></ul></ul><ul><ul><ul><li>Normalizes underlying technology to one protocol / language – HTTP/XML </li></ul></ul></ul><ul><ul><li>http:// otn.oracle.com/products/iaswe/htdocs/datasheet.pdf </li></ul></ul>Enabling Technology
  14. 15. Oracle 9i Lite* Enabling OCC <ul><li>Oracle9i Lite* RDBMS </li></ul><ul><ul><li>Offline processing with local data storage </li></ul></ul><ul><ul><li>Synchronization upon establishing connectivity </li></ul></ul><ul><li>Mobile Server </li></ul><ul><ul><li>Centralized provisioning of software components </li></ul></ul><ul><ul><li>Synchronization Logic and Service </li></ul></ul><ul><ul><li>User/Device/Application Data Management </li></ul></ul><ul><li>Mobile Development Kit </li></ul><ul><ul><li>Tools, APIs, and Sample Code </li></ul></ul><ul><ul><li>Packaging Wizard </li></ul></ul><ul><ul><ul><li>Packages Mobile Components into EXE </li></ul></ul></ul>Enabling Technology
  15. 16. Oracle9i Lite* Mobile Development <ul><li>Use standard development tools </li></ul><ul><li>Packaging Wizard </li></ul><ul><ul><li>Publish Application to Mobile Server </li></ul></ul><ul><li>Mobile Server Control Center </li></ul><ul><ul><li>Provision Users </li></ul></ul>Enabling Technology
  16. 17. Take Advantage of Today’s Technology <ul><li>Users Want Applications that: </li></ul><ul><ul><li>Increase Productivity </li></ul></ul><ul><ul><li>Can be Used Anywhere </li></ul></ul><ul><li>Intel ® and Oracle are working together to provide the best complete solution </li></ul><ul><ul><li>Early introduction of enabling products </li></ul></ul><ul><ul><li>Development Tools </li></ul></ul><ul><ul><ul><li>Ease of Deployment/Write to all architecture </li></ul></ul></ul><ul><ul><ul><li>High Performance </li></ul></ul></ul><ul><ul><li>Working together to create the best solutions </li></ul></ul>Enabling Technology
  17. 18. Overcoming Application Limitations <ul><li>Offline Data Management </li></ul><ul><ul><li>Data caching and Synchronization </li></ul></ul><ul><ul><li>Security Protection </li></ul></ul><ul><ul><li>Manageability </li></ul></ul><ul><li>Seamless Application Connectivity </li></ul><ul><ul><li>Detect changes in network state & take action </li></ul></ul><ul><li>Multiple Platform Support </li></ul><ul><ul><li>Identification of Platform Attributes </li></ul></ul><ul><li>Power Reduction and Performance Management </li></ul>Software Design
  18. 19. 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
  19. 20. Oracle9i Lite* Offline Data Management <ul><li>Oracle9i Lite* </li></ul><ul><ul><li>Windows* 98/NT/XP/CE, Palm*, EPOC* </li></ul></ul><ul><ul><li>Light Memory Footprint </li></ul></ul><ul><ul><li>Offline processing with local data storage </li></ul></ul><ul><ul><li>Synchronization occurs upon establishing connectivity </li></ul></ul><ul><li>Web-to-Go </li></ul><ul><ul><li>Lightweight web listener </li></ul></ul><ul><ul><li>Java* based servlet engine </li></ul></ul><ul><ul><li>OTL* interpreter </li></ul></ul>Software Design
  20. 21. 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
  21. 22. 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
  22. 23. Application Connectivity <ul><li>Application Connectivity Assumptions Becoming Invalid </li></ul><ul><li>New OCC Architecture Introduces New Needs: </li></ul><ul><ul><li>Managing Unreliable Connections </li></ul></ul><ul><ul><li>Scaling Data Richness </li></ul></ul><ul><ul><li>Robust Error Handling </li></ul></ul><ul><ul><li>Compressed Data Transfers </li></ul></ul><ul><ul><li>Maintaining Responsiveness </li></ul></ul><ul><li>Assure Data Integrity With Temporal Connectivity </li></ul>Software Design
  23. 24. 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
  24. 25. Multiple Platform Support <ul><li>Similar User Interface for All Platforms </li></ul><ul><li>Content scaling for Device capabilities </li></ul><ul><ul><li>Application Provisioning per device </li></ul></ul><ul><ul><li>Dynamically obtain CPU Information </li></ul></ul><ul><li>Attributes Include: </li></ul><ul><ul><li>System CPU </li></ul></ul><ul><ul><li>System Memory </li></ul></ul><ul><ul><li>Screen Size and Graphics Capabilities </li></ul></ul><ul><li>Supported Data Feature Set May Vary Depending on Platform Characteristics </li></ul>Software Design
  25. 26. 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
  26. 27. Power Reduction and Performance <ul><li>Increase CPU Idle Time </li></ul><ul><ul><li>Reduce Quality/Performance of Features </li></ul></ul><ul><ul><li>Turn off or Queue Background Activities </li></ul></ul><ul><ul><li>A Combination of Both </li></ul></ul><ul><li>User Interface for User Adjustments </li></ul><ul><li>Sleep/Wake Power Transitions </li></ul><ul><li>Efficient Synchronization </li></ul><ul><li>Minimize Drive Accesses </li></ul>Software Design Intel® VTune™ Performance Analyzer 7.0 Can Help Identify Performance Bottlenecks!
  27. 28. Impact for Database Applications <ul><li>Intelligent Use of System Power Information </li></ul><ul><ul><li>Smart handling of Sleep transitions </li></ul></ul><ul><ul><li>Data Commit at Low Power Threshold </li></ul></ul><ul><li>Scalable Data Synchronizations </li></ul><ul><ul><li>User configurable parameters </li></ul></ul><ul><ul><li>Battery Power Source </li></ul></ul><ul><li>UI Functionality Adjustments </li></ul><ul><ul><li>User configurable parameters </li></ul></ul><ul><ul><li>Low Battery Scenarios </li></ul></ul>Software Design
  28. 29. Conclusion <ul><li>Large Mobile Computing Base Today </li></ul><ul><li>Ever Increasing Connectivity </li></ul><ul><li>Legacy Applications Cannot Provide Adequate User Experience </li></ul>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
  29. 30. Next Steps <ul><li>Join Intel ® Developers Services today! </li></ul><ul><ul><li>Sign up at our booth </li></ul></ul><ul><ul><li>Sign up at www.intel.com /ids/ </li></ul></ul><ul><li>Join Intel ® and Oracle in Pioneering User Friendly Mobile Applications </li></ul>Conclusion
  30. 31. Backup
  31. 32. Software Architecture & Technology “Guiding principles” <ul><li>Make the application network protocol independent (TCP/IP or Other) </li></ul><ul><li>Use open industry standard transport protocols (HTTP, HTTPS, FTPS, etc) </li></ul><ul><li>Use XML (at least), SOAP/WSDL (better) to exchange data & state/events </li></ul><ul><li>Use standard security mechanisms (SSL, client/server X.509 certificates, VPN, etc) </li></ul><ul><li>Use platform OS event policies & QoS capabilities for connectivity </li></ul><ul><li>Recognize & utilize device characteristics and capabilities </li></ul><ul><li>Make mobility an integral aspect of the application design </li></ul><ul><li>Assume & embrace asynchronous interactions & intermittent connectivity (Adopt a Service Oriented Architecture at the business layer; client and server) </li></ul><ul><li>Use data synchronization models for small, easily partitioned data sets and a business synchronization logic for complex data sets </li></ul><ul><li>Separate application logic from synchronization logic (Online/Offline transparency handled by a OCC proxy) </li></ul><ul><li>Architect for optimal use of resources (e.g. Power Management) </li></ul><ul><li>Address multi-master and multi-device synchronization </li></ul><ul><li>Provide a consistent and logical user view of data and state based on latest data, pending work, and potential conflicts. </li></ul><ul><li>Move from user initiated synch to a connectivity availability synch model </li></ul><ul><li>Provide a common interface to all user devices, scale functionality </li></ul><ul><li>Allow the user to modify app and system policies relating to consistency, synchronization, power mgmt, conflict resolution, etc. </li></ul>SW Platform Features Application Architecture User Experience
  32. 33. Seamless Connectivity <ul><li>NetConnection.h for CNetConnection class </li></ul>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
  33. 34. Multiple Platform Support <ul><li>Dynamic content scaling </li></ul><ul><ul><li>Device capabilities </li></ul></ul><ul><ul><ul><li>Application Provisioning per device </li></ul></ul></ul><ul><ul><ul><li>CPUID </li></ul></ul></ul><ul><ul><ul><li>Screen size </li></ul></ul></ul>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;
  34. 35. Windows Power Management <ul><li>Data Structure </li></ul><ul><li>Accessing Power Information </li></ul><ul><li>Coding to Suspend CPU Activity for Waiting </li></ul><ul><ul><li>Avoid spin wait loops </li></ul></ul><ul><ul><li>Use WaitMessage() instead of PeekMessage() </li></ul></ul>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 <ul><ul><li>GetSystemPowerStatus //returns data structure </li></ul></ul><ul><ul><li>WM_POWERBROADCAST //broadcasts state change </li></ul></ul>
  35. 36. Information Sources
  36. 37. Intel Development Tools <ul><li>Intel ® C/C++ Compiler </li></ul><ul><ul><li>Auto-Vectorizer </li></ul></ul><ul><li>Intel ® Integrated Performance Primitives </li></ul><ul><ul><li>Image/video/audio processing, small matrix operations and more </li></ul></ul><ul><li>Intel ® VTune™ Performance Analyzer 7.0 </li></ul><ul><ul><li>Non-intrusive Sampling, enhanced Call Graph, and Counter Monitor </li></ul></ul><ul><li>Communication Tools </li></ul><ul><ul><li>Network Detection Tool </li></ul></ul><ul><ul><ul><li>Sample code with usable library to check network on/off status from within apps. Available on the Intel Developer Services Web site </li></ul></ul></ul>
  37. 38. Intel White Papers <ul><li>2003 Intel ® Mobile Platform Vision </li></ul><ul><li>http:// developer.intel.com/design/mobile/platform/index.htm </li></ul><ul><li>Applications Power Management for Mobility </li></ul><ul><li>http://developer.intel.com/design/mobile/platform/downloads/apmm_wp.pdf </li></ul><ul><li>Whitepapers at developer.intel.com found by searching on author: </li></ul><ul><ul><li>Intel ® Centrino ™ Mobile Technology Unveiled, Andrew Binstock </li></ul></ul><ul><ul><li>Occasionally Connected Computing: The Developer’s New Challenge, Andrew Binstock </li></ul></ul><ul><ul><li>Intel® Developer Services - The Occasionally Connected Computing (OCC) Model, Dan Fineberg  </li></ul></ul>
  38. 39. Intel ® White Papers (continued) <ul><ul><li>Network Status Detection, Majd Naciri </li></ul></ul><ul><ul><li>Mobile Platforms Need Power-Conserving Applications, Eric L. Palmer </li></ul></ul><ul><ul><li>Revolution in our Hands: Mobility Matters-- Application Design for a Wireless World, Chris Thomas </li></ul></ul><ul><ul><li>From Here to There: Software Architecture for Mobile Computing, Chris Thomas </li></ul></ul><ul><ul><li>Programming for Tablet PCs and Mobile Computers , Andy Wigley </li></ul></ul><ul><ul><li>Writing Code to Reveal the Performance Details of Mobile Processors, Richard Winterton </li></ul></ul><ul><ul><li>Optimizing for Mobility, Alan Zeichick </li></ul></ul>
  39. 40. Intel ® Developer Services Offerings <ul><li>OracleTest Drive Offerings </li></ul><ul><ul><li>Oracle9i RAC* (Real Application Clusters) </li></ul></ul><ul><ul><ul><li>Featuring Dell Power Edge* Servers </li></ul></ul></ul><ul><ul><li>Oracle9iAS* with Oracle 9i* Database Backend on Intel ® Itanium ® 2 Processor-based Server </li></ul></ul><ul><ul><ul><li>Featuring Servers by Rackable Systems </li></ul></ul></ul><ul><ul><ul><li>Launched Soon </li></ul></ul></ul><ul><ul><li>www.intel.com /ids/oracle </li></ul></ul><ul><li>Intel ® Early Access Plan </li></ul><ul><ul><li>www.intel.com/ids/eap </li></ul></ul><ul><li>Intel ® Mobile Computing </li></ul><ul><ul><li>www.intel.com /design/mobile </li></ul></ul>
  40. 41. Other Resources <ul><li>IDC Reports Available at: www.idc.com </li></ul><ul><ul><li>Worldwide Mobile Middleware Forecast and Analysis, 2002 – 2006, Stephen D. Drake </li></ul></ul><ul><ul><li>Mobilizing the Consumer, Randy Giusto </li></ul></ul><ul><li>Oracle Tutorials and Whitepapers available at otn.oracle.com : </li></ul><ul><ul><li>Oracle9i Lite*: An Oracle Business Whitepaper </li></ul></ul><ul><ul><li>Oracle9i Lite*: A Technical Whitepaper </li></ul></ul><ul><ul><li>Oracle9i Lite* Tutorial </li></ul></ul><ul><ul><li>otn.oracle.com/products/lite/content.html </li></ul></ul>

×