Sei sulla pagina 1di 33

SyncML

Apresentao
Introduo
Motivao Iniciativa SyncML

XML (eXtensible Markup Language) Protocolos SyncML Sincronizao em duas vias Concluses

Introduo
Necessidade de sincronizao Vrios protocolos no mercado
Nem todos os servidores de dados podem sincronizar com qualquer aparelho. Nem todo aparelho pode sincronizar com qualquer servidor de dados Inconvenientes para o usurio final

Introduo
Ericsson, IBM, Lotus, Motorola, Nokia, Palm Inc., Psion e Starfish Software
Iniciativa SyncML
Uma especificao de arquitetura Duas especificaes de protocolo Interface em uma linguagem de programao comum

Introduo
Protocolo de sincronizao
Conectar dados em um repositrio Atualizar dados Reconectar a rede Resolver Conflitos
Um protocolo de sincronizao de dados define fluxo de trabalho para comunicao durante uma sesso de sincronizao de dados em que o aparelho mvel est conectado rede.

Introduo
Benefcios de um protocolo de sincronizao comum
Usurio final Empresas que fabricam os aparelhos Desenvolvedores de Aplicaes

Introduo
Caractersticas de um protocolo de sincronizao comum
Operar efetivamente sobre rede fixa e rede mvel Suportar uma variedade de protocolos de transporte Suportar uma variedade de base de dados. Habilitar acessa de dados de uma variedade de aplicaes

Introduo
Ser compatvel com as limitaes de recursos de aparelhos mveis Ser construdo sob uma tecnologia de internet e web existentes.

eXtensible Markup Language


XML uma meta linguagem de marcao Fornece um formato padro para a descrio de dados estruturados. Vantagens
Declaraes mais precisas quanto ao contedo Resultados mais significativos para consultas em diferentes plataformas.

eXtensible Markup Language


A especificao XML descreve um dialeto SGML extremamente simples.

<previsao_tempo> <data>09 Mai 2000 </data> <hora>08:00</hora> <area> <cidade>Rio de Janeiro </cidade> <estado>RJ</estado> <regiao>Sudeste</regiao> <pais>Brasil</pais> </area> <medicao> <tempo>parcialmente nublado</tempo> <temperatura>25</temperatura> <vento> <direcao>SE</direcao> <velocidade>6</ velocidade> </vento> <umidade>87</umidade> <visibilidade>10</visibilidade> </medicao> </ previsao_tempo>

<DevI nf xm ns= syncm : devi nf > l l <Ver DTD>1. 1</ Ver DTD> <M an>Bi g Fact or y, Lt d. </ M an> <M od>4119</ M od> <O >Jane s phones</ O > EM EM <FwV>2. 0e</ FwV> <SwV>2. 0</ SwV> <HwV>1. 22I </ HwV> <DevI D>1218182THD000001- 2</ DevI D> <DevTyp>phone</ DevTyp> </ UTC> </ Suppor t Lar geO s> bj </ Suppor t Num O Changes> ber f <Dat aSt or e> <Sour ceRef >. / cont act s</ Sour ceRef > <Di spl ayNam e>Phonebook</ Di spl ayNam e> <M UI DSi ze>32</ M UI DSi ze> axG axG <Rx- Pr ef > <CTType>t ext / vcar d</ CTType> <Ver CT>3. 0</ Ver C T> </ Rx- Pr ef > <Tx- Pr ef > <CTType>t ext / vcar d</ CTType> <Ver CT>3. 0</ Ver C T> </ Tx- Pr ef > <Tx> <CTType>t ext / x- vcar d</ CTType> <Ver CT>2. 1</ Ver C T> </ Tx> <DSM > em <M em axM >32650</ M em axM > <M D>250</ M D> axI axI </ DSM > em <SyncCap> <SyncType>1</ SyncType> <SyncType>7</ SyncType> </ SyncCap> ...... </ Dat aSt or e> </ DevI nf >

Protocolos SyncML

Protocolos SyncML
Protocolo de representao
Foca sob a organizao dos contedos dos dados da sincronizao. Define mtodos para identificar e nomear arquivos de maneira nica. Add, Alert, Atomic, Copy, Delete, Get, ...

Protocolo de Sincronizao
Foca sob a administrao das operaes de sincronizao. Define fluxo de mensagens entre um SyncML cliente e um servidor durante a sesso de sincronizao de dados.

Protocolos SyncML
Protocolo de Representao
Formato de dados
MIME media Type

Capacidade de Troca
Get, Put

Restaurando dados
refresh

Deleo Forte e suave


Delete

Arquivando dados
Archive

Substituindo Dados
Replace

Protocolo de representao
Procurando dados
Search

Localizao Endereo de Alvo e Fonte


LocURI
URI ou URN, ou ainda um identificador local nico Display opcional

<SyncM L> <SyncHdr > <Ver DTD>1. 0</ Ver DTD> <Ver Pr ot o>SyncM 1. 0</ Ver Pr ot o> L/ <Sessi onI D>1</ Sessi onI D> <M D>2</ M D> sgI sgI <Tar get ><LocURI >m y_phone</ LocURI ></ Tar get > <Sour ce> <LocURI >ht t p: / / www. webyu. com ser vl et s/ sam / sbook</ LocURI > </ Sour ce> </ SyncHdr > <SyncBody> <Sync> <Cm D>1</ Cm D> dI dI <Tar get ><LocURI >Cal endar D LocURI ></ Tar get > B</ <Sour ce><LocURI >sam sbook. nsf </ LocURI ></ Sour ce> <! - - Add a new r ecor d t o t he Cal endar DB, r ecor d I D 2021 - - > <Add> <Cm D>4</ Cm D> dI dI <M a><m : Type>t ext / x- vCal endar </ m : Type></ M a> et i i et <I t em > <Sour ce><LocURI >2021</ LocURI ></ Sour ce> <Dat a><! - - The vCal endar dat a woul d be pl aced her e. - - > BEG N: VCALENDAR I VERSI O 1. 0 N: BEG N: VEVENT I DTSTART: 20010510T063000Z DTEND: 20010510T073000Z SUM ARY: SyncM Test Checkpoi nt DB002021 M L DESCRI PTI O ENCO NG UO N; DI =Q TED- PRI NTABLE: John = Sm t h i s st i l l t he pr esent er . =0D=0ASyncM =i s t he t opi c. i L CLASS: PUBLI C CATEG RI ES: APPO NTM O I ENT AALARM 20010510T061500Z : END: VEVENT END: VCALENDAR </ Dat a> </ I t em > </ Add>

<! - - Del et e a r ecor d, r ecor d I D 2022 - - > <Del et e> <Cm D>5</ Cm D> dI dI <M a><m : Type>t ext / x- vCal endar </ m : Type></ M a> et i i et <I t em > <Sour ce><LocURI >2022</ LocURI ></ Sour ce> </ I t em > </ Del et e> </ Sync> </ SyncBody> </ SyncM L>

Protocolo de Sincronizao
Tipos de Sincronizao
Duas vias Sincronizao Lenta Uma via
Servidor para cliente Cliente para servidor

Revigorante
Do cliente Do servidor

Alertada pelo servidor.

Resoluo de Conflitos
So resolvidas por uma mquina de sincronizao no aparelho servidor Notifica aos clientes a respeito dos conflitos resolvidos A administrao, e como a resoluo de conflito configurada, no tratada nos protocolos SyncML
<St at us> <M sgRef >1</ M sgRef > <Cm dRef >2</ Cm dRef > <Cm d>Repl ace<Cm d> <Sour ceRef >1212</ Sour ceRef > <Dat a>208</ Dat a> </ St at us>

Autenticao da sincronizao
Autenticao Bsica ou MD5 Exemplo:
<Sync <Sync r <Ver T . </ Ver T <Ver r t Sync / . </ Ver r t <Sessi nI </ Sessi nI <M I s </ M I s <T r et <Loc I t t : / / . sync l . or / sync- ser er </ Loc <Sour ce><Loc I >I M : EI </ Loc I ></ Sour ce> </ Sync r > <Sync ody> ... </ Sync ody> </ SyncM L>

I </ T r et

<Sync L> <SyncH > dr TD <Ver D >1. </ Ver D > TD <Ver Pr ot o>Sync L/ 1. </ VerPr ot o> <Sessi onI D >1</ Sessi onI D > >1</ sgI D > < sgI D <Tar get ><LocU I >I EI : 493005100592800</ LocU I ></ Tar get > R R <Sour e><LocU I >ht t p: / / w w syncm . or g/ sync- ser ver </ LocU I ></ S R w. l R our e> </ SyncH > dr <SyncBody> <St at us> < sgR >1</ sgR ><C dR >0</ m ef ><C d>SyncH </ m ef ef m ef dR m dr d> <Tar get R >ht t p: / / w w syncm . or g/ sync- ser ver </ Tar get R > ef w. l ef <Sour eR >I EI : 493005100592800</ Sour eR > ef ef <C > hal < et a> <Type xm ns= syncm : m i nf >syncm : aut h- basi </ Type> l l et l <For m xm ns= syncm : m i nf >b64</ For m > at l l et at </ et a> </ hal > <D a>407</ D a> < - - redenci al per di da- - > at at </ St at us> ... </ SyncBody> </ Sync L>

<Syn M L> <Syn Hd > <Ve D D>1 0< Ve D D> <Ve P o o>Syn M 1 0< Ve P o o> L <Se i on D>1< Se i on D> <M g D>2< M g D> < a ge ><Lo UR >h p ww yn l o g yn w e ve < Lo UR >< a ge > <Sou e><Lo UR > M 493005100592800< Lo UR >< Sou e> E <C ed> e <M a>< ype x l n = yn l e i n > yn l au h ba i < ype>< M a> e <Da a>Q 1Y2Uy 9oQ VoYXZl < Da a> n <! ba e64 o a i ng o " u e i d pa wo d" > < C ed> < Syn Hd > <Syn Body> < Syn Body> < Syn M L>

<SyncM L> <SyncHdr > <Ver DTD>1. 0</ Ver DTD> <Ver Pr ot o>SyncM 1. 0</ Ver Pr ot o> L/ <Sessi onI D>1</ Sessi onI D> <M D>2</ M D> sgI sgI <Tar get ><LocURI >I M : 493005100592800</ LocURI ></ Tar get > EI <Sour ce><LocURI >ht t p: / / ww syncm . or g/ sync- ser ver </ LocURI ></ S ce> w. l our </ SyncHdr > <SyncBody> <St at us> <M sgRef >1</ M sgRef ><Cm dRef >0</ Cm dRef ><Cm d>SyncHdr </ Cm d> <Tar get Ref >ht t p: / / www. syncm . or g/ sync- ser ver </ Tar get Ref > l <Sour ceRef >I M : 493005100592800</ Sour ceRef > EI <Dat a>212</ Dat a> <! - - Sessao aut ent i cada- - > </ St at us> ... </ SyncBody> </ SyncM L>

Inicializao da sincronizao
Processar a autenticao entre o cliente e o servidor Indicar que a base de dados tem necessidade de ser sincronizada e que tipo de sincronizao ser usada. Habilitar troca de capacidades de servio do aparelho.

Sincronizao em Duas vias

<Syn M L> <Syn Hd > <Ve D D>1 0< Ve D D> <Ve P o o>Syn M 1 0< Ve P o o> L <Se i on D>1< Se i on D> <M g D>1< M g D> ww yn l o g yn w e ve < Lo UR >< a ge > < a ge ><Lo UR >h p E <Sou e><Lo UR > M 493005100592800< Lo UR >< Sou e> > <C ed> <! A au en i ao eh op i onal e <M a>< ype x l n = yn l e i n > yn l au h ba i < ype>< M a> e <Da a>Q 1Y2Uy 9oQ VoYXZl < Da a> n <! ba e64 o a i ng o " u e i d pa wo d" > < C ed> < Syn Hd > <Syn Body> <Al e > <C d D>1< C d D> 200 = W _W AY_ALER > <Da a>200< Da a> <! < e > j a e _bond< Lo UR >< a ge > < a ge ><Lo UR > on a <Sou e><Lo UR > dev on a < Lo UR >< Sou e> <M a> e <An ho x l n = yn l e i n > <La >234< La > <Nex >276< Nex > < An ho > < M a> e e > < < Al e >

<Syn > <C d D>2< C d D> on a j a e _bond< Lo UR >< a ge > < a ge ><Lo UR > <Sou e><Lo UR > dev on a < Lo UR >< Sou e> <M a> e <M x l n = yn l e i n > e e e <F eeM >8100< F eeM > <! F ee e o y ( by e ) i n Cal enda da aba e on a devi e <F ee d>81< F ee d> ee e o d i n Cal enda da aba e > <! Nu be o < M > e e < M a> <Repl a e> <C d D>3< C d D> e <M a>< ype x l n = yn l e i n > ex x v a d< ype>< M a> e < e > <Sou e><Lo UR >1012< Lo UR >< Sou e> he vC d da a woul d be pl a ed he e a >< D a> a <Da a><! e > < < Repl a e> < Syn > <Fi nal > < Syn Body> L> < Syn M

>

<Syn M L> <Syn Hd > <Ve D D>1 0< Ve D D> L <Ve P o o>Syn M 1 0< Ve P o o> <Se i on D>1< Se i on D> <M g D>1< M g D> E < a ge ><Lo UR > M 493005100592800< Lo UR >< a ge > ww yn l o g yn w e ve < Lo UR >< Sou e> <Sou e><Lo UR >h p < Syn Hd > <Syn Body> <S a u > <M gRe >1< M gRe ><C dRe >0< C dRe ><C d>Syn Hd < C d> www yn l o g yn e ve < a ge Re > < a ge Re >h p E <Sou eRe > M 493005100592800< Sou eRe > <Da a>212< Da a> K au hen i a ed o e i on > <! S a u ode o < S a u > <S a u > <M gRe >1< M gRe ><C dRe >1< C dRe ><C d>Al e < C d> < a ge Re > on a j a e _bond< a ge Re > < Sou eRe > <Sou eRe > dev on a <Da a>200< Da a> <! S a u ode o K > < e > <Da a><An ho x l n = yn l e i n ><Nex >276< Nex >< An ho >< Da a> e > < < S a u > <S a u > <M gRe >1< M gRe ><C dRe >2< C dRe ><C d>Syn < C d> on a j a e _bond< a ge Re > < a ge Re > < Sou eRe > <Sou eRe > dev on a <Da a>200< Da a> u > <! S a u ode o S e < S a u > <S a u > <M gRe >1< M gRe ><C dRe >3< C dRe ><C d>Repl a e< C d> <Sou eRe >1012< Sou eRe > > <Da a>200< Da a> <! S a u ode o Su e < S a u >

<Al er t > <C dI D m >1</ Cm D dI > <D a>200</ D a> at at <! - - 200 = TW _W _ALERT - - > O A <I t em > <Tar get ><LocURI >. / dev- cont act s</ LocURI ></ Tar get > <Sour ce><LocURI >. / cont act s/ j am es_bond</ LocUR ></ Sour ce> I <M a> et <Anchor xm ns= syncm : m i nf > l l et <Last >200005021T081812Z </ Last > <Next >200005022T093223Z </ Next > </ Anchor > </ M a> et </ I t em > </ Al er t > <Sync> <C dI D m >2</ Cm D dI > <Tar get ><LocURI >. / dev- cont act s</ LocURI ></ Tar get > <Sour ce><LocURI >. / cont act s/ j am es_bond</ LocUR ></ Sour ce> I <R ace> epl <Cm D dI >3</ Cm D dI > <M a><Type xm ns= syncm : m i nf >t ext / x- vcar d</ Type></ M a> et l l et et <I t em > <Tar get ><LocURI >1023</ LocU ></ Tar get > RI <Dat a><! - - The vC d dat a w d be pl aced her e. - - ></ D a> ar oul at </ I t em > </ Repl ace> <Add> <Cm D dI >4</ Cm D dI > <M a><Type xm ns= syncm : m i nf >t ext / x- vcar d</ Type></ M a> et l l et et <I t em > <Sour ce><LocURI >10536681</ LocURI ></ Sour ce> <Dat a><! - - The vC d dat a w d be pl aced her e. - - ></ D a> ar oul at </ I t em > </ Add> </ Sync> <Fi nal / > </ SyncBody> </ SyncM L>

<SyncM L> <Sync dr > <Ver T >1. </ Ver T > <Ver r ot o>SyncM 1. </ Ver r ot o> L/ <Sessi onI >1</ Sessi onI > <M I >3</ M I > s s <T r et ><Loc I >ht t : / / . sync l . or / sync- ser er </ Loc I ></ T r et > EI <Sour ce><Loc I >I M : 3005100592800</ Loc I ></ Sour ce> </ Sync dr > <Sync ody> <St t us> s dRef >0</ Cm dRef ><Cm d>Sync dr </ Cm d> <M ef >2</ M ef ><Cm s <T r et Ref >I M : 93005100592800</ T r et Ref > EI . syncm . or / sync- ser er </ Sour ceRef > l <Sour ceRef > ht t : / / <Dat a>200</ Dat a> </ St at us> <St at us> <M Ref >2</ M Ref ><Cm s s dRef >1</ Cm dRef ><Cm d>Sync</ Cm d> <Tar et Ref >. / dev- cont act s</ Tar et Ref > es ond</ Sour ceRef > <Sour ceRef >. / cont act s/ am <Dat a>200</ Dat a> </ St at us> <St at us> <M Ref >2</ M Ref ><Cm s s dRef >2</ Cm dRef ><Cm d>Repl ace</ Cm d> <Tar et Ref >1023</ Tar et Ref > <Dat a>200</ Dat a> </ St at us> <St at us> <M Ref >2</ M Ref ><Cm s s dRef >3</ Cm dRef ><Cm d>Add</ Cm d> <Sour ceRef >10536681</ Sour ceRef > <Dat a>200</ Dat a> </ St at us> <M ap> <Cm D>1</ Cm D> dI dI <Tar et ><Loc RI >. / cont act s/ am es ond</ Loc RI ></ Tar et > <Sour ce><Loc RI >. / dev- cont act s</ Loc RI ></ Sour ce> <M t em apI > <Tar et ><Loc RI >10536681</ Loc RI ></ Tar et > <Sour ce><Loc RI >1024</ Loc RI ></ Sour ce> </ M t em apI > </ M ap> <Fi nal / > </ Sync ody> </ SyncM L>

<SyncM L> <SyncHdr > <Ver DTD>1. 0</ Ver DTD> <Ver Pr ot o>SyncM 1. 0</ Ver Pr ot o> L/ <Sessi onI D>1</ Sessi onI D> <M D>3</ M D> sgI sgI <Tar get ><LocURI >I M : 493005100592800</ LocURI ></ Tar get > EI <Sour ce><LocURI >ht t p: / / ww syncm . or g/ sync- ser ver </ LocURI ></ S ce> w. l our </ SyncHdr > <SyncBody> <St at us> <M sgRef >3</ M sgRef ><Cm dRef >0</ Cm dRef ><Cm d>SyncHdr </ Cm d> <Tar get Ref >ht t p: / / www. syncm . or g/ sync- ser ver </ Tar get Ref > l <Sour ceRef >I M : 493005100592800</ Sour ceRef > EI <Dat a>200</ Dat a> </ St at us> <St at us> <M sgRef >3</ M sgRef ><Cm dRef >1</ Cm dRef ><Cm ap</ Cm d>M d> <Tar get Ref >. / cont act s/ j am es_bond </ Tar get Ref > <Sour ceRef >. / dev- cont act s</ Sour ceRef > <Dat a>200</ Dat a> </ St at us> <Fi nal / > </ SyncBody> </ SyncM L>

Concluses
Especificao aberta para sincronizao universal de dados
Iniciada no final de 2000 Possui mais de 650 empresas

Satisfaz todos pr-requisitos de um protocolo de sincronizao.

Potrebbero piacerti anche