Interface Strategies and Methods. Agenda . Integration Basics Triggers Methods Comparing Methods Quiz Keys to Success Exercise – Develop an interface Common Interfaces. Integration Basics – Triggers. Event Based
Agenda • Integration Basics • Triggers • Methods • Comparing Methods • Quiz • Keys to Success • Exercise – Develop an interface • Common Interfaces
Integration Basics – Triggers • Event Based • This type of Interface is triggered by event in the system. (Either something got created or updated or deleted) • Batch • This type of interface is scheduled and triggered at a set time (nightly or at certain interval, etc.). Since, batch interfaces will handle multiple instances, you want to address transaction managements (what happens when a record fails – one fail, all fail?) • Manual • This type of Interface is manually started by the user when they are ready for data transmittal.
Integration Basics – Methods • Flat File • A .CSV file ftp'd onto a server can be pulled into Clarity. The file can be processed by custom GEL script that can be scheduled or started manually. (This is CA’s preferred method of integration for the On-Demand Clients) • Web Services • XML based messaging that makes a call via URLs, or over HTTP to request data from or push data into clarity. This method could leverage GEL scripts, Java classes, or Stored Procedures in the DB • This is the most common approach used by any industry for Integrating different systems. Most of the big software vendors like SAP, Oracle, HP, CA have web service API’s developed for bi-directional data exchange with their systems. • Database Links • Establish a link from the Clarity DB to another system database and just pull data from one system to another using a stored procedure or SQL statement. Best practice in this form is to create a “view” in the source system vs. the core tables. (This is not an option for the On Demand Clients) • Third Party Tools • Leverage a third party integration tool like ITROI, etc. to build integrations. • Leverage an integration service – Pervasive or Task Top
Comparing Methods *With an integration, effort is needed on both the sending and receiving application. This means that any Clarity integration will require some effort form the support team of the system you are integrating to. The level of effort depends on the type of interface
Quiz • You are an On-Demand customer and you want to bring in Actuals from your financial system. • You are an On-Premise customer and have a million Resource Assignments that have to be loaded into your HR System for populating Resource timesheets. • You want to import all your support-inbox emails into Clarity as incidents or some other custom object • You want Clarity and your Project Accounting system to be in sync and you want the changes to be sent over instantly • A project created in Clarity needs to be sent over to your Financial System for Budget Approval. Upon approval in your Financial System, Clarity needs to be updated so that the Project Plan is sent over to your Timekeeping system. How would you implement this?
Keys to Success • Simpler is Better • With integrations, the more complex the interface is the more difficult it will be to build and maintain. One Direction vs. Bi-Direction is simpler. • Get it Right the First Time • We love agile and iterative development, but not when building an interface. Interfaces are best done with solid waterfall requirements and signoffs. • Integrations are recurring jobs. • Integration are not for performing one time data loads. Integrations are for exchanging data between two systems on a regular basis. • Data Ownership is Key • You must determine which system is the “master” vs. the “slave” of the data. One source must be the owner of the data in case there is a conflict. Do not make the mistake to think Clarity will be the “source” of everything. Leverage other systems to pull summarized data vs. all detail.
Keys to Success • Error Handling / Transaction Management • Errors are inevitablewhen two different systems are being integrated. Therefore plan to developing an error handing mechanism to handle data errors, connectivity errors, and system outages. • Equally important is transaction management and performance considerations • Trial First to Avoid Errors • Before you build the complete interface – try a semi-automated load to ensure the “process” you have defined is correct. • Have a Testing Environment. It is really important to have test environments that mirror the productions as much as possible and that the data is representative of actual production data.
Exercise • Create a csv file on your server with data for the following columns • Project ID, Amount Approved, Amount Requested, Date Approved, Approved By • Create a custom object in Clarity (can be a Master Object or a sub-object of Project ) with the following attributes • Project ID, Amount Approved, Amount Requested, Date Approved, Approved By • Create a Workflow with GEL script that will read the .csv file on the server and load data into the custom object using XOG.
Common Interfaces • Single Sign On • Using a common ID, authenticate users in Clarity for login. • Time • Push time from Clarity into an HR or time pay system like Ceridian, PeopleSoft, etc. • Financials • Pull actuals, budgets, or rates from a financial system into Clarity • Human Resources • Pull resource related data from an HR system into Clarity. This may include manager, cost center, country, rates, skills, OBS, RBS, etc. • Help Desk • Escalate tickets from a help desk system into Clarity for work management and assignments. Potentially a feed from Clarity back to the help desk system upon resolution. • Sharepoint • Push data from Clarity to sharepoint, including project information to allow users in sharepoint to see high level information – status, fields, milestones, etc.
Questions Contact US 888.813.0444 Email Contact email@example.com Web Site www.regoconsulting.com Thank you. Presenters: Raghu Bongu Bishnu Chattopadhyay