Stefan Frena

Werbung
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
Herunterladen