Exchange ActiveSync 및 Exchange 2003

 

마지막으로 수정된 항목: 2005-07-06

Exchange ActiveSync를 사용하여 모바일 장치와 Exchange Server 2003 간에 데이터를 동기화할 수 있습니다. PIM(개인 정보 관리자) 데이터인 전자 메일, 연락처 및 일정 정보를 모두 동기화할 수 있습니다. 이 기능은 이전에 Mobile Information Server를 통해 사용할 수 있었으며 Microsoft Server ActiveSync라고 하였습니다. 현재는 Exchange Server 2003에 통합되어 있습니다.

Mobile Information Server를 사용하는 경우 Microsoft Windows Powered Pocket PC 2002, Microsoft Windows Powered Pocket PC 2002 Phone Edition 및 Microsoft Windows Powered Smartphone을 실행하는 장치가 지원되며 이러한 장치에는 Server ActiveSync 클라이언트 구성 요소가 설치되어 있습니다.

Exchange ActiveSync를 사용하면 Pocket PC 2002, Pocket PC 2002 Phone Edition 및 Smartphone을 실행하는 장치가 계속 지원됩니다. 또한 Microsoft Windows Powered Pocket PC 2003 장치도 지원됩니다. Pocket PC 2003 장치는 동기화 일정을 보다 세부적으로 설정할 수 있으며 Exchange Server 2003에 도입된 AUDT(Always Up To Date) 기능도 지원합니다.

Exchange ActiveSync는 다음 파일에서 구현됩니다.

  • Massync.dll OMA Sync ISAPI 확장 DLL
  • Masperf.dll OMA Sync 성능 카운터 DLL
  • MasPerf.ini OMA Sync 성능 카운터 INI
  • Masperf.h OMA Sync 성능 카운터 헤더

Exchange ActiveSync 프로토콜 아키텍처

동기화 프로토콜은 클라이언트 및 서버 통신 모델에 기본으로 제공된 요청 및 응답 프로토콜입니다. 이것은 HTTP POST 요청 및 응답 메커니즘과 HTTP OPTIONS 명령을 사용하여 HTTP 프로토콜에 기본 제공됩니다. HTTP POST 헤더는 프로토콜 명령을 지정하고 명령이 요구할 경우 명령 데이터가 HTTP POST 본문으로 보내집니다. 데이터는 일반적으로 압축된 WBXML(Wireless Binary XML)로 형식화되므로 모바일 클라이언트의 제한된 대역폭을 효율적으로 사용할 수 있습니다.

클라이언트는 요청을 게시하여 통신을 시작합니다. 서버는 요청을 받을 경우 요청을 구문 분석한 다음 해당 본문에 요청한 데이터가 들어 있는 HTTP POST 응답을 보냅니다.

동기화 프로토콜에 따르면 클라이언트와 서버 간에 TCP/IP 연결이 있어야 합니다. 그러나 원본으로 사용하는 네트워크 계층은 구현에 따라 다릅니다. 이 프로코톨을 지원하는 세 가지 일반 전송 계층은 GPRS, CDMA 1xRTT 및 IEEE 802.11입니다. 동기화 프로토콜에 의하면 모든 전송 오류가 네트워킹 소프트웨어에 의해 처리되고 클라이언트와 서버 간에 보내지는 프로토콜 메시지가 완전하고 오류가 없어야 합니다.

동기화 프로토콜은 모바일 클라이언트가 PIM 데이터를 Exchange 서버에 저장된 데이터와 효율적으로 동기화할 수 있도록 디자인되었습니다. 효율적인 동기화를 위해 클라이언트는 동기화 프로토콜을 사용하여 Exchange 프런트 엔드 서버 구성 요소와 대화하고, 이 구성 요소는 Exchange 저장소의 데이터를 검색하기 위한 수단으로 동기화를 제공합니다.

다음 그림에서는 동기화 프로토콜에서 사용하는 클라이언트 및 서버 통신 모델의 기능 구성 요소를 보여 줍니다.

de12eb21-c5db-4022-bd35-ddaaf1cb98a3

클라이언트가 서버에 보내는 모든 명령에 대해 다음 단계가 발생합니다.

  1. 클라이언트가 요청을 만들고 이 요청을 HTTPS POST로써 동기화 서버로 보냅니다.
  2. 동기화 서버가 요청을 처리하고 Exchange 백 엔드 서버와 통신하여 사용자의 PIM 데이터에 액세스합니다.
  3. 동기화 서버가 응답을 만들고 이 응답을 HTTPS POST 응답으로써 클라이언트로 보냅니다.
  4. 클라이언트가 응답을 처리하고 필요하면 로컬 PIM 데이터를 업데이트합니다.

클라이언트가 Sync 명령을 보낼 때 다음 단계가 발생합니다.

  1. 클라이언트가 마지막 동기화 이후 로컬 PIM 데이터가 변경되었는지 확인합니다.
  2. 클라이언트가 이러한 변경 사항을 포함하는 Sync 명령을 만듭니다.
  3. 클라이언트가 이 명령을 HTTPS POST로서 동기화 서버로 보냅니다.
  4. 동기화 서버가 마지막 동기화 이후 서버 데이터가 변경되었는지 확인하고 Exchange 백 엔드 서버와 통신하여 사용자의 데이터에 액세스합니다.
  5. 동기화 서버가 클라이언트의 항목 변경 사항과 서버의 항목 변경 사항 간 충돌을 해결합니다.
  6. 동기화 서버가 클라이언트에 복제될 서버 변경 사항을 포함하는 응답을 만듭니다.
  7. 동기화 서버가 이 응답을 HTTPS POST 응답으로 보냅니다.
  8. 클라이언트가 응답을 처리하고 로컬 PIM 데이터를 업데이트합니다.

동기화 프로토콜 버전 및 장치 지원

Exchange ActiveSync를 사용하려면 클라이언트와 서버가 같은 프로토콜 버전을 사용해야 합니다. Microsoft Mobile Information Server에서는 AirSync Protocol v1.0 for Exchange ActiveSync를 사용합니다. Exchange Server 2003에서는 새롭게 향상된 AirSync protocol v2.0 for Exchange ActiveSync를 사용하지만 이전 버전과의 호환성을 위해 AirSync protocol v1.0도 지원합니다.

Mobile Information Server 2002 및 Exchange Server 2003에서 지원하는 ActiveSync 프로토콜

Server 지원되는 프로토콜

Mobile Information Server 2002

1.0

Exchange Server 2003

1.0 및 2.0

Pocket PC 2002 클라이언트는 AirSync protocol v1.0 for Exchange ActiveSync를 사용하며 v1.0을 사용하는 Mobile Information Server 및 Exchange Server 2003에 대해 사용될 수 있습니다. Pocket PC 2003 클라이언트는 v1.0 및 v2.0 프로토콜을 지원하므로 사용될 프로토콜을 협상할 수 있습니다.

표 9.6 Pocket PC 2002 및 Pocket PC 2003 장치에서 지원하는 ActiveSync 프로토콜

장치 지원되는 프로토콜

Pocket PC 2002

1.0

Pocket PC 2003

1.0 및 2.0

따라서 Pocket PC 2002 및 Pocket PC 2003 장치는 Mobile Information Server 및 Exchange 2003에 대해 사용될 수 있습니다.

동기화 프로토콜 명령

AirSync 프로토콜 v 1.0을 사용할 경우 일반적인 동기화 세션에는 다음 명령이 포함됩니다.

  • GetHierarchy 폴더의 전체 계층 구조를 검색하는 데 사용하는 명령입니다.
  • GetItemEstimate 클라이언트에서 동기화해야 하는 항목 수를 예상하는 데 사용하는 명령입니다. 클라이언트는 예상하려는 폴더 목록을 전달합니다. 이러한 예상으로 장치에 진행률 표시줄을 쉽게 표시할 수 있습니다.
  • Sync 동기화를 시작하는 데 사용하는 명령입니다. 또한 Sync 명령에는 추가, 변경 등의 다른 명령이 포함되기도 합니다.

AirSync 프로토콜 버전 2.0에는 Folder syncAUTD(Always Up-To-Date) 명령을 추가로 지원합니다.

  • Folder Sync GetHierarchy 명령 대신 사용되는 명령입니다. FolderSync 명령은 개별 폴더가 동기화되는 것과 마찬가지로 컬렉션 계층 구조를 동기화합니다.
  • AUTD 이 명령을 사용하여 사용자는 서버에서 새 항목을 받을 때 모바일 장치를 서버와 자동으로 동기화할 수 있습니다. 자세한 내용은 이 항목 뒷부분의 "최신 알림" 섹션을 참조하십시오.

Sync 명령 형식

프로토콜 명령은 HTTP POST 메커니즘을 사용하여 보내집니다. 일부 간단한 명령은 클라이언트 요청 URI(Unified Resource Identifier)에 포함되어 있고, 보다 복잡한 명령은 HTTP 본문을 사용하여 명령에 대한 추가 정보를 전달합니다.

동기화 세션은 종종 여러 개의 명령으로 구성됩니다. 이 경우 세션은 클라이언트와 서버 간에 보내고 받은 여러 개의 명령 요청과 응답 쌍으로 구성됩니다.

요청은 세 부분으로 이루어져 있습니다.

  • URI 이 부분에는 서버 주소 및 여러 매개 변수(명령 이름 등)가 들어 있습니다.
  • HTTP 헤더 이 부분에는 서버에서 사용되고 표준 HTTP 형식으로 전송되는 추가 매개 변수가 들어 있습니다.
  • HTTP 본문 이 부분에는 명령에서 필요로 하는 데이터가 들어 있습니다. 형식은 명령에 따라 달라지며 본문이 없는 명령도 있습니다.

URI

다음 예는 일반적인 동기화 요청 URI를 보여 줍니다.

POST /Microsoft-Server-ActiveSync?User=johndoe&
DeviceId=789123456789012345&DeviceType=PocketPC&Cmd=Sync

Cmd, User, DeviceId 등의 매개 변수는 각 요청과 함께 클라이언트에 의해 보내집니다. 가장 중요한 매개 변수는 Cmd 매개 변수입니다. Cmd 매개 변수는 수행해야 할 작업을 서버에 알립니다. 이 예에서 Cmd 매개 변수에서 전달되는 Sync 인수는 동기화 작업이 수행되어야 함을 서버에 알립니다. 추가 데이터는 HTTP POST 본문에 들어 있습니다.

HTTP 헤더

URI 외에도 클라이언트는 몇 가지 일반 정보를 HTTP 헤더에 넣어 보냅니다. 다음 예는 URI와 함께 전체 HTTP POST 요청 헤더를 보여 줍니다.

POST Microsoft-Server-ActiveSync?User=johndoe&
DeviceId=789123456789012345&DeviceType=PocketPC&Cmd=Sync
Accept-Language: en-us
MS-ASProtocolVersion: 2.0
Content-Type: application/vnd.ms-sync.wbxml

서버는 헤더에 있는 몇 가지 일반 정보에 응답합니다. 다음 항목에 HTTP POST 응답 헤더가 들어 있습니다.

HTTP/1.1 200 OK
Content-Length: 114
Date: Mon, 15 Mar 2004 11:07:44 GMT
Content-Type: application/vnd.ms-sync.wbxml
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Pragma: no-cache
MS-Server-ActiveSync: 2.0.3273.0

HTTP 본문

요청 본문에는 서버로 보낼 데이터가 들어 있습니다. 데이터 종류와 형식은 명령별로 다릅니다. 가장 일반적인 형식은 XML이며 세부 사항은 명령에 따라 결정됩니다. 전자 메일 메시지를 보내는 명령은 XML 대신 RFC 822 형식을 사용합니다. 일부 명령은 추가 데이터를 필요로 하지 않습니다. 그 경우 본문은 비어 있습니다.

응답 본문에는 서버에서 반환되는 데이터가 들어 있습니다. 요청 본문에서처럼 형식은 명령에 따라 다릅니다. 일반적으로 응답 본문은 WbXML 형식으로 되어 있습니다. 본문에 전자 메일 첨부 파일이 들어 있으면 첨부 파일의 종류에 따라 형식이 결정됩니다. 일부 명령은 본문을 사용하지 않습니다.

프로토콜과 관련 없는 모바일 장치의 멀티캐스트 데이터

프로토콜과 관련 없는 멀티캐스트 데이터는 연락처, 일정 및 전자 메일 폴더당 각각 하나씩 "컬렉션"으로 저장됩니다. 동기화 프로토콜은 여러 전자 메일 폴더 동기화를 지원합니다. 각 컬렉션에 대해 클라이언트 소프트웨어는 SyncKey를 저장합니다. SyncKey의 길이는 39-48자로 GUID(글로벌 고유 식별자)용으로 38자, 증분 숫자용으로 1-10자를 사용합니다. 또한 클라이언트는 CollectionId를 저장합니다. 폴더의 고유 식별자인 CollectionId는 각 폴더별로 40자 정도의 문자열입니다.

클라이언트는 SyncKey를 각 동기화 요청과 함께 서버로 보냅니다. 메시지, 연락처, 일정 항목 등의 동기화되는 개체에는 서버에서 할당한 고유 식별자가 있습니다. 이 ServerId는 클라이언트가 저장하는 48자의 문자열입니다. 이 식별자는 동기화하는 중에 클라이언트와 서버 모두에 저장된 개체를 식별하는 데 사용됩니다.

Exchange ActiveSync 프로필

동기화 상태는 Exchange 서버의 사용자 사서함에 있는 숨겨진 폴더에 저장됩니다. 전자 메일, 일정, 연락처 및 FolderSync의 동기화 상태는 사용자 사서함의 NON_IPM_SUBTREE에 있는 Microsoft-Server-ActiveSync/PocketPC/DeviceId 폴더에 있습니다. 폴더 계층 구조를 포함하는 검색 폴더도 여기에 저장됩니다.

최신 알림

Exchange ActiveSync는 장치에서 일정한 간격(예: 5분마다)으로 서버와 동기화되도록 구성됩니다. 그러나 ActiveSync는 장치에 대한 최신 정보를 제공하지 않습니다. 또한 빈번한 동기화 세션으로 인해 사용자에게 추가 비용이 발생할 수도 있습니다.

최신 알림은 서버에 새 항목이 도착할 때 Pocket PC 2003 또는 Microsoft Windows Mobile 2003 장치를 서버와 자동으로 동기화할 수 있도록 하는 Exchange Server 2003의 새 기능입니다. 최신 알림은 Exchange Server 2003과 함께 설치되는 Exchange ActiveSync의 기능입니다.

새 메시지가 도착하면 사용자의 Exchange 계정에 이벤트가 생성됩니다. 이 이벤트가 생성되면 SMS(Short Message Service) 알림이 사용자의 장치로 보내집니다. 이 장치는 백그라운드에서 동기화됩니다. 사용자 데이터는 사용자의 개입 없이 가장 최신 정보로 업데이트됩니다.

알림이 SMS 제어 메시지로 장치에 보내집니다. 이것은 받은 편지함에 SMS 메시지로 나타나지 않으므로 일반 SMS 알림과 다릅니다. 장치에서는 SMS 라우터와 Exchange ActiveSync가 알림을 처리합니다. 알림 자체는 중요한 데이터를 전송하지 않습니다.

알림은 Exchange Server 2003에서 장치의 SMS 주소로 또는 Exchange 관리자가 구성한 집계기(예: 회사 서비스 공급자)를 통해 직접 보내질 수 있습니다. 알림을 장치의 SMS 주소로 보내려면 관리자가 Exchange System Manager에 SMTP 매체를 만들어야 합니다.

집계기

조직에서는 집계기를 통해 장치에 알림을 보내도록 선택할 수 있습니다. 현재 사용할 수 있는 집계기는 MSN Internet Access뿐입니다. 집계기를 설정하려면 조직에서는 Passport 계정을 사용하여 보안 웹 사이트에 로그온하고 MSN을 통해 사용하려는 매체를 선택해야 합니다. 그런 다음 보안 알림 배달을 위해 MSN으로부터 자격 증명을 얻을 수 있습니다.

다음 MSN 매체를 Active Directory에 만들어야 합니다. 별도의 MSNCarrierConfigurator.zip 파일이 제공됩니다. 압축 파일에는 MSN 매체를 설정하는 데 사용되는 CreateMSNCarrier.cmd 및 CarrierConfig.LDF가 들어 있습니다.

MSN 매체가 Active Directory에 만들어진 후 관리자는 사용자가 로그온할 때 받은 자격 증명을 사용하여 MSN에 안전하게 알림을 배달하기 위한 SMTP 커넥터를 만듭니다. 관리자가 장치의 SMS 주소로 직접 알림을 보내도록 SMTP 매체를 구성하면 알림은 모바일 운영자의 SMTP 게이트웨이를 통과하여 운영자의 SMS-C(SMS Center)로 이동합니다. 운영자 SMTP 게이트웨이는 자주 긴 메시지 지연과 관련되므로 SMS 배달하는 데 한 시간 이상이 걸리기도 합니다. 이런 이유로 최신 알림의 이점이 무효화되어 사용자는 최신 기능을 사용할 수 없습니다.

또한 SMTP 게이트 운영자를 통한 메시지 전달에 보안 문제가 있습니다. 집계기를 사용하여 Transport Layer Security를 통해 Microsoft Mobile Services로 연결할 수 있습니다. 따라서 기업은 Microsoft Mobile Services와 최신 파트너 관계에 있는 하나 이상의 운영자에 연결할 수 있습니다.