2006/04/21 21:46 Developer

Business Object

비즈니스 로직과 workflow에서 비즈니스 데이터를 분리한 것입니다.

business object는 유즈케이스에서 사용되는 비즈니스 데이터입니다.

domain object도 같은 뜻으로 사용됩니다.

business object의 persistenncy를 관리하는 방법은 여러가지 있습니다.

장점
-. 물리적 저장소는 관계형 데이터베이스를 사용하는 경우라도, 비즈니스 데이터가 객체 모델로 정의됩니다.
-. 데이터를 검증하고 조작하는 로직이 한군데서 관리됩니다. 따라서, 코드 중복이 없고, 필요한 여러 곳에서 재사용됩니다.
-. 중복코드 방지로 유지보수성이 좋아집니다.
-. 비즈니스 데이터 로직이 persistency로직과 분리됩니다.
-. 비즈니스 서비스 로직에서 데이터 로직과 persistency로직을 분리함으로 어플리케이션이 서비스 중심으로 정의됩니다.

단점
-. 너무 많은 비즈니스 로직이 business object에 정의될 경우, business object가 너무 커질수 있습니다.

정리
비즈니스 로직은 많은 데이터를 필요로 합니다. 데이터를 조작하는 로직을 포함하는 비즈니스 로직은 비즈니스 로직과 비즈니스 데이터의 결합도를 높입니다.

비즈니스 로직에서 물리적으로 저장된 데이터 모델을 직접 접근하여 사용하는 것은 데이터 소스와의 결합도를 높이는 결과를 나타냅니다.

비즈니스 로직을 담당하는 business service객체에서 비즈니스 데이터에 대한 접근, 관리 로직을 분리해서 정의하는 객체가 business object입니다. 단, 물리적 저장에 관련된 로직은 business object에서 분리해서 따로 정의합니다.

business object 모델은 물리적으로 저장되는 데이터 모델과 다를 수 있습니다.
business object모델은 business service를 구현하기 위한 비즈니스 로직에서 필요한 객체와 그들의 관계를 정의한 것입니다. 따라서 물리적으로 저장되지 않는 객체도 정의됩니다.

business object를 구현하는 방법은 일반 자바객체로 구현하는 방법과 엔티티빈을 사용하는 방법이 있습니다. 또한 .business object 를 필요한 물리적인 데이터 모델로 전환하여 저장하는 방법도 여러가지가 있습니다. 엔티티빈으로 business object를 정의할 경우 business object와 물리적 데이터 모델이 동일한 경우는, 엔티티빈의 CMP를 사용하는 것이 적절하고, 다른 경우는 BMP를 사용하는 것이 적절합니다.
Posted by ologist
 TAG

블로그 이미지
ologist

공지사항

Yesterday191
Today135
Total34,707

달력

 « |  » 2012.02
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

최근에 받은 트랙백

글 보관함