17

Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

Embed Size (px)

Citation preview

Page 1: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…
Page 2: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

AgendaAgenda

Patterns & Practices pour Mobile ClientRéférence & outils…

Patterns & Practices pour Mobile ClientRéférence & outils…

Page 3: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Ré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

Page 4: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 5: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 6: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

email

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

Page 7: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

Reference ImplementationAdventureWorks2Go

Reference ImplementationAdventureWorks2Go

Page 8: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 9: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 10: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 11: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 12: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 13: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

Disconnected Service Agent& Connection Manager

Disconnected Service Agent& Connection Manager

Page 14: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 15: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

DynamicResolution ControlDynamicResolution Control

Page 16: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

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

Page 17: Agenda Patterns & Practices pour Mobile Client Référence & outils… Patterns & Practices pour Mobile Client Référence & outils…

Power ToyPower Toy