StayinFront is at the forefront of IT infrastructure best practices to help streamline development and information technology costs. StayinFront helps organizations reduce deployment capital and expenses, uncover revenue-generating opportunities, and is flexible to leverage existing technology investments.
Application Server
StayinFront Application Server manages business logic and provides all data access for StayinFront CRM systems. It provides object level access to the business model for the various front-end and back-end components that make up a StayinFront CRM solution. The primary functions of StayinFront Application Server are:
- User authentication
- Data access
- Transaction processing
- Meta-data access
Servers for StayinFront CRM can be configured in a number of ways for scalability and redundancy.
Single Server

Separate Database Server

Web System

User Authentication
StayinFront Application Server supports the concept of “Plug-In Authentication Providers,” meaning virtually any type of authentication can be supported. Types of authenticating include validation against system credentials and/or validation of the users ID and password against data in the database.
Data Access
StayinFront Application Server controls all data access and supports the concept of "Plug-In Data Providers," meaning virtually any type of data store can be supported, both relational and non-relational.
Access to data can be restricted at a number of different levels. Certain objects in the system can be restricted from view, or an entire set of objects of a certain type can be hidden. Rules can also be created to allow certain users to view data, but not update it.
Transaction Processing
StayinFront Application Server coordinates and executes all transactions including support for extensive and complex validation rules. StayinFront Application Server ensures that the appropriate business rules are executed before, during and after transactions are applied to the system.
Meta-Data Access
Meta-data is used extensively by the StayinFront CRM application shell, which adapts itself to work with any data model. StayinFront Application Server interprets the business model and provides interfaces for accessing meta-data.
Scalability
There are two options for scaling any kind of computer system:
-
1. Scale Out – spread processing across multiple machines
2. Scale Up – run applications on larger machines with large amounts of disk and memory, and multiple CPU’s
Below are two example configurations designed to handle the needs of 8,000 remote synchronized users and 400 connected users.
Multiple servers are configured to handle the offline processing required for synchronized remotes. The synchronization servers connect to two application servers. The load is spread between the two using Windows® Network Load Balancing (NLB). The needs of online connected users are handled by another two application servers, with NLB used to spread the load between the two.
All four application servers connect to a single database server.

In the scale up scenario, a single server with a large number of CPU’s is used to perform the offline processing for remote users, and handle the load from online connected users using StayinFront CRM client.
Scalability Summary
Many factors need to be considered when designing a server configuration for your StayinFront CRM system. Although StayinFront CRM server components are designed to be easy to administer when spread across multiple machines, scale out configurations often require more administration. The advantage of a scale out configuration is the built-in redundancy and cheaper hardware costs.
Running all components on a single server often makes best use of server resources, and there is only one operating system instance to manage. However, the initial investment required for a server machine with a large number of CPU’s is greater.
For more information on StayinFront CRM scalability, or for access to specific benchmark results, email sales@stayinfront.com. The examples given on this page are indicative only. Exact hardware configuration will depend on system functionality, transaction volumes and usage patterns.





