integration services whitepaper - aplicor … ·  · 2007-06-13axiom also includes an open...

7
Copyright 2003-2007, Aplicor, Inc., All Rights Reserved © INTEGRATION SERVICES WHITEPAPER

Upload: trinhbao

Post on 04-May-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©

I N T E G R A T I O NS E R V I C E S

W H I T E P A P E R

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©1

The AXIOM Web services Gateway provides an XML-based standards specification, including the SOAP (Simple Object Access Protocol) messaging mechanism, to expose the Aplicor architecture and enable straight-forward integration. This system integration method provides simple and flexible access as well as facilitates a streamlined and repeatable process for system integration. AXIOM also eliminates the custom programming, complexity and excessive cost associated with more antiquated EAI (enterprise application integration) techniques.

AXIOM exposes the entire online application for on-demand integration

This approach ensures that integrations may be written one time and that the touch points are supported as the online product is upgraded

AXIOM is completely built using SOA and XML web services - instead of a proprietary middleware product - for an industry standard integration approach and the use of loosely-coupled component applications with services linked through common standards (through web services)

Industry standard tools and open technologies empower existing IT staff and do not require new proprietary tool learning curves and support

The avoidance of proprietary middleware applications not only reduces new training investment but also prevents investments in applications, technologies and vendor-specific integration tools which are at risk of obsolescence

Aplicor Web services facilitate composite applications and the piecing together of functionality from different software solutions to drive business processes

AXIOM also includes an open standard web services application program interface (API) which lets programmers customize, expose, or hide online system capabilities using a wide variety of programming languages

AXIOM is component-based, with the flexibility to distribute components geographically, across servers, networks and firewalls, according to the needs of the business

Loosely coupled Web services can be used inside or outside the firewall

AXIOM leverages your existing IT assets and infrastructure, including security systems, RDBMS, application servers, networks and meta data

AXIOM supports Aplicor’s flexible delivery methods by permitting the same integration touch point regardless of the chosen delivery model (Aplicor’s hosted model through the internet or on-premise via an internal corporate network)

An end result of simpler, more flexible and less expensive integration as compared to proprietary integration applications

The AXIOM (Aplicor XML Integration Object Model) Web services Gateway provides a centralized Web services foundation for simple and complete system integration support. AXIOM leverages a Service Oriented Architecture (SOA) to provide customers, partners and developers an open, standards-based integration approach in place of proprietary vendor API solutions in order to facilitate cost-effective integration and application extension capabilities. AXIOM integration services provides several key benefits.

Introduction to Integration ServicesDue to Aplicor’s focus on mid-market and enterprise organizations, providing seamless integration to legacy

enterprise applications is a standard requirement for nearly every client. To accommodate this universal need, Aplicor provides a suite of industry standard technology tools which cater to differing technology requirements and the plethora of different information systems.

AXIOM - XML Web Services

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©2

Recommended when Aplicor is pushing data to an XML Web Service based on a schedule, stimulus event or triggered workflow business process

The Workflow Designer’s visual drag and drop environment enables authorized users to construct business rules including the ability to send or receive data to XML Web Services and take action based upon the data or process results

The Aplicor Workflow Designer works in conjunction with AXIOM, contextual web linking or import and export wizards in order to schedule or automate system integration tasks and routines.

Workflow Automation

The Aplicor Import wizard facilitates simple data upload from common file formats (Excel, CSV, XML, etc.). The user visually maps fields from the source file to the destination fields in the Aplicor system. Embedded business rules, conflict resolution parameters and automatic revert procedures enforce data integrity

Data query results and extracts constructed in Aplicor can be exported to common file formats using the export wizard

Data Import and Export

Delivers quick viewing of information in another web-based system

Because this approach is only viewing data, no actual data exchange is required

Linking is easily accomplished by embedding form data (such as an Account ID) into a web site URL

Supports single sign-on (SSO) and greatly reduces the amount of duplicate data and integration complexity

This approach provides a window within an Aplicor page to information residing outside the Aplicor system.

Contextual Web Linking

Aplicor provides additional integration tools and methods for data access, sharing, exchange and consolidation. A combination of these alternatives is often employed dependent upon the architecture of the legacy systems, the organization’s requirements and project scope.

Aplicor clients’ make routine use of online sandbox test environments. This enables integrations to be tested within a quality controlled, non-production environment. Sandbox provisioning and updating can replicate your existing production environment to insure that customization or integration works properly prior to migrating to the live system.

Additional Tools and Methods

Use the Skills You HaveWith AXIOM you use the skills, tools and resources you have and don’t need to be concerned about learning

another vendor’s proprietary integration technology. Aplicor XML web services support ubiquitous developers trained in popular web development environments such as Java, C#, VB and ASP.net. The AXIOM web service and API lets you modify Aplicor pre-built web services or build new integration routines to retrieve real-time data. AXIOM supports existing XML and SOAP APIs for accessing CRM software and uses business logic and data services to retrieve, create, modify, delete and synchronize data between business information systems.

Test and Sandbox Environments

HTTPS

AXIOM API

Simple Object Access Protocol (SOAP)

Web Services Description Language (WSDL)

XML

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©3

The accounting and ERP systems listed below are widely recognized and utilized in the marketplace. Aplicor’s Professional Services division possesses both the integration Web services foundation and the experience in integrating these popular back office systems with the Aplicor front office CRM application.

Customer Master - Synchronizing customer information between the CRM and accounting/ ERP system is often a prerequisite for implementing other touch points. Once an account is classified as a customer in the CRM system, customer data can then be pushed to the backend accounting/ ERP system. The Account ID field is typically the common identifier for the customer in both systems. Generally, while all accounts (e.g. suspects, prospects, customers, etc.) are stored in the CRM system, only existing customer accounts are stored in the accounting/ERP system.

Product Master - If an organization’s quoting or sales order process requires line item entry based on Accounting/ERP system product inventory, then inventory data must be shared or pushed to the CRM system. A SKU is typically the common identifier for the product in both systems.

Sales Orders - This touch point can be triggered when a new sales order is entered and/or when a sale opportunity is won in the CRM system. Generally, sales order or sale opportunity information is pushed to the order entry module or accounts receivable module in the accounting or ERP system. The Order ID field is typically the common identifier for the order in both systems.

Customer Status - Changes made to customer records are pushed from the accounting or ERP system to the CRM system. This touch point is typically implemented so that changes to customer status and alerts entered in the accounting or ERP application are also reflected in the CRM application.

Billing and Payment - Aplicor provides two integration methods for those clients who wish to include customer billing, receivables, payment and sales information in the CRM system to achieve a true 360 degree account view. If the accounting or ERP system is a web-based solution, Aplicor’s Contextual Web Linking may be the most practical data sharing method. By simply passing the Account ID within a URL link string from the CRM system, the CRM application can then display the billing, credit, payment or sales accounting system page as a form page or a pop-up page. This virtual sharing and on-demand display eliminates data replication between front and back office systems. Alternatively, if the accounting or ERP system is not a web based product or the exchange of data is a preferred approach, then data may be pushed to the Aplicor CRM system so that it can be displayed within an Account form.

Aplicor is a provider of front-to-back enterprise-wide business systems. However, recognizing that many clients in search of new front office applications are invested and satisfied with their existing back office systems (or vice versa), Aplicor provides a suite of packaged Web services for data exchange between front office CRM systems and back office accounting and Enterprise Resource Planning (ERP) applications. Five of the most common touch points used for accounting or ERP data exchange include the following:

Accounting and ERP Integration

COMMON ACCOUNTING AND ERP WEB SERVICES INTEGRATION

PLATFORM WEB SITE ADDRESS

Intuit QuickbooksMicrosoft DynamicsOracleSageSAP

http://www.quickbooks.comhttp://www.microsoft.com/dynamicshttp://www.oracle.comhttp://www.sage.comhttp://www.sap.com

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©4

Incoming/ Transfer Call - When a call is received by the telephone system it is either forwarded to a phone extension manually by the caller or automatically through an automatic call distribution (ACD) system. When the phone rings, a “Screen Pop” is invoked enabling the Aplicor user to answer the call and create a new contact activity (Call, Incident, etc.) automatically, transfer the call to the phone extension of another user or transfer the call back to the phone system queue.

Call Click-To-Dial - When this touch point is implemented, telephone numbers are displayed with hyperlinks in the Aplicor user interface. By clicking a phone number, it is automatically dialed at the telephone handset assigned to the user.

Predictive Dialing - Outbound telephone campaigns configured in Aplicor can be automatically pushed to the phone system’s predictive dialing module. Once the outbound call list is initiated in the predictive dialer, users assigned to the campaign will receive an incoming “Screen Pop” when a caller is reached.

Call Reporting - A deficiency in call reporting occurs when attempting to view reports that combine telephone system and CRM data. Aplicor provides telephone system integration to consolidate data so that it can be utilized within Aplicor’s Business Intelligence (BI) module. As an example, Aplicor’s Dashboard entitled “Customer Support Call Management Analysis” combines data in the phone system with call resolution information in Aplicor so that analysis can be performed to determine how to improve call wait time and abandonment rates.

Send Fax - When a “Fax To” activity is created in the Aplicor CRM system the information is pushed to the fax service creating a new fax job.

Fax Status - This touch point polls the fax service to determine the status of the fax job as well as update the fax outcome field and fax status field on the fax activity record.

Receive Fax - This touch point polls the fax service to determine if a new fax has been received. If so, a new “Fax From” activity is created in the CRM system. The fax is attached to the activity as an image file.

The above telephone systems are widely recognized and utilized in the marketplace. They also provide developers sufficient tools and support for product integration. Aplicor’s CTI Web services foundation and Professional Services staff possess the technology and experience in integrating telephone and CRM solutions.

Telephone system integration, often referred to as Computer Telephony Integration (CTI), is a commonly requested CRM integration. Aplicor leverages its CTI Web services foundation for a variety of CTI data exchange points. Four of the most common Aplicor CTI touch points include the following:

Facsimile (fax) integration streamlines business process by enabling fax documents to be sent or received electronically and easily attached to an Aplicor contact or activity record. While there is some variation depending upon which fax service is used, three of the most common fax integration touch points include the following:

Facsimile Integration

Telephone System and Computer Telephony Integration (CTI)

COMMON CTI WEB SERVICES INTEGRATIONPRODUCT WEB S ITE ADDRESS

EchopassFive9

AvayaCiscoGenesys

www.echpass.comwww.five9.com

www.avaya.comwww.cisco.comwww.genesys.com

ON PREMISE PHONE SYSTEMS

HOSTED PHONE SYSTEMS

COMMONLY REQUESTED FAX SYSTEMS FOR INTEGRATIONPRODUCT WEB S ITE ADDRESS

InterfaxVenali

Capteris RightFaxwww.interfax.comwww.venali.com

www.capteris.com/rightfax

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©5

An XML Web service starting point residing on the customer network polls the existing accounting/ERP and pushes changes in status related fields.

An XML Web service end point residing on the Aplicor network receives the request to an Aplicor provided function titled “UpdateAccountStatus” because this has been identified as a commonly requested touch point.

1.

2.

User Master - Pushing users who have been assigned a CRM group attribute within an LDAP server to the CRM system is generally a precursor to achieve Single Sign-On functionality. The login name is typically the common identifier for the user in both systems.

Authentication - Bypassing the Aplicor login screen and automatically logging in as an authenticated user can be accomplished using one of two approaches.

Contextual Link Method - This method uses a user ID and password URL parameters within a text string to launch a new browser window and automatically authenticate the user.

Token Method - This method first requires the referring system to pass a GUID and an Aplicor user ID to an XML Web service function creating a “token” in Aplicor. A new browser window containing the GUID token in the URL is launched resulting in the user being automaticallylogged into Aplicor. The token method is far moresecure than the Contextual Link Method as it guarantees that the login bypass request was initiated from a known source.

LDAP (Lightweight Directory Access Protocol) integration enables designated network users to also have a login automatically created in the Aplicor system. Single Sign-On (SSO) enables users to authenticate with a corporate network and bypass duplicate logging into other corporate applications.

LDAP Integration and Single Sign-On

Aplicor provides LDAP and SSO Web services integration to Microsoft Active Directory.

The following code snippet is an extract of an Aplicor AXIOM XML Web service touch point that pushes customer status information from an Accounting or ERP system to the Aplicor CRM system.

Touch Point Example

Copyright 2003-2007, Aplicor, Inc., All Rights Reserved©6

Related AXIOM WSDL

… (Skipping other portion of the WSDL defining the Account entity) <s:complexType name="VAccountRelationshipBase" abstract=”true”> <s:sequence> <s:element name="AccountId" type="tns:ID" nillable="true" /> <s:element name="Account0205" type="xsd:string" /> … (Skipping other elements in Account entity) </s:complexType> … (Skipping other portion of the WSDL defining the Alert entity)<s:complexType name="AlertBase"> <s:complexContent mixed="false"> <s:extension base="tns:EntityBase"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="AlertId" type="s1:guid" /> <s:element minOccurs="1" maxOccurs="1" name="OriginalAlertId" type="s1:guid" /> <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="EntityId" type="s1:guid" /> <s:element minOccurs="1" maxOccurs="1" name="EffectiveFrom" type="s:dateTime" /> <s:element minOccurs="1" maxOccurs="1" name="EffectiveThru" type="s:dateTime" /> <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="AddedBy" type="s1:guid" /> <s:element minOccurs="1" maxOccurs="1" name="EditedBy" nillable="true" type="s1:guid" /> <s:element minOccurs="1" maxOccurs="1" name="EditedDate" nillable="true" type="s:dateTime" /> </s:sequence> </s:extension base> <s:complexContent> </s:complexType> … (Skipping other portion of the WSDL defining the Account Provider_Update function)<s:element name="AccountProvider_Update"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="entity" type="tns:Account" /> </s:sequence> </s:complexType></s:element> … (Skipping other portion of the WSDL defining the AlertProvider_Insert function)<s:element name="AlertProvider_Insert"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="entity" type="tns:Alert" /> </s:sequence> </s:complexType> </s:element>

Example Code (C#)

…TList<Account> accounts = accountingSystem.Customers_GetAll();for (int i = 0; i < accounts.Count; i++){ if (accountUpdated(accounts[i].AccountId)) { accounts[i].Account0205 = ”Credit Hold”; … axiom.AlertProvider_Insert(accounts[i].AccountId); … axiom.AccountProvider_Update(accounts[i]); … }}…