Many Global 1000 companies use large expensive single vendor software called Enterprise Resource Planning (ERP) to centralize and manage their businesses. ERP software provides accounting, human resources, inventory, procurement and order processing functions. ERP systems cost millions of dollars and usually take many months to years to fully install, deploy, and use. The major benefit of an ERP system is integrated software that can be used in conjunction with reporting and business intelligence tools to gain a complete insight into the companies operations. Businesses can use this central repository of corporate information to plan, manufacture, and market effectively.
Most organizations prefer to adopt a best of breed approach to enterprise systems, selecting the most suitable accounting, human resources, inventory, procurement, project management, expense reporting, and customer relationship management software. The challenge is to integrate all these applications from different vendors.
A critical decision that every enterprise faces is whether to adopt an Enterprise System from a single vendor or to assemble a best of breed solution by integrating products from several different vendors. This white paper discusses integration technologies, strategies, and options.
The following terms are used in this white paper.
• Source App—Items from the Source application are exported into a file or to directly to Destination application (if the integration is live)
• Destination App—Items from a file or from the Source application (if the integration is live) are imported into the Destination application
• Integrator—Developer(s) who work(s) on integrating Source and Destination applications
Note: Seamless integration is most often bi-directional. Therefore, the same application can be considered a Source or Destination App depending on the operation.
Methods of Integration
There are three types of integration: file-based, batch, and live.
With file-based integration, the information from one application is exported into a file with a specific file format. The file is then imported into the other application. Standard file formats include tab delimited text file, SGML, and, most recently XML file formats. (See Exhibit 1.)
Example of a file-based integration: Intuit's QuickBooks versions up to version 2001 are all examples of a file-based integration application. QuickBooks supports a text-based file format called IIF (Intuit Interchange Format). Using the IIF file format, other applications can exchange data with QuickBooks such as chart of accounts, customers, vendor list, employee list, transactions and invoices. This is the mechanism used by Tenrox software solutions to import items (such as customers and jobs) from and export time entries to QuickBooks.
Most corporate applications allow for scheduled launch and import of data from other information systems. With this method, the integrator must write a data exchange module that uses the destination app API supported and documented by the destination app vendor.
Many vendors do not support an integration API, and the destination app must use import data using the source app database. Using the database directly for integration is less desirable than using APIs because it is more limited and the database structure is more likely to change than the API, thus breaking the integration module.
Example of batch integration: Microsoft Great Plains accounting system's Batch Manager supports manual or scheduled batch import of information from other applications. (See Exhibit 2.)
In a live integration, both Source App and Destination App have documented APIs. In the Microsoft Windows platform, this API is most likely in the form of COM objects, VBA (Visual Basic for Applications) or XML. Regardless of the API type, the integrator has to:
• Learn how each of the Source and Destination Apps works.
• Determine and document object mappings: Each application may have its own Client, Project, and Product concepts. The mapping determines how objects map to one another in the two systems.
In addition, the mapping defines what needs to be done (or not done) if no equivalent object(s) exist.
• Design the user interface to allow users to select data exchange defaults and import/export options.
• Develop code that uses both APIs together to import/export the objects.
With live integration, data exchange is instant. The data from one system is instantly transferred to the Destination App and is immediately available for further processing. (See Exhibit 3.)
Example of live integration: ACCPAC has a complete SDK. Tenrox solutions; Projeca or Office Timesheet, also have complete and powerful SDK called VisualPM. Tenrox used both SDKs to develop a live, direct and seamless integration between the two products. The brief summary of the integration is as follows:
• Import Customers and Employees from ACCPAC into Tenrox software (applications such as Projeca or Office Timesheet)
• Tracking timesheets and expense reports in Tenrox software
• Create Invoices, that include time and expenses, are created in Tenrox software and can be exported directly into ACCPAC as A/R (Accounts Receivable) Invoices
• Process Payables, that include expenses and adjustments, are created in Tenrox software and can be exported directly into ACCPAC as A/P (Accounts Payable) Invoices
• Export timesheets directly into ACCPAC Payroll Timecards.
How to Avoid Duplications and Conflicts
A critical problem to address is how to avoid duplicated entries and other synchronization errors that can result in conflicts. For example, an invoice for Client A for $5,000 is exported from source application (such as a time and billing software) to destination app (such as an accounting application). How can one make sure that the same invoice is not re-exported as a new invoice to the destination app?
If the Source Application does not support any marking then a file naming convention can be used to prevent duplicated export. For example, exported invoice file name consists of: CLIENT_NAME + STARTDATE + ENDDATE. In this case, the file name would provide a warning mechanism, in order to avoid double exports.
The most effective mechanism is to mark all successfully exported entries as “exported” so that they will not be exported again. For example, the Invoice for Client A of $5000 is marked as Issued and all the services (time entries) and expenses (expense entries) are marked as “billed.” Using this marking mechanism, no duplication will occur, even if a new invoice is created for the same date interval.
No discussion of integration today would be complete without considering how .NET facilitates live integration and its significant impact on an organization's best of breed versus single vendor strategy.
.NET is a bold and ambitious initiative by Microsoft to achieve seamless integration of best-of-breed software services over the Internet. With .NET, software providers create .NET services, each providing a unique and consistent function (for example, calendar management, contact management and user authentication services such as Microsoft Passport); .NET services use XML (a standard data definition protocol) to exchange data. These web services are then put together to create complete applications. Because all Web services have a common access API, are independent, are accessed over the Internet and each have a unique function, seamless integration may become easier and more practical then it has ever been. However, as of this writing, .NET is still under construction, it is probable but remains uncertain whether Microsoft will be able to create and popularize such a comprehensive and all encompassing Internet-based integration strategy.
In these times of globalization, rapid technological change and extreme competition, organizations tend to avoid large single vendor enterprise information systems that take many years to implement and even longer to provide any real Return On Investment (ROI). Organizations are instead adopting a best-of-breed approach, selecting software based on current needs, addressing a specific niche requirement. This multi-vendor scaled enterprise software strategy has proven to be the most effective way of dealing with change and achieving immediate ROI on IT infrastructure investments.
The challenge of best-of-breed solutions remains with integration. This white paper described various types of integration such as file-based, batch, and live; and the requirements, advantages and disadvantages of each type of integration. Furthermore, Microsoft .NET initiative was briefly introduced as it relates to its impact on software integration.
This white paper is an exert chapter from the first and most comprehensive textbook in the history of Professional Services Automation (PSA) software entitled “Professional Services Automation: Optimizing Project & Service Oriented Organizations,” published by John Wiley & Son Inc., 2002, ISBN: 0471230189.
It has 25 chapters spanning 300 pages filled with workflows, figures, charts, and diagrams that describe every PSA component, illustrate, and clarify concepts visually to help project and service-oriented organizations be more successful in obtaining maximum benefits from this new emerging class of enterprise software.
Six years in the making this textbook provides the real-life experiences of veteran project managers, IT experts, and business executives. The book brings a unique value to many organizations, management consultants, business analyst, reengineering professionals, software vendors, and academics that work, teach and study in this strategically vital market sector. It probes emerging technologies such as: dynamic integration, wireless, ASP and their impact on PSA systems. The extensive analysis using the PSA cycle for each component, ROI calculators, best practice functionality and PSA RFP template make this the PSA reference that no manager or executive in a project and service oriented organization should do without.
For more information on Professional Services Automation: Optimizing Project & Service Oriented Organizations, published by John Wiley & Son Inc., 2002, or to purchase this book online, please visit www.psabook.com.