Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.

Similar presentations


Presentation on theme: "Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly."— Presentation transcript:

1 Component Technology

2 Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly to maintain and risky to extend with additional functionality Applications are monolithic – consisting of a single binary file – prepackaged with wide range of features, most of which cannot be upgraded independently

3 Challenges Facing the Software Industry Applications are not easily integrated – data & functionality of one application are not easily available to other applications, even if the applications are written in the same language and running on the same computer

4 Solution – Component Architecture Solution lies in breaking the software into reusable “Components” A Component is like a mini application, which comes as a binary bundle of code, that is compiled, linked and ready to use Monolithic application is replaced with custom components that connect with each other at run-time to form an application

5 Solution – Component Architecture For example, a component might be a spell checking feature sold by one vendor that can be plugged into several different word processing applications Modifying or enhancing the application is a simple matter of replacing one of these constituent components with a new version Application remain no more static entity, instead it evolves gracefully over time as new components replace older ones

6 Component Benefits Application Customisation Component architecture lends itself to customisation as each component can be replaced with a different component that better meets the needs of the user Helps evolution of application as new components replace the older ones

7 Component Benefits Rapid Application Development Component architecture facilitates rapid application development, by choosing components from a component library and snap them together to build application

8 Component Benefits Distributed Components With increasing bandwidth, the need for applications composed of parts spread over a network is going to increase Component architecture simplifies the process of developing such distributed applications

9 Component Benefits Client/Server applications have already taken first step towards a component architecture by splitting into two parts – client part and server part Making a distributed application out of an existing application is easier, if it is made of components, as the application is already divided into functional parts that can be located remotely

10 Component Benefits The distributed application can contain a component that has a sole purpose of communicating with a remotely located component, thereby rendering the application completely independent of where actual components are located

11 What makes Components so useful? The advantages of using components result directly from their ability to dynamically plug into and unplug from an application In order to achieve this capability, components must meet two requirements First, components must link dynamically Second, components must hide (or encapsulate) the details of how they are implemented

12 What makes Components so useful? Dynamic Linking The ultimate goal is to provide the facility to replace the components in our application while the application is still running. Support for changing components at run time requires the ability to dynamically link components together

13 What makes Components so useful? Encapsulation Encapsulation is a crucial condition for dynamic linking To replace an old component in a system with a new component, it is necessary that the new component must connect in the same manner as the old component or else atleast a recompile, if not a rewrite will have to be done

14 What makes Components so useful? To achieve encapsulation, Components connect to each other through interfaces Interface isolate implementation details of the component, thus changing a component has no effect on the rest of the application

15 How Things are Achieved? The Component Object Model (COM), which is the underlying specification, meets all the requirements for component architecture COM is a standard which specifies how to build components and how components talk to each other

16 COM Components Components written to COM specifications are refered to as COM components COM Components consist of executable code distributed either as dynamic linked libraries (DLLs) or as executables (EXEs)

17 COM Components COM components meet all the requirements for a component architecture COM Component are fully language independent Can be shipped in binary form Can be upgraded without breaking old clients Can be transparently relocated on a network Announce their existence in a standard way using COM’s publication scheme


Download ppt "Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly."

Similar presentations


Ads by Google