LMS Free Trial
Home > Media Center > e-Learning Articles and Resources

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

Text Size  - +  Print  Print

By Stuart Campbell, Director of Software Engineering, SyberWorks, Inc.

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:

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 decision between using a real-time interface or batch process depends on, but is definitely not limited to, the following:

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. 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.

SyberWorks, Inc.
411 Waverley Oaks Road
Building 3, Suite 319
Waltham, MA 02452

Bobby/Watchfire Section 508 Approved level 1

Valid XHTML 1.0!

Home | LMS Product Suite | Industry Solutions | Services | Partnership | Courses | About Us | Free Trials | Media Center | Site Map