ACTIVE DECLARATIVE INTEGRATION RULES FOR DEVELOPING DISTRIBUTED MULTI-TIERED APPLICATIONS

Susan D. Urban
Suzanne W. Dietrich

Contact Information
Susan D. Urban
Department of Computer Science and Engineering
Arizona State University
Tempe, AZ 85287-5406
Phone: (480) 965-2784
Fax : (480) 965-2751
Email: mailto:s.urban@asu.edu
Suzanne W. Dietrich
Department of Computer Science and Engineering
Arizona State University
Tempe, AZ 85287-5406
Phone: (480) 965-2786
Fax : (480) 965-2751
Email: mailto:dietrich@asu.edu

WWW PAGE: http://www.eas.asu.edu/~irules

List of Supported Students and Consultants
Amy Sundermier, Industry Consultant
Ying Jin, Ph.D. Student
Yinghui Na, Ph.D. Student
Akash Saxena, M.S. Student

Project Award Information
Award Number: IIS-9978217
Duration: 1 October 1999 - 31 September 2002
Title: Active Declarative Integration Rules for Developing Distributed Multi-Tiered Applications

Keywords: active database systems, declarative rule languages, distributed object computing, distributed rule processing, component integration

Project Summary
Although there are tools that allow access to information and data from distributed sources, there is a strong need to develop a semantic layer on top of such tools to deal with the challenging requirements of applications built from distributed software components. This research is investigating the design of an integration rule language and the development of a middle-tier, rule-processing framework for the integration of distributed, black-box components. Integration rules are active, specifying how objects react to events, and declarative, specifying the conditions under which the defined action should be executed. The rules are used within an integration framework that encapsulates the processing logic associated with the interconnection of distributed components. A user interface allows the user to graphically specify the processing logic, which is automatically translated into the appropriate integration rules. Integration rules are executed within a rule engine, which is designed to build on the recognized strengths of distributed object computing with CORBA (Common Object Request Broker Architecture) and the Java programming language. The expressiveness and use of integration rules are evaluated by case study comparisons of integrating components using imperative code versus the use of integration rules. The development of such a rule-processing environment has an immediate relevance to the integration of distributed applications, such as electronic commerce, engineering design and manufacturing, and Web-based applications, in general. This integration framework provides a rapid approach to the construction of multi-tiered applications that separate processing logic from client and data sources.

Goals, Objectives, and Targeted Activities
The primary objective of this research is to investigate the middle-tier, rule processing technology necessary for the use of declarative, active rules in the integration of distributed, black-box components. The intended use of our proposed rule processing technology is for the specification of application rules and processing logic in the development of component-based applications for client/server environments, where the granularity of the components can range from an object to an entire system. Achievement of this objective requires the investigation of the following sub-objectives:

1. Development of a declarative rule language for specifying rules that involve communication between distributed components. Active rule languages for centralized environments must be re-evaluated in the context of distributed objects to develop a rule language with features that are appropriate for distributed communication. Current object standards should be used to construct a declarative approach to the specification of rules that is independent of specific programming environments but cognizant of distributed processing issues.

2. Development of a semantic framework for the construction of intelligent components that use the rule language to capture processing logic for distributed applications. We will investigate the development of an environment that supports the use of declarative rules as the means for specifying processing logic, thus providing a dynamic and flexible approach to the construction of meaningful application components for distributed objects. This environment will involve the use of graphical techniques for specifying application components, with appropriate meta-data support for capturing such specifications.

3. Development of a middle-tier architecture that exploits the integrated strengths of CORBA and Java for the execution of rules in distributed environments. We will build on CORBA's strength for distributed object computing, as well as Java's strength for code portability, to create a rule engine for distributed objects. We will investigate the use of CORBA services, such as event notification, transaction processing, and concurrency control, for construction of the rule engine. We will also exploit the use of Java for portability in the execution of rule conditions and actions.

4. Demonstration and evaluation of the proposed rule processing technology in the context of a specific component-based application. We will demonstrate the usefulness of our approach for the integration of distributed, black-box components in the context of a specific application. We will also evaluate the use of declarative rules as an integration tool as well as the performance of the rule execution environment.

Indication of Success
We have just started work on this grant. Upon completion of this research, we anticipate producing the following results:
1. The design of a rule language for the integration of distributed software components, together with the associated meta-data and execution semantics for such rules.

2. The development of a graphical approach to the construction of the processing logic of application objects that builds on the use of integration rules. Our results will define the meta-data required for the specification of application objects and the translation of the associated processing logic into integration rules. We will also provide evaluation results on the use of integration rules for the construction of application objects.

3. The development of an integration rule engine that builds on the combined strengths of CORBA and Java for distributed object computing. Our results will provide event and transaction processing techniques for integration rules as well as techniques for mobility and dynamic binding in the execution of such rules.

Project Impact
This research is significant due to the growing needs of advanced applications that require fast integration of components from distributed sources. Due to the Internet, as well as standards such as CORBA and languages such as Java, distributed object computing has become a reality. Although these tools provide the mechanisms for accessing distributed data sources, there is a strong need to develop a semantic layer on top of such tools to adequately deal with the requirements of applications that must be built from distributed software components. We believe that active, declarative integration rules provide the necessary semantic layer to support the requirements of such applications, thus providing a rapid approach to the construction of multi-tiered applications that separate processing logic from client and data sources.

GPRA Outcome Goals
Our research will contribute to discoveries in science and engineering in two major ways. First of all, our research will define declarative rule language features, metadata, and rule language evaluation techniques that are useful for the successful integration of software components in a distributed environment. A second contribution is that our research will address architecture and rule processing issues that are critical for the successful use of active rules in a distributed environment. These results will establish connections to society by extending and applying existing database and distributed object computing tecniques to provide a rapid approach to software integration in complex applications such as manufacturing, electronic commerce, and competitive intelligence. Our results will also contribute to a diverse, globally-oriented workforce through the students that will complete graduate degrees as part of this project.

Project References

[Ayyaswamy99]

Kalyan Ayyaswamy, The Design and Implementation of a CORBA-Based Environment for Distributed Constraint Maintenance, M.S. Thesis, Department of Computer Science and Engineering, Arizona State University, Summer 1999.

[Jin00]

Ying Jin, An Investigation of Techniques for Distributed Interconnection of Software Components, Independent Study Report, Department of Computer Science and Engineering, Arizona State University, to be completed Spring 2000.

[Na00]

Yinghui Na, Active Rule Languages, Independent Study Report, Department of Computer Science and Engineeing, to be completed Spring 2000.

[Saxena99]

Akash Saxena, Distributed Computing Using Java and CORBA, Independent Study Report, Department of Computer Science and Engineering, Arizona State University, Summer 1999.

[Urban00]

Susan D. Urban, Kalyan Ayyaswamy, Lorena Gomez, and Suzanne W. Dietrich, "An Architecture for Active Rule Processing in a Distributed Environment," journal paper in preparation, 2000.

[Urban00]

Susan D. Urban, Suzanne W. Dietrich, Amy Sundermier, Ying Jin, Yinghui Na, "The Use of Active Rules in a Distributed Environment: Language and Execution Model Issues," conference paper in preparation, 2000.

Area Background
Active database technology transforms passive database systems into reactive systems that respond to database and external events through the use of rule processing features [Buchmann95; ACT-NET96]. The HiPAC project is generally considered to have developed most of the concepts currently found in active database prototypes [Dayal96]. Active database technology can be used to maintain database constraints, to maintain materialized views, to notify users of specific conditions or events that occur, or to control workflow activities within a database application. Several research prototypes exist, investigating active rule technology in both relational and object-oriented domains [Widom96]. Limited versions of active rules also exist in commercial database products through the use of triggers.

Research issues for active database systems have focused on the development of active rule languages and the specification of execution models that define the semantics of rule execution [Simon95]. Architectures for active environments have also been investigated, ranging from built-in rule processing components to layered approaches that add active capabilities to passive database systems. Other research has focused on the development of tools to assist the active rule designer in understanding termination and confluence properties of active rules. An overview of several major research prototypes of active databases in both relational and object-oriented domains can be found in [Widom96; Paton99]. Active rule technology is now being extended to distributed computing environments [Bultzingsloewen99], which provides the most potential for collaboration with other related projects within IDM.

Area References
[ACT-NET96] ACT-NET Consortium, "The Active Database Management System Manifesto: A Rulebase of ADBMS Features, ACM SIGMOD Record, vol. 25, no. 3, Sept 1996.
[Buchmann95] A. Buchmann, J. Zimmerman, J. Blakeley, D. Wells, "Building an Integrated Active OODBMS: Requirements, Architecture, and Design Decisions," Proceedings of the International Conference on Data Engineering, Taiwan, 1995.
[Bultzingsloewen99] G. Bultzingsloewen, A. Koschel, P. Lockemann, H. Walter, "ECA Functionality in a Distributed Environment" in [Paton99], 1999.
[Dayal96] U. Dayal, A. Buchmann, S. Chakravarthy, "The HiPAC Project," in [Widom96].
[Paton99] N. Paton (editor), Active Rules in Database Systems, Springer Verlag, 1999.
[Simon 95] E. Simon and A. Dittrich, "Promises and Realities of Active Database Systems," Proceedings of the 21st VLDB Conference, Zurich, 1995, pp. 642-653.
[Widom96] J. Widom and S. Ceri, Active Database Systems: Triggers and Rules for Advanced Database Processing, Morgan Kaufmann Publishers, San Francisco, 1996.