A Brief History of SuccessFactors Technology and Innovation

SuccessFactors, officially founded May 21, 2001, was formed with a core set of innovative technologists already in place. Graduates of U.C. Berkeley's Computer Science department, and with experience at Oracle, Informix, and other technology companies, these technologists built a world-class architecture for business processing applications. This short document provides an overview of their thinking and the technology milestones that drove SuccessFactors from the beginning to the present.

Generation 1.0

In late 1997 and 1998, the team set out to deliver one of the first Application Service Provider (ASP) platforms. Their focus was business processing applications, such as expense reporting. The system had to be architected from the beginning as a true multi-tenant on-demand application, capable of global scalability.

One of the design prerequisites was "zero client install." The team selected what were then leading-edge technologies: Java Applets (J2EE was not yet available) and Java RMI. They wrote their own high-performance Application Server, recognizing the need for this platform layer, before third-party application servers were available on the market. Shortly afterwards, they decided to migrate from Java applets to HTML applications-a process that proved to be simple because they already had a clean service oriented architecture. Application forms were built on a lightweight form description language predating XML.

Role-base permission models were developed, as an integral part of the platform-supporting workflow processing, data access, and other areas requiring permissioning. The team took this concept to the next level-implementing a "Role-Relative Permission" model. This is more powerful, as it not only checks for a person's specific permissions, but also places it in the context of that person's role relative to the data or process he is trying to access-such as knowing that Jim is not only a VP but also knows the critical context: who are his direct reports, and who Jim reports to. Role-Relative Permissions allows for the simple specification of permissions that can be applied to organizations of any size.

Integration with other systems, sometimes referred to as "data connectors," was always a high priority, especially since their business model was an ASP. The team quickly settled on a straightforward approach-supporting CSV data transfer from ERP and other systems. This approach, while not "bleeding edge," proved to be simple, scalable, secure, stable, and compatible with current and future releases of other systems.

Generation 2.0

By 1999, the team was well into the second generation. They ported to the first version of the newly available Weblogic Application Server. Since these founding technologists had connections with Sun Microsystems, they were able to get advice from Jim Gosling, known as the father of the Java programming language, and others, on how the team should optimally use Java and J2EE. The team found that because of their foundation work, it was quite easy to port to J2EE and take advantage of the benefits of this technology.

A subset of the team focused on clustering technology in order to gain the scalability, reliability, failover, and cost-effectiveness of parallel computing.

Generation 3.0

XML was starting to get momentum in 2000. The team had already been tracking the technology, understood the benefits of leveraging this new industry standard, and converted form definitions and key data model components to XML.

This generation was also when the team really showed their database credentials. To support the need for high scalability, high performance, and security, the platform was ported to Oracle. The database schema was designed for pure multi-tenant use. Every customer had the exact same database tables but each customer had their own database schema. This design choice was essential for effective delivery of SaaS, providing a clean, secure and scalable separation of customer data. This basic design concept has yielded substantial benefits to both customers and SuccessFactors.

Generation 4.0

Lars Dalgaard, founder of SuccessFactors, recognized in 2001 that this team had the right architecture and technologies, and used it as the basis for launching his new company. In the 2001-2002 timeframe, the expanding SuccessFactors technology team implemented a hierarchical data structure called "L&R Trees"-a term coined by the SuccessFactors technologists-to provide security for the data and support high-performance data search and retrieval (quick traversal of hierarchical data). This hierarchical data structure was the result of brainstorming internally and with other industry experts about how to address the requirements for goal management-SuccessFactors' newest offering that enabled organizations to cascade and align goals throughout an organization.

During this time, they also developed an optimized object relational structure-obtaining all the benefits of Oracle RDBMS technology, with XML object wrappers for encapsulation of forms and other object types. JavaScript was adopted by the developers. SSO (Single Sign-On) infrastructure support-the ability to integrate with third-party SSO solutions-was added. SuccessFactors later adopted the open source toolkit SAML when it became available. As a result of the innovative ideas, several patents were applied for during this timeframe.

Generation 5.0

In 2003 the head of IT for one of the largest banks in America was considering using SuccessFactors internally, and put SuccessFactors through the comprehensive Sun iForce technology evaluation. Sun and the bank planned on 3 weeks for the testing, but SuccessFactors passed all the tests including scalability in only 7 days! The head of IT for this world-class financial institution said:

"I want SuccessFactors to be the blueprint for all of our bank's web applications."

2003-2005 included several additional technology milestones. SuccessFactors adopted an open source initiative-JBOSS, porting from Weblogic to JBOSS. AJAX technologies were utilized, including XML HTTP Request, DHTML, and JavaScript, two years before the term "AJAX" became an industry term. The team learned early on some of the initial pitfalls of these technologies, and focused on making applications that were more responsive and more scalable. Flash was then used to provide organization charting capabilities. SuccessFactors leveraged its support for XML to support SOA (Service Oriented Architecture). A Star schema was introduced into the production database, to support advanced analytics.

Summary

SuccessFactors' foundation and architecture was purpose-built for on-demand multi-tenant applications. SuccessFactors has always been focused on solving customer problems, and constantly assesses new technologies with that priority in mind. The foundation and architecture at each stage proved to be based on the right choices at the right time-and it's been able to easily evolve as new technologies become available. Such evolution benefits both SuccessFactors and our customers. And we continue to hire bright engineers and technologists-almost 100 now-who are focused on continuously innovating the architecture and applications.

Continuous Evolution of the Architecture

Continuous Evolution of SuccessFactors Architecture


Solutions Technology Customers About Resources