제 목 1999... pd99- 부서번호 - 일련번호 ㅇㅇㅇ연구소 ( 본부, 부 ) 별표 4(...
TRANSCRIPT
ETRI Proprietary
제 목1999. . .
PD99- 부서번호 - 일련번호
ㅇㅇㅇ연구소 ( 본부 , 부 )
별표 4(국문 )
ETRI
CBSE: New Paradigm for the New Millennium
1999. 10 . 29 .
컴퓨터 - 소프트웨어기술연구소
ETRI
권 오 천
2 컴퓨터소프트웨어기술연구소 ETRI Proprietary
1. Introduction to CBSE
목 차
2. Application of CBSE to an Organization3. Technologies Related to CBSE4. Conclusions
3 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Introduction to CBSE
4 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Definition of CBSE/CBD/Componentware
▣ 소프트웨어산업 육성법 ( 안 ): 정통부특정한 기능을 수행하기 위해 독립적으로 개발 , 보급되고 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어의 단위
▣ 컴포넌트 산업 활성화 방안 : ETRI부품을 조립해서 제품을 만들어내는 것처럼 부품화 된 소프트웨어들을 조립하여 완성된 소프트웨어를 만들어낼 수 있는데 , 이러한 독립된 단위 기능의 소프트웨어 부품을 말함
※ 그룹웨어 패키지는 전자게시판 , 워크플로우 , 사용자인터페이스 , 데이터관리 , 전자우편 등 단위업무를 처리하는 소프트웨어 부품으로 구성
5 컴퓨터소프트웨어기술연구소 ETRI Proprietary
그룹웨어 패키지
사용자인터페이스컴포넌트
데이터 관리컴포넌트
워크플로우컴포넌트
전자게시판컴포넌트
워크플로우
전자 우편컴포넌트
전자 우편
데이터 관리
전자게시판
사용자인터페이스
6 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Definition of CBSE
▣ '99 ICSE CBSE Workshop◈ Executable◈ 3rd-party composable ◈ Has explicit interfaces◈ Conforms to a component model
▣ Clemens Szyperski (Component Software)A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to to third-party composition.
▣ Philippe Krutchen (Rational Software)A Component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces.
7 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Components vs Objects
Components Objects
Units of Deployment Units of Abstraction
Binary Language Specific
Easy to Compose Hard to Compose
No Inheritance Inheritance
Subject to Standards Standards
General Applicability Domain Specific
Business Functions Technical Slant
Implements Interface Instance of a Class
8 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Benefits of CBSE
▣ Faster production◈ 소프트웨어 개발의 자동화와 생산성 향상
▣ Better product ◈ 소프트웨어의 품질 향상 : 표준화와 다수 사용자의 변경요청
▣ Cheaper cost: ◈ 불특정 다수의 다회 사용으로 long term 에 걸쳐 많은 이익 발생
==> software component 를 기업 asset 으로 인식
9 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Application of CBSE to an Organization
10 컴퓨터소프트웨어기술연구소 ETRI Proprietary
CBSE Processes and Methodologies
Characteristics Conventional Model CBSE Model
Architecture Monolithic Modular
Components Implementation &White -Box
Interface & Black-Box
Process Big-bang & Waterfall Evolutionary& Concurrent
Methodology Build from Scratch Composition
Organization Monolithic Specialized: ComponentVendor, Broker &Integrator
Comparison of Conventional and CBSE Development Models
11 컴퓨터소프트웨어기술연구소 ETRI Proprietary
CBSE Processes and Methodologies
CBSE Methodology
12 컴퓨터소프트웨어기술연구소 ETRI Proprietary
▣ 현존 CBD 방법론◈ CBD 96:
– Sterling Software 의 프로덕트 COOL:Gen 을 사용해서 소프트웨어 컴포넌트를 명세화하고 납품하기 위한 표준
– 컴포넌트의 개념 , 이익 , 컴포넌트를 생성하기 위해 사용되는 개발 프로세스 등을 설명하지 않고 단지 Guideline만을 제공
– 표준 컴포넌트를 위한 납품 요구조건 , 고객에게 제공될 컴포넌트 명세 모델
– 컴포넌트 인터페이스를 위한 표준 , 컴포넌트 구현 모델의 표준
– 컴포넌트 실행 모듈의 표준 , 컴포넌트 문서– 컴포넌트 업그레이드의 관리 방법 , 명명법 표준 (Naming Co
nvention Standards) 등을 포함
CBSE Processes and Methodologies
13 컴퓨터소프트웨어기술연구소 ETRI Proprietary
▣ 현존 CBD 도구◈ Catalysis method: Component & Framework 기반의 소프트웨어
개발 , UML & OMG compliant.
◈ IBM SanFrancisco R1.4: + WebSphere(connecting server applications to the Web), + CBO ported as EJBs + Legacy Wrapper
◈ Sterling Cool Spex: Providing CBD96(Cool:Gen 기반의 표준 )
◈ SELECT Software Tools’ SCF(SELECT Component Factory): – SELECT Component Manager: Wrapping, Cataloguing & Searching
– SELECT Enterprise: Modeling & generating new components
– SCF supports industry standards: Microsoft Solution Framework, DCOM, EJB & CORBA
– SCF utilizes a model-driven approach centred on the UML
◈ Others: HOW(Riverton Software Corp), Uniface(Compuware Corp)
Fusion(Netron Inc.), Dynasty(Dynasty Technologies Inc.)
CBSE Processes and Methodologies
14 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Component Business Model
공급자• 공용컴포넌트개발자
• 상용컴포넌트개발자 사용자<사용방법에 따른 구분>
• In-house개발자• SI업체• Package개발자
<대가지불에 따른 구분>
•컴포넌트 구매 사용자•컴포넌트 License 계약사용자•컴포넌트 구독 사용자
컴포넌트컨소시엄
컴포넌트 뱅크 매니저
컴포넌트인증기관
유통업체
사용자 요구사항 제시표준제공
공급대가 수입
인증의뢰
품질 평가 및 인증
유통 수수료 수입
공급자 및 사용자 정보
컴포넌트 획득
컴포넌트 입찰 관리
사용대가지불
기업상용 BANK국가공용 BANK
컴포넌트 공급
. . . .
컴포넌트 뱅크 매니저 관리
필요한 컴포넌트 요구컴포넌트 입찰 응모
①②
③④
15 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Technologies Related to CBSE
16 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Domain Analysis & Modeling
▣ 영역 분석 방법론◈ FODA(Feature-Oriented Domain Analysis, Kang, 1990), FORM(Kan
g)
◈ DSSA(Domain-Specific Software Architecture, Tracz et al., 1993)
◈ ODM(Organization Domain Modeling, Simos, 1995)
17 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Domain Engineering Output
18 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Software Architecture
▣ Definition: The software architecture of a program or computing system is the structure of the system, which comprises software components, the externally visible properties of those components, and the relationships among them.
▣ Three critical roles of an architecture– A Blueprint Blueprint of future systems : an objective representation of knowledge
about the design and plan of systems
– A PicturePicture of existing systems: an objective representation of knowledge that facilitates the understanding of systems
– A RoadmapRoadmap about how to get there: – An objective representation of knowledge that provides guidance and supporti
ng elements of practice
– The captured knowledge is not about detailed information of any application systems
– Provides an environment frameworkenvironment framework to guide new systems development according to certain defined standards and rules
19 컴퓨터소프트웨어기술연구소 ETRI Proprietary
The Importance of Architecture
▣ To a project◈ vehicle for stakeholder communication◈ key to achieving system qualities◈ basis for development project structure
▣ To an organization◈ can be reused from project to project◈ forms a basis for product lines◈ is a foundation for new market entry
▣ To a community◈ standard models emerge for mature domains◈ is a basis for component markets
20 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Stakeholders of a System
Marketingstakeholder
Behavior,performance,
security,reliability!
Low cost,keeping people
employed, leveraging existing corporate
assets!
Low cost, timelydelivery, not changed
very often!
Modifiability!Neat features,short time to market,low cost, parity withcompeting products!
Ohhhhh...Architect
Developmentorganization’smanagementstakeholder
End userstakeholder
Maintenanceorganizationstakeholder
Customerstakeholder
21 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Layered Architecture Model for the Specific Domain of a Specific Organization
▣
System Software
Middleware
Business Specific
Application Systems
• Variants of a particular application system (e.g., Digicash Cashier)
• Distinct application systems(e.g., ATM Cashier, Payment, Invoicing)
• Application domain and organization specific(e.g., Account Mgn’t, Bank Customer Mgn’t)
• Platform-independent distributed object computing(Java, HP ORB + )
• Platform-specific(NT, TCP/IP)
22 컴퓨터소프트웨어기술연구소 ETRI Proprietary
1O rder Managem
ent
1Q uotation Managem
ent
1E nter
O rder Item Sales Order List
Quotation Item
M A005 L is t P rodt SVR
M A004 L is t C ust SVR
List C ustomer
P rodt
Lookup Quote
List F o reign C urrency
List Nation Tax Rate
SD250 Disp Item P RC Detail SVR
Add S O
U pdate S O
List SO
List P rodt
SD211 S O M aint SVR
1Return O rder
Management
SD401 RTN SO M aint
SVR
Lookup SO
Add RTN S O
1Approval Managem
ent
1Approval Q uote List
SD102 Quote Detail
SVR
SD103 L is t Quote SVR
Lookup DC
U pdate Quote S tatus
SD101 Quote
S tatus M G R SVR
SD101 Quote M G R
SVR
Lookup C ust R isk Rate
SO Item P rice Detail
1Pric ing C onfigurat
io
C ustomer List
Pric ing C onfigurati
oList
U pdate P rice P roc
L ist Sales Org
List D isc C ond Type
List Tax C ond Type
Add P rice P roc
P RC P roc C hange SVR
U pdate Quote
Add Quote Item
Add Quote Item P rice
Detail
Add Quote
U pdate Quote Item
List P rice C onfg
List C ust C ontact fo r
So ldto
L ist P rice C ond Type
C all Next P RC P roc
Name
U pdate P rice C onfg
List P rice P roc
Procedure Detail
P RC C onfg C hange SVR
SD213 L is t SO SVR
1MainMenu
SD210 Avail SVR
SD105 L is t Quote SVR
C OM 54 M anage
C ondition Type S VR
M A004 Lookup C ust
SVR
C OM 05 C heck Avail
o rder Amend
List C ust C ontact
Lookup P ersonnel
C OM 03 C heck Avail
O rder w/ Split Release
C ustomer C redit L imit
Release Quota
IVAC 1061 Release
Avail Quota
SD211 S O Lookup SVR
U pdate S O Item
Add S O Item G roup
SD211 S O S tatus SVR
U pdate S O S tatus
L ist C ust
L ist QuoteC OM 55 C heck
C redit L imit
Lookup C ust C ontact
Quote Item P rice Detail
Ho ld C ustomer C ridt L imit
Ho ld Quota
1C ustomer
Inquiry
C OM 52 C hange
Item P RC Detail SVR
P RC L is t SVR
Return Order List
SD219 S O Lookup fo r
RTN SO SVR
SD411 L is t RTN SO SVR
List RTN SO
IAVC 1071 Set C urrent Date Avail
Add S O Item P RC
Detail
U pdate S O Item P RC
Detail
Lookup SO fo r RTN
U pdate RTN SO
ID G enerato r
Lookup RTN SO
Lookup Quote
C urrency
Lookup Register Quotation
1SD105 List Q uote C LT
1MA005 List Prodt
C LT
1Price Detail
SD902 P ersonnel
SVR
C OM 53 M anage P rice Svr
SD901 Lookup DC
SVR
SD101 Quote
Lookup SVR
Example of Software Architecture
23 컴퓨터소프트웨어기술연구소 ETRI Proprietary
▣ ADL(Architecture Description Language) 의 종류– CMU 의 ACME & AESOP, ObjectTime 의 ObjectTime, etc.
▣ ADL 의 기능◈ Architecture Description(structural & behavioral) 을 위한 7 type
정의 : components, connectors, systems, ports, roles, representations, rep-maps.
◈ Syntax Checker
◈ Design Guideline Caption: to describe an architectural design of a specific domain along with components, connectors, etc.
▣ Architecture-focused DoD Software Technology programs ◈ STARS, CARDS, PRISM, DISA, SEI, DSSA, etc.
Architecture Description Language
24 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Component Modeling
▣ 컴포넌트 명세 방법 : ADL 의 Design rule 에 의해 어느 정도 명세의 자동 checking 이 가능하나 formal 한 명세도 가능
▣ 컴포넌트 명세 작성 : ADL 과 UML◈ Domain specific ADL 을 이용한 component 의 design 시 UML 의 사용
: UML 의 extension
◈ ADL + UML 기능 ==> Domain Specific Modeling Language 의 개발◈ Component Description Model: Chilvers’ Python
– Extension of CORBA IDL to add 3 keywords(Provide, Require, Management)
– Classification of component interfaces including QoS Spec(nonfunc Prop):– Provide: describes a set of interfaces that an object can provide to its environment. Given a
s a set of CORBA interface references.
– Require: a set of interfaces describing the dependencies of this object to its environment. Reference CORBA interfaces.
– Management: Require & Provide Interfaces 와 이들의 Behavior 를 view, add, remove, change 하는 방법을 정의
25 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Component Description Model
CORBA Object
CORBA Object
Component
Component
CORBA Object
Component
Management Interface
Require Interface
Provide Interface
26 컴퓨터소프트웨어기술연구소 ETRI Proprietary
컴포넌트 생성 기술▣ Component Architectures 조사 분석 : COM/DCOM, OCX/ActiveX, JavaBeans/EJB,
CORBA
▣ Component Execution Platforms 조사분석 : IBM Component Broker, MS Windows DNA, Oracle NCA, Sybase CTS/ACA
▣ 다른 platform 간의 연계 기술 ◈ wrapper/mapper 개발 : e.g., COM/DCOM 과 JavaBeans 연계 , JavaBeans 와
CORBA 와의 연계▣ 컴포넌트 인터페이스 기술
◈ IDL: describes interfaces provided by and used by an object.
◈ 컴포넌트 인터페이스 명세의 표준화 : CORBA/EJB/MS interface specification의 참조 또는 국내 컴포넌트 인터페이스 명세의 표준화
◈ IDL 의 예 : Orbix 2.2 IDL compiler
▣ 정형 명세로 부터 코드 생성 및 Domain specific IDL 개발
27 컴퓨터소프트웨어기술연구소 ETRI Proprietary
컴포넌트 조립 (Assembly/Composition)
▣ ADL 은 컴포넌트가 inter-operate 하기 위해 따라야 하는 reference model 로서 component composition 을 위한 language
▣ ADL: Ease the plug-and-play of heterogeneous components to build S/W
▣ An application is represented as a set of components that have fulfilled the required connections between Provide and Require Interfaces
▣ Composition 중에 composition 의 consistency(compatibility)를 check 하기 위해 Management interface 를 사용
28 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Component Adaptation
▣ Adaptation(Dynamic Re-configuration)◈ Watching some events of interest generated internally or from the enviro
nment and taking appropriate action to adjust to these new conditions.
◈ The Management Interface(MI) is in charge of all static & dynamic configuration of a component: adaptation rules must be defined according to Event/Condition/Action tuples.
▣ Types of Component Adaptation◈ Component adaptation(black box component): modifications as planned
by component developers (e.g., parameterization) and/or as supported by component technology (e.g., inheritance)
◈ Component modification(white box component): modifications not planned by component developers or supported by component technology
29 컴퓨터소프트웨어기술연구소 ETRI Proprietary
컴포넌트 추출 기술▣ 객체 추출 기술 : How to extract reusable components from existing s
ystems◈ Domain Analysis by domain experts
▣ PSDG(Post-State Dependency Graph, Pizz, Petius software): 정적분할과 동적분할 및 의미분할의 장점을 살린 코드분할로서 기존 코드의 분석 및 세그먼트화를 수행하여 재사용 컴포넌트를 추출 . 분할의 원리는 기존코드의 상태 종속성을 추적하여 그래프로 모형화한 후 조각화 (Clustering) 를 통해서
▣ Facade: a packaged subset of components, references to components▣ Component Wrapping 기술
◈ Software architecture, Facade 를 기반으로 extracted object sources 를 Clustering ◈ Clustered Components 에 Interface 를 정의하여 componentization
▣ Legacy Wrapping 기술◈ Legacy applications 과 Data 를 access 하기 위해 Wrapping tool(server-side component wrap
per) 을 이용 ◈ Design recovery, Software architecture(ADL) 기술 이용
30 컴퓨터소프트웨어기술연구소 ETRI Proprietary
컴포넌트 유통▣ 컴포넌트 인증의 대체적인 수단 :
◈ Operate a rating system by users◈ Produce an evaluation & demo version
▣ 컴포넌트 등록 , 검색 , 구독 , 청구를 위한 유통 시스템 Portal Site 운영의 필요성▣ 컴포넌트 청구 시스템 : 종량제 , Usage-Based Billing System ▣ Commercial Component Sites
<JavaBeans> EarthWeb, Inc. (http://www.gamelan): Called Gamelan, the official directory for Java, Java Focused EarthWeb, Inc.(http://www.jars.com): Called Gamelan, Rating Scheme of Components Webresource.net(http://www.webresource.net) Flashline(http://www.flashline.com): Beta Beans Available, Component Development Brokerage(Bidding) syst
em
<ActiveX/OCX> ActiveX.com(http://www.activex.com): ActiveX Based ObjectTiger(http://www.objecttiger.com)
<Various Components from Various Architectures> Componentsource(http://www.componentsource.co.uk): Business Component Request Center
31 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Conclusions
감사합니다
32 컴퓨터소프트웨어기술연구소 ETRI Proprietary
Characteristics of the Best Components
▣ Security, Licensing, Versioning, Life-cycle management
▣ Event Notification, Configuration and property management
▣ Scripting, Metadata and introspection, Concurrent control and locking
▣ Relationships, Ease of use, Self-testing, Self-installing
33 컴퓨터소프트웨어기술연구소 ETRI Proprietary
공용 컴포넌트 뱅크
컴포넌트 산업활성화 계획
수출 촉진
유통체제 구축
국내시장 활성화
전문업체 육성인력 양성
기술 개발 및 활용 환경 조성
컴포넌트 산업 활성화
기반기술확보 유통기술 확보
내수 기반 조성전략 분야별
컴포넌트 발굴
컴포넌트 수요조사 분석
국내 컴포넌트 활성화를 위한 추진 전략