Lars Frank: • 1971 Cand. Scient. in computer science (Datalog) and math. • 1975 HD in organization • 1975-93 Database consultant (primært i banksektoren) • 1994- Associate professor at CBS • 2008 Dr. merc. from CBS The objectives of System Integration: The right data should be at the right place for the right persons/system to the right time in the right quality to the lowest costs. Where are the conflicts between the objectives in system integration? 2 System integration definition : Two systems are integrated if they use common data or if they exchange data. Are two systems integrated if they use common keys like social security number or CPRnr.? How would you recommend to integrate Library reservation systems with the e-mail systems of the users? 3 System integration definition: Two systems are integrated if they use common data or if they exchange data. Are two systems integrated if they deliver data to the same data warehouse? 4 System integration examples: ERP (Enterprise Resource Planning) examples: The Sales/e-commerse, Production, and Procurement modules all use the common product stock data. CRM (Customer Relations Management) and the Sales modules both use the Name and Address of the customers. The Procurement module may transfer money data to the Accounting module in another ERP system. The HRM (Human Resource Management) module may be integrated with the tax authorities. How are the ERP modules normally integrated internally? How are different ERP systems normally integrated externally? 5 Description of integrated systems that do not have common data: The integrated data may be described by the local data models supplemented by the description of the consistency management. The integrated applications may be described workflow diagrams. 6 Consistency of integrated data: Two systems are integrated if they use common data or if they exchange data. Can the consistency of common data always be managed by a DBMS (Data Base Management System)? Why is SOA (Service Orientated Architecture) normally used to integrate systems that do not use common data? 7 The ACID properties are implemented automatically by a DBMS (Data Base Management System): • Atomicity = the all or nothing update property. • Consistency = if a database is consistent before a transaction is executed, then the database must also be consistent after the transaction is executed. • Isolation = The updates of a transaction must not be seen by other transactions before the transaction is committed. • Durability = Committed data can be recovered in case of failures. What happens if an accounting transaction does not have ACID properties? 8 System integration may have many “dimensions” Data with relaxed ACID properties are not consistent but they are managed in such a way that they can be trusted anyway. Are there more “dimensions” in system integration? 9 The ACID properties are implemented by a DBMS (DataBase Management System). Relaxed ACID properties are implemented by the application programs. • • • • Atomicity Concistency Isolation Durability Why are organizations often forced to use relaxed ACID properties in practice? Relaxed ACID properties are implemented by the application programs in such a way that the users can trust the data even when ACID properties are missing. • Atomicity = the all or nothing update property. • Consistency = if a database is consistent before a transaction is executed, then the database must also be consistent after the transaction is executed. • Isolation = The updates of a transaction must not be seen by other transactions before the transaction is committed. • Durability = Committed data can be recovered in case of failures. How would you recommend to implement Relaxed Atomicity and Durability across two integrated systems with local ACID properties? Course overview grouped by System integration software types: 1. Homogeneous ERP systems integrated by using a common database. 2. Heterogeneous ERP systems from different suppliers may be integrated by using relaxed ACID properties. 3. Workflows and Relaxed transaction can send subtransactions to other systems and they may use a common (distributed) database. 4. Data warehouses integrate distributed data by sending data to a common data warehouse database by using ETL (Extract, Transform, and Load) of data from the operative systems. 12 Miniproject examples: • Choose a fictive company or a company you know with integration problems. Describe the theoretical possibilities for making integration in the company. Analyze and describe your recommendations for making the integration in practice. • Describe an ERP system with the focus on integrating the value chain/supply chain of a company (both internally and across company borders). • Describe how you will recommend to integrate mobile applications. • Describe how you will recommend an enterprise to migrate from one ERP system to another. • Try to integrate two or more of the projects described above. 13 Issues for structuring integration miniprojects: •Describe the data of the systems to be integrated. (For example, how are the tables fragmented in a centralized DB solution and how are the tables fragmented/replicated in a distributed DB solution?) •Which replication method is used per table segment/attribute •Use workflows to describe integration with other systems and resources •Describe how you would recommend to use relaxed ACID properties for the most important update transactions 14 Why are you here ? Describe yourself from the point of view of making project groups: – Name – Intereste or working expierence that could be relevant for a mini project. – Ideas to a miniproject. 15 End of session Thank you !!! System integration: Two systems are integrated if they use common data or if they exchange data. Can two systems be integrated in such a way that the first system is integrated with the second system but the second is not integrated with the first? System 1 Data flow System 2 17 The ACID properties of transactions: • Atomicity = the all or nothing update property. • Concistency = if a database is consistent before a transaction is execued, then the database must alo be consistent after the transaction is executed. • Isolation = The updates of a transaction must not be seen by other transactions before the transaction is committed. • Durability = Committed data can be recovered in case of failures. What is the difference between failure and disaster recovery? 18