메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

SOA 기반 통합 환경에 있는 공통 정보 모델의 그늘

Gandhi Sivakumar , Senior IT Architect, IBM
Gandhi Sivakumar
Gandhi Sivakumar is IBM Certified Senior IT Architect and works on complex SOA based integration projects. Gandhi is a member of IBM Academy and leads many communities in IBM. Gandhi has a deep liking towards innovations and has filed a number of patents.

요약:  SOA(Service Oriented Architecture) 기반 아키텍처 스타일은 CIM(Common Information Model, 공통 정보 모델)과 결합될 때 복잡해집니다. 그 이유는 현실적으로 디자이너가 통합을 위해 추가 데이터 요소를 포함하는 것부터 서비스 컴포넌트별로 비즈니스 논리를 수행하는 데 필요한 요소를 포함하는 것까지 다양한 이유로 CIM을 확장할 필요가 있기 때문입니다. 그런 확장이 핵심 CIM에 미치는 영향을 이해하면 관리하기 쉬워집니다. 이 글에서는 핵심 CIM인 확장된 CIM과 관련된 측면들을 논의합니다.

원문 게재일:  2010 년 8 월 24 일
난이도:  중급 영어로:  보기 PDF:  A4 and Letter (143KB | 10 pages)Get Adobe® Reader®
페이지뷰:  1125 회
의견:  


개요

확장된 CIM의 두 가지 형태

확장된 CIM은 결국 두 개의 계층(1 - 더 약한 CIM, 2 - 가장 약한 CIM)으로 분류될 수 있다. 각 계층은 다른 카테고리의 요소를 호스트하고, 고유한 특성을 가지며, 서로에게서 분리되어야 한다.

산업별 공통 정보 모델(CIM)을 결합하는 SOA 기반 아키텍처 스타일을 사용하여 서비스를 작성할 때, CIM을 확장할 필요가 있다. 이는 CIM이 추상적이고 대부분의 경우 직접 구현에 적합하지 않아 속성, 오브젝트, 관계, 운영, 인터페이스 레벨 등에서 확장이 필요하기 때문이다. 이는 곧 일반적인 SOA 기반 환경에는 핵심 CIM과 확장된 CIM이 있다는 뜻이다. 확장된 CIM은 차례대로 더 약한 CIM과 가장 약한 CIM으로 양분될 수 있다. 각 계층은 시작점의 자체적인 카테고리를 소유하고, 고유한 특성이 있으며, 따로 유지 관리되어야 한다. 서비스에는 일반적으로 이들 세 계층 모두의 엔티티가 포함될 수 있다.


공통 정보 모델(CIM) 계층 소개

아래의 그림 1은 CIM 기반 SOA 환경 내부의 다양한 계층을 나타낸 것이다. 각 계층에 묘사된 거품은 그 계층으로의 시작점이다. 시작점을 통해 이전 계층 중 어떤 계층에든 액세스할 수 있지만, 해당 계층은 특정 카테고리로 한정되고 위에 있는 다음 계층에만 얽매이지 않는다. 이후 섹션에서는 각각의 시작점을 자세히 설명한다.


그림 1. CIM 계층
CIM 계층

CORE CIM 계층

핵심 CIM(CORE CIM) 계층은 통신 산업에서는 TeleManagement Forum의 공유 정보 데이터(SID) 모델, 금융 산업에서는 속성 및 관계와 함께 추상 엔티티를 포함하는 IFW라는 IBM 금융 서비스 모델과 같이 업계에서 처음 발표한 모델로 구성된다.

CORE CIM의 특성

  • 이 계층은 다소 정적이지만, 디자이너가 차이를 거의 식별할 수 없는 상황에서 이 계층을 사용자 정의할 수도 있다.
  • 데이터 정의 누락, 고유한 이름 ID가 누락된 것이 차이일 수 있다.
  • CIM 모델과 같은 모델에서 서비스 스펙의 생성을 지원하는 도구는 이것을 별개의 기본 계층에서 유지 관리함으로써 확장 계층/서비스 운영 계층에 대한 시작점을 허용해야 하지만, 향후 버전의 기본 계층을 바꿀 수 있도록 이 계층을 분리해야 한다.
  • 시작점은 핵심 CIM 오브젝트, 오브젝트의 속성, 관계, 오브젝트의 인터페이스를 통해 액세스 권한을 제공한다. 더 약한 CIM은 이런 모든 카테고리에 대한 액세스 권한을 얻을 수 있지만, 가장 약한 CIM 및 서비스 계층은 고유의 인터페이스가 있거나 없는 상태에서 핵심 CIM 오브젝트/관련 인터페이스에 대해서만 액세스 권한을 얻을 수 있다. 핵심 CIM 오브젝트에 대한 액세스 권한을 얻는 전형적인 예로 다음과 같은 것들이 있다.
    • TMF 지정 SID에서 더 약한 CIM가 GeographicAddress 오브젝트(핵심 CIM)의 "AddressDetails" 속성을 통해 구조화되지 않은 주소 사용(아래의 그림 2 참조)
    • 아래의 그림 3에 나타낸 것처럼 RetrieveAddressDetailsRequest에서 서비스 운영 액세스 또는 주소(핵심 CIM) 오브젝트에 대한 응답 사용
    • 예를 들어, 그림 4에 나타낸 것처럼 TransactionIdentifier 및 System 세부사항 등을 포함하지만 서비스 운영을 통해 연결되는 TransactionDefinition 오브젝트와 같은 통합을 위한 요소(가장 약한 CIM)에 대한 액세스 사용. (주: 위 예에서 설명한 것처럼 복잡한 요소가 아닌 경우 가장 약한 CIM에는 기본 요소가 포함될 수 있음)

그림 2. GeographicAddress
GeographicAddress

그림 3. RetrieveAddressDetailsRequest
RetrieveAddressDetailsRequest

그림 4. TransactionDefinition
TransactionDefinition

더 약한 CIM 계층

이 계층에는 존재에 대한 순수한 비즈니스적 의미를 전달하는 확장된 CIM 엔티티가 포함된다. 모델러는 항상 서비스 인터페이스에서 이들 요소의 표현을 시각화하고 비즈니스 관점에서 달리 보증하지 않는 한 포함하지 않고 잘 추상화된 용어를 통해 이들을 더욱 명확히 표현할 필요가 있기 때문에, "비즈니스적 의미"라는 말을 강조한다.

더 약한 CIM은 다음 엔티티를 포함할 수 있다.

  • 속성
  • 오브젝트
  • 관계
  • IFW와 같은 모델의 인터페이스 및 메소드 레벨

더 약한 CIM의 특성

  • 이 계층은 동적이며 대부분의 확장된 비즈니스 관련 엔티티를 포함한다.
  • 지원 도구는 이 계층을 따로 유지 관리해야 하지만, 서비스 운영 계층을 위한 시작점을 허용해야 한다.
  • 시작점은 오브젝트, 메소드, 서비스 운영을 위한 인터페이스를 통해 액세스 권한을 제공한다. 다음은 액세스 권한을 얻기 위한 일반적인 예제다.
    • 아래의 그림 5에 나타낸 것처럼 서비스 운영 "SearchPhoneNumberRequest"에서 TelephoneNumber 오브젝트에 대한 액세스 사용.

그림 5. SearchPhoneNumberRequest
SearchPhoneNumberRequest
  • 서비스 운영을 위한 메소드를 통한 액세스 사용은 아래 그림 6에 표시되어 있다. 이것은 IFW 모델에서 선택한 예제이며, 여기서 InvolvedPartyInformationMaintenance 서비스는 더 약한 CIM 계층에서 getPassportRegistrationInformation 메소드가 필요하다.

그림 6. getPassportRegistrationInformation 메소드
getPassportRegistrationInformation 메소드

가장 약한 CIM 계층

이 최종 계층에는 순수하게 통합 목적으로만 필요한 오브젝트, 속성, 인터페이스 및 메소드가 포함된다. 예를 들면, 메시지 헤더 관련 엔티티, 결과를 제어하기 위해 필요한 엔티티, 서비스 운영 연결 및 더 약한 CIM/핵심 CIM 계층이 있다. 이 최종 계층은 항상 하부의 더 약한 CIM 계층 및 핵심 CIM 계층과 공존해야 하지만, 서비스 운영을 통해 연결된다.

가장 약한 CIM의 특성

  • 이 계층 역시 동적이지만, 더 약한 CIM에 비해 성장률은 매우 낮다.
  • 이 계층의 목적은 순수하게 통합 및 제어 함수를 승격하는 엔티티를 보류하는 것이다.
  • 하부 계층을 추출하도록 하려면 도구를 통해 이 계층을 따로 유지 관리해야 한다.
  • 다음 예제에서와 같이, 시작점에서는 독립형 기본 요소, 오브젝트 또는 인터페이스와 메소드를 통해 서비스 운영에 대한 액세스를 허용한다.
    • 그림 7에 나타낸 것처럼 RetrieveAddressResponse 서비스 운영에서 컨트롤러 기본 요소인 "returnResult"를 통해 리턴할 결과 개수를 지정하여 액세스 사용.

그림 7. RetrieveAddressResponse
RetrieveAddressResponse
  • 아래 그림 8에 나타낸 것처럼 서비스 운영을 위해 TransactionDefinition(가장 약한 CIM 오브젝트)에 액세스할 수 있도록 ITransactionDefinition(인터페이스)을 지정하여 액세스 사용. (앞에서 설명한 바와 같이, 가장 약한 CIM은 그 자체로 존재할 수 없고 항상 하부 계층에 따라 존재 여부가 결정되지만, 서비스 운영을 통해 연결됨)

그림 8. ITransactionDefinition
ITransactionDefinition

결론

CIM 계층의 논리적 및 물리적 분리는 상위 계층에 의해 정의되는 시작점과 느슨한 결합을 통해 공격에 쉽게 견딜 수 있는 주 엔터프라이즈 에코시스템을 만들기 위한 SOA 기반 환경의 핵심 요소다.


참고자료

교육

제품 및 기술 얻기

  • 자신에게 가장한 적합한 방법으로 IBM 제품을 평가해 보자. 시험판 제품을 다운로드하거나, 온라인으로 제품을 사용해 보거나, 클라우드 환경에서 제품을 사용하거나, SOA Sandbox에서 SOA(Service Oriented Architecture)를 효과적으로 구현하는 방법을 배울 수 있다.

토론

  • My developerWorks 커뮤니티에 참여하자. 개발자가 운영하고 있는 블로그, 포럼, 그룹 및 위키를 살펴보면서 다른 developerWorks 사용자와 의견을 나눌 수 있다.

필자소개

Gandhi Sivakumar

Gandhi Sivakumar is IBM Certified Senior IT Architect and works on complex SOA based integration projects. Gandhi is a member of IBM Academy and leads many communities in IBM. Gandhi has a deep liking towards innovations and has filed a number of patents.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=SOA와 웹서비스
ArticleID=580263
ArticleTitle=SOA 기반 통합 환경에 있는 공통 정보 모델의 그늘
publish-date=08242010
author1-email=gandhis@au1.ibm.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.