(2) Componentization
Componentization is achieved not only through an ECL, but different
parts of the Business Processing Framework can be componentized as
well. This enables implementation of specific entity-driven or
process-driven functionality in one place.
For example, both the desktop store clerk application and the
e-commerce web site may require the use of a Customer class with a
(overloaded) Search function that enables the applications to retrieve
a customer by a combination first name, last name, email, member
number, Date Of Birth, phone number or even item last purchased. By
implementing the Customer Class in a Business
Class Library (BCL), we can enable Developer A and Developer B
working on the same use case in multiple applications to share one
implementation. Of course, this would also mean that when Impact
analysis is done on the BCL, changes might need to be propagated to
both applications. But that cost has almost always proven to be lower
than the cost of maintaining redundant implementations.