Stefan Frena Stefan Frena Masterstudent Wirtschaftsinformatik HM München Masterarbeit bei Oracle zum Thema: “Anforderungen an die plattformneutrale Entwicklung mobiler Anwendungen unter Berücksichtigung geeigneter Entwicklungswerkzeuge“ [email protected] Einführung Mobile Browser Mobile Client Mobile Databases Einführung http://blog.hirthnet.de/img/iphone.jpg Einführung Anbieter müssen sich auf mehrere Systeme konzentrieren! Problemstellung • • • • • Visual Declarative Rapid Reuse Familiar Develop once, and deliver mobile optimized content to all devices. Mobile Browser Mobile Client Richness of User Interaction ADF Mobile Browser Delivers a rich mobile web experiences through AJAX and Web 2.0 technologies. UI rendering degrades gracefully to deliver HTML content to a wide set of consumer devices with basic HTML browsers. ADF Mobile Client Native (Full Java Clients) Make business data available regardless of network connectivity. Deep integration with device services AJAX HTML (HTML Mobile Browser) (Smartphone Mobile Browsers) Device Service Access & Offline Support Einführung Mobile Browser Mobile Client Mobile Databases ADF Mobile Browser • angepasstes Look&Feel der Web-Applikation im Browser des mobilen Geräts • nutzt die Fähgigkeiten des Browsers auf dem Gerät • praktisch auf jedem mobilen Gerät lauffähig • erfordert Online-Verbindung zum Application Server ADF Mobile Browser Skins: Browserweiche WebContent > WEB-INF > Trinidad-config.xml Trinidad-skins.xml Problemstellung ADF Mobile Browser Browser und mobile Geräte Desktop Metadata Services (MDS) ADF Swing Office JSP mobile Struts JSF ADF Faces JSF/ADF Task Flow ADF Bindings (JSR 227) Java EJB BAM BPEL XML Data Controller Model Web Services ADFbc BI Essbase Portlets Business Services TopLink Relational Data View Legacy Data Packaged Apps Data Services Einführung Mobile Browser Mobile Client Mobile Databases Ausdehnung von UnternehmensApplikationen auf mobile Clients Entwickelte Applikationen sind auf verschiedenen Plattformen lauffähig Tiefere Integration mit Funktionen des Gerätes wie z.B. Kontakten, Kalender, Barcode Scanner, GPS, etc. Connectivity Optionen: Online, Offline und Store-andForward Java-basierte Ablaufumgebung Komplette MVC-Implementierung auf dem Gerät UI-Metadaten werden als native Komponenten auf dem Gerät gerendert Java Client View Controller Model Local DB ADF Mobile Client ADF Mobile Client Architektur Mobile Server App Java deploy WMrt SQLite/BDB sync On-Device Clients Web-based Clients ADF Browser Clients ADF Mobile Client Web Services & Transaction Replay Service Local Data Access SQLite or Berkeley DB Application Server mSync Client Sync Automatically or on Demand (Complete, Delta, or Programmatic) Oracle Lite Mobile Server Database Einführung Mobile Browser Mobile Client Mobile Database ADF Mobile Client Architektur Mobile Server App Java deploy WMrt sync SQLite/BDB Client Mobile Server Oracle Database Server Database Lite product OC4J or WLS Device / Sync Client Users Application Mobile Server ODBC / JDBC SQLite BDB Database Lite product MGP = Message Generator Process Oracle Database Server ◦ Bi-directional Synchronization Oracle Database Lite supports upload and download of data during Synchronization. Synchronization can be customized to allow only upload. Synchronization can be customized to allow only download. ◦ Publish-Subscribe Model Developers can publish data subsets independent of their subscription by users ◦ Multi-platform Support Synchronization can be supported from multiple client platforms. Synchronization can be supported with Mobile Server running on multiple platforms. ◦ Selective Synchronization Full base table synchronization or subset of base tables ◦ Conflict/Error Detection and Resolution Database Lite provides built-in conflict resolution capabilities via the Server Wins/Client Wins rules. Conflict resolution can be further customized by customizing synchronization. Mobile Server administrator can further manage conflicts. ◦ Synchronization Styles Automatic Synchronization allows Database Lite to invoke synchronization in the background. Manual Synchronization allows user or application to control synchronization timing. ◦ Software Management and Distribution Database Lite synchronization supports software distribution and updates. EmpID Fname Lname … Salary Title 34890 Joe Brown … 45577 Analyst 84589 Jane Katz … 76543 Engineer … … … … … … 85830 Jake Rivers … 99048 Manager Data-subsetting parameter a.k.a. Bind variable a.k.a. Snapshot template variable Base Table Emp on DB Server Select EmpID, Fname, Lname, Title from Emp where EmpID > :ID; Snapshot Query/Publication Item Query EmpID Fname Lname Title 84589 Jane Katz Engineer … … … … 85830 Jake Rivers Manager Publication Item on Client (ID > 80000) Device Mgmt Remote Diagnostics ◦ Inspection of client hardware, operating system settings ◦ Inspection and modification of application configuration Command Execution ◦ Client database information retrieval and synchronization statistics ◦ Client database removal, application removal, application data removal Client Apply/Compose Network transfer/latency MGP Mobile Server Processing MGP Apply MGP Compose Total Response Time • Usually the performance of the client database is not an issue • The speed of the network is always a large element of the total response time, application design should ensure that client subscriptions are ‘fast refreshed’ when possible to minimize network requirements. • Mobile Server Processing – is a affected by the total number of concurrent users, (MAX_Concurrent parameter in webtogo.ora parameter file) and memory tuning of JVM. • MGP is usually the most resource intense process and the Compose Phase of MGP will constitute the larger part of total MGP time. This is affected by the Oracle Database instance and classic SQL tuning and instance tuning can make tremendous differences in the performance of MGP. Especially difficult issues involving elongated MGP time can best be diagnosed using the Consperf tool. Browser vs. Client • Oracle Application Development Framework (ADF) http://www.oracle.com/technology/products/adf • Oracle ADF mobile http://www.oracle.com/technetwork/developertools/adf/overview/adf-mobile-096323.html • Oracle Lite Mobile Server http://www.oracle.com/technetwork/database/databaselite/overview/index.html [email protected] 35