Software Components

HomeComponents LinksComponent-based Software Development (CBSD)Desktop Computing

Component Technology

The days of large, monolithic software systems are fast moving into oblivion. The pace of software development becomes aggressive with development cycles reduced drastically. The current trend favors a short-term development process where large and complex applications are being built using a series of smaller parts, referred to as components. Component technology is the next step in the evolution of software design and development. It is strongly associated with Object technology, though this association is not necessarily an accurate one. Here is an explanation of what is all about components and their usefulness. The area of component technology has spawned a slew of new buzz-words, some of them are confusing.

What is a component

Future systems shall be developed by assembling co-operative software units. These units need not necessarily originate from the same vendor, but will conform to a standard interface for units offering their respective functionality. Assembly of such units will be aided by use of tools which will extract self descriptive information from these units. Delivery of such an assembled system will involve the deployment of these units configured appropriately. These units may be delivered on any platform. Such software units are known as components.

Components are typically business objects that have predefined and reusable behaviors. Implementation detail is hidden in the interfaces, which isolate and encapsulate a set of functionality. Interfaces are the means by which components connect. An interface is a set of named operations that can be invoked by clients. More importantly, well-defined interfaces define the component's entry points, and a component's accessibility is done only via its interface. In a component-based approach, providers and clients communicate via the specification of the interface, which becomes the mediating middle that lets the two parties collaborate and work together.

In summarizing, we have the following:

  • A component is an independent, application-level software unit that is developed for a specific purpose and not for a specific application. Components are self-contained, pluggable abstract data types. They are of large grained entities. Component assembly (application development) is concerned with high level domain experts rather than programmers. Programmers will be responsible for component construction and the fabrication of components for use would be accomplished by component assemblers.

  • Components are accessed through well-defined interfaces. A component's interface serve as the access points to its functionality. These interfaces may be implemented by objects internal to the component, if the component developer so desires. But interfaces may be implemented by a non-OO language.

  • Only a single instance of a component exist per system. If there are more than one client accessing the functionality being provided by the component, different object references may be distributed to those clients. An object reference is a handle to an object in a component which implements an interface.

  • Component comprised systems will typically feature components from different vendors. Components will be interoperable by conformance to industry standard interfaces

  • Components are platform-independent

  • Components will be encapsulated and modular. Their internals may utilize inheritance for implementation reasons. This fact will remain as an implementation detail, not visible to the component clients. Components can not be extended by inheritance.

Components and Objects

It is worth considering the relationship existing between components and objects. A component approach to software development builds upon fundamental constructs of object-oriented paradigms. Although the terms "component" and "object" are often used interchangeably, a component is not an object. An object is an instance of a class that gets created at runtime. A component can be a class, but is usually a collection of classes and interfaces. At runtime, a component becomes alive when its classes get instantiated. Therefore, at runtime, a component becomes a web of objects.

Their usage seems synonymous. While objects are well-suited for component construction, a non-OO approach to component construction is perfectly valid. The following explains how objects differ from components.

  • Components are large-grained entities, e.g. a payroll module. Objects are fine-grained entities, e.g. a Person.

  • Components are accessed via well-defined interfaces. Objects are also accessed via interfaces. Thus the two are similar in this respect, but not identical. Components interfaces are based on industry standards, object interfaces are not. A component with a CORBA IDL interface is easily accessible from any language. An object implemented in C++ is not easily accessible from another language. Components need not use OO approach to implement their interfaces. The same is also true of objects. The objects often act as wrappers to non-OO-code.

  • Only single component instances will exist per system whereas multiple objects will exist per system. Components are more akin to Object factories which also delegate functionality to objects within the factory.

  • Component based systems will be made up of heterogeneous vendor components. Seamless integration is possible as components will be built to industry standard interfaces. Achieving the same with objects tends to be more difficult as objects are built to proprietary interfaces, thus can not be seamlessly integrate. Such integration is possible if the object interfaces are standard such as Java AWT.

  • Components will be runnable out of the box. Only Java objects on a system running a JVM can boast of this property.
  • Components can be encapsulated and non-extendable. Objects will be both encapsulated and extendible through inheritance. But inheritance may be misused and hence this is being avoided in components as component assemblers are experts in domain knowledge not on OO techniques.

Component Extraction from Legacy Software

There are a whole lot of exciting and robust components in the existing systems. Extraction of them and reusing for the purpose of building software applications is one interesting task. The other one is to build components from the scratch using component-based programming languages.

Component-oriented programming addresses the aspects of programming components. Component construction itself can be performed using arbitrary programming languages, as long as the language supports the particular component standard's interface conventions. Many programming languages such as COBOL, C, C++, Pascal, Smalltalk lack support for encapsulation, polymorphism, type safety or a combination of these. So nowadays Java is becoming the most favored programming language for building software components.

In the absence of existing legacy code, a component must be built from scratch. In this case, it makes sense to implement a component using an OO approach. However, it is often the case that legacy code providing similar functionality will be available somewhere.

The aim of components is to deliver better applications to the market in a shorter time. This is easily achieved through leveraging existing components. Thus the philosophy of component assembly is re-use. The philosophy for component construction remains the same.

Cialis ohne rezept aus deutschland

Cialis original Is viagra otc in usa ohne rezept aus deutschland.

Cialis 10 Pills 100mg $85 - $8.5 Per pill
Cialis 30 Pills 100mg $200 - $6.67 Per pill
Cialis 50 Pills 200mg $355 - $7.1 Per pill
Cialis 50 Pills 50mg $270 - $5.4 Per pill



TownsvilleQueanbeyanCanberraCialis Redcliffe
Cialis Kootenay BoundaryLismorePort MacquarieCapital
WeipaCialis NelsonCialis BallaratPort Pirie


Finasteride for female hair loss Sildenafil 25 mg price Divalproex sodium er generic


cialis original rezeptfrei in deutschland kaufen
cialis generika aus deutschland
cialis generika versand aus deutschland
cialis rezeptpflichtig deutschland
cialis günstig kaufen deutschland
cialis 5mg rezeptfrei kaufen in deutschland
cialis generika ohne rezept aus deutschland

  • Cialis in Gympie
  • Cialis in Overland park
  • Cialis in San jose
  • Cialis in New york
  • Cialis in Palmerston


Cialis and Adapalene cream price viagra from canada. It also contains some of the natural ingredients that are used in the treatment of condition. Why do cialis cialis generika ohne rezept aus deutschland cost so much? Cialis and viagra is one of those common drugs that is used on a daily basis to treat the common condition of erectile dysfunction. The prescription medicine and drug is widely available by its manufacturer. The same can be Drugstore sales tax california realized of cialis with Viagra which has proved to be an effective remedy since it has a relatively lower cost. Even though there is a good deal of competition among those who market these two drugs, you can find the cheapest cialis online at www.cialiscanada.com. can be purchased from different authorized pharmaceutical stores and health centers at a cost of about $15 month. You will need a prescription from your prescribed doctor to obtain a prescription and purchase cialis online at www.cialiscanada.com. In all cases, cialis can be bought from your pharmacy in the country and can be purchased for only $15 a month. You can also access Cialis from various online pharmacy at a discounted price. Therefore, the following is your advantage on buying price of cialis in Canada. You can access it online from any authorized retailer to purchase cheaper versions of cialis. Cialis brand names can be ordered through over the best cheap drugstore eyebrow pencil counter websites like www.onlinepharmacyjulescanada.com, www.ebay.com and the more you order cialis generika aus deutschland it, will get the discount price. There are times, most notably during a conversation about the ongoing battle over what kind of president Donald Trump is, that one must take a long, slow, hard look at the person sitting across table, to see if the person is actually a or rather an impersonation of a person. We all make mistakes, and I'm no different, but it's more challenging in a society that has so much information at our fingertips now to really be able assess someone's character and character, not feel as though one is watching a TV character. This, perhaps, is what has occurred when one peruses the early history books on Donald Trump. It's not that he is an impersonation of someone but that he is a character, an actor who has managed to turn a series of mostly hollow, empty speeches into one of the more entertaining campaigns in modern times. Trump's entire adult life, the first three quarters of it, he has been an uninteresting product of what appears to have been a series of one-man shows. Trump was the best of these shows. He was the most talented and entertaining one of them. He was also the most consistent. He didn't seem to drop off after the release of his reality TV show, Access Hollywood, nor after having announced his presidential candidacy. The Donald wasn't just only person with a reality TV show; he was the only one that consistently work