Quantcast
Channel: The New Learner » Learning in the Workplace
Viewing all articles
Browse latest Browse all 10

Considerations When Integrating a Learning Management System (LMS) with Salesforce.com

$
0
0

Many corporations want to integrate their Learning Management Systems with other software that they use to run their businesses. SalesForce.com has become the dominant player in the customer-relationship-manager (CRM) software segment, and since SyberWorks receives many requests to integrate our SyberWorks Learning Management System with it, I thought we should look at this type of integration project.

 

With the advent of “Software as a service” (Saas), and SalesForce.com’s commitment to that technology, a rich API is available to allow integration between SalesForce.com and other client applications. And one of the client applications that can be integrated is the LMS system.

General Considerations

 

First, there are two primary (and competing) factors to consider for streamlining SalesForce.com transaction times:

 

    * Batching data

 

      Batching as much data as possible in an APEX API call can reduce the cross-network traffic.

    * Reducing the size of data requests

 

The more data that is sent to SalesForce.com, the more time it will take to process. It is best to send SalesForce.com only the data that is necessary at any time. Sending superfluous data only increases the size (and processing times) of APEX API calls.

 

Of course, these factors are at odds with each other. And users must often balance transaction speeds with other business requirements, to determine how optimal SalesForce.com transactions really can be.

 

A related factor to keep in mind is that SalesForce.com enforces a daily limit on the number of APEX API calls. This is done to balance server processing across multiple concurrent users.

From Users to Business Leads

 

There also may be good business reasons for turning LMS student data into business leads through the SalesForce.com application. This is especially true in situations where companies sell training to customers, vendors, or partners.

 

An automatic process can turn a newly registered learner in the LMS into a SalesForce.com business lead. Using the SalesForce.com APEX API WSDL (Web Service Definition Language), lead objects can be generated and directly added to the SalesForce.com leads database. And the individual who is used to authenticate into SalesForce.com becomes the owner of the newly generated lead.

 

And if your registration process collects data that is not inherent to the SalesForce.com application, custom data objects can be created to represent this application-specific data. A new APEX API WSDL needs to be generated when these objects are created, to make them available to your application interface.

From SalesForce.Com to LMS

 

The next question becomes, “How can I get to my LMS data from SalesFoce.com as seamlessly as possible?” Given the nature of Saas, SalesForce.com provides the ability to create your own application within the SalesForce.com structure. You can create custom tabs that are visible to your SalesForce.com users. These tabs can use custom S-controls of type HTM, URL, or Snippet. You can use whichever is suitable to your LMS integration and acceptable as a user-interface element for your users. This setup allows you to connect pretty easily to your LMS.

 

A related task is logging in to the LMS. If your LMS supports single sign-on, you may want to use the same User IDs in both SalesForce.com and the LMS. If this is done, the user can click a link in the SalesForce.com application, be automatically logged into the LMS, and presented with its starting page. Of course, you need to consider user password security here. And this again depends on the LMS. It may use a generic password for all users connecting through a single-sign-on procedure, or an MD5 hash (or similar encryption technique) of previously agreed data, which could be verified against each user’s specific LMS data for authentication.

From LMS to SalesForce.com

 

Communicating in the other direction-from the LMS to SalesForce.com-depends on the data that must be stored in SalesForce.com. Some examples of data that could be passed from the LMS to a SalesForce.com application are training purchases and course results. (Training purchases would assume that the LMS uses an e-Commerce module, where web- or classroom-based courses can be purchased.)

 

A major consideration again becomes whether this data should be transmitted on a real-time basis or by means of scheduled batch jobs.

 

    * The real-time option requires the LMS to support calls to the SalesForce.com interface whenever user results are updated or an LMS purchase is made. These calls would be made through a web service that transmits the data to SalesForce.com. Any data properties that SalesForce.com does not inherently support can be created as custom objects, so no data need be omitted.

 

The benefits of this are that the SalesForce.com application is up-to-date whenever a SalesForce.com administrator or reporter interrogates its data. The downside is the overhead for each call made to the SalesForce.com application. The number of calls made through the APEX API, though they can be estimated, cannot be predicted, since they occur as events occur.

 

   * Batching data does not use real-time call outs from the LMS code, but instead retrieves data directly from the LMS database at scheduled intervals.

 

      This naturally lends itself to the recommended batching of data to SalesForce.com’s servers, and the number of calls to do that is both predictable and low. However, there is a time lag between actual activities in the LMS and the transfer of their resulting data to the SalesForce.com application.

 

The decision between using a real-time interface or batch process depends on, but is definitely not limited to, the following:

 

    * The timeliness with which business needs to reach SalesForce.com.

    * The ability of the LMS to support real-time data collection and communications.

    * The estimated volume of data that will be transmitted to SalesForce.com (keeping in mind that SalesForce.com enforces a daily limit for API calls).

 

About the Author:

 

Stuart Campbell is Director of Software Development for SyberWorks, Inc., a privately held supplier of e-Learning software and training. A native of the United Kingdom, he had previously served as a Principle Software Engineer, Senior Consultant, Senior Software Engineer, and Development Specialist for companies such as Brooks Automation Inc. (Chelmsford, Mass.); Digital Equipment (South Queensferry, U.K.); and Honeywell Control Systems (Motherwell, U.K.). Among his many roles at SyberWorks, he leads the software-development process and helps to build new software releases and update kits.

 

About SyberWorks, Inc.

 

SyberWorks, Inc. (http://www.syberworks.com) is a leader in the custom e-Learning Solutions and Learning Management System/Learning Content Management System (LMS/LCMS) industries for Fortune 1000 corporations, law enforcement, healthcare, and other industries. Located in Waltham, Massachusetts, the company serves the multi-billion-dollar e-Learning market. Since 1995, SyberWorks has developed and delivered unique and economical solutions to create, manage, measure, and improve e-Learning programs at companies and organizations in the United States, Canada, Europe, and around the world.


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images