architectural document
TRANSCRIPT
Hard Dollar Architectural Document
HD Technical Services TSD-2012-003
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 1
Table of Contents
Architectural Overview ...........................................................................................1
Architectural Diagram .............................................................................................2 Component Overview ...................................................................................2 Complete System Overview ..........................................................................3
Minimum Specifications ..........................................................................................4
Client Components .................................................................................................4
Server Components ................................................................................................4
Web Server Components ........................................................................................5
Hard Dollar Databases ............................................................................................5
Matrix of Components by Feature ...........................................................................7
Hardware and Scaling ............................................................................................7 Adding: Primavera Integration Module ..........................................................8 Adding: Timesheet Collectors Module ............................................................8 Adding: Reporting Warehouse Database Module ............................................9 Adding: Project Facts Module ........................................................................9 Adding: HD API Module ................................................................................10
Software Compatibility ...........................................................................................10 Supported Operating Systems .......................................................................10 Supported Database Management Systems ...................................................10 Required Versions of Microsoft .NET Framework ............................................10 Supported Integrated Software .....................................................................11
Database Compatibility ...........................................................................................11 SQL Express ................................................................................................11 SQL Server ..................................................................................................11
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 1
Architectural Overview
Hard Dollar is a comprehensive suite of fully integrated applications that were engineered specifically to manage the rigorous demands of project-driven companies. Each phase of the project lifecycle places independent and very different demands on the system and how it provides the various functions that are supported. As such, the architectural model is a hybrid of Client-Server, Web Services, and Web Based Application architecture. The entire suite of applications is built upon the Microsoft .Net Framework and SQL Server database platform providing robust integration opportunities and scalability. The base configuration of the suite is supported by the Client-Server architecture enhanced with a real-time networking model that facilitates instantaneous updates to every connected client. Within this model, the client application (Hard Dollar Client) is a Windows based program that maintains a persistent connection to a common messaging server (Hard Dollar Server). This allows the server to immediately push transactions down to other connected clients as they occur. The client application contains all of the business logic for processing transactions themselves and therefore can also run as stand-alone applications when network connectivity is unavailable. As different features are added to the system, the architecture expands to incorporate Web Services and individual Web Applications. Web Services are used to support the Timesheet Collection and Project Facts modules, which are Microsoft ASP.Net Web applications that run in Internet Explorer. Web Services are also used in support of license activation. Hard Dollar has also been designed to scale out across hardware as demands on the system increase. In most cases, each component can be moved to a dedicated server as the load on the current server becomes too great. This allows the system to meet the needs of even the smallest businesses while providing the ability to scale to the needs of the large enterprise.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 2
Architectural Diagram Component Overview
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 3
Complete System Overview
Hard Dollar Application
3rd
Pa
rty
Ap
plic
atio
ns
HD
Da
tab
ase
HD
Se
rvic
es
HD
We
b
Se
rvic
es / A
pp
sC
lien
t
Project (Jobs)
DatabaseProject (Jobs)
Database
Project (Jobs)
Database
HDExecute
Database
HDWarehouse
Database
Database
Primavera
(OWNED)
HD Client
Primavera Integration API
(Owned by Primavera)
JnBridge
Java Runtime
Environment
Timesheet Sync
Handler Web Service
Upload
HD
Server
Service
Primavera
Integration
Server
Service
Job
Consolidation
Server
Service
Timesheet
Integration
Server
Service
QlikView
Services
Download
Web Browser ClientTimesheet
Collector (Laptop)
Database
RSMeans /
Richardson
Database
Database
HD License
Server
Service
QlikView
Application
Integration Application
HD API
Server
API Handler
(HTTPS Only)Network Client
Portal
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 4
Minimum Specifications For the minimum system requirements for the Hard Dollar applications, click on the links below to see the current minimum system requirements.
APPLICATION SERVER
HTTP://WWW.HARDDOLLAR.COM/CUSTOMER-AREA/HD-APPLICATION-SERVER
DATABASE SERVER
HTTP://WWW.HARDDOLLAR.COM/CUSTOMER-AREA/HD-DATABASE-SERVER
WEB SERVER
HTTP://WWW.HARDDOLLAR.COM/CUSTOMER-AREA/HD-WEB-SERVER
CLIENT WORKSTATION
HTTP://WWW.HARDDOLLAR.COM/CUSTOMER-AREA/HD-WORKSTATION
IMPORTANT NOTE: Hard Dollar does not support the IA64bit Processor or its equivalent.
Client Components Client components are those components that run on an end-users computer. They make up the application that will provide the user interface and business rules that an end user works with.
HARD DOLLAR NETWORK CLIENT – A Windows based end user application that provides the core estimating and job tracking functionality.
HARD DOLLAR STANDALONE CLIENT – The same as the Hard Dollar Network Client except that all operations are done locally and not shared.
TIMESHEET COLLECTOR (LAPTOP) - A Windows based end user application that provides the ability to create timesheets in the field and synchronize them up to the Hard Dollar network environment.
PROJECT FACTS (WEB BROWSER) – An ActiveX component called QlikView Plugin allows users to work with Analytics documents.
Server Components Server components are “invisible” programs, i.e. they have no user interface, that run on machines in a corporate network. Components in this layer are sometimes referred to as “services” as they provide various services to coordinate the different parts of the overall suite of applications.
BID BUILD SERVER – The Bid Build Server is a Windows Service that facilitates collaborative use of Hard Dollar in a network environment.
LICENSE SERVER – The License Server is a Windows Service that facilitates management and distribution of Hard Dollar module licenses when running the Hard Dollar application in a network environment
PRIMAVERA INTEGRATION SERVER - The Primavera Integration Server is a Windows Service that facilitates the dynamic integration of Primavera with Hard Dollar in a network environment.
JOB CONSOLIDATION SERVER – The Job Consolidation Server is a Windows Service that facilitates the transfer of data from the core databases to the databases that support the Timesheet Collector application and the Hard Dollar Reporting Warehouse.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 5
TIMESHEET INTEGRATION SERVER – The Timesheet Integration Server is a Windows Service that facilitates the uploading and downloading of timesheets to and from the Timesheet Collector applications.
QLIKVIEW SERVER – The QlikView Server application includes Windows Services that manage Project Facts documents.
QLIKVIEW PUBLISHER – The QlikView Publisher application facilitates the loading of job data from the Hard Dollar Reporting Warehouse to the Project Facts application.
HD API - HD API (Application Programming Interface) provides a programmatic method for updating HD with data from other systems to create new records, update existing records, or delete records automatically. By extracting the data from your other systems into an XML format supported by HD and submitting the XML data, HD will “listen” for the data and automatically update the appropriate projects
Web Server Components Web Server components are “invisible” programs, i.e. they have no user interface, that run on dedicated machines within the corporate network. In most cases components in this layer expose portions of the application to users over the public internet, although sometimes web servers are configured to be accessed only internally (i.e. intranets). Components in this layer differ from Server Components primarily by the technology stack and communications protocols that they are developed on. As such they are typically firewall friendly.
TIMESHEET COLLECTOR WEB SERVICE – The Timesheet Collector Web Service provides the communications gateway for the Timesheet Collector applications to the Hard Dollar network.
PROJECT FACTS WEB APPLICATION – The Project Facts Web Application is an ASP.Net web application that provides the functionality for Project Facts.
QLIKVIEW SERVER – The QlikView Server application includes ASP and ASP.NET Web applications that support Project Facts.
QLIKVIEW PUBLISHER – The QlikView Publisher application includes ASP and ASP.NET Web applications for managing scheduled updates of Project Facts.
API HANDLER - The HD API Handler is an optional http handler that can be installed into a web server running Microsoft IIS 6.0 or later. The primary reason to install the HD API Handler is to expose the HD API via a SSL (Secure Socket Layer) HTTP interface. If you are running the HD API behind a firewall where SSL is not required, then this http handler is not necessary and should not be installed.
HD NETWORK CLIENT PORTAL – The Network Client Portal is an optional .Net Click-Once application that allows for server based deployment and administrative control over multiple HD Server instances. It can be installed and run from either a Windows Network Share or a Web Server.
Hard Dollar Databases Databases store the actual data that the Hard Dollar components operate on. Hard Dollar uses a number of databases based on the phase of the project and the set of features implemented by the customer. All databases are supported by Microsoft SQL Server Express or Microsoft SQL Server depending on the level of scalability required. The various databases are organized under different “instances” which relate to different instances of SQL Server running on the server. The most relevant thing for a DBA to understand is that we require separate dedicated SQL instances for the core app (HDBID) and the reporting warehouse (HDWarehouse). Hard Dollar will create a new database within the HDBID instance for each new project.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 6
HDBID Instance - The HDBid instance will contain each project database, BidMaster, HDLibrary, HDExecute, and HDWarehouse databases. The BidMaster database adds rows for each project that is created within the application and also manages user preferences so it will also grow as users are added. The HDLibrary database size depends on the number of items added and will additionally grow quickly with Timesheet data. With ninety users entering Timesheets, expect the Library to grow by approximately 1GB per year. The HDExecute database only comes into play when Timesheet Collectors are in use and will grow based on the number of assignments made and the number of synching timesheet collector users. After a year it will likely be 1-2GB in size.
BIDMASTER – BidMaster contains overview information related to all of the jobs that are available on the system at any given time along with options and settings that are system specific rather than job specific.
HDLIBRARY – HDLibrary stores information that is copied into jobs such as resource codes, pre-defined cost items, units of measure, geographic areas, resource costs, etc.
HDEXECUTE – HDExecute stores the data for the Timesheet Collector application.
JOB DATABASES – Job databases store the actual data for each individual job such as cost
items, PBS items, resources, resource employments, quotes, etc. Each job database contains one and only one job.
HDWAREHOUSE – The HDWarehouse database contains the reporting warehouse which
allows you to combine data from multiple, individual job databases into a single database for reporting purposes. With the data consolidated into the reporting warehouse you can then use Crystal Report, Microsoft Access, or any other SQL-compatible reporting tool to create user-defined reports that span across jobs. HDWarehouse is also accessed as part of the Project Facts module. The HDWarehouse database will grow based on the number of projects published to the database. Each project will take space based on the level of detail in the estimate (depth and number of cost items and resource employments) and level of detail for job tracking. Typical sizes range from 5-75MB per project published.
HDTime Instance (located on client machines with Timesheet Collectors)
HDTIMESHEETS – HDTimesheets is a local SQL Express hosted database (a database stored on the device’s hard drive) that contains all data related to timesheets for a given Timesheet Collector device.
TIMEMASTER – TimeMaster is the database that stores user options and settings for the
laptop version of the Timesheet Collector.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 7
Matrix of Components by Feature
A minimum network implementation of Hard Dollar would include only the Base Configuration. Other features require the Base Configuration, plus additional components.
Base
Configura
tion
Sch
edulin
g
Pro
ject
Sch
edulin
g
Prim
avera
Mobile
Tim
esh
eets
Report
ing
Ware
house
Pro
ject
Fact
s
HD
API
Hard Dollar Client √
Hard Dollar Server √
Hard Dollar License Server √
HDBID Databases √
Microsoft Office √
Base Configuration √ √ √ √ √ √
Microsoft Project √
Hard Dollar Primavera Integration Server √
Primavera Client √
Primavera Integration API √
Java Runtime Environment √
Microsoft SQL Server, or Oracle √
PMDB Database √
JNBridge License √
Hard Dollar Job Consolidation Server √ √
HDExecute Database √
Hard Dollar Timesheet Collector Client (Windows) √
Hard Dollar Timesheet Integration Server √
Hard Dollar Timesheet Sync Handler √
Internet Information Services (IIS) √ √ √*
Microsoft SQL Server √ √
HDWarehouse Database √ √
Hard Dollar Project Facts Server √
QlikView Publisher √
QlikView Server √
* If you are running the HD API behind a firewall where SSL is not required, then this http handler (IIS component) is not necessary and should not be installed.
Hardware and Scaling
In order to meet the needs of small businesses to large enterprises, the Hard Dollar network environment and associated components have been designed to scale from a single server to multiple servers based on system load and the installed featured set. In fact, for demonstration purposes only, the entire suite of applications can be installed and run on a single machine. Reference the minimum requirements documents for server specifications.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 8
The Base Configuration should be deployed on a single (dedicated) server containing the following components:
Hard Dollar Server License Server SQL Database Instance (HDBID)
The Hard Dollar application by default will install SQL Express (2005) as the database engine. Optionally, the database can be an installation of SQL Server Standard or Enterprise and can be moved to a stand-alone machine. This will typically happen in structured IT environments where the IT group separates the databases from the application server. It is also required to use SQL Server Standard or Enterprise when using the Project Facts module, implementing the
Reporting Warehouse SQL Database or if any of the databases reach the 4GB size limit imposed by SQL Express, then SQL Server Standard or Enterprise will need to be used instead of SQL Express. Note: It is important to ensure that you have the same SQL versions throughout your environment. If you have a SQL 2008 Server Standard on a server and you need to transfer job databases to a stand-alone environment, the stand-alone environment needs to be SQL 2008 Express.
Adding: Primavera Integration Module Impact: Possibly move Primavera Integration Server to its own machine. The Primavera Integration Server can be added to the Hard Dollar Application Server. However, this server should be monitored for performance characteristics. If the load on the server becomes too great then the Primavera Integration Server should be moved to its own dedicated machine. This will happen if the number of items being scheduled is excessively large or if a more than 10 concurrent users are using the integration. Since the Primavera Integration Server performs similarly to Hard Dollar Client application.
Adding: Timesheet Collectors Module Impact: Add Web Server if not existing.
Possibly move Timesheet Integration Service to its own machine. Possibly move core databases to stand alone database server. Possible configuration changes on firewalls, routers and DNS
Using the Timesheet Collector feature will require the addition of a Web Server to host the Timesheet Collector Web Service if a web server is not already in use. The Timesheet Integration Server Service can be hosted on the Hard Dollar Server if the installation is relatively small. If the number of timesheets stored in HDLibrary becomes large (e.g. > 10,000) it may become necessary to move the Timesheet Integration Server Service to its own dedicated machine. Using the Timesheet Collector feature will add the HDExecute database to the core set of databases in the SQL Instance. This database contains stored procedures that put a significant load on the database when executing, therefore, it may be necessary to move the core database instance along with all of its databases (BidMaster, HDLibrary, Jobs, & HDExecute) to a dedicated database server. The performance characteristics of the Hard Dollar Server should
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 9
be monitored to determine if this is necessary, however it is highly recommended in a large deployment where Timesheet Collectors do a lot of synchronizing at the same time as Hard Dollar Clients are accessing the system in order to avoid delays. Using the timesheet collector feature will require changes on the network to allow users to connect to the web server to transmit timesheet data outside of the WAN environment.
Adding: Reporting Warehouse Database Module Impact: Requires Microsoft SQL Server Standard or Enterprise.
Possibly move core databases to this standalone database server. Possibly move the Job Consolidation Server Service from the Hard Dollar Server to
another server due to potential load.
In order to take full advantage of the Reporting Warehouse, it is necessary to dedicate machine with Microsoft SQL Server to support the HDWarehouse database. If you are planning on moving the core databases to the same SQL Server as the Reporting Warehouse your server must be able to handle the load. It is recommended that the SQL Server is dedicated and has 4GB RAM, Dual Processors, and 200GB available hard disk space. The reporting database will most likely become very large as jobs are added to it on a continuous basis over time. Because it is not possible to know in advance how an individual customer will design their custom reports, it is important that the database be indexed and maintained by a qualified SQL Server DBA. It may also be required to move the Job Consolidation Server service to another machine dependent on the load of the server due to of data transmission with the addition of the Reporting Warehouse module.
Adding: Project Facts Module Impact: Add dedicated web server.
You must add the Reporting Warehouse component above Possible configuration changes on firewalls and DNS
Making use of the Project Facts feature will require the addition of a Web Server to host the Project Facts Web Application. This server also hosts the QlikView Server, which is the engine that supports display and filtering of Analytics documents. The load on this server will depend on the number of concurrent users, and the number of documents concurrently in use. Project Facts uses the HDWarehouse database, which is installed as part of the Reporting Warehouse module. The ability to access Project Facts outside of the WAN environment will require changes to network to allow communication to the web server.
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 10
Adding: HD API Module Impact: Add Web Server If you are running the HD API behind a firewall where SSL is required.
The HD API (Application Programming Interface) service will be installed on the same server as the BidBuild Server Service. The HD API Handler is an optional http handler that can be installed into a web server running Microsoft IIS 6.0 or later. The primary reason to install the HD API Handler is to expose the HD API via a SSL (Secure Socket Layer) HTTP interface. If you are running the HD API behind a firewall where SSL is not required, then this http handler is not necessary and should not be installed. HD API provides a programmatic method for updating HD with data from other systems to create new records, update existing records, or delete records automatically. By extracting the data from your other systems into an XML format supported by HD and submitting the XML data, HD will “listen” for the data and automatically update the appropriate projects
Software Compatibility
Hard Dollar requires a compatible environment to run successfully. Only certain operating systems, database management systems, and .NET frameworks are supported. The tables below define what makes an acceptable platform where Hard Dollar can be used.
Supported Operating Systems Windows XP (32 or 64bit) (Professional only) Windows Vista (32 or 64bit) (Business, Ultimate, and Enterprise only) Windows 7 (32 or 64bit) (Professional, Ultimate, and Enterprise only) Windows 2003 Server (32 or 64bit) Windows 2008 Server (32 or 64bit) Windows 2008 R2 Server
Note: Windows Small Business Server operating systems are not supported
Supported Database Management Systems MSDE * SQL Server Express 2005, 2008, 2008R2
SQL Server 2000*,2005, 2008, 2008R2 (Standard or Enterprise) (32 or 64bit) Note: Hard Dollar DOES NOT support Oracle as its database * MSDE and SQL Server 2000 are not supported after version 10.3
Required Versions of Microsoft .NET Framework .NET Framework 2.0* Required .NET Framework 3.5** Required
* .NET Framework 2.0 is required for Hard Dollar versions previous to version 10.0 ** .NET Framework 3.5 is required for Hard Dollar version 10.0 or higher
Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 11
When installed on a supported platform, Hard Dollar is able to integrate with supported versions of other software. Only certain versions of integrated software products are supported. Examples:
Contacts can be imported from Microsoft Outlook. Schedules can be created using Microsoft Project, or Primavera. Field values can be calculated in a Microsoft Excel workbook.
Supported Integrated Software Microsoft Office (2003, 2007, 2010) [Word, Excel, Outlook] Primavera v6.x using Oracle or MS SQL Server as their databases Microsoft Project (2003, 2007, 2010) Internet Explorer Browser (6.x, 7.x, 8.x, 9.x)
Database Compatibility SQL Express
Hard Dollar comes with SQL Express which Microsoft allows software companies to redistribute for free. SQL Express has some notable limitations: SQL Express
Will not work with a database that is larger than 4GB Will not take advantage of more than 1GB of RAM, even if the server has more available Will not take advantage of more than 1 processor
The Base Configuration of Hard Dollar does not make intensive use of SQL Server. If the Hard Dollar job database files don’t approach 2GB in size, then SQL Express installation is an adequate starting point.
SQL Server SQL Standard Edition
The Standard Edition of SQL Server will work with databases larger than 2GB, and will use up to 2GB of RAM.
SQL Enterprise Edition The Enterprise Edition of SQL Server will use more than 2GB of RAM, and will also work on
servers having more than 4 CPUs.