컴퓨터 소프트웨어 산업은 개발자가 비즈니스 오브젝트(BO) 정보를
캡슐화할 수 있는 여러 프로그래밍 모델과 프레임워크를 개발해 왔습니다. 일반적으로,
BO 프레임워크는 데이터베이스 독립성을 제공해야 하며, 엔터프라이즈 정보 시스템의
데이터 구조로 또는 데이터베이스 테이블로 사용자 정의 비즈니스 오브젝트를 명백히
맵핑시키며, 비즈니스 오브젝트를 사용자 인터페이스로 바인드합니다. XML 스키마는 최근에 비즈니스 오브젝트의 구조를 표현하는 가장 많이 활용되며 인정 받는 방법입니다.
도구 Perspective에서, WebSphere®
Integration Developer는 여러 도메인에서 여러 종류의 엔티티를 표현할 수 있도록 개발자에게 일반 BO 모델을
제공합니다. 개발 시, WebSphere Integration Developer는
XML 스키마로서 비즈니스 오브젝트를 표시합니다. 그러나 런타임 시 이러한 동일 비즈니스 오브젝트가 SDO의
Java™ 인스턴스에 의해 메모리에
표시됩니다. SDO는 IBM® 및
BEA System이 공동으로 개발하고 동의한 표준 스펙입니다. IBM은
비즈니스 오브젝트 내에서 데이터 처리를 용이하게 하는 일부 추가적인 서비스를 포함하여
SDO 스펙을 확장했습니다.
BO 프레임워크에 대해 설명하기 전에, 처리된 데이터의 기본 유형을 자세히 살펴보면
다음과 같습니다.
- 인스턴스 데이터는 스칼라 특성을 가진 단순한 기본적인 오브젝트에서부터
오브젝트의 복잡한 계층 구조까지 실제 데이터 및 데이터 구조입니다. 또한 이것은
기본 속성 유형, 복합 유형 정보, 카디낼리티(cardinality) 및 기본값의 설명과 같은
데이터 정의를 포함합니다.
- 인스턴스 메타데이터는 인스턴스 고유의 데이터입니다. 증분 정보는
변경 트래킹(변경 요약으로도 알려짐), 오브젝트와 데이터가 작성된 방식과 연관된
컨텍스트 정보, 그리고 메시지 헤더 및 바닥글과 같은 기본 데이터에 추가됩니다.
- 유형 메타데이터는 보통 대상 엔터프라이즈 정보 시스템(EIS) 데이터 열(예:
BO 필드 이름을 SAP 테이블 열 이름으로 맵핑)로의 속성-레벨 맵핑과 같이 보통 응용프로그램
고유의 정보입니다.
- 서비스는 기본적으로 데이터를 얻거나, 데이터를 설정하거나, 요약을 변경하거나
데이터 정의 유형 액세스를 제공하는 헬퍼 서비스입니다.
다음 표에서는 WebSphere 플랫폼에서
기본 데이터 유형의 구현 방법을 표시합니다.
표 1. 데이터 추상 및 해당 구현 데이터 추상 |
구현 |
인스턴스 데이터 |
비즈니스 오브젝트(SDO) |
인스턴스 메타데이터 |
비즈니스 그래프 |
유형 메타데이터 |
엔터프라이즈 메타데이터, 비즈니스 오브젝트 유형 메타데이터 |
서비스 |
비즈니스 오브젝트 서비스 |
IBM 비즈니스 오브젝트 프레임워크에 대한
작업
언급한 대로, WebSphere ESB BO
프레임워크는 SDO 표준의 확장입니다. 따라서 WebSphere ESB 컴포넌트 간에
교환되는 비즈니스 오브젝트는 commonj.sdo.DataObject 클래스의 인스턴스입니다.
그러나 WebSphere ESB BO
프레임워크는 기본 DataObject 기능성을 간소화하고 강화하는 여러
서비스 및 기능을 추가합니다.
비즈니스 오브젝트의 작성 및 처리를 용이하게 하기 위해,
WebSphere BO
프레임워크는 Java 서비스 세트를
제공하여 SDO 스펙을 확장합니다. 이들 서비스는 com.ibm.websphere.bo라는
패키지의 파트입니다.
- BOFactory: 비즈니스 오브젝트의 인스턴스를 작성하는 다양한 방법을 제공하는
키 서비스.
- BOXMLSerializer: XML 형식으로 비즈니스 오브젝트의 컨텐츠를
스트림에 작성하거나 스트림에서 비즈니스 오브젝트를 "확장(inflate)"하는
방법을 제공합니다.
- BOCopy: 비즈니스 오브젝트의 사본을 작성하는 메소드를
제공합니다("deep" 및 "shallow" 시멘틱).
- BODataObject: 변경 요약, 비즈니스 그래프 및 이벤트 요약과 같이,
비즈니스 오브젝트의 데이터 오브젝트 측면에 대한 액세스를 제공합니다.
- BOXMLDocument: XML 문서와 같이 비즈니스 오브젝트를 처리하게 하는
서비스에 대한 프론트 엔드.
- BOChangeSummary 및 BOEventSummary: 비즈니스 오브젝트의 이벤트 요약
부분과 변경 요약의 처리와 액세스를 단순화합니다.
- BOEquality: 두 개의 비즈니스 오브젝트에 동일한 정보가 들어 있는지 여부를
판별할 수 있게 하는 서비스. deep 및 샐로우(shallow) 등식 둘 다를 지원합니다.
- BOType 및 BOTypeMetaData: 이들 서비스는 commonj.sdo.Type의
인스턴스를 구체화하며 연관된 메타데이터를 처리하게 합니다. 그런 다음, 비즈니스 오브젝트
"by type"을 작성하기 위해 유형 인스턴스를 사용할 수 있습니다.
- BOInstanceValidator : 비즈니스 오브젝트의 데이터가 XSD에 따르는지 여부를
알기 위해 유효성 검증합니다.