Component based technology is widely used for both academicians and business. There are numbers of benefits for using this type of technology. First, it helps to increase the efficiency and maintainability of software. Second, it improves quality and helps to enhance productivity. Third, the reuse approach that supports component based technology decreases the time to market. Component based e-commerce can be used to solve e-commerce difficulties at application level as well as at system level. This paper introduces how component based activities have effect mainly on building the framework of the e-commerce. It also discusses how the architectural design of the application can be synthesized.
Electronic commerce (e-commerce) defines the process of selling, buying and exchanging products, services and even information through networks. E-commerce can be defined from different points of view. For example, in the business view; it is defined as doing business electronically by completing all the services over electronic networks. Therefore, a broader definition for commerce, which is called electronic business, is used. In addition to buying and selling goods and services that are made by e-commerce, e-business includes servicing customers, collaborating with business partners [
In order to make e-commerce successful, we need to use a good paradigm for such type of applications. This paper describes managing such applications through component based paradigm. This type of paradigm provides companies with high speed applications to compete with others through the internet. This paper is organized as follows: Section 2 describes related works, and it also describes all authors who have worked on such area and then their works are compared to this paper. Section 3 defines component, Component Based Software Engineering (CBSE), as well as it shows the activities of CBSE. Section 4 describes the case study that is used in this paper. Section 5 shows the result. The discussion and conclusion are done through Sections 6 and 7.
Many researchers worked on building a model of component based e-commerce systems. Reference [
CBSE is an approach of software development which is based on reusing software components. For custom services, CBSE is an effective way to develop a new enterprise system. It has become the most important software development because software systems are becoming more complex and the customer needs a software that is delivered and deployed in short time. The only way to deal with this complexity is to reuse rather than to re implement software components[
A software component is an independent piece of executable software and is executed as a unit that is only accessed through their interfaces. Therefore, it must be possible to obtain details of their interfaces [
Any component has three main features [
• It is an independent part of a system that submits a specific function;
• It works in the framework of a specific architecture;
• Each component communicates with other component by its interface.
To ensure that component base run in an efficient manner, we must focus on second feature, the framework of the architecture, which is represented as layers.
CBSE is based on the reuse approach which must find and integrate reusable components. The main idea of the component-based activities is building systems from already existing components. Different models described the life cycle of CBSE, like Somerville’s model, models proposed by Kotany et al. and Y model. The general process aims to gather and evolve building blocks which are called components. This paper adopts Somerville’s model which follows the sequential approach [
• Outline requirements: In the beginning, the user requirements are developed in an outline rather than in detail. If the requirements are too specific, then the components that are going to be used to meet these requirements are very limited. As a result, the complete requirements need to be defined in order to define the components of the system.
• Refining and modifying the requirements: This is done early in the process, depending on the available components. During this stage the requirements of the component are analyzed and modified to reflect the available components. When it is impossible to modify components, the activity of component analysis may be re entered to search for alternative solutions.
• Architectural design: The architectural design of the system is built. A further search and refining design activity is done through this stage.
• Development: Is the integration of the discovered components. This includes tasks that adjusting components to their specific environment.
The above stages are the basic activities that distinguish CBSE from other software developments [
The main idea of the component-based activities is to reuse the available components rather than implementing them. For this reason the availability of existing components must be considered in the requirements and design phases.
This paper adopts Job Agency System (JAS) as a case study because of a large number of components introduced, it is one type of Business-To-Consumer commerce (B2C). This type of system is particularly serving technology oriented companies and workers because they use internet repeatedly. Many of job agencies are effective on the web, they used their own web pages to post their jobs, on the other side the job seeker put his resume. In spite of many advantages for job seeker such as finding jobs on a large number of jobs world wide, the main limitations are:
• The fact that many people do not use internet;
• Security and privacy.
From
One of the most common reasons for using component based technology in e-commerce applications is the concept of distribution i.e. components can be easily distributed through applications, like in shipping goods from one to another. Component based technology provides the best solution for building the structure of applications. The following section describes how component based activities are used to build e-commerce applications and how this type of paradigm affects delivering such type of products.
Extracting the product of e-commerce application from the methodology of the component based activities is shown in
• Specifying requirements is the phase that comes before the first stage of component based activities. In this phase we must specify the user requirements of the system. In requirement specification, we need a complete set of requirements in order to identify the components to reuse. Thus, the user and system requirements should be easy to understand, clear, unambiguous, complete and consistent.
• Outline system requirements is the first stage of component based activities. In this stage, a search for components is made in order to implement requirement specifications in the previous stage. Moreover, the type of system must be specified such as JAS is a one type of B2C commerce and non-functional requirements (set of qualities) must be specified too. The most important qualities that we want to achieve here are reliability, availability, and usability, which is the most essential quality since the user interface must be understandable and easy to navigate. As in
• Requirement modification is the second stage of the component based activities, in which the requirements are modified depending on the available components. If the user cannot be satisfied from the available components, then re-entered components must be used to search for alternative solutions and this is one of the main strong points in this activity. As in
• Architectural design is the third stage of the component based activities. The first step of designing the system is done through this stage. The architectural design synthesis of JAS case study is represented in
• Development (or integrated components) this depends mainly on suppliers which provide components according to their properties. Here the certification documents these properties. Reference [
Broker in
Because of the large number of jobs and resumes, the importance of intelligent agents appear. An Intelligent agent can be defined in this work as a software component which is capable to finish tasks on behalf of its user [
Presentation tier: It must contain the component that is responsible for the usability of the system. Job market catalogue, that contains a set of web servers, is stored here.
Application tier: This contains all the processing that is needed by the electronic market such as e-commerce transaction settlement. This tier is where the application’s
logic locates, so it is often known as business logic.
Data tier: Here is where the data are usually stored and retrieved. This tier can be either a relational database or an object oriented database.
The final product that produces from the final stage of life cycle must be with high level of quality because of the characteristics of integrated components which are:
• Standardization: The standardization of the component means that every component used in the activeties of component based must comply with a standard component model; this model may define the interface of the component, the composition with other components and the deployment of the component in the system. So because of this standardization the final product is with high quality product;
• Certification of the component: The certification supports users that made users decide weather or not the components are according with their requirements, the scheme of the certification provides product trust worthiness and flexibility attribute;
• Reuse approach: As a component technology supports reuse approach this decreases the time to market of the product.
E-commerce is the infrastructure of doing business. Because the categorizations are different from sell side to buy side in this type of application, managing the complexity is the most important thing to deal with. Dealing with complexity needs a paradigm to build that kind of applications. This paper shows how component based activities affect building such type of applications. Such paradigm provides companies with the speed and the agility that they need in order to be able to compete on the internet.