Developing a highly scalable, secure and cost effective on-demand technology platform requires a unique approach. The need to create a platform that supports all employees at thousands of global organizations further complicates the dilemma. Finally, adding the requirements of substantial anticipated peak time usage and hyper growth in additional add-on companies and users makes the situation that much more complex. After thorough research, planning and counseling from the greatest minds in the information technology industry, SuccessFactors developed a distinctive on-demand technology platform now serving millions of users globally. The platform was developed based on four core foundational elements:
The move to on-demand platforms has brought with it various approaches to supporting customer application and data storage requirements. Having considered the benefits and tradeoffs of each of the three baseline on-demand database architecture options (Figure 1), SuccessFactors selected a hybrid approach. Let's first start by reviewing the three baseline options:

Rather than developing on-demand applications using only a standard relational database management system (RDBMS) or strictly an in-memory object database, SuccessFactors designed and developed its application suite leveraging the benefits that come with each of these two data structuring and storage options. Let's first explore the two core approaches:
Delivering applications that require an understanding of hierarchical employee relationships is no small feat for traditional flat table-based database software applications. Traditional approaches to this challenge have forced programmers to traverse the entire employee hierarchy in order to effectively query across the dataset using standard SQL. In order to support the unique nature of this challenge, SuccessFactors employed the "Left/Right Algorithm." Rather than having to transverse the entire organizational hierarchy, batch code is run to label each node and subnode across the hierarchy from left to right in a tested and proven pattern. The distinct left and right labels are then stored at table level. With this approach, highly complex SQL statements can be substantially simplified since the label at each parent node identifies the subnodes and all associated ancestors in the tree below (Figure 2).

The Web 2.0 revolution has brought with it a myriad of options for delivering a Web-based experience similar to the rich and highly interactive software experience available on client desktops. Consumer Internet application providers have led the revolution, some choosing the AJAX approach while others are standardizing on the Abobe Flex solution, among many others. Each option comes with its own set of advantages and disadvantages. For example, while Flex allows for faster deployment due to its pre-packaged nature, AJAX offers greater flexibility in design and development.
In order to take full advantage of all options as the marketplace moves toward standardizing on a platform, SuccessFactors has chosen to introduce an abstraction layer (part of standard JBOSS SEAM Web framework) that will allow application suite functionality to be delivered leveraging the best possible method required, based on the intended user experience. This approach supports the long-term needs of SuccessFactors' application end-users and gives SuccessFactors the additional option of exploring a myriad of ancillary and remote application modules to develop.
Example in Action: SuccessFactors' organizational charts can be delivered leveraging the benefits of the Adobe Flex platform making them aesthetically rich and interactive, while AJAX constructs can still be invoked in other areas of the application suite.
SuccessFactors' distinctive approach to on-demand platform technology is tried and tested after six years and over 70 releases of the product. At each decision point, flexibility, security, scalability and extensibility were carefully considered in making technology architecture decisions. The four areas of multi-tenant database architecture, object model, hierarchical data handling and Web 2.0 platform choices are just some of the many decisions that make this on-demand platform unique. The millions of users around the world who are currently benefiting from the system 24 hours a day, seven days a week are direct proof of its credibility.