Abstract
Software product line engineering is an approach to creating core assets by systematically exploits common that can be highly reusableand different characteristics in related system families that is domain. By adapting this approachin object and component paradigm, software productivity is extended. Recently, Software development paradigm is changed to service oriented paradigm which is using services that are core assets. Therefore, to develop service oriented software more flexible, systematic and to enhance business agility about business changes, we need adaptation of product line to creation of services that are core assets. In this paper, we propose an approach to create and specify domain service through combine of product line and service oriented paradigm. Domain service explicitly specifies commonality and variability by domain service common/optional property variability, operation type variability, message type variability. By using this approach, it can support efficient and flexible service oriented development by producing various services through customization of domain service for the purpose.
소프트웨어 프로덕트 라인은 일련의 관련된 시스템들, 즉 도메인 내에서 재사용될 가능성이 높은 공통된 부분들을 식별하고, 시스템마다 상이하게 나타나는 가변적 요소들의 분석을 통해 핵심 자산을 생성하는 방법이다. 이러한 프로덕트 라인 개념은 객체 및 컴포넌트 기반의 소프트웨어 개발 패러다임에 적용되어 소프트웨어 개발의 생산성을 증대시켰다. 최근 들어 소프트웨어 개발의 패러다임은 서비스라는 핵심 자산을 이용하여 소프트웨어를 개발하는 서비스 지향 패러다임으로 변화하고 있다. 따라서 이러한 패러다임하에서 비즈니스 변화에 민첩하게 대응하고, 체계적이고 유연한 서비스 지향 소프트웨어 개발을 할 수 있도록 핵심 자산인 서비스 생성 방법은 프로덕트 라인 기법을 적용시킬 필요가 있다. 본 논문에서는 서비스 지향 패러다임과 프로덕트 라인의 결합을 통해 소프트웨어 개발의 핵심 자산인 도메인 서비스를 개발하고 기술하는 방법에 대해 제시한다. 도메인 서비스는 도메인 서비스 공통적/선택적 속성 가변성, 오퍼레이션 타입의 가변성, 메시지 타입의 가변성을 통해 공통성과 가변성이 명확히 기술되도록 한다. 본 논문에서 제시하는 방법을 통해 유사한 기능을 가진 도메인 서비스를 목적에 맞게 커스터마이즈하여 다양한 서비스를 생성하게 함으로써 서비스 지향 개발을 유연하고 효율적으로 수행할 수 있다.