© 1998 Singh & Huhns1 Legacy Systems. © 1998 Singh & Huhns2 Legacy Systems: Negative A pejorative term for computing systems that are Old Mainframe-based.

Slides:



Advertisements
Similar presentations
Database Architectures and the Web
Advertisements

Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Chapter 4: Enterprise Architectures Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Introduction to Database Management  Department of Computer Science Northern Illinois University January 2001.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Chapter 4: Enterprise Architectures Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
The University of Akron Dept of Business Technology Computer Information Systems Database Management Approaches 2440: 180 Database Concepts Instructor:
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
© 1998 Singh & Huhns1 Database Integration. © 1998 Singh & Huhns2 Dimensions of Integration Existence of global schema Location transparency: same view.
Distributed Systems: Client/Server Computing
Chapter 1 Introduction to Databases
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Introduction to Databases and Database Languages
What is Software Architecture?
Database Systems: Design, Implementation, and Management Ninth Edition
Chapter 1 Database Systems. Good decisions require good information derived from raw facts Data is managed most efficiently when stored in a database.
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
IT – DBMS Concepts Relational Database Theory.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Module Title? DBMS Introduction to Database Management System.
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
CSC271 Database Systems Lecture # 4.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
Database System Concepts and Architecture
CS 425/625 Software Engineering Legacy Systems
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
Session-8 Data Management for Decision Support
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Advantage of File-oriented system: it provides useful historical information about how data are managed earlier. File-oriented systems create many problems.
1 Chapter 1 Introduction to Databases Transparencies.
Distributed database system
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Client/Server Computing
Chapter 9  2000 by Prentice Hall. 9-1 Client/Server Computing.
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Chapter 2 Database Environment.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
SDN challenges Deployment challenges
IT Architecture Technical blueprint for evolving a corporate infrastructure resource that can be shared by many users and services processing systems hardware.
#01 Client/Server Computing
Mobile Agents.
Introduction to Databases Transparencies
Service-Oriented Computing: Semantics, Processes, Agents
.NET vs. J2EE Architecture
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Distributed Systems and Concurrency: Distributed Systems
#01 Client/Server Computing
Presentation transcript:

© 1998 Singh & Huhns1 Legacy Systems

© 1998 Singh & Huhns2 Legacy Systems: Negative A pejorative term for computing systems that are Old Mainframe-based Obsolete hardware Terminal-based interfaces Arcane communication networks Software not maintained any more and extremely expensive to modify Old-technology databases—typically hierarchical or network Poorly documented software Legacy systems are important to cooperative information systems precisely because they are not cooperative!

© 1998 Singh & Huhns3 Legacy Systems: Positive Fulfill crucial business functions Work, albeit suboptimally –Run the world’s airline reservation systems –Run most air traffic control programs Have dedicated users Represent huge investments in time and money

© 1998 Singh & Huhns4 Main Problems Applications don’t talk to one another, even on the same system –Won’t share data –Won’t necessarily share procedures –Lead to redundancy, wasted effort, and integrity violations Closed: will not operate in cooperation with or properly interact with other systems Typically, use software proprietary to a single manufacturer

© 1998 Singh & Huhns5 Current Trends Create open systems Follow industry standards Use advances in software engineering and databases Enable applications to talk to one another, even if developed by different manufacturers This leads to better systems, because different components can be manufactured by specialists and the users get to choose the ones they want to use. In practice, there are always some difficulties But what about the older systems?

© 1998 Singh & Huhns6 An Approach Introduce new technology as needed Integrate the legacy systems with the new technology Integrate the legacy systems with each other But don’t spoil existing applications Is this even possible? If not, why not? If so, how might one achieve this?

© 1998 Singh & Huhns7 Relevant Issues Whether or not one can accomplish the goals of the previous transparency depends on how much one bites off. The relevant issues, which will determine the success of any technique, include The effort per system one is willing to invest in –modifying existing applications –acquiring knowledge about, I.e., models of, the existing applications The limits on the ranges of the new applications Whether improvements to legacy applications and systems are sought

© 1998 Singh & Huhns8 How Legacy Systems Arise Proprietary software –not documented –not supporting industry standards (vendors who hope to lock in the market through incompatibility) A need to capture more details of semantics than readily permitted by the technology Ad hoc changes to software in response to –changing requirements, because of changes in laws, regulations, competition, or other business needs –fixing bugs

© 1998 Singh & Huhns9 Levels of Interoperation Respond to the various ways in which legacy systems misbehave: Communication Interoperability Message Interoperability Task Coordination Semantic Interoperability Development of Applications In addition, a means to manage change is important

© 1998 Singh & Huhns10 Communications Glue s/w provides access to communication resources and maps among communication protocols. (Often, the lower levels of such s/w are available from the legacy system manufacturers trying to make their systems compatible with newer ones.) Legacy HW & SW Glue S/W New, Open System(s)

© 1998 Singh & Huhns11 Messages A client application can access and update databases without concern for the message protocol for the server DBMS For example, a C program can use the standard SQL Access Group’s call level interface to access Ingres, Oracle, or Sybase using the Open Database Connectivity (ODBC) protocol ClientsServers Middleware Legacy HW & SW Glue S/W Open Systems

© 1998 Singh & Huhns12 Task Coordination Tasks execute on multiple client, server, and middleware systems A glue scheduler controls –the ordering of the execution of the tasks –the exchange of information among the tasks Tasks used for –distributed queries –relaxed transactions –general workflow processing

© 1998 Singh & Huhns13 Semantic Interoperability Integrate database schemas Generate business rules Generate integrity constraints on various information resources that can be combined to capture the proper behavior of any application

© 1998 Singh & Huhns14 Application Development How to develop new applications that extend over multiple new and legacy systems respect the semantics of the various resources they impinge upon

© 1998 Singh & Huhns15 Managing Change How may one add or remove databases dynamically without modifying applications, and without affecting the ongoing activities in the system How may new databases operate concurrently with old databases There are similar requirements for applications and user interfaces

© 1998 Singh & Huhns16 Autonomy Design vs. control autonomy Political reasons –Ownership of resources –Control, especially of access privileges –Payments Technical reasons –Conceptual problems in integration –Fragility of integration –Difficult to guarantee behavior of integrated systems –Opacity of systems with respect to key features, e.g., precommit Leverage: Use agents! –Modularity –User control –Negotiation among agents to resolve conflicts

© 1998 Singh & Huhns17 Locality Global information (data, schemas, constraints) causes –Inconsistencies –Anomalies –Difficulties in maintenance Relaxation of constraints works often –Correct rather than prevent violations of constraints--often feasible –When, where, and how of corrections must be specified, but it is easier to make it local (recall process abstractions) Still need some global information, or way to obtain it –Locations of services or agents –Applicable business rules –Obtain other global knowledge only when needed

© 1998 Singh & Huhns18 Migration Updating technology is –Essential –A continual process All at once? –Expensive –Risky –Brittle –Frustrating for users Gradual change: dismantle legacy and build desired system hand-in-hand –Install and test piecemeal

© 1998 Singh & Huhns19 Old-to-New Converters Example: hierarchical to relational converters, which generate SQL from hierarchical (e.g., IMS) programs Convert Old Interface to New IMS Code Legacy HW & SW SQL New System

© 1998 Singh & Huhns20 New-to-Old Converters Example: relational to hierarchical converters, which generate hierarchical (e.g., IMS) programs from SQL Convert New Interface to Old IMS Code Legacy HW & SW SQL New System

© 1998 Singh & Huhns21 Converters Applied to Interoperation Converters work well for small cases, where there are only a small number of applications to consider Converters don’t address the general problem of operating legacy systems with each other or with new systems –can be applied, but expensively –need a converter between every pair of applications, user interfaces, and database systems

© 1998 Singh & Huhns22 A Better Picture With enough such generic converters, we can make legacy systems talk to one another and to new systems Bonus: we can handle disparities among new systems as well Convert Any New or Old Interface Legacy HW & SW New Systems Application Applications and Interfaces Convert Any New or Old Interface

© 1998 Singh & Huhns23 Further Requirements Assuming the generic converters are available, what else do we require for true interoperability? A way to interpose converters between the systems nondestructively Additional typing on the messages exchanged in the system A way to ease the significant burden on the applications –Something to keep track of the resources, i.e., applications and databases –A task coordinator

© 1998 Singh & Huhns24 One Approach The glue software does all the work Is such a glue possible? How might it be constructed? ClientsServers Middleware Legacy HW & SW Glue S/W Open Systems Distributed UNIX Systems