COMPONENT ARCHITECTURE EXAMPLE DEFINITIONS: Services: Collections of tasks performed to support multiple applications. Logical basis for reuse. Components: Software units that provide services or application logic. Physical basis for reuse. Framework: Container that provides interface to components, process templates and some services. Interfaces: Defined protocols for accessing services. Architecture: A structure that combines frameworks, services, components, and interfaces. Business Objects: Software unit that combines business data and business logic Application: Software written to satisfy specific business process requirements RELATIONSHIPS: Services can be provided by one or more components working together. Components can also provide access to legacy services. Components can be reused in one or more frameworks. Frameworks can be extended by layering. Frameworks can be components in larger frameworks Interfaces can be implemented by one or more components. Components can implement one or more interfaces. Components can contain more than one business object. Components can be extended by composition Business objects can be shared by many different components. Business objects can be extended by inheritance Applications should use services provided by frameworks and components. ----------------------------------------------------------------- EXAMPLE: An example of the architecture-based approach is the use of reusable services, components, frameworks, and business objects in Web applications. In the simplified example below this is illustrated by using a generic business process (Internet boat purchase) to derive potentially reusable elements. SERVICES: These business services are reusable across multiple applications. There will also be infrastructure services required such as security and transactions. Configure boat Service Interface Protocol – Retrieve a boat template Enter parameters Submit request for evaluation Receive approved configuration or errors Correct errors. Display Service Interface Protocol – Submit a correct configuration Receive a display of the boat Price a boat Service Interface Protocol – Submit a correct configuration Receive a price quotation Negotiate price based on trade-offs Locate a boat Service Interface Protocol – Submit a boat description Receive a boat ID and Dealer ID or location Locate a dealer Service Interface Protocol – Submit a dealer ID Receive a dealer location Contact a dealer Service Interface Protocol – Submit a dealer ID Receive dealer contact information Contact dealer Obtain credit Service Interface Protocol – Submit financial information Obtain credit approval Order a boat Service Interface Protocol – Submit an order Receive confirmation COMPONENTS: To provide each of the services above, it will be necessary to build groups of components. Some examples of the groups are below. There may be multiple components performing similar functions based on diversity in areas such as boat models or geographical region. Configure boat components: Boat template manager Boat configuration evaluator Display boat components: Configuration to display mapper Display file processor(e.g. decompression, streaming etc.) Display user interface Price a boat components: Configuration to price mapper Locate a boat components: Boat ID to location mapper Locate a dealer components: Dealer ID to location mapper Contact a dealer components: Dealer ID to contact information mapper Dealer contact tool Obtain credit components: Financial data evaluator Order a boat components: Order processor BUSINESS OBJECTS: Boat template Boat configuration(= filled-in template) Boat display Boat ID Boat location Dealer ID Dealer Locations Boat order FRAMEWORK: The choices for frameworks could be an application server that can support Java and/or ActiveX interfaces. Some possibilities include Netscape’s Application Server, Microsoft MTS, IBM’s Transaction Server,NetDynamics, Bluestone’s Sapphire Web, and WebLogic’s Tengah. These products do not currently support process templates but this is a natural next step. INTERFACES: The choices for the basic components include include CORBA objects, COM components or Java Beans. The service interface protocols can be created in a scripting language such as Visual Basic or JavaScript. ARCHITECTURE: The choice of possible frameworks and component architectures should be an enterprise decision. Multiple applications can be created by different combinations and extensions of the components within the framework structure.