13
Hard Dollar Architectural Document HD Technical Services TSD-2012-003

Architectural Document

Embed Size (px)

Citation preview

Page 1: Architectural Document

Hard Dollar Architectural Document

HD Technical Services TSD-2012-003

Page 2: Architectural Document

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

Page 3: Architectural Document

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.

Page 4: Architectural Document

Copyright © 1989-2010 Hard Dollar Corporation. All rights reserved worldwide. TSD-0025-010 Page 2

Architectural Diagram Component Overview

Page 5: Architectural Document

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

Page 6: Architectural Document

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.

Page 7: Architectural Document

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.

Page 8: Architectural Document

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.

Page 9: Architectural Document

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.

Page 10: Architectural Document

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

Page 11: Architectural Document

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.

Page 12: Architectural Document

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

Page 13: Architectural Document

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.