Title: PD99-????-????
1PD99-????-????
??4(??)
CBSE New Paradigm for the New Millennium
? ?
1999. . .
1999. 10 . 29 .
? ? ?
???-??????????
??????(??, ?)
2? ?
1. Introduction to CBSE
2. Application of CBSE to an Organization
3. Technologies Related to CBSE
4. Conclusions
3Introduction to CBSE
4Definition of CBSE/CBD/Componentware
- ??????? ???(?) ???
- ??? ??? ???? ?? ????? ??, ???? ? ??? ?????? ???
?? ??? ???? ?????? ???? ?? ???? ?????? ?? - ???? ?? ??? ?? ETRI
- ??? ???? ??? ????? ??? ??? ? ??????? ???? ???
?????? ???? ? ???, ??? ??? ?? ??? ????? ??? ?? - ? ???? ???? ?????, ?????, ????????, ?????, ????
? ????? ???? ????? ???? ??
5(No Transcript)
6Definition 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. -
7Components vs Objects
8Benefits of CBSE
- Faster production
- ????? ??? ???? ??? ??
- Better product
- ?????? ?? ?? ???? ?? ???? ????
- Cheaper cost
- ??? ??? ?? ???? long term? ?? ?? ?? ??gt
software component? ?? asset?? ??
9Application of CBSE to an Organization
10CBSE Processes and Methodologies
Comparison of Conventional and CBSE Development
Models
11CBSE Processes and Methodologies
CBSE Methodology
12CBSE Processes and Methodologies
- ?? CBD ???
- CBD 96
- Sterling Software? ???? COOLGen? ???? ?????
????? ????? ???? ?? ?? - ????? ??, ??, ????? ???? ?? ???? ?? ???? ?? ????
?? ?? Guideline?? ?? - ?? ????? ?? ?? ????, ???? ??? ???? ?? ??
- ???? ?????? ?? ??, ???? ?? ??? ??
- ???? ?? ??? ??, ???? ??
- ???? ?????? ?? ??, ??? ??(Naming Convention
Standards) ?? ??
13CBSE Processes and Methodologies
- ?? 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(CoolGen ???
?? ) - 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.)
14Component Business Model
15 Technologies Related to CBSE
16Domain Analysis Modeling
- ?? ?? ???
- FODA(Feature-Oriented Domain Analysis, Kang,
1990), FORM(Kang) - DSSA(Domain-Specific Software Architecture, Tracz
et al., 1993) - ODM(Organization Domain Modeling, Simos, 1995)
17Domain Engineering Output
18Software 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 of future systems an objective
representation of knowledge about the design and
plan of systems - A Picture of existing systems an objective
representation of knowledge that facilitates the
understanding of systems - A Roadmap about how to get there
- An objective representation of knowledge that
provides guidance and supporting elements of
practice - The captured knowledge is not about detailed
information of any application systems - Provides an environment framework to guide new
systems development according to certain defined
standards and rules
19The 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
20Stakeholders of a System
Marketing stakeholder
21Layered Architecture Model for the Specific
Domain of a Specific Organization
- Variants of a particular application system
(e.g., Digicash Cashier)
- Distinct application systems(e.g., ATM
Cashier, Payment, Invoicing)
Application Systems
- Application domain and organization
specific(e.g., Account Mgnt, Bank Customer Mgnt)
Business Specific
Middleware
- Platform-independent distributed object
computing(Java, HP ORB )
System Software
- Platform-specific(NT, TCP/IP)
22Example of Software Architecture
23Architecture Description Language
- 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.
24Component Modeling
- ???? ?? ?? ADL? Design rule? ?? ?? ?? ??? ??
checking? ???? formal? ??? ?? - ???? ?? ?? ADL ? UML
- Domain specific ADL? ??? component? design? UML?
?? - UML? extension
- ADL UML ?? gt 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 as 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?? ??? ??
25Component Description Model
Provide Interface
Component
CORBA Object
Require Interface
Management Interface
Component
Component
CORBA Object
CORBA Object
26???? ?? ??
- 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???? ??(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(compatibil
ity)? check?? ?? Management interface? ??
28Component Adaptation
- Adaptation(Dynamic Re-configuration)
- Watching some events of interest generated
internally or from the environment 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???? ?? ??
- ?? ?? ?? How to extract reusable components
from existing systems - 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 wrapper)? ?? - Design recovery, Software architecture(ADL) ?? ??
30???? ??
- ???? ??? ???? ??
- Operate a rating system by users
- Produce an evaluation demo version
- ???? ??, ??, ??, ??? ?? ?? ??? Portal Site ???
??? - ???? ?? ??? ???, Usage-Based Billing System
- Commercial Component Sites
- ltJavaBeansgt
- 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) system - ltActiveX/OCXgt
- ActiveX.com(http//www.activex.com) ActiveX
Based - ObjectTiger(http//www.objecttiger.com)
- ltVarious Components from Various
Architecturesgt - Componentsource(http//www.componentsource.co.uk)
Business Component Request Center
31Conclusions?????
32Characteristics 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?? ???? ???? ?? ?? ??