Example instance of that meta-model is a leave
processing system where employees can apply for
leave. Meta-model elements are high level abstract
concepts such as user, role, form User Interface and
business object.
We have encountered the design issues for
business end-users such as need for a corporate
information repository, common log in facility for
all the applications with in the organization, sharing
user attributes between different applications,
separate the development tasks at granular level of
aspects and application portability. In this paper we
discuss how we address these design issues in the
hierarchical meta-model to support the development
of business web application. In section 2 we discuss
the solutions to the design issues and section 3
presents the hierarchical meta-model. In section 4,
we discuss the logical architecture of Component
based CBEADS
©
framework that supporting the
meta-model. Section 5 reviews the related work and
section 6 concludes the paper.
2 SOLVING DESIGN ISSUES IN
META-MODEL
A business organization has systems in place for
proper operation of the organization. We develop
web based information systems to support these
systems to get the competitive advantages. Similar
to organization holding the systems we develop a
shell to hold the applications that are supporting the
system. In other words the shell becomes the
container for the applications. We view an
application as a collection of functions. For example
the leave processing application can have functions
such as apply leave, approve leave, view leave
history, etc. Functions deliver the functionality the
users expect from an application. In the following
sub sections we discuss how we solved the above
mentioned design issues.
2.1 Corporate Information Repository
In a business organization we need to maintain a
common data repository. This will avoid duplication
of data which is a problem in having stand alone
applications. It is required to manage the integrity of
data for efficient use of information. We also need to
facilitate sharing the corporate data between
different applications to achieve efficient use of
information. That means applications with in the
shell need a common repository of objects.
During the development time we create/modify
the business object definitions and relationships with
in the application. But these business objects are
stored at the shell level. Therefore all the
applications with in a shell can use the same
business object thus avoiding any duplication. The
application that created the business object becomes
the owner of that. Other applications can use the
business object. They can extend the business object
by adding more attributes. But they can’t
delete/change existing attributes. Shell/Application
becomes the name space for the business objects.
The central repository also helps to manage the data
easily. Therefore the data management operations
such as back up, recovery are available at the shell
level.
2.2 Common Log in to All Applications
Once a user log in to a system he/she should be
authenticated to all the functions which he is
authorized to access. This helps to use their time
efficiently. Having all the applications with in a
shell, it facilitates to maintain a common login. The
basic user object has user name, password name and
e-mail address at this level. Name and e-mail
address are used by the shell to communicate with
user. For example, if user request for password
retrieval it needs to be happened at the shell level
and the shell uses the e-mail address to communicate
with the user. User object is a special type of object
with predefined template consisting of basic user
attributes such as user name, password, first name,
last name and e-mail.
2.3 Optimised User Model
Sometimes applications may want to record other
attributes for the users. For example, in the leave
application we may need to record the department of
the employee to route the leave application correctly
to his/her head of the department. That means we
have to record head of the department for employee
users. These user attributes are derived from the
relationship “user plays the role of employee”. We
model the roles as groups. Similar to different
applications sharing objects we may want to share
the attributes at the group level. For example user
group employee and head of the department both
may need to record the attribute “department”. Same
time if a user becomes a member of both groups we
want to use the same attribute value to minimize
data entry and to avoid inconsistencies.
SOLVING DESIGN ISSUES IN WEB META-MODEL APPROACH TO SUPPORT END-USER DEVELOPMENT
299