1 Software System Generation from an Enterprise Service Model D.D. Cowan, 1 P.S.C. Alencar, D.B. Brown, H.D. Covvey, I. Gimenes, C.J.P. Lucena, W.J. Malyk, D.W. Mulholland, A. Robins, K. Young Abstract This paper introduces an approach to constructing information systems based on enterprise service architectures (ESAs). An ESA model is specified using declarative business process modeling or workflow commands in conjunction with service framework instances where the business process model and the instances are captured in a data structure. A service framework is an outline of different types such as reports, databases, agents, diagrams and maps and an instance is produced by completing a framework’s adaptation points. Adaptation points are defined by an adaptation interface specified in a declarative language and presented through forms. The business process or workflow is specified similarly. An automatic transformation is then applied to convert the model into an operational information system. This approach can be viewed as model-driven software development without the necessity of writing code to complete the implementation. Thus, we avoid the symptoms of architectural drift that occur when applications evolve independently from their model. The control structure is declarative and separate, clearly delineating the concerns, thus making it easier to address future anticipated, unanticipated and crosscutting concerns. We have created tools to support this approach, and although many of the tools are general, we have concentrated our efforts on the Web because of its pervasive nature. Thus, we have produced the Web-based Informatics Development Environment (WIDE) technology, a set of tools and processes used to transform a model based on ESA principles into a web-based information system. We have designed and implemented over 30 operational web-based systems to validate our approach. Introduction Models of enterprise service architectures (ESAs) form the foundation for many of the information systems currently under development, particularly those based on the Web. This form of architecture uses loosely coupled independent software services accessed without knowledge of the underlying implementation. A wide variety of services and legacy technologies such as databases, content management systems, and geographic information systems (GIS) compose such systems. There are many approaches to the construction and composition of information systems based on ESAs; however, they still often embed low-level programming constructs [1, 2], rather than higher-level models. This paper introduces a new approach to constructing information systems based on enterprise service architectures (ESAs). A model of the system is specified using declarative workflow or business process modeling concepts in conjunction with instances of service frameworks. The process is data-driven in that the workflow or business process model and the instances are captured in a data structure rather than a program. Once the details of the system are complete, an automatic transformation is then
[1]
Laurian M. Chirica,et al.
The entity-relationship model: toward a unified view of data
,
1975,
SIGF.
[2]
Howard Smith,et al.
Business Process Management: The Third Wave
,
2003
.
[3]
Krzysztof Czarnecki,et al.
Generative programming - methods, tools and applications
,
2000
.
[4]
Martin Gogolla.
Unified Modeling Language
,
2009,
Encyclopedia of Database Systems.
[5]
Corrado Böhm,et al.
Flow diagrams, turing machines and languages with only two formation rules
,
1966,
CACM.
[6]
Zohar Manna,et al.
The Translation of 'Go To' Programs to 'While' Programs
,
1971,
IFIP Congress.
[7]
Aniruddha S. Gokhale,et al.
Developing applications using model-driven design environments
,
2006,
Computer.
[8]
Paulo S. C. Alencar,et al.
Software process representation and analysis for framework instantiation
,
2004,
IEEE Transactions on Software Engineering.
[9]
Paulo S. C. Alencar,et al.
Towards Monitored Data Consistency and Business Processing Based on Declarative Software Agents
,
2002,
SELMAS.
[10]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[11]
James E. Carey,et al.
Framework Process Patterns: Lessons Learned Developing Application Frameworks
,
2002
.
[12]
Jack Greenfield,et al.
Software factories: assembling applications with patterns, models, frameworks and tools
,
2004,
OOPSLA '03.
[13]
Paul Francis,et al.
Model Driven Architecture with Executable UML
,
2004
.
[14]
Michael A. Jackson,et al.
Business Process Implementation - Building Workflow Systems
,
1997
.
[15]
Paul Clements,et al.
Software product lines - practices and patterns
,
2001,
SEI series in software engineering.
[16]
G. Rossi,et al.
An Object Oriented Approach to Web-Based Application Design
,
1998
.
[17]
D. L. Parnas,et al.
On the criteria to be used in decomposing systems into modules
,
1972,
Software Pioneers.
[18]
Gregor Kiczales,et al.
Aspect-oriented programming
,
2001,
ESEC/FSE-9.
[19]
Tony Andrews.
Business Process Execution Language for Web Services Version 1.1
,
2003
.
[20]
Douglas C. Schmidt,et al.
Guest Editor's Introduction: Model-Driven Engineering
,
2006,
Computer.
[21]
Suzanne Robertson,et al.
Mastering the Requirements Process
,
1999
.