|
Time And Attendance
Technical White Paper
|
|
|
Table of Contents

Introduction
n today’s constantly changing technology environment, corporations are determined more than ever to implement solutions that are based on standard technologies and platforms. This effort is being driven by both Finance and IT departments in an effort to improve ROI and have a direct impact on the bottom line.
Time America, Inc. has a rich, history of providing solutions that meet and exceed our customers’ expectations. Time America’s NETtime® product is built on a standard, non-proprietary web-based architecture that allows companies to harness their corporate information with the peace of mind that their system will not become tomorrow’s legacy problem.
Recognizing that customers’ configurations come in many different shapes and sizes, NETtime provides a solid foundation to meet the varied needs of enterprises small to large. Offered in a licensed and hosted model, NETtime was designed from the top down to meet both the business requirements and webbased technical demands of today’s enterprises. Its flexible design and use of proven distributed technology is critical to meeting the high volume and availability requirements of these environments. This document provides an indepth look at the technology and architecture behind Time America’s products. It discusses some of the underlying factors for determining a deployment configuration and provides and in-depth look at some of the driving factors in sizing and configuration of a system. Lastly, it explores four configuration scenarios for companies of varying sizes and environments.

Technology Platform
ime America has adopted Microsoft tools and platforms as a corporate standard for its product suite. Microsoft delivers best-in-class tools and platforms with the reliability, performance, scalability, and manageability required by enterprise solutions.
NETtime utilizes Microsoft Windows 2000 Server (or Windows 2003 Server) as a deployment platform because of its proven history. Windows 2000 Server is used to provide web and application services with high reliability, efficient management, and support for the latest advances in networking hardware. It provides the best foundation for integrating your business with your Intranet and the Internet.
NETtime utilizes Microsoft SQL Server 2000 as the database server. Microsoft SQL Server provides high performance, scalability, and reliability. Beyond these core enterprise qualities, Microsoft SQL Server provides agility to your data management and analysis, allowing your organization to adapt quickly and gracefully to derive a competitive advantage in a fast-changing environment. Microsoft SQL Server provides the lowest cost to performance ratio. In test after test, Microsoft platforms have not only scaled to the highest levels, but have also done so at a lower cost.
Development Tools
Development tools play a fundamental role in the effective use of information technology to build enterprise applications. Development tools enable organizations to create, customize and integrate the corporate applications that can turn information technology into a competitive edge in the marketplace. Time America utilizes Microsoft Visual Studio (including C# and VB.NET) to address all aspects of application development, including user interface, middletier component development and assembly, and data access component development.

Application Architecture
ntegrated enterprise applications are a primary focus for Time America. Building such applications requires up-front attention to the design process, and requires modular, open application architecture.
To meet these requirements, Time America’s enterprise application architecture includes intelligent application partitioning, the use of modular and reusable components, scalability, distributed services, and open interoperability with thirdparty applications.
The application architecture is logically divided into the User Interface, Business Object and Data Access layers. This architecture provides a flexible componentbased structure that is ideal for web applications.

User Interface Layer - Developed as Active Server Pages (ASP), this layer contains the code for all user interface components. ASP runs under Section 3 I User Interface Business Object Layer (COM ) Data Layer 4 Internet Information Server (IIS) and communicates with the COM objects for accessing data and business logic of the application.
Business Object Layer - The business object layer contains the code to interact with both the User interface and data access layers. Business objects contain the specific business logic that is performed by the user interface on the data.
Data Layer - The data layer accesses the data from the database. COM objects in the business object layer use Microsoft ActiveX Data Objects (ADO) to expose data from the data store into usable row sets.
This architecture provides several fundamental benefits, such as:
Multi-tier partitioning - The application can be partitioned into independent layers for user interface, middle-tier business logic and data access. This provides flexibility and modularity so that applications can be easily adapted to changing requirements and varied customer configurations.
Reusable Components - All business logic is encapsulated into reusable Component Object Model (COM ) components. COM components can be transparently distributed across middle-tier servers on a network.
Scalability - Middle-tier business components are run within Microsoft’s COM Transaction Server, which provides seamless support for distributed database transactions based on the XA standard, and thread/resource pooling for servicing thousands of concurrent users.
Support for Standards - The architecture is based upon the Worldwide Web Consortium (W3C) standards HTTP and HTML. In addition, other standards fully supported include SSL, SQL, ODBC and web services.
Application Components
NETtime can be broken down into its individual application elements or services. These elements consist of different front-end and back-end components performing specific functionality within the application. Understanding application components is important to determine a proper deployment configuration for your enterprise.

The Servers can be broken down into the following two components:
• Web Servers
• Queue Servers
These servers can be configured to run on one single physical machine or load balanced across several machines for performance and scalability. Load balancing is accomplished using either Microsoft Windows load balancing service or a separate hardware or software load balancer.
Web Servers
Web servers provide all user interaction to the application. The web servers consist of Active Server Pages (ASP) and COM components to provide a flexible and high performance web-application architecture. They perform session authentication, session timeout, redirection, cookie management, COM communications, data access as well as a variety of business logic and HTML generation functions on each user request.
The web server is designed to function in a stateless environment. NETtime’s stateless design allows the web servers to be configured to load balance on a per request basis. This type of configuration affords the highest level of performance and fault tolerance. For example, if the web server’s hardware or software services fail at the time a user clicks on a link to request a new page, the request would automatically be routed to the next available web server and the user would not be impacted. Similarly, in the worse case scenario where the server failed in performing the request, the user would receive a “page cannot be displayed” error and be instructed to refresh the page. Upon hitting refresh, another server automatically processes the request and the user continues to perform the function.
The web servers are installed and configured on servers running Microsoft Windows 2000 (or 2003) Server and Internet Information Server (IIS). ASP pages are installed in appropriate web directories and the DLL’s are registered in COM packages.
Queue Servers
The queue servers handle all reporting and employee schedule generation. NETtime comes with standard reporting services that allow users to view and print canned reports online. The queue servers provide the functionality to handle the front-end user interface for users to run, view, and export reports to the backend functions accessing the data and building the reports. Report data can be downloaded or exported in a number of standard formats (pdf, rtf, xls, tiff) through reporting services to give customers the ability to do ad-hoc reporting. The exported data can be used in Excel or any 3rd party report writer to build adhoc views. In addition to reports, standard exports exist for the most popular payroll packages like ADP and Paychex.
The queue servers run independent of the web servers. If a large number of report requests come in at the same time, the queue servers will intelligently handle each report request, spanning new threads for each report while balancing the number of concurrent reports running at one time. With this methodology no user will experience a slow down of the web site while reports are being generated.
Data Collection
Most enterprise systems will require data collection terminals like bar code/magnetic badge readers or hand recognition terminals. These devices seamlessly incorporate into the NETtime system via a hardware polling utility. This small utility, which is installed on a Windows PC, connects to the NETtime servers and retrieves information about employees and their respective schedules. At a pre-defined time it uploads this data to the terminals using a variety of communication methods including serial (RS232, RS485), modem and Ethernet (TCP/IP). NETtime can be configured to retrieve the information in the terminals as frequently as desired. The punch data is downloaded from the terminals and sent to the NETtime servers where it is processed. The polling utility is run as a Windows service so once it is setup there is no maintenance associated with it.

Deployment Configuration
etermining the right deployment architecture for a corporation is a tricky task. Many factors must be considered to determine the appropriate hardware and software configuration. Considerations such as peak concurrent usage, fault tolerance, availability, corporate environment, application architecture, performance and platform influence how a system should be implemented in an enterprise. Corporate IT staff will need to consider these and other factors to determine the appropriate configuration for their environment.
Corporate Environment – The corporate environment will ultimately determine the type of deployment architecture. Questions such as “Is the solution to be implemented in a single or multi-site scenario?” or “Should you implement a centralized or decentralized solution in a multi-site scenario?” must be considered before all others. Answers to these questions will undoubtedly raise additional questions on LAN/WAN configurations, IT staff availability, costs, etc…
Usage – Many corporations size their equipment according to expected peak usage levels. The simple question of how many users you expect to log in and use the application concurrently will determine how many servers will be required. To determine concurrent usage, you will need to calculate the number of different types of users (supervisors, employees reporting time using web services, administrators), by shift, geographic location and time zone. Often, the number of workstations in a corporation with multiple shifts will be a limiting factor for peak concurrent usage. Generally, industry averages for concurrent usage of NETtime systems are five-percent of the total employees being managed. However, this percentage will be higher for enterprises with employees using Employee Self Service to report their time. This factor will also vary depending on industry and the corporate environment.
Performance – Many enterprise systems do not have measured performance statistics on a per-user basis to determine server sizing and configuration. Time America products have been load tested at various levels to determine performance capabilities. On average, you can expect to service 250-300 concurrent users per CPU on a dedicated web server. For configurations where multiple services (database, web, application, reporting, etc.) are installed on the same server, the number of concurrent users per CPU will be decreased.
Sizing Chart
The following chart provides a sample employee to server ratio. Many factors discussed in this white paper may affect how many servers are required for deployment. This chart does not include machines required for data collection. Typically, these machines are standard PC’s and not high end servers.
| Total Employees |
Servers |
Notes |
| 1 – 750 |
1
|
1 Server (for database/web/queue) |
| 751 – 2,500 |
2
|
1 Database Server 1 Web/Queue Server |
| 2,501 – 6,000 |
3
|
1 Database Server 1 Web Server 1 Queue Server |
| 6,001 – 12,000 |
4
|
1 Database Server 2 Web Server 1 Queue Server |
| 12,000- 18,000 |
5
|
1 Database Server 2 Web Servers 2 Queue Servers |
| 18,001- 24,000 |
6
|
2 Database Server 2 Web Servers 2 Queue Servers |
| 24,001 – 30,000 |
7
|
2 Database Server 3 Web Servers 2 Queue Servers |
Minimum Hardware & Software Requirements
Database
• Microsoft SQL Server 2000 or greater (Standard or Enterprise Edition) with the latest service packs.
Servers
• Microsoft Windows 2000 or 2003 with the latest service packs.
Client Workstation
• Any operating system able to run a browser that can interpret HTML.
• Adobe acrobat viewer for some pdf formatted reports.
Recommended Browser
• Internet Explorer
• Netscape
• Mozilla
• Safari
• etc…
Scenario 1 – 750 Employee Company
A company with 750 employees might normally have 35 concurrent users. This minimal configuration could be configured on a single server. The server would be configured with all components including the Database Server, Web Server and Queue Server.
 |
|
 |
Single Server Requirement
• 1x3GHz CPU
• 2 GB RAM
• 10 GB storage space for data
• RAID Disk Configuration |
Database Requirement
• 2x3GHz CPU
• 4 GB RAM
• 25 GB storage space for data
• RAID Disk Configuration |
Scenario 2 – 1,500 Employee Company
A company with 1,500 employees might normally have 75 concurrent users. This size company would require a Database Server and a Web Server / Queue Server for its deployment. This configuration would have plenty of room for growth.
 |
|
 |
Web Server Requirement
• 2x3GHz CPU
• 2 GB RAM
• RAID Disk Configuration |
Database requirement
• 2x3GHz CPU
• 4 GB RAM
• 25 GB storage space for data
• RAID Disk Configuration |
Scenario 3 – 3,000 Employee Company
A company with 3,000 employees might normally have 150 concurrent users. This size company would require a Database Server, a Web Server and a Queue Server for its deployment. This configuration would have plenty of room for growth.
 |
|
 |
Web Server Requirement
• 2x3GHz CPU
• 2 GB RAM
• RAID Disk Configuration |
Queue Server Requirement
• 2x3GHz CPU
• 2 GB RAM
• RAID Disk Configuration |
Database requirement
• 2x3GHz CPU
• 4 GB RAM
• 25 GB storage space for data
• RAID Disk Configuration |
Scenario 4 – 10,000 Employee Company
A company with 10,000 employees might normally have up to 500 concurrent users. This configuration employs two Web Servers and two Queue Servers to be load balanced for improved fault tolerance and extra capacity.
 |
|
 |
Web Servers Requirement
• 2x3GHz CPU
• 2 GB RAM
• RAID Disk Configuration |
Queue Servers Requirement
• 2x3GHz CPU
• 2 GB RAM
• RAID Disk Configuration |
Database requirement
• 2x3GHz CPU
• 4 GB RAM
• 25 GB storage space for data
• RAID Disk Configuration |

Summary
rganizations need the ability to harness information technology to provide a competitive advantage. Time America’s vision for time and labor management utilizes standard-based web architecture on a Microsoft software foundation. This vision, along with uniquely designed workforce management software, enables corporations to make more informed decisions, change market needs and focus on their core business, rather than technology. Time America’s use of standard platforms, best of breed tools and unique design sets a high standard in the industry that is competitively unmatched. Time America’s high quality and well thought out enterprise technology and architecture allows corporate IT staffs to not worry about such terms as “obsolescence” and “legacy”.
*installations with over 30,000 employees require additional specifications in order to accurately recommend a server configuration
|
|
|
|
|