Upload
corneille-langlois
View
105
Download
0
Embed Size (px)
Citation preview
AgendaAgenda
Patterns & Practices pour Mobile ClientRéférence & outils…
Patterns & Practices pour Mobile ClientRéférence & outils…
Mobile App Development Challenges
Mobile App Development Challenges
Utilisation “fine” des ressources limitées
Utilisation “fine” des ressources limitées
Experience utilisateur riche
Securité des données d’entreprise
Déploiement et management centralisé
Travail On et Off line
Integration avec les back-ends existants
Partage d’architecture avec les systèmes existants Bonne pratique de
dev
Mobile Solution ArchitectureMobile Solution Architecture
Existing Systems
Web Services
Databases
Legacy
..others..
Mobile GatewayAddressable
Web services
Staging of data
Management Policy
Mobile ClientUI & Business Logic
Offline cache & queues
Security & management
Composable shellGPRSGPRS
EDGEEDGE
802.11802.11
CradleCradle
GPRSGPRS
EDGEEDGE
802.11802.11
CradleCradle
Web Web ServicesServices
BizTalkBizTalk
HISHIS
ETLETL
Web Web ServicesServices
BizTalkBizTalk
HISHIS
ETLETL
Connectiv
ityC
onnectiv
ity
Secu
ritySecu
rity
Web Web Services Services
SQL SQL ReplicationReplication
Web Web Services Services
SQL SQL ReplicationReplication
Policy Admin ConsolePolicy Admin ConsolePolicy Admin ConsolePolicy Admin Console
Web Services & Web Services & DataData
Web Services & Web Services & DataData
Managem
ent
Managem
ent
User User ExperienceExperience
User User ExperienceExperience
Business LogicBusiness LogicBusiness LogicBusiness Logic
Data & Web Data & Web SvcSvc
Data & Web Data & Web SvcSvc
Windows Mobile 5.0Windows Mobile 5.0
Compact Framework Compact Framework 2.02.0
Windows Mobile 5.0Windows Mobile 5.0
Compact Framework Compact Framework 2.02.0
Mobile Client Software FactoryMobile Client Software Factory
Q: Qu’est ce que le “Software Factory”?R: Des règles et bonnes pratiques…
Implementation de référence (RI)
Design patterns
Application blocks
“Guidance packages” intégré à VS2005
Q: Qu’est ce que le “Software Factory”?R: Des règles et bonnes pratiques…
Implementation de référence (RI)
Design patterns
Application blocks
“Guidance packages” intégré à VS2005
http://practices.gotdotnet.com/projects/mobile
Mobile Client Software FactoryImplementation de référence:
AdventureWorks2Go
Mobile Client Software FactoryImplementation de référence:
AdventureWorks2Go
p&p2Gop&p2Go
Settings
CustomersCreate Order
About
p&p2Gop&p2Go
Customer Orders
Details
Enter name or id...
Details
Call Customer (pri 2)
Create Order
p&p2Gop&p2Go
ActionsCreate Order
Mr Customer Foo
Summary
NamePhoneAddress
p&p2Gop&p2Go
* Support Request* Mr Foo Likes Goo
Read TextRead More Text
p&p2Gop&p2Go
Map
General
Contacts
Order Summary
p&p2Gop&p2Go
Actions
Create Order
p&p2Gop&p2Go
Create Order
Mr. CustomerItem #
Total $ 300.44
Delivery To:
Menu
Unsubmitted Orders
Next
p&p2Gop&p2Go
Enter product name or id...Product
Qty..
Catalog Last Updated 3/17 12:33
DetailsDetails
Description
Price
General
Reviews
Filter By Category...
Close
Summary Image
PendingPending
Customer
Menu
Open Order
Close
Created OnID
Open
Blaah?
p&p2Gop&p2Go
Customer Orders
Next
Enter name or id...
Submit All
Submit
Cancel
See details Remove Item
View Customer DetailsCustomerList
MainShell
CustCust
Maps
Orders
Orders
View Pending Orders
Create Order
See Product DetailsOrders
Home
Menu
Create Order Menu
Refresh
Create Order
Call Customer
Customers
OK
Mr Customer Foo
Notes
Mr Customer Foo Mr Customer Foo
Select Customer
Edward Jezierski425 882 8080
Synch all Data
Step 3 of 5Back NextStep 1 of 5Cancel Next
No OK
Refresh data
Menu
Cancel Order
Summary for Order #12332
Save For Later
Add Product to #1234
Step 2 of 5Back Next
5
Next Menu
Create OrderCreate Order
Mr. Customer
Total $ 300.44
Delivery To:
MenuSubmit
Step 4 of 5Back Next
Sign for Order #12332
Sign Here
Home
Catalog Last Updated 3/17 12:33
ok
ok ok ok ok
Reference ImplementationAdventureWorks2Go
Reference ImplementationAdventureWorks2Go
patterns and practices patterns and practices
Connectivity
User Experience
Business Logic
Data and Web Svc
Managing Connection
Physical Addresses
Occasionally Connected Web Services
Data Synchronization
Managing Subscriptions
Security
Web Service Credentials
Authorization
Business Logic
Queues
Management
Deployment
Logging
User Experience
WinForms CAB Extensions for Mobile
Views
Presenters
Business Entities
Business Logic Controllers
Business Workflows
CAB
Configuration
ReplicationReplication Web Services CallsWeb Services Calls
Mobile Device
Gateway
Staging DBStaging DBBusiness DataConfiguration DataDeployment DataWeb Web
ServicesServicesBusiness TransactionsLogging
Admin ConsoleAdmin Console
VS.NET
Mobile Designer Form FactorDot Density (DPI)Orientation
Mobile Client Software FactoryLes Application blocks
Mobile Client Software FactoryLes Application blocks
Mobile CompositeUI & ObjectBuilder App Block*Data Subscription BlockConnection Management Block Disconnected Service Agent Block* DynamicResolution Control*
Autres blocksDataAccess, Configuration, Endpoint Catalogue
Pin Authentification, Logging, Deployment manager,
BackgroundService Scheduler
Mobile CompositeUI & ObjectBuilder App Block*Data Subscription BlockConnection Management Block Disconnected Service Agent Block* DynamicResolution Control*
Autres blocksDataAccess, Configuration, Endpoint Catalogue
Pin Authentification, Logging, Deployment manager,
BackgroundService Scheduler
WorkItemWorkItem
Module LoadingModule Loading
StateState
Mobile Client Software FactoryComposite UI – A patterns view
Mobile Client Software FactoryComposite UI – A patterns view
ViewView
ControllerController
ModelModel
ViewView
PresenterPresenter
ModelModel
MVCMVCMVCMVC
MVPMVPMVPMVP
BlackboarBlackboardd
BlackboarBlackboardd
EnumeratorEnumerator LoaderLoader
Core ServicesCore Services
CryptoCrypto
Event BrokerEvent Broker
State PersistenceState Persistence
CAB ApplicationCAB Application
AuthNAuthN
ExtensionExtension
Shell ServicesShell Services
ActivationActivation
WorkspacesWorkspaces
UI Extension SitesUI Extension Sites
CommandsCommands
SPInfoSPInfo
InstrumInstrumLifetime Lifetime ContaineContaine
rr
Lifetime Lifetime ContaineContaine
rr Service Service LocatorLocator
Service Service LocatorLocator
ObjectBuilderObjectBuilderFactoryFactory
FactoryFactory BuilderBuilderBuilderBuilder
Injection Injection types 2..6 types 2..6
Injection Injection types 2..6 types 2..6
Strategy Strategy presenters presenters
for UIfor UI
Strategy Strategy presenters presenters
for UIfor UI
CommandCommandCommandCommand
Pub/SubPub/SubPub/SubPub/Sub
PluginsPluginsPluginsPlugins
WorkflowWorkflowUse Case Use Case ControlleControlle
rr
Use Case Use Case ControlleControlle
rr
Disconnected Service Agent Just starting out – current thoughts
Disconnected Service Agent Just starting out – current thoughts
Physical AddressesPhysical Addresses MyService.asmxMyService.asmxMyService.asmxMyService.asmx
MyServiceProxyMyServiceProxyMyServiceProxyMyServiceProxy
“Offline” flavor interface
One-way methods
Overloads with “Behavior”
Callbacks for results
AuthN credentialsAuthN credentials
Offline Service AgentOffline Service AgentOffline Service AgentOffline Service Agent
IMyServiceOffline
RequestRequest
BehaviorCallbacks“Stamps”Exceptionetc
BehaviorCallbacks“Stamps”Exceptionetc
ArgumentsValues for web service call
ArgumentsValues for web service call
Request QueueRequest Queue
Synch ManagerSynch Manager
Background, Events, APIBackground, Events, API DispatcherDispatcher
Generated CodeGenerated CodeGenerated CodeGenerated Code
Web ServiceWeb ServiceWeb ServiceWeb Service
App Block CodeApp Block Code
Optional SOAP Header for server idempotency
Request ID Request ID Server
Callbacks for Callbacks for ReturnsReturns
Callbacks for Callbacks for ReturnsReturns
Disconnected Service AgentDisconnected Service Agent
Prix et urgence des requêtesSi nb de timbres > prix, alors la requête est émise
Prix et urgence des requêtesSi nb de timbres > prix, alors la requête est émise
Disconnected Service Agent& Connection Manager
Disconnected Service Agent& Connection Manager
Mobile Client Software FactoryDynamicResolution Control
Mobile Client Software FactoryDynamicResolution Control
Permet une bonne adaptation des applications aux :
“Form Factor”
Orientation de l’écran
Localisation
Sous la forme d’un controle (usercontrol)Héritage via la référence
Permet une bonne adaptation des applications aux :
“Form Factor”
Orientation de l’écran
Localisation
Sous la forme d’un controle (usercontrol)Héritage via la référence
DynamicResolution ControlDynamicResolution Control
Ressources Ressources
http://msdn.microsoft.com/mobility/default.aspx
Site de référence pour les composants Mobile, CE…SP1 du CFEmulateurs et ImagesSDKsSecurity Configuration Manager
Mobile Power toysRemote display, CE copy, RAPI debug, cmd shell…
Nouvelle version d’Active Sync (4.1)Assistants de partenariat simplifiéTransfert de fichier (y compris media) rapidedSynchro des photos assignées aux contacts depuis Outlook
http://msdn.microsoft.com/mobility/default.aspx
Site de référence pour les composants Mobile, CE…SP1 du CFEmulateurs et ImagesSDKsSecurity Configuration Manager
Mobile Power toysRemote display, CE copy, RAPI debug, cmd shell…
Nouvelle version d’Active Sync (4.1)Assistants de partenariat simplifiéTransfert de fichier (y compris media) rapidedSynchro des photos assignées aux contacts depuis Outlook
Power ToyPower Toy