[XCSI] Availability Service 란 ?
Availability Service란 무엇인가 ??
Exchange 2007의 Availability 서비스는 지식 근로자를 위한 Free/Busy 데이터 접근을 위해 안전하고 일관성 있는 방법을 제공해 줄 수 있도록 개선되었습니다.
클라이언트에 최신의 Free/busy (약속 있음/없음) 정보를 제공해 주기 위해 Availability Web Service를 사용합니다.
( Outlook 2007 과 Exchange 20007의 OWA 역시 같은 방법을 사용합니다.)
Outlook 2007은 Availability Service의 URL 정보를 얻기 위해서 Autodiscover Service를 사용합니다.
(Free/busy란 Exchange 서버와 클라이언트간에 사용자의 모임 요청에 대한 availability를 추적할 수 있게 해주는 메커니즘 입니다.)
배경 지식 - Exchange 2000 과 Exchange 2003에서의 약속 있음/없음.
Outlook 2003 Client는 기본 설정 상태에서 2개월간의 정보를 게시하고 15분 간격으로 Free/Busy 정보를 Public Folder에 Update 합니다.
"약속 있음/없음" 데이터는 사용자가 특정 기간 동안 바쁨 상태임을 표시하지만 그 외의 다른 정보 ( 개인 약속, 위치, 바쁨 상태를 나타낼 수 있는 다른 표식) 를 가지고 있지 않습니다.
"약속 있음/없음" 정보는 System Attendant 의 일부로 실행되는 MSExchangeFBPublish Process를 통해 업데이트 됩니다.
OWA 사용자가 일정 정보를 업데이트
Store.exe Process에서 일정정보를 처리하고 메시지를 System Attendant Mailbox에 전송함.
MSExchangeFBPublish Process 내의 Polling Thread 가 System Attendant Mailbox를 매 5분 간격으로 "약속 있음/없음" 메시지를 가져가기 위해서 확인하고 이러한 변경 내용을 사용자 대신 공용 폴더에 적용.
이 Polling 간격은 최대 30초까지 적용가능하며
HKLM\System\CurrentControlSet\Services\MSExchangeFBPublish\Parameter\ServerName
아래 DWORD로 PollingInterval 키를 생성하여 수정할 수 있슴.
( 적용을 위해서는 System Attendant 서비스 재시작이 필요함)
Exchange 2000과 Exchange 2003에서 약속 있음/없음 정보는 <Admin Group>\공용폴더\ SCHEDULE+FREE BUSY 에 저장되었습니다
약속 있음/없음 데이터의 경우, 그 크기가 작아서 Store에서 생성, 관리, 복제되는데 큰 부하가 발생하지 않습니다.
각 100명의 사용자가 6개월간의 데이터를 보관한다고 가정했을 때 2MB 의 데이터가 생성됩니다.
사용자가 모임 요청을 확인할 경우, 최신의 데이터에 대한 정확성에 영향을 줄 수 있는 가장 큰 요인은 복제 문제 입니다.
일반적인 상황에서는 문제가 없겠지만, 분산된 조직에서 여러 대의 공용폴더가 존재한다면 Replication Lag으로 인해서 정확한 약속 있음/없음 정보를 볼 수 있게 될 수 있습니다.
Exchange 2007 에서의 약속 있음/없음.
이전 버전의 Exchange 들과 다르게 Exchange 2007에서는 Free/Busy 데이터는 공용폴더 저장소에 저장되지 않습니다.
따라서 더 이상 복제나 지연 시간(latency)에 신경 쓰지 않아도 됩니다. 대신 대상 사서함의 Free/Busy 데이터를 일정(Calendar)폴더에서 Availability Service를 통해서 직접 접근합니다.
Exchange 2007의 새로운 Calendar Assistant 기능은 Availability Service 를 통해서 최종 사용자가 약속 있음/없음 데이터를 실시간으로 항상 최신의 데이터를 볼 수 있는 방법을 제공합니다.
다시 말해서 Exchange의 모임 요청 업데이트 기능을 통해 사서함에서 미정(Tentative) 상태로 표시하거나 위치, 참석자 등이 변경되었을 경우에도 최종 사용자는 모임 요청에 따른 선별 작업을 하지 않아도 됩니다.
Availability Service는 Client Access Server 에 배포되는 웹서비스로 Outlook 2007 Client는 Autodiscover를 통해서 Availability 서비스를 찾게 됩니다.
Availability Service는 Outlook 2007 과 Outlook Web Access Scheduling Assistant 다음 작업을 위해 사용합니다.
E2K7 사서함으로 부터 약속 있음/없음 정보를 가져오기 위해
다른 E2K7 Forest로 부터 약속 있음/없음 정보를 가져오기 위해
공용 폴더에서 약속 있음/없음 정보를 가져오기 위해 ( 이전 메일 박스나 이전 버전의 Outlook Client를 위해)
참석차의 업무 시간 확인을 위해
모임 제안 시간을 제공하기 위해
위에서 언급한 것처럼, Availability Service는 한결 같은 사용자 경험을 제공하기 위해 기존 시스템과 상호 작용이 가능해야 합니다.
이를 위해 Availability Service는 공용폴더 저장소에서 약속 있음/없음 정보를 가져올 수 있습니다. Outlook 2007 Client만 Availability Service를 사용할 수 있으므로
Outlook 2003과 같은 Legacy Client를 위해서는 공용폴더 저장소를 통해 약속 있음/없음 정보가 제공되어야 합니다.
다음 테이블은 각각의 토폴로지에 따라 어떤 방법으로 약속 있음/없음을 사용하는지 설명하고 있습니다.
Client |
로그인한 사서함 |
대상 사서함 |
약속 있음/없음 정보를 가져오는 방법 |
Outlook 2007 |
Exchange 2007 |
Exchange 2007 |
약속 있음/없음 정보를 대상 사서함에서 Availability service 가 읽어옴. |
Outlook 2007 |
Exchange 2007 |
Exchange 2003 |
Availability service 가 Exchange 2003 사서함 서버에 /public virtual directory HTTP connection을 생성하여 데이터를 가져옴 |
Outlook 2003 |
Exchange 2007 |
Exchange 2007 |
약속 있음/없음 정보는 로컬 공용폴더에 게시되어야 함. |
Outlook 2003 |
Exchange 2007 |
Exchange 2003 |
약속 있음/없음 정보는 로컬 공용폴더에 게시되어야 함. |
Outlook Web Access 2007 |
Exchange 2007 |
Exchange 2007 |
OWA 2007 이 availability service API를 호출하여 대상 사서함의 약속 있음/없음 정보를 읽어옴 |
Outlook Web Access 2007 |
Exchange 2007 |
Exchange 2003 |
OWA 2007이 Exchange 2003 사서함 서버에 /public virtual directory HTTP connection을 생성하는 availability service API를 호출하여 대상 사서함의 약속 있음/없음 정보를 읽어옴 |
Any |
Exchange 2003 |
Exchange 2007 |
약속 있음/없음 정보는 로컬 공용폴더에 게시되어야 함. |
그럼 어떻게 동작 할까요 ???
1. 클라이언트가 Availability URL을 사용하여 CAS 서버에 Connection을 생성합니다. ( Outlook 2007이라면 AutoDiscover 구성에 따라 결정됨)
2. 대상 사서함이 다른 AD 사이트에 존재한다면
-
a. CAS 서버가 대상 CAS 서버에 HTTPS Connection을 생성합니다.
-
b. 대상 CAS 서버는 약속 있음/없음 정보를 사서함 서버와 MAPI통신하여 얻게 되고 이 정보를 다시 Source CAS 서버에 전달합니다.
3. 대상 사서함이 동일한 AD 사이트에 존재한다면:
-
a. CAS 서버는 MAPI 프로토콜을 사용하여 사서함 서버와 통신하여 약속 있음/없음 정보를 얻게 됩니다.
4. 원본 CAS 서버는 Outlook 2007이나 Outlook Web Access 2007 클라이언트에 대상서버에게 받은 데이터를 돌려줍니다.
추가로, availability web service는 일정 정보를 단계별로 제공해 줍니다. 각 대상 사용자나 그룹에 대해 다음 4가지 단계의 공유 수준을 설정할 수 있습니다.
-
없음
약속 있음/없음 시간
약속 있음/없음 시간,제목, 위치
아주 자세하게