1 why component based development (cbd) ?...
TRANSCRIPT
1
Why Component based Development (CBD) ?Why Component based Development (CBD) ?องค์�ประกอบในการพั�ฒนาระบบสารสนเทศเพั��อการจั�ดการองค์�ประกอบในการพั�ฒนาระบบสารสนเทศเพั��อการจั�ดการ
• Business Needs
• Component Maturity
• Market Trends
• Benefits from CBD
2
Meeting the Challenges of Meeting the Challenges of ee-Business -Business ++
Factor e-Business challenge Main CBD feature
Time to market
There are rapidly shrinking windows of opportunity.
Assembly process provides time to market of e-business solutions.
Business fit There is a need to reflect, integrate and rethink business processes.
Architectures are used that mirror business needs and establish business fit. Techniques integrate business and software modeling.
Quality Raises the stakes for software quality. Specification guidelines. A provisioning process for engineering of quality software.
Cost saving There is a need to reduce costs, be competitive and exploit niche markets.
Techniques for component reuse result in long-term cost savings.
Adaptability Subject to rapid changes in business processes.
Components can be reused in ‘plug and play’ fashion in different business contexts.
Consistency Greatly increases the need for consistency of services presented to the global village.
Interface-based approach that encourages consistency.
Integration Pressure increases to purchase treadmill software and leverage previous IT investments.
Evolutionary process helps in legacy migration.
3
History of S/W DevelopmentHistory of S/W Development
ChaoticDevelopment
StructuredDevelopment
Object-OrientedDevelopment
Component-BasedDevelopment
Functional decompositionFunctions with arguments, andResults.
Modeling problem domain,Encapsulating data andfunctionality
Reduces coupling. AbstractedInterfaces, framework andBusiness code distinction
Software Product Line , Dynamic Software Architecture, …
Not revolution,But evolution.
4
The Evolution to Components in the IndustryThe Evolution to Components in the Industry
• B, Bleeding edge is a phase in which a few visionary organizations start to work out certain concepts and apply them, having to create new technologies from scratch or use existing technologies in a very unusual.
• L, Leading edge is a phase in which there is industry support for a new technology, but the right way to use this technology is still known to only a few organization.
• M, Mature is the phase in which the knowledge of a new approach is largely available and the supporting technologies are stable.
1970 1980 1990 2000 2010
Structured programming
B L M
Object-orientation
B L M
Distributed objects/systems
B L M
Component-based dept.
B L M
Pascal, Ada,
COBOL, RPG,
Structured
methodologies
C++, Eiffel,
OOA/D
(Booch, OMT,
Objectory)
CORBA2.0,
OpenDoc,
ActiveX, DCOM,
UML
CORBA3.0,
EJB, DNA,
XML, e-commerce,
Business component
approach
5
Characteristics of The Other Mature IndustryCharacteristics of The Other Mature Industry
• Build-to-order• The manufacturing process is based on assembly of predefined parts to
provide customized products according to the specific wishes of a customer within a predefined product framework.
• Third-party parts market• In a mature industry, often a thriving third-party parts market exists, where all
the parts are built to well-defined specifications and architectures. There are companies that focus on building high-quality and low-cost parts, rather than products.
• Maintenance by part substitution• When a part breaks, it is cheaper and easier to substitute the whole part
rather than fix the issue.
• Supply chain• The costs of manufacturing are only a small part compared to the overall
costs of the supply chain. Successful businesses are able to reduce the costs of the whole supply chain, including manufacturing but also covering aspects such as distribution.
6
CBD MaturityCBD Maturity
• What is required for CBD to move from a LLeading-edge to a MMature approach?
Federation
development kits
Solution
evolution kits
Component frameworks
& assembly
Solution
development kits
Component
development kits
Ability to build individual components efficiently
Ability to build solutions in new domains efficiently
Ability to adapt existing solutions to new problems efficiently
Ability to evolve installed solutions efficiently
Ability to integrate and evolve sets of solutions efficiently
7
Consume Activity vs. Maturity of ComponentConsume Activity vs. Maturity of Component
Maturity of Component Base
Con
sum
e A
ctiv
ity
Development
Assemble
8
Butler’s CBD Maturity LevelButler’s CBD Maturity Level
Component Based Programming
Component Based Analysis
Programmer Led
ProjectLed
Enterprise Initiative
Components are GUI controlsActiveX, or JavaBeans components are used to implement client applications
Components are Implementation conceptProgrammers/designers structure code implementation as components
Components are business conceptAnalysts model business concepts as components
Components are reusedAd-hoc reuse of components across projects
Components are enterprise standard
Enterprise-wide agreement on components
CBD Maturity Fully implemented in component technologies
1
2
3
4
5
6
9
Mapping Maturity Level to Consume ActivityMapping Maturity Level to Consume Activity
Maturity of Component Base
Con
sum
e A
ctiv
ity
Development
Assemble
1&2 3 4 5 6
10
Component Market in the WorldComponent Market in the World
2000 2001 2002 2003 2004 2005 annual
growth
rate
Software component
585 714 903 1,187 1,578 2,145 29.7%
Component
development
tool
953 974 1,095 1,363 1,708 2,164 17.8%
Application server
2,186 3,860 6,544 10,716 16,916 25,969 64.0%
Component-based SI
Total 3,724 5,548 8,542 13,266 20,202 30,278 52.1%
(unit: $ 1 million)
IDC, 2001/ 07
11
CBD Strategy in USACBD Strategy in USA
• "PITAC(Presidential Information Technology Advisory Committee) Report"
• R&D investment for CBD: design, basic research
• Construction of s/w component library
• NIST(National Institute of Standard and Technology) : CBD Project• CASE and Methodology for CBD
• Technology for promoting component reuse
• Expansion of market for component s/w
• Industry• MS, Sun, IBM, Sterling Software, Castek, CaseMaster, MTW etc.
12
CBD Strategy in EuropeCBD Strategy in Europe
• Software Component for the Industry(SCI) project• Improving productivity & quality of IT industry by software component policy
• Application domain: information & communication, energy, etc,...
• Technology and CASE for component registration & maintenance, component search & assemble
• Component quality evaluation & certification
• NATO's component technology standardization• Standard for component development process
13
CBD Strategy in JapanCBD Strategy in Japan
• CBOP(Consortium for Business Object Promotion)• 115 companies (as of Oct. 31, 1999)
• Sterling Software(currently CA), Hitachi, NEC, Toshiba information Systems, NTT Data, ...
• Goal • to change software development paradigm, • information sharing on network computing,• easy installation of integrated application packages• provide infrastructure for EDI, EC
• Pascal Consortium• Provide application solution using PASCAL standard components
• Pattern-based development: Sterling Software COOL:PLEXTM
14
CBD Strategy in KoreaCBD Strategy in Korea
• National Project• Objective
• Construction of Component Bank(2,000 business components)• Development of CBD technology• Development of infrastructure supporting CBD technology(distribution, price etc)
• Period• 1999. 7 ~ 2002. 6(3 years)
• Budget• Total 27.2 million US$• Government(MIC): 20.5 Million US$• Industry : 6.7 Million US$
• Participants: Research Institute, Universities, Industries
• KCSC(Korean Consortium for Software Component Promotion)• 118 Companies and 25 Personal Members(Sep. 19, 2000)
• cooperate with CBOP in Japan and CSCC(Chinese Software Component Consortium)
15
Project PlanProject Plan
KCSC establishment
(1999. 7 ~ 2000. 6)
Component development
(2000. 7 ~ 2002. 6)
Component Bank operation
(2002. 7 ~)
•Foundation of consortium
•Develop component system architecture
•Develop domain component specifications
•3 domains
•Analyze component utilization requirement
•component cost model•component distribution•related regulation
•Mainly sponsored by government(80%)
•Construction of public component bank
•Implementation of component utilization environments
•Extend component domain•5 domains
•Promote user group
•Increase number of consortium members
•Sponsored by government & members(50:50)
•Technology transfer
•Commercialize component bank
•Extend component domain•9 domains
•Independently operated by KCSC
•fully sponsored by members
Phase I
Establishment
Phase II
Development
Phase III
Operation
16
Benefits of CBDBenefits of CBD
• Speed of Response to Change
• Better Development Approach
• Exploit Emerging Technology
• Integrate Bespoke/Package/Legacy
• Re-Use
17
Benefits of CBD – Cont’dBenefits of CBD – Cont’d
• Speed of Response to Change• Plug and Play
• Isolation of Business Rules
• Better Development Approach
• Exploit Emerging Technology
• Integrate Bespoke/Package/Legacy
• Re-Use
18
Benefits of CBD – Cont’dBenefits of CBD – Cont’d
• Speed of Response to Change
• Better Development Approach• Parallel development
• Better risk management
• Higher productivity of smaller teams
• Exploit Emerging Technology
• Integrate Bespoke/Package/Legacy
• Re-Use
19
Benefits of CBD – Cont’dBenefits of CBD – Cont’d
• Speed of Response to Change
• Better Development Approach
• Exploit Emerging Technology• Distributed Computing
• Adaptive/Scalable Systems
• Integrate Bespoke/Package/Legacy
• Re-Use
20
Benefits of CBD – Cont’dBenefits of CBD – Cont’d
• Speed of Response to Change
• Better Development Approach
• Exploit Emerging Technology
• Integrate Bespoke/Package/Legacy• Finer Grained Decision Making
• Buy and Build and Wrap
• Re-Use
21
Benefits of CBD – Cont’dBenefits of CBD – Cont’d
• Speed of Response to Change
• Better Development Approach
• Exploit Emerging Technology
• Integrate Bespoke/Package/Legacy
• Re-Use• Reduced Time to Delivery
• Reduced Development Costs
• Increased Productivity
• Greater Consistency in Usage