veryard projects - innovation for demanding change

Components and Services

veryard projects > service orientation > components
component-based service engineering myths more
top-down design

v

bottom-up design
components without SOA

v

SOA without components
components and SOA
If everything is now services, we can forget all that stuff about objects and components, right?

Anyway, component-based development is just modular programming, right?

Loose coupling results in component chaos. Much safer to bind all your component into a nice monolithic application.

Full article by Richard Veryard on Component-Based Service Engineering (CBDi November 2003)

Strange article from Thoughtworks on Component Chaos (pdf)


veryard projects - innovation for demanding change

Top-Down versus Bottom-Up

veryard projects > service orientation > components > top-down bottom-up

Top-Down Design

v

Bottom-Up Design
Approach Driven by User Goals (e.g. Use Cases)
  • Presentation Layer > Application Logic Layer > Resource Management Layer
Functionality divided systematically between components
Implications Interdependent components
  • components cannot operate standalone
  • tight coupling
Limitations Suitable for greenfield developments. (Limitations can be mitigated by the use of patterns, such as GoF.)
Approach Driven by constraints of available functionality
  • Resource Management Layer > Application Logic Layer > Presentation Layer
Services created by wrapping existing lumps of functionality (pseudo-components)
Implications Loose coupling

Components can operate standalone.

Limitations Suitable for legacy integration
components without SOA
SOA without components
more Component-Based Service Engineering (CBDi November 2003)

veryard projects - innovation for demanding change

Components and/or SOA

veryard projects > service orientation > components > and/or SOA

components without SOA
Potential benefits Software solutions developed rapidly from existing components

Economies of scale achieved from reusing available components

Choice of different components yields some pre-implementation flexibility.

Potential pitfalls Components are permanently assembled into applications - easy to plug, not so easy to unplug

Lack of post-implementation flexibility

v

SOA without components
Potential benefits Services developed rapidly from existing applications and packages

Opportunities for reuse and Economies of scale achieved from reusing available components

Choice of different components yields some pre-implementation flexibility.

Potential pitfalls Components are permanently assembled into applications - easy to plug, not so easy to unplug

Lack of post-implementation flexibility

components and SOA

The true potential of components and SOA only really comes when you have both of them.
 
Components assembled with loose coupling and dynamic recoupling.
Coherent service interfaces supported by flexible component-based applications.
Service-based approach applies both inside and outside the application.
Scalable and flexible on-demand solutions.

more Component-Based Service Engineering (CBDi November 2003)

veryard projects - innovation for demanding change veryard projects > service orientation > components
Page updated November 21st, 2003
Copyright © 2003 Veryard Projects Ltd 
http://www.veryard.com/so/components.htm