270 likes | 435 Views
Avoiding a Mess with Your “Spaghetti” Integrations. Avoiding a Mess with Your “Spaghetti” Integrations. Stephen Spruce :: Agilutions Consulting. Former netFORUM Client and Technical Lead with CFP Board Founded Agilutions Consulting in 2005
E N D
Stephen Spruce :: Agilutions Consulting • Former netFORUM Client and Technical Lead with CFP Board • Founded Agilutions Consulting in 2005 • Focused on implementing and supporting netFORUM based solutions • Extensive experience with the challenges encountered with integrating multiple independent systems to create seamless business processes
Goals for the Session • Identify the “Spaghetti” Integrations on our plate • Define a Functional/Integration Map and its uses • Walk through an Education Management Case Study using a Functional/Integration Map • Empower you to untangle your own spaghetti • Disclaimers…
Independent Applications • Stand alone application that provides one or more business functions • 3rd Party or Common Off The Shelf (COTS) • Home Grown Database • Custom Web Application • Imported/Exported Spreadsheet • Premise Based or Hosted (SASS)
“Spaghetti” Integration • Exchanging of data and sharing a common work flow • Data Synchronization • Types of Integration • Web Services (xWeb) • Direct API calls • Direct SQL Queries • File Import and Export • Manual Dual Entry • Single Sign On • Same Login/Password to access different applications
Functional/Integration Map • A picture can explain a thousand headaches • Maps business functions to applications and identifies the integrations between them • Defines the Source of Record for key data • Primary copy of the data • All changes must be synchronized with the source of record • All other applications need to refer to the source of record to get current state • Potential Tools • PowerPoint, Visio, Whiteboard • Needs a better name – Spaghetti Map?
Benefits of a Functional/Integration Map • Document where core business functions are supported • Identify integration points and data dependencies • Estimate scope, level of effort, and complexity for integrations • Develop requirements for RFPs and conduct vendor selections • Determine short and long-term costs of ownership and maintenance for integrations
Case Study: Education Management • netFORUM as AMS • iWeb for CRM, Events, Membership, Accounting, COE • eWeb for Online Access, Registration, Shopping Cart • Educational Content offered by 3 different Applications • netFORUM • Conference Sessions • Web Seminars • Custom Education Database • Online Courses • Proposed LMS • Future Online Courses
Case Study: Education Management • Source of Records • Customers (netFORUM) • Customer ID, Email, Password, Contact Info • Registrations (netFORUM) • Register, Cancel • Transactions (netFORUM) • Invoices, Payments • Events (Shared by all 3 Applications) • Start and End Dates • Attendance and Progress • Score and Result
Steps to Create a Functional/Integration Map • 1. List Independent Applications (The Boxes) • Web Applications • Databases • 3rd Party Software • 2. Plot Business Functions to Applications (The Circles) • Modules • User Interfaces • Major Data Objects • 3. Connect Integration Points (The Lines) • Use Cases • Customer Transactions • Staff SOPs
Step 1: List Independent Applications netFORUM Custom Education DB
Steps to Create a Functional/Integration Map • 1. List Independent Applications (The Boxes) • Web Applications • Databases • 3rd Party Software • 2. Plot Business Functions to Applications (The Circles) • Modules • User Interfaces • Major Data Objects • 3. Connect Integration Points (The Lines) • Use Cases • Customer Transactions • Staff SOPs
Step 2: Plot Business Functions Custom Education DB netFORUM Customer Customer Registration Transaction Event Registration Online Course Delivery Conference Delivery Event Web Seminar Delivery
Steps to Create a Functional/Integration Map • 1. List Independent Applications (The Boxes) • Web Applications • Databases • 3rd Party Software • 2. Plot Business Functions to Applications (The Circles) • Modules • User Interfaces • Major Data Objects • 3. Connect Integration Points (The Lines) • Use Cases and Business Process Workflows • Staff SOPs • Arrows in direction of Application that initiates the call
Step 3: Connect Integration Points Custom Education DB netFORUM Customer 1. Login 2. Setup 3. Login 4. Add/Update Customer 4. Access 1. Setup 5. Register Registration Transaction 2. Registration List Event 5. Launch 3. Pay Registration Online Course Delivery 3. Launch 3. Launch Conference Delivery Event Web Seminar Delivery
Identify Integration Points • Look for Common Terminology • Customer, Registration, Registrant, Event, Invoice • Follow Foreign Keys • reg_cst_key, reg_evt_key • Open Remote Connections • System Options, Configuration Files (web.config), Database Connections, Triggers • Dedicated Connections • Arm Chair Integration • User Manually logs in and enters information to complete workflow
Synchronization Takes Practice • Identity Fields • Customer Key, Account Number, Primary Email • What happens when one of them changes? • Synchronous vs. Asynchronous • How important is it to have the data the same? Real Time? • Document the Data Mapping • Field from Application A maps to Field from Application B
Use Case: Setup Education Content Custom Education DB netFORUM Customer 2. Setup Customer 1. Setup Registration Transaction Event 3. Configure Registration Online Course Delivery Conference Delivery Event Web Seminar Delivery
Use Case: Register for Education Content Custom Education DB netFORUM Customer 1. Login 4. Add/Update Customer 5. Register Registration Transaction 2. Register Event 3. Pay Registration Online Course Delivery Conference Delivery Event Web Seminar Delivery
Use Case: Access Education Content Custom Education DB netFORUM Customer 1. Login 3. Login Customer Registration 4. Access Transaction 2. Registration List Event 5. Launch Registration Online Course Delivery 3. Launch 3. Launch Conference Delivery Event Web Seminar Delivery
Case Study: New Requirements • Purchase an LMS to develop future Educational Content and formats • Continue to support existing Educational Content and formats • Produce Universal Transcript across all Applications and forms of Educational Content
Use Case: Adding Proposed LMS Custom Education DB netFORUM Customer 1. Login Customer Registration Transaction 2. Register Event 3. Pay Registration Online Course Delivery Proposed LMS Conference Delivery Event Web Seminar Delivery Customer 4. Add/Update 3. Login 5. Register 4. Access Registration Event 5. Launch Online Course Delivery
Use Case: Full Plate of Spaghetti Custom Education DB netFORUM Customer 1. Login 2. Setup 3. Login 4. Add/Update Customer 4. Access 1. Setup 5. Register Registration Transaction 2. Registration List Event 5. Launch 3. Pay Registration Online Course Delivery 2. Setup 3. Launch Proposed LMS 3. Launch Conference Delivery Event Web Seminar Delivery Customer 4. Add/Update 3. Login 5. Register 4. Access Registration Event 5. Launch Online Course Delivery
Use Case: Universal Transcript (Option 1) Custom Education DB netFORUM Customer 1. Login 3. Login Customer Universal Transcript 4. Access Registration 2. Registration List Transaction Event Registration Online Course Delivery 4. GetStatus 3. GetStatus 3. GetStatus Proposed LMS Conference Delivery Event Web Seminar Delivery Customer 3. Login 4. Access Registration 5. GetStatus Event Online Course Delivery
Use Case: Universal Transcript (Option 2) 1. Login Custom Education DB netFORUM Customer 3. Login Customer Registration Transaction 4. Access Event Registration Online Course Delivery 2. Login 5. GetStatus 2. Registration List Proposed LMS Conference Delivery Event Web Seminar Delivery Customer 3. Access 3. GetStatus Universal Transcript 3. GetStatus Registration Event 5. GetStatus Online Course Delivery
Key Take Aways for Function/Integration Maps • Simple to make – Powerful to use • Can help document and understand the complexity of your environment • Are only good as they are maintained • Can be as high-level or detailed as you need • Questions?