A Distributed Application-Oriented Development
Framework Based on Resource Management
Hua Zhou
Yunnan University, Kunming, China
[email protected] Hongji Yang
De Montfort University, Leicester, England
[email protected]
• Relations between users can be one managed
Abstract by the other or one collaborates with the
other. For information resources, a user can
More and more resources are becoming available be a supplier, a receiver or both.
to users as the techniques of distributed systems • A framework for managing resources should
are being developed. How to manage these be in place before switching on the Intranet so
resources may be a key to offering the users all the that information can flow smoothly and
potentials of a distributed system. The paper information resources can be ustilised
proposes an approach to not only managing the efficiently. The model for developing such a
resources but also providing a platform for users framework can be built on workflow.
to develop their applications with the available • Workflow for an Intranet should be
resources. determined by the configuration of the
Intranet and it should be changed
conveniently. Measures should be employed
1. Introduction to ensure that the workflow works according
to the plan.
An important issue for future distributed
computing is how to manage resources in Based on these considerations, we propose to view
distributed systems. As computer networking has resources from a new angle or assign a new
developed to the present status, resource sharing meaning to the word “resource” in our approach.
can be conducted in many ways. However, sharing Our new definition is as follows. A resource is
resources does not seem to appear in an organised both a carrier and a collector of information. We
way currently. For example, in an organisation, believe that in our framework, an organisation, a
users’ PCs are connected to an Intranet and they member of the organisation, a department of the
may access the Internet as well through certainly organisation and even the classification of the
arrangement. What resources do users need? organisation should all be viewed as resources. In
What is a suitable framework for the organisation this way, the proposed framework will provide an
to manage all the resources? Here are the issues to overall solution to the development of distributed
be considered: system based applications, where an integrated
platform can be built for application caring,
application execution and application
• A member in an organisation has a position
enhancement.
and a relation with other members, where
position indicates the right to accessing
resources and relation indicates the degree of 2. A Distributed Application-Oriented
closeness between users and communication Development Framework
methods. As an application-oriented framework, we aim to
• The position of a user in a computer network achieve that an application developed on the
is normally determined by the user’s job title, framework will provide an efficient collaboration
which may change from time to time. Usually, between the system and the user, and between a
the managing director in an organisation user and another user. The key component in the
enjoys the highest level of right to resources framework is the Application Server (Figure 1),
and so does the network manager who whose features are:
manages the network technically.
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE
Web Server Language: PHP, ASP, JSP
Development Tools
Application Tools
Client Application
Web Client Language: Perl, VB
Script, JAVA Script, etc. Application Caretaker
Coding Language: C++, Delphi, etc. Application Enhancement
DBMS
Containers
Sybase Application Interface
Oracle File Container
MsSQL, etc. App. Container
Query Container
ADO
BDE Application Server
ODBC
Figure 1. Architecture
• being convenient to receive and manage programming languages, e.g., Delphi, Perl, VB
information from inside the system (Intranet) Script, Java Script, etc., and mix-language
and from outside (Internet), programming at the Unit level.
• being convenient to upload and download
files, The source code written in these different
• being convenient to classify, identify and languages is in the form of unified and reusable
allocate rights to information, components. When these components have been
• being convenient to store/retrieve various compiled, application programs integrated by
resources efficiently and manage data in- these components becomes "macro lumps", which
depth, can be transferred to clients machines for
• being convenient to access currently popularly execution.
used relational databases (Sybase, Oracle, MS
Sqlserver, etc.) through industry-recognised 3. Key Techniques
database interfacing methods (ADO, BDE,
CORBA, etc.), To implement the above framework, the following
• being convenient to run application on techniques are crucial:
presently available platforms, such as
Windows, Linux, Unix, etc., and • Communication protocols between
• being convenient to enable future system components: a new protocol needs to be based
expansion for users, i.e., with a flexible user on the existing protocols to serve the
development interface. functions provided by the Application Server
discussed in Section 2. We call this protocol
As an important complement to the Application Multiple Resource Transfer Protocol (MRTP).
Server, a set of tool for managing resources in the MRTP refers to a number of commonly used
Application Server, e.g., Application Caretaker, is protocols, such as SMTP, POP3 and FTP,
needed, whose role is activate, classify and enhances the aspects in activating,
authorise resources. authorising, accessing and managing
resources, and also adds contents for
In order to support large future expansion, a multi- accessing and operating on databases.
functional interface and re-development tool set, Because MRTP can support applications
such as Application Enhancement, are also based on database operations directly, these
needed. Their functions include supporting several applications can run on any machine in the
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE
Database
Interface MRTP
Client
Application Servers
PSTN
DDN, X.25,
DBMS
ISDN, etc.
Container
Database
Interface MRTP
Client
Figure 2. Structure
network without installing client interfaces for definition and management, in particular a
the concerned databases on clients’ machines. system that meets the user’s own definition in
• Multi-tier and Midware: The Application an organisation.
Server can be designed in terms of Midware,
which mediates between "servers" and
"clients". This layer of midware can interpret 4. The Implementation
names for addresses in communication,
convert semantics at programming language
level and provide processing power for other When implementing the application-oriented
midware related logic operations, such as development framework, we designed an
synchronisation and data format conversions. integrated expandable computation platform that
Thus an Application server of this type can be can capture, compose and share network
installed on any machine in the network, resources. This platform also has the ability to
which can efficiently balance the load of manage and provide services in all levels. We
network in particular for an organisation who designed the platform to run on Windows
has a large network. 98/NT/2000, Linux, etc. The implementation is
• Reusable Component Base: An application accomplished in the following parts:
development interface and a reusable
component base are the two key things to the • Application Server: This server mainly
expandability of a system. Typically the implements providing the service of MRTP
components in the component base deal with protocol, in the environments of Windows
interface design, file processing, spreadsheet 98/NT/2000, Linux, etc. Technical issues
printing, image and graphics, multimedia and include storage and organisation of various
database accessing, which would cover the resources (structured data and unstructured
need of ordinary user applications. This base data), interfacing with other application
is the foundation of the proposed enhanced databases in the network and retrieval of data
development platform and is also the storage in any format. Therefore, the Application
for the “macro lumps” mentioned in the Server is equipped with functions of
previous section. managing databases, since there is structured
• Strategy for rights allocation: This is another data involved.
key issue to whether or not a system can be • Resource Container: This acts as a visual
approved by users. The allocation of rights server’s resource management tool for the
closely relate to the definition, allocation and Application Server, initialising the status of,
management of resources and therefore a organising, allocating rights to resource, as
good framework must have a systematically well as managing internal databases (Figure
considerable and flexible mechanism for right 3).
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE
Netcase Development
Mis1
Programing User Manager
Mis2
Group Manager
Resource
Mis3 Container Authorization
Sharing Organizing
…
Information
Building
Workflow Def.
Misn
Database Tables
Figure 3. Implementation
• Data Administrator: This tool is responsible item and to assign a user access right to a
for the administration of data communication data item.
between the Application Server and other • Client Application Platform: This user
application databases. Its functions are to interface enables users to access the
define interfacing with those databases and Application Server through MRTP protocol,
more detailed database operations such as for resource sharing and enables users to
definition, maintenance, copy, transfer and work together according to the workflow
backup of database tables and forms. agreed.
• Application Development: This tool is for
users to expand their application systems.
Currently, in the implementation of our 5. Future Consideration
commercial product, Netcase 2000, this tool
is named “Netcase Development” (Figure 3),
Currently used frameworks normally have the
which can support most of the commonly
following two problems: in one hand, the
used network development languages such as
information provider is not able to actively
VB Script, JAVA Script, Perl, etc. The
transfer information to the most needed users; on
applications developed under the mutli-
the other hand, a user finds it hard to locate the
language environment can use the Reusable
most needed information swiftly. Ideally people
Component Base and can be delivered
hope that the servers can provide information
through the network to the user end for
actively to users according to users’ need, i.e.,
execution.
information approaching users. We proposed to
• Visual Workflow Designer: This tool allows use agent techniques to achieve this in our
users to define workflow according to their approach. We treat an agent as an object, which
needs, to assign the status and flow direction consists of attributes, methods and events.
for a workflow node, to define the sheet used Attributes describe and store the internal status of
in the process of workflow operation and to agents; methods describe the responsiveness and
decide the flow direction based on the status processability; and events represent the behaviour
of the sheet. control system of the agents, which captures the
• Sheet Designer: This allows users to define appearance of the concerned events and activates
the format of data expression in any form, in corresponding methods according to the types of
particular, to assign an attribute to a data
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE
Figure 4. Interface
event status (while methods are being executed,
the internal attributes of agents may change References
constantly). Under the support of this technique,
all the events of requests can be captured by
[1]. Rob Armstrong, Dennis Gannon, Al
agents, which will then check the internal status of
Geist, Katarzyna Keahey, Scott Kohn,
the events and actively send needed information to
Lois McInnes, Steve Parker and Brent
users.
Smolinski, “Toward a Common
Component Architecture for High-
The described framework is being built presently.
Performance Scientific Computing”,
While we are improving our approach, we aim to
Eighth IEEE International Symposium on
develop the agents to possess more cognitive
High Performance Distributed
features such as knowledge, belief and intentions,
Computing, 1998.
and a user-friendly human machine interface.
[2]. Alan Brown, Kurt Wallnau, A
Framework for Systematic Evaluation of
6. Related Work Software Technologies, IEEE Software,
September 1996.
While world-wide networks make distributed [3]. A. Brown and K. Wallnau, The Current
computing ever so promising, they also bring State of Component-Based Software
many issues for future distributed computing. Engineering (CBSE) IEEE Software,
Among these issues, high-performance September 1998, pg. 37-47.
architecture [1, 5], distributed object computing [4]. Mani Chandy, Joseph Kiniry, Adam
[4, 6], frameworks [2, 7, 9] and component based Rifkin and Daniel Zimmerman, “A
development (CBD) [3, 8, 10] are on the top of Framework for Structured Distributed
most-wanted list. As seen in the references, people Object Computing”, Dr. Dobb’s Journal,
are attempting to address these issues separately. It No7., 1997.
is our view that it is time to address all these issues [5]. Geoffrey Fox and Wojtek Furmanski,
in an integrated environment. “Java based High Performance
Distributed Computing -- An Evolving
Virtual Machine”, IEEE Confernce
HPDC-5, Syracuse NY, 1996.
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE
[6]. Cris Kobryn and Hernán Astudillo,
“Methods for Distributed Object
Computing”, position paper, OOPSLA ’96
Workshop on Methodologies for
Distributed Objects, 1996.
[7]. Jim Northey, “Easing the Transition to
Distributed Computing Environments
Using Object-oriented Application
Frameworks”, Proceedings of
Association For Information System,
USA, 1998.
[8]. Robert Seacord, Scott Hissam and Kurt
Wallnau, “Agora: A Search Engine for
Components”, IEEE Internet Computing,
November/December 1998.
[9]. Evan Wallace, Paul Clements, Kurt
Wallnau, “Discovering a System
Modernization Decision Framework: A
Case Study in Migrating to Distributed
Object Technology”, IEEE International
Conference on Software Maintenance,
Monterey, CA, 1996.
[10]. Kurt Wallnau, Ed Morris, Peter Feiler,
Anthony Earl and Emil Litvak,
“Engineering Component-Based Systems
with Distributed Object Technology”,
International Conference on Worldwide
Computing and Its Applications,
Tsukuba, Japan, 1997.
Authorized licensed use limited to: Escuela Superior de Ingeneria Mecanica. Downloaded on June 03,2025 at 03:56:01 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Eighth IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’01)
1071-0485/01 $17.00 © 2001 IEEE