Enterprise Software System Integration : An Architectural Perspective

The escalating development of Information Technology enables utilities to reorganize or migrate from their existing disparate software systems towards an integrated Enterprise Software System Infrastructure (ESSI) that embraces the total organization. Integration of software systems is expected to increase competitiveness and to cut costs. However, since utilities' present ESSI is heterogeneous as to type and technical platform, overlapping with regard to both data and functionality, and relying on ad-hoc low-level middleware, integration and management of ESSIs often turn out to be hazardous.This paper presents a comparative analysis of the architectural modeling capabilities of established notations widely used by object-oriented, information engineering and structured methods, applied to typical problems found in utilities' ESSI. Architectural descriptions may be used to visualize technical risks and opportunities in a utility's current and future ESSI, as well as to improve communication between different groups within the utility, e.g. management and technical staff, and between the utility and its vendors of software systems.

[1]  David Chappell,et al.  Understanding ActiveX and OLE: a guide for developers and managers , 1996 .

[2]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[3]  Mary Shaw,et al.  Abstractions and implementations for architectural connections , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[4]  Andreas Rausch,et al.  Adaptation strategies in componentware , 2000, Proceedings 2000 Australian Software Engineering Conference.

[5]  Robert J. Allen A formal approach to software architecture , 1997 .

[6]  Hiroshi Maruyama,et al.  Mapping between ASN.1 and XML , 2001, Proceedings 2001 Symposium on Applications and the Internet.

[7]  Jonas Andersson,et al.  IT infrastructure architectures for electric utilities-a comparative analysis of description techniques , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[8]  J. P. Morgenthal,et al.  Enterprise application integration with XML and Java , 2001 .

[9]  Wolfgang Emmerich,et al.  Tigra- an architectural style for enterprise application integration , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[11]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[12]  Jorge L. Díaz-Herrera The importance of static structures in software construction , 1993, IEEE Software.

[13]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[14]  B. Dutertre,et al.  Intrusion tolerant software architectures , 2001, Proceedings DARPA Information Survivability Conference and Exposition II. DISCEX'01.

[15]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[16]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[17]  Louise E. Moser,et al.  Network protocols , 1998 .

[18]  Clemens A. Szyperski,et al.  A case for meta-interworking: projecting CORBA meta-data into COM , 1998, Proceedings Technology of Object-Oriented Languages. TOOLS 28 (Cat. No.98TB100271).

[19]  PerOlof Bengtsson,et al.  Architecture-Level Modifiability Analysis , 2002 .

[20]  Bill Councill,et al.  Definition of a software component and its elements , 2001 .

[21]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[22]  Perdita Stevens,et al.  Has the pattern emperor any clothes?: a controversy in three acts , 2002, SOEN.

[23]  Christopher Alexander Notes on the Synthesis of Form , 1964 .

[24]  David Garlan,et al.  Formal Modeling of the Enterprise JavaBeansTM Component Integration Framework , 1999, World Congress on Formal Methods.

[25]  Robert DeLine,et al.  Resolving packaging mismatch , 1999 .

[26]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[27]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[28]  Nenad Medvidovic,et al.  Domains of Concern in Software Architectures and Architecture Description Languages , 1997, DSL.

[29]  Yingxu Wang,et al.  A worldwide survey of base process activities towards software engineering process excellence , 1998, Proceedings of the 20th International Conference on Software Engineering.

[30]  Thomas G. Lane A Design Space and Design Rules for User Interface Software Architecture , 1990 .

[31]  James M. Boyle,et al.  Do You Trust Your Compiler? , 1999, Computer.

[32]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[33]  Ralf Steinbrüggen,et al.  Program Transformation Systems , 1983, CSUR.

[34]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[35]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[36]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[37]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[38]  Felix Bachmann,et al.  The Architecture Based Design Method , 2000 .

[39]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[40]  Martin Hitz,et al.  Measuring coupling and cohesion in object-oriented systems , 1995 .

[41]  Moe Shahdad An Overview of VHDL Language and Technology , 1986, 23rd ACM/IEEE Design Automation Conference.

[42]  Chinya V. Ravishankar,et al.  Constructive Protocol Specification Using Cicero , 1998, IEEE Trans. Software Eng..

[43]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[44]  John Vlissides,et al.  Pattern hatching: design patterns applied , 1998 .

[45]  Anees Shaikh,et al.  On the effectiveness of DNS-based server selection , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[46]  Michael D. Rice,et al.  A Formal Model for Module Interconnection Languages , 1994, IEEE Trans. Software Eng..

[47]  Timothy E. Lindquist,et al.  An architecture-based approach for synthesizing and integrating adapters for legacy software , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[48]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[49]  Alan W. Brown Large Scale Component Based Development , 2000 .

[50]  Chrysanthos Dellarocas,et al.  The SYNTHESIS environment for component-based software development , 1997, Proceedings Eighth IEEE International Workshop on Software Technology and Engineering Practice incorporating Computer Aided Software Engineering.

[51]  Paul Clements,et al.  Features of architecture description lan-guages , 1995 .

[52]  Shing-Chi Cheung,et al.  Tractable Dataflow Analysis for Distributed Systems , 1994, IEEE Trans. Software Eng..

[53]  N. Modiri The ISO reference model entities , 1991, IEEE Network.

[54]  Len Bass,et al.  Toward Deriving Software Architectures from Quality Attributes , 1994 .

[55]  L Robertson Introduction to operating systems , 1990 .

[56]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[57]  Maurice J. Bach The Design of the UNIX Operating System , 1986 .

[58]  W. Duncan A GUIDE TO THE PROJECT MANAGEMENT BODY OF KNOWLEDGE , 1996 .

[59]  Mary Shaw,et al.  Architectural issues in software reuse: it's not just the functionality, it's the packaging , 1995, SSR '95.

[60]  Edsger W. Dijkstra,et al.  Letters to the editor: go to statement considered harmful , 1968, CACM.

[61]  T. M. Chester Cross-platform integration with XML and SOAP , 2001 .

[62]  Chrisanthi Avgerou,et al.  Information systems: what sort of science is it? , 2000 .

[63]  David Garlan,et al.  What Is Style? , 2018, The Writer’s Style.

[64]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[65]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

[66]  Harry M. Sneed,et al.  A case study in software wrapping , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[67]  Bonnie Lee Appleton Patterns and Software: Essential Concepts and Terminology , 1997 .

[68]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[69]  William A. Ruh,et al.  Enterprise Application Integration: A Wiley Tech Brief , 2000 .

[70]  Lisa E. Lindgren Application Servers for E-Business , 2001 .

[71]  Andy Longshaw,et al.  Choosing between COM+, EJB, and CCM , 2001 .

[72]  Chia-Chu Chiang Wrapping legacy systems for use in heterogeneous computing environments , 2001, Inf. Softw. Technol..

[73]  P. T. Barry,et al.  Abstract syntax notation-one (ASN.1) , 1992 .

[74]  S. Fagerhaugh,et al.  Participant Observation , 1979 .

[75]  A. A. Abd Allah Composing heterogeneous software architectures , 1996 .

[76]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.

[77]  Jan Bosch,et al.  Software architecture design: evaluation and transformation , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[78]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[79]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[80]  Theo Härder,et al.  The intrinsic problems of structural heterogeneity and an approach to their solution , 1999, The VLDB Journal.

[81]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[82]  Jonas Andersson,et al.  Architectural integration styles for large-scale enterprise software systems , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[83]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[84]  Leonard J. Bass,et al.  Supporting Usability Through Software Architecture , 2001, Computer.

[85]  L D Lutter,et al.  Ockham's Razor , 1999, Foot & ankle international.

[86]  David Garlan An Introduction to the Aesop System , 1995 .

[87]  Peter Claussen Theories of programming languages , 2000, SOEN.

[88]  Corporate Rea,et al.  Handbook and Guide for Comparing and Selecting Computer Languages , 1990 .

[89]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[90]  Paola Inverardi,et al.  Performance analysis at the software architectural design level , 2001, Perform. Evaluation.

[91]  Steve Vestal,et al.  A cursory overview and comparison of four architecture description languages , 1993 .

[92]  Jeff Magee,et al.  Composing distributed objects in CORBA , 1997, Proceedings of the Third International Symposium on Autonomous Decentralized Systems. ISADS 97.

[93]  Tommi Mikkonen,et al.  Formalizing design patterns , 1998, Proceedings of the 20th International Conference on Software Engineering.

[94]  Mark Klein,et al.  Experience with performing architecture tradeoff analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[95]  Michael Huth,et al.  Logic in computer science - modelling and reasoning about systems , 2000 .

[96]  Niklaus Wirth,et al.  On the Composition of Well-Structured Programs , 1974, CSUR.

[97]  Richard Stevens,et al.  Systems engineering : coping with complexity , 1998 .

[98]  Dimitra Giannakopoulou,et al.  Analysing the behaviour of distributed software architectures: a case study , 1997, Proceedings of the Sixth IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems.

[99]  T. Jepsen,et al.  SOAP cleans up interoperability problems on the Web , 2001 .

[100]  Diomidis Spinellis,et al.  Multi-technology distributed objects and their integration , 2001, Comput. Stand. Interfaces.

[101]  Li Gong,et al.  Secure software architectures , 1997, Proceedings. 1997 IEEE Symposium on Security and Privacy (Cat. No.97CB36097).

[102]  Kevin Crowston,et al.  The interdisciplinary study of coordination , 1994, CSUR.

[103]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[104]  Patricia Oberndorf COTS and Open Systems , 1998 .

[105]  Robert J. Walker,et al.  Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming , 1999, IEEE Trans. Software Eng..

[106]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[107]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[108]  Hans van Vliet,et al.  Towards a broader view on software architecture analysis of flexibility , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[109]  Harry M. Sneed Encapsulating legacy software for use in client/server systems , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[110]  Golden G. Richard,et al.  Service Advertisement and Discovery: Enabling Universal Device Cooperation , 2000, IEEE Internet Comput..

[111]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[112]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[113]  David Garlan,et al.  Architecture-Based Performance Analysis , 1998 .

[114]  Douglas C. Schmidt,et al.  Patterns for concurrent and networked objects , 2000 .

[115]  Fouad A. Tobagi,et al.  Performance Analysis of Carrier Sense Multiple Access with Collision Detection , 1980, Comput. Networks.

[116]  H. Tram,et al.  Development of an information technology strategy and architecture for energy delivery utility mergers , 1999, 1999 IEEE Transmission and Distribution Conference (Cat. No. 99CH36333).

[117]  Donald T. Campbell,et al.  Rationality and Utility from the Standpoint of Evolutionary Biology , 1986 .

[118]  Erik Sandewall,et al.  Software architecture based on communicating residential environments , 1981, ICSE '81.

[119]  Jonas Andersson,et al.  Enterprise Information Systems Management : An Engineering Perspective Focusing on the Aspects of Time and Modifiability , 2002 .

[120]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[121]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[122]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[123]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[124]  Andrew S. Tanenbaum,et al.  Operating systems: design and implementation , 1987, Prentice-Hall software series.

[125]  Karl Reed,et al.  Why is it so hard to define software architecture? , 1998, Proceedings 1998 Asia Pacific Software Engineering Conference (Cat. No.98EX240).

[126]  Chrysanthos Dellarocas,et al.  Toward a design handbook for integrating software components , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[127]  Jungyun Seo,et al.  Classifying schematic and data heterogeneity in multidatabase systems , 1991, Computer.

[128]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[129]  Jonas Andersson,et al.  Extending attribute based architectural analysis to enterprise software systems , 2000 .

[130]  R. Obenza,et al.  Rate monotonic analysis for real-time systems , 1993, Computer.

[131]  Robert A. Riemenschneider,et al.  Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies , 1997 .

[132]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[133]  K. N. King Modula-3: a threat to Ada? , 1993, WADAS '93.

[134]  Johan Helander,et al.  Supply chain evolution in the manufacturing industry , 2000 .

[135]  Paola Inverardi,et al.  Uncovering Architectural Mismatch in Component Behavior , 1999, Sci. Comput. Program..

[136]  David S. Linthicum,et al.  B2B Application Integration: e-Business-Enable Your Enterprise , 2000 .

[137]  C. M. Sperberg-McQueen,et al.  Extensible Markup Language (XML) , 1997, World Wide Web J..

[138]  J. Andersson,et al.  Strategic management of information technology in small and medium sized electric utilities: bridging the gap between theory and practice , 2001, PICMET '01. Portland International Conference on Management of Engineering and Technology. Proceedings Vol.1: Book of Summaries (IEEE Cat. No.01CH37199).

[139]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[140]  Grace A. Lewis,et al.  Building systems from commercial components , 2002, ICSE '02.

[141]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[142]  Robert E. McGrath,et al.  Discovery and Its Discontents: Discovery Protocols for Ubiquitous Computing , 2000 .

[143]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[144]  Kamal Jabbour,et al.  Formal specification and verification of communication protocols using automated tools , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[145]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[146]  Giuseppe A. Di Lucca,et al.  Migrating legacy systems towards object-oriented platforms , 1997, 1997 Proceedings International Conference on Software Maintenance.

[147]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[148]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[149]  Ali R. Hurson,et al.  A taxonomy and current issues in multidatabase systems , 1992, Computer.

[150]  Aniello Cimitile,et al.  Incremental migration strategies: data flow analysis for wrapping , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[151]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[152]  David Garlan,et al.  Beyond Definition/Use: Architectural Interconnection , 1994, Workshop on Interface Definition Languages.

[153]  Mohamed Jmaiel,et al.  A unified algebraic framework for specifying communication protocols , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[154]  Jan Bosch,et al.  Analyzing Software Architectures for Modifiability. , 2000 .

[155]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[156]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[157]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[158]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[159]  Vangalur S. Alagar,et al.  Specification of Software Systems , 1998, Graduate Texts in Computer Science.

[160]  D. Carney,et al.  SEI Monographs on the Use of Commercial Software in Government Systems Isolating Faults in Complex COTS-Based Systems , 1998 .

[161]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[162]  Heinrich Hußmann,et al.  Formal Foundations for Software Engineering Methods , 1997, Lecture Notes in Computer Science.

[163]  Jason Pritchard COM and CORBA Side by Side: Architectures, Strategies, and Implementations , 1999 .

[164]  Robert O. Keohane,et al.  Designing Social Inquiry: Scientific Inference in Qualitative Research. , 1995 .

[165]  Peter Honeyman,et al.  Performance of DCE RPC , 1995, Second International Workshop on Services in Distributed and Networked Environments.

[166]  M. Shaw Larger scale systems require higher-level abstractions , 1989, IWSSD '89.

[167]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[168]  Young-Gul Kim,et al.  The critical success factors for ERP implementation: an organizational fit perspective , 2002, Inf. Manag..

[169]  Richard N. Taylor,et al.  A Type Theory for Software Architectures , 1998 .

[170]  T. Longstaff,et al.  Quality Attributes , 1995 .

[171]  Nenad Medvidovic,et al.  Integrating architecture description languages with a standard design method , 1998, Proceedings of the 20th International Conference on Software Engineering.

[172]  Jeannette M. Wing,et al.  Signature matching: a tool for using software libraries , 1995, TSEM.

[173]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[174]  Harry M. Sneed Program interface reengineering for wrapping , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[175]  Hideyuki Tokuda,et al.  Real-Time Mach: Towards a Predictable Real-Time System , 1990, USENIX MACH Symposium.

[176]  Len Bass,et al.  Software architecture design principles , 2001 .

[177]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[178]  Jan Bosch,et al.  Experiences with ALMA: Architecture-Level Modifiability Analysis , 2002, J. Syst. Softw..

[179]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[180]  Chrysanthos Dellarocas,et al.  A coordinate perspective on software architecture: towards a design handbook for integrating software components , 1996 .

[181]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..