SyncML
보이기
SyncML(Synchronization Markup Language)은 플랫폼 독립적인 데이터 동기화 표준이다. 즉, 마이크로소프트 윈도우를 사용하는 PC, 리눅스를 사용하는 PC, 팜(Palm) PDA, 휴대전화, 아이팟, 아이폰 등의 어떤 기기와도 자유롭게 데이터를 동기화할 수 있다. SyncML은 XML을 기반으로 한다.
내부 동작
[편집]리프레시(refresh) 동기화 시작을 위해 Alert 명령을 포함한 메시지의 예:
<?xml version="1.0"?>
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd">
<SyncML xmlns="SYNCML:SYNCML1.2">
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target><LocURI>PC Suite</LocURI></Target>
<Source><LocURI>IMEI:3405623856456</LocURI></Source>
<Meta><MaxMsgSize xmlns="syncml:metinf">8000</MaxMsgSize></Meta>
</SyncHdr>
<SyncBody>
<Alert>
<CmdID>1</CmdID>
<Data>203</Data> <!-- 203 = mobile signals a refresh from it to computer -->
<Item>
<Target><LocURI>Events</LocURI></Target>
<Source><LocURI>/telecom/cal.vcs</LocURI></Source>
<Meta><Anchor xmlns="syncml:metinf"><Last>42</Last><Next>42</Next></Anchor></Meta>
</Item>
</Alert>
<Final/>
</SyncBody>
</SyncML>
컴퓨터로부터 온 응답:
<?xml version="1.0"?>
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd">
<SyncML>
<SyncHdr>
<VerDTD>1.1</VerDTD>
<VerProto>SyncML/1.1</VerProto>
<SessionID>1</SessionID>
<MsgID>1</MsgID>
<Target><LocURI>IMEI:3405623856456</LocURI></Target>
<Source><LocURI>PC Suite</LocURI></Source>
</SyncHdr>
<SyncBody>
<!-- accept the header of the last message from the client -->
<Status>
<CmdID>1</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>0</CmdRef> <!-- 0 = header of the message -->
<Cmd>SyncHdr</Cmd>
<TargetRef>PC Suite</TargetRef>
<SourceRef>IMEI:3405623856456</SourceRef>
<Data>200</Data> <!-- 200 = ok, accepted -->
</Status>
<!-- accept the request of the mobile for a sync -->
<Status>
<CmdID>2</CmdID> <!-- this is command #2 -->
<MsgRef>1</MsgRef>
<CmdRef>1</CmdRef> <!-- it respond to command msg=1,cmd=1 -->
<Cmd>Alert</Cmd>
<TargetRef>Events</TargetRef>
<SourceRef>/telecom/cal.vcs</SourceRef>
<Meta><Anchor xmlns="syncml:metinf"><Next>0</Next><Last>0</Last></Anchor></Meta>
<Data>200</Data> <!-- 200 = ok, accepted -->
</Status>
<Final/>
</SyncBody>
</SyncML>
같이 보기
[편집]외부 링크
[편집]이 글은 표준에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |