- Why SuccessFactors?
Distinctive Cloud Technology Platform - Multi-Tenant Architecture
A Unique Approach
Developing a highly scalable, secure and cost effective cloud 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 cloud technology platform now serving millions of users globally. The platform was developed based on four core foundational elements:
Hybrid Multi-Tenant Database Architecture
The move to cloud 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 cloud database architecture options (Figure 1), SuccessFactors selected a hybrid approach. Let's first start by reviewing the three baseline options:
- Single Tenant - While this approach offers customers a separate custom database, it does not allow for a scalable solution thereby requiring software vendors to maintain multiple highly variable database schemas making software upgrades more difficult and restricting the ability of the vendor to maintain one core code base.
- Multi-Tenant with Identical Schemas - While this approach offers substantial scalability, it limits the breadth of configuration options for each individual customer forcing them to cope with limited business process support from the application.
- Multi-Tenant with Custom Schemas - While this approach offers a wide range of configuration options for the customer, it limits the vendor's ability to maintain one core code base and/or forces the vendor to introduce customer specific complexity into the master code line potentially impacting performance.
SuccessFactors selected a unique hybrid approach to its database architecture. While the core of the approach is multi-tenant with identical database table schemas for each customer, SuccessFactors leveraged the self-describing attributes of XML to abstract much of the unique customer data requirements into its Object Model. With this approach, SuccessFactors is able to retain all the advantages of a highly scalable and secure multi-tenant model with an identical schema at the database level; while still offering customers the ability to experience an application that is highly configurable.
Example in Action: Hundreds of SuccessFactors customers are currently routing highly custom performance appraisal forms through very different workflow steps all on one common multi-tenant platform with one code base.
Rather than developing cloud 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:
- RDBMS Approach - The majority of enterprise-class applications today leverage the core processing and structured storage capabilities of standard RDBMS platforms, but they come with specific limitations, including high likelihood of data redundancy, entity relationship mapping complexity, convoluted entity topology and inflexibility that comes with schema changes required to support configuration changes higher up in the overall architecture stack.
- Object-Oriented Approach - While this approach allows programmers to virtually manage both business logic and data relationship information without the need to structure core data relationships into database tables, taken in isolation it does not leverage the exceptional processing and performance features included with standard RDMS platforms. In addition, maintaining all logic and data in-memory is unproven and risky from the perspective of data integrity and potential data loss.
SuccessFactors utilizes a highly flexible mixed approach that allows for the best of each method of data manipulation and modeling. While all data is stored in a standard Oracle RDBMS, the table structure is highly simplified, and all the core entity data is self-described within the XML based Object Model. This approach allows for the flexibility in what may be perceived as traditional data model changes, but is in effect modifications at a level higher than the RDBMS in the technology architecture stack. Moreover, this approach allows SuccessFactors the potential future option of interfacing (offering and receiving) services across a SOA environment.
Example in Action: Hundreds of SuccessFactors customers are currently entering goals, tasks, targets and milestones into very different goal plan templates and layouts, all while leveraging a common permission control model for access to public and private goals in their particular companies.
Hierarchical Data Algorithm
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).
Example in Action: Millions of SuccessFactors managers are able to cascade goals to team members, allowing each team member to then personalize these goals for their particular goal plan. This is accomplished all while the system seamlessly maintains the relationship between the original and cascaded goals in the employee hierarchy.
Web 2.0 Platform Agnostic
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 cloud 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 cloud 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.
SuccessFactors, an SAP Company, is the leading provider of cloud-based business execution software, and delivers business alignment, team execution, people performance, and learning management solutions to organizations of all sizes across more than 60 industries.
Int Toll Free: +1 800-846-6503
Int Toll Free: +1 866-374-8458