Home   About   Contact 
 Ecommerce Overview 
 Business Activities 
  Market Research 
  Online Marketing 
  Search Engine Marketing 
  Online Storefront 
  Online Payment 
  Order Fulfillment 
  Customer Support 
  Web Design 
  Application Development 
  Web Hosting 
  WebSite Monitoring 
  Internet Security 
 Business Law 

Component Based Application Development


Approaches of software development fall into 3 broad categories. At one end is product development. The assumption of this approach is to develop flexible software that can accommodate the needs of wide variety of organizations. Software product is aimed to sell hundreds, if not thousands. The implication is that the products will not accommodate 100% needs of every potential customer. The success of this business model is dependent on volumes of sales, not revenues from a few customers. At other end is custom development. Each application is built around one business problem for one particular client or business unit. However, applications in many organizations share great deal of common functionality while maintain noticeable differences. Neither product development nor custom development offer a cost-effective solution for organizations' business needs. Organizations have been consistently struggling with the soaring cost and the complexity of Information System development.

After years of success and failure in a wide variety of industries, IT professionals have realized that cost of developing application is only a small part in the entire life cycle of system development, majority of cost occurs at application maintenance and evolution stages. It is relatively simple to write an application, but it is a challenge to integrate applications and continuously add new functionality to the existing applications.

To address the complexity and ever changing nature of Information Systems, and to cut cost of application development, Component Based Application Development (CBAD) has emerged as a promising solution. The concept was incepted decades ago, but it is the maturity of component technology particularly EJB technology, made it widely spread.

CBAD views a complex system as a group of components collaboratively working together to solve particular business problems. A component is an autonomous unit through entire System Development Life Cycle (SDLC). A component is a unit of modeling, a unit of coding, a unit of testing, a unit of deployment, and a unit of project management.

A component is autonomous at all layers of application (UI, application and database layers). The most significant development is always at the middle tier (application layer). Components interact with each other by well-defined interface, independent of implementation. Within a particular application, a component can be replaced (deployed) without impacting the behaviors of the entire system. Components can be re-used across many applications or systems.

Related Topics
Software Configuration Management - Version Control, Build, Release Management and Process Control
Software Testing - Unit Testing, Integration Testing, Regression Testing, System Testing and User Testing
Software Testing Procedures
Web Application Development Methodologies
Web Application Development - Programming Languages


Copyright © 2003 insightin.com. All rights reserved.