Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Improve Business Agility of Legacy IT System · COBOL records can be associated with logical names. Hence one can deposit or extract a COBOL record from the context container via logical name. A logical name can also be linked to a XPath. This allows the update and retrieval of a COBOL re- cord in the context tree. as a parameter, or executing a set of deci- sion logic to generate a new event for the transition to the next state. In our framework, we provide a Prolog like rule based engine to process business rules. Busi- ness rules can be specified in the form of Prolog facts, clauses and predicates (Treasure-Jones, 1996). These facts, clauses and predicates are put (elaborated later in the Model Driven Approach to Software Development section) into a rule descriptor module. The rule engine would track these rules to generate or transform a set of data in the context. New events for the process controller can be deduced out of the rules. The rule engine is written entirely in COBOL. It offers chaining and back tracking mechanisms like a standard Prolog rule engine. Another mechanism for tracking business rules provided by the framework is the interpretation of decision tables. User can specify a set of internal states when different conditions are met. The outcome events and actions are dependent on the combination of the internal states specified in the decision tables. More details with an example are presented in the Model Driven Approach to Software Development section. Business Rules, Process Control, and the Pluggable Architecture The characteristics of process control are sum- marized in the following list: · Process flow is modeled in the form of a finite state machine with states, transi- tions between those states, and actions when certain conditions are met (an il- lustration can be found in the later section for Model Driven Approach to Software Development). Process descriptor is used to describe the states, events and actions of the finite state machine. An engine is used to interpret the process description and performs the actions by calling the proper modules. Process controller is a COBOL mod- ule containing both the engine and the descriptor. A module can be added into the process flow by creating a new state, event and ac- tion in the state model. Similarly, a mod- ule in the process flow can be removed by removing the state, event and action that are related to the module. A plug and play mechanism is provided. Process flow modeling must ensure cor- rect flow sequence, and the required con- tract data is available in the context when a module is called. Action undertaken in a state can be calling of a module, calling of the rule based en- gine with the rule descriptor module name · · · · THE WORLD OF PATTERNS We live in a world full of patterns. Our habits are nothing but following a set of behavioral patterns repeatedly. Since the publication of the book from Gamma et. al. (Gamma, 1995), software engineers have been made aware of patterns that we constantly use and should be used in software development. A pattern is defined as a solution to a problem in a distinct context. A pattern driven approach would mean identifying the problem to be solved and look up the pattern which provides the solution to the problem in the given context. In the software development, there are pat- terns for the development process, patterns for · · 11