{'fraction_non_alphanumeric': 0.01529745042492918, 'fraction_numerical': 0.0022662889518413596, 'mean_word_length': 5.664150943396226, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Adaptive Component Paradigm for Highly Configurable Business Components

It is unlikely that a business component can always be reused as is, without configuration and customization. When change is needed, the current state of the art is source code modification (Ferguson et al, 2005). However, the ability to deliver wide reuse of components depends heavily on the capability to adapt components to the environment in which they are being used. To achieve this result, business components need to be designed and implemented having change in mind. By change, we mean change of the behavior of the component with out changing the code base of the component (customization with out programming). Thus, there is a need for adaptive component architecture that is generic, extensible, and dynamic in dealing with change of behavior so that the component can be reused in different environments. In order to satisfy these features, component architecture should have a mechanism for supporting and configuring itself to achieve customization without programming. This paper proposes reference architecture for software business component design and development based on adaptive component paradigm. Employing adaptive component paradigm for reference architecture helps in identifying component internal key abstractions and their relationships, which are repeatable and non-arbitrary, as constituent parts of business component. The proposed generic reference architecture for business components is designed using layered architecture pattern. The use of reference component architecture facilitates business component specification process by providing the initial sets of key abstractions and helps in reducing the cost of development as well as maintenance effort