QRM Quick Start Guide

34
Document Name Document Class Date Version QRM Quick Start Guide Guide May 2014 1.1 Author Document Nr Page Mattias Ericsson 4-100-202 1 (34) 1 (34) QRM Quick Start Guide The Compatible with LabVIEW logo is a trademark of National Instruments Corporation and is used under a license from National Instruments Corporation.

Transcript of QRM Quick Start Guide

Page 1: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 1 (34)

1 (34)

QRM Quick Start

Guide

The Compatible with LabVIEW logo is a trademark of National Instruments Corporation and is used

under a license from National Instruments Corporation.

Page 2: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 2 (34)

2 (34)

Contents 1 Document Change History .............................................................................................................. 3

2 Documents and Abbreviations ........................................................................................................ 3

2.1 Reference Documents ............................................................................................................. 3

2.2 Abbreviations .......................................................................................................................... 3

3 Readers Guide ................................................................................................................................. 3

4 Overview ......................................................................................................................................... 4

4.1 QRM Web Service - Test Data Storage System ..................................................................... 5

4.2 QRM Web Application - Test Data Presentation and Analysis .............................................. 6

4.3 Firewalls .................................................................................................................................. 7

4.4 Distribution Setups .................................................................................................................. 7

4.5 Security ................................................................................................................................... 9

4.6 License .................................................................................................................................... 9

4.6.1 Evaluation License ....................................................................................................... 10

5 QRM Result Hierarchy ................................................................................................................. 10

6 Setting up a Station ....................................................................................................................... 11

6.1 Manual Setup of Station ........................................................................................................ 14

7 Database ........................................................................................................................................ 16

7.1 Database Installation ............................................................................................................. 16

8 QRM Web Service ........................................................................................................................ 16

8.1 Installation ............................................................................................................................ 16

8.2 Web Service Configuration File............................................................................................ 16

8.2.1 Windows 7/8/Windows 2008 Server ............................................................................ 16

8.2.2 Windows XP ................................................................................................................ 16

8.2.3 Configuration Settings .................................................................................................. 17

8.2.4 Database Connections .................................................................................................. 19

8.2.5 Database Insert ............................................................................................................. 20

8.3 XML Storage ........................................................................................................................ 20

8.4 Forwarding ............................................................................................................................ 20

8.5 Synchronization .................................................................................................................... 20

8.6 Mail ....................................................................................................................................... 21

8.7 Proxy ..................................................................................................................................... 21

8.8 VPN Monitor ........................................................................................................................ 21

8.9 Security and Permissions ...................................................................................................... 21

8.10 QRM Web Service Web Monitor ..................................................................................... 22

8.11 Web Service Store Process State ...................................................................................... 22

8.12 Logging ............................................................................................................................. 23

8.13 Manual Upload of ATML Files ........................................................................................ 23

8.14 QRM Web Server Web Support API ................................................................................ 24

8.15 NI Application Web Server (optional) .............................................................................. 25

8.15.1 NI Application Web Server Configuration ................................................................... 26

8.15.2 Advanced Configuration .............................................................................................. 30

8.15.3 Setting up the Service (optional) .................................................................................. 31

9 QRM Web Application ................................................................................................................. 32

9.1 Installation ............................................................................................................................ 32

9.2 Using QRM Web Application ............................................................................................... 32

9.3 QRM Web Service SOAP ..................................................................................................... 32

10 QRM Clients ................................................................................................................................. 33

10.1 TestStand QRM Result Processor Plugin ......................................................................... 33

10.2 LabVIEW QRMClient ...................................................................................................... 34

11 Support .......................................................................................................................................... 34

12 Troubleshooting ............................................................................................................................ 34

Page 3: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 3 (34)

3 (34)

1 Document Change History Version Comment Author

1.0 First version. Mattias Ericsson

1.1 Updated after review. Added 4.6 license and 6

Setting up a station.

Mattias Ericsson

2 Documents and Abbreviations

2.1 Reference Documents

Ref Doc Nr Document Name Content

[1] http://grouper.ieee.org/groups/scc20/tii/ ATML specification

[2] 4-100-88 QRM Windows Installation Guide Guide

[3] 4-100-201 QRM Web Application Manual Manual

[4] 4-100-161 QRM Web Server SOAP API API

[5] 4-100-200 QRM TestStand Result Processor Documentation

[6] 4-100-203 QRM LabVIEW Client Documentation

2.2 Abbreviations

ATML Automated Test Markup Language – XML Schema for test results

defined in the ATML standard IEEE Std 1671

GUID Globally Unique Identifier - A unique id that couldn’t be duplicated.

IIS Internet Information Server. Microsoft web hosting server.

QRM Quality Result Management SOAP Simple Object Access Protocol

TBD To Be Defined

UTC Coordinated Universal Time

UUT Unit Under Test

VPN Virtual Private Network

3 Readers Guide This document provides an overview of how to setup, configure and use QRM. It is

strongly recommended to first try to setup one single station with QRM Web service,

QRM Web Application running on an IIS installation and a SQL Server Express

installation with all needed databases as described in section 6. Sections 7, 8 and 9 are

for more manual setup scenarios.

Page 4: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 4 (34)

4 (34)

4 Overview

The QRM result management system has been created in order to store and maintain

test results. It is a Windows based (Windows 7/8/2008R2 Server/2012 Server)

distributed system based on web services, databases and ATML XML data. QRM

consists of two main parts:

QRM Web Service – This part is responsible for storing and synchronizing test

data in the system.

QRM Web Application Server – This part are responsible for presenting and

statistical analysis of test data through a web page based system.

QRM Database

QRM Web Service

Laptop

Test

Program

IIS Web Server

Test Station Server Client

QRM Web Service

Figure 1. QRM overview. This is typical setup. A test program on a test station post ATML

results to the QRM Web Service that forwards the ATML to another QRM Web Service that

store into the QRM database. A client makes a request to the IIS web server to get the results.

The only interaction between the two major parts is through the data storage, in all

other senses they are totally separated.

The QRM is a client-server based distributed system using web services. All

communication between the web services and clients are using HTTP protocol, which

means that it is very “firewall friendly”. All test data is sent as XML data, using the

ATML standard with some QRM extensions. This is a standard developed especially

for test results in automated systems. It is always the client who initiates the

communication to the web service. Notice that the web service itself could act as a

client. The database has been designed to meet all the data required by the ATML

standard.

Page 5: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 5 (34)

5 (34)

Example:

The test program on a test station runs a test sequence, once the sequence is finished,

all test data for one UUT is formatted to an ATML result set and the test program then

acts like a HTTP client and post the ATML test data to the local web service. This is a

very fast procedure and the test program could continue testing and there is no need to

wait for the data to be stored in the database (which traditionally is a very time

consuming operation). Then it is the web service responsibility to either store the

incoming ATML test data to a database or to just forward the test data to another

remote web service. The web service itself will then actually act as a client when

posting the test data forward. The web service on the computer is always running.

This means that as soon as a client posted some test data to the web service (e.g. the

test program has posted its test results), it will try to process the test data even after

the test program is finished. This makes the testing very efficient with a high through

put in the testing; since the storing of test data is handle in the background by the web

service.

For view and statistical analysis of the test results, the web based part of QRM is

used. The web system connects directly to the data storage containing the test data to

be analyzed. To view the result, the user simply uses a standard web browser (e.g.

Firefox or Internet Explorer) to view or analyze the test results.

4.1 QRM Web Service - Test Data Storage System

The test data storage system consists of a web service application running on the

National Instrument web server and a database and/or ATML files. It is implemented

in LabVIEW with RESTful web service architecture. It listens to a HTTP (HTTPS)

port to receive incoming requests. Default port is TCP port 8080.

The web service is responsible for:

Storing test data in a database and/or as ATML files

Forwarding test data to another computer running the same web service.

Reply to request of fetching test data.

Synchronizing of test data.

Monitor a specified folder for new ATML result files.

Connecting, monitoring and reconnection VPN connections.

It is a fault tolerant service and if it fails to store test data in a database or fails to

forward the data, it will periodically retry. The web service on each computer can be

configured to behave differently. This way the desired forwarding, storage and

synchronization could be performed as required for different scenarios.

The QRM Web Service executes as a 32-bit Windows service. Figure 2 shows what it

looks like in Windows 7. The service is called: NI Application Web Server and the

associated process is called: ApplicationWebService.exe *32

Page 6: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 6 (34)

6 (34)

Figure 2. The QRM Web Service executes as a Windows service called ”NI Application Web

Server”. The process is called ApplicationWebServer.exe*32.

4.2 QRM Web Application - Test Data Presentation and Analysis

The test data presentation and analysis system is a complete web page based system.

It is implemented as an ASP .NET application running on a Microsoft IIS server

application and the web application is connected to a test result database. The web

page has two parts:

Presentation – test data is filtered and presented as tables and graphs on the

screen.

Analysis – test data is statistical analyzed (Six Sigma) and presented with

calculated key values and graphs (e.g. histogram).

The IIS server is always running on the computer making sure the web page is always

available.

Please see reference [3] of how to use the QRM Web Application.

Page 7: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 7 (34)

7 (34)

Figure 3. The QRM Web Application showing a test report.

4.3 Firewalls

It is important to successfully synchronize test data through multiple sites distributed

between different firewalls. A typical scenario is shown in Figure 6 where there are

factories located somewhere else in the world and the test data needs to be

synchronized to the database at the headquarters. Assume there are firewalls at all

site, not allowing any client to connect to the web service from outside the firewall.

Usually there is no problem for a HTTP client to open the firewall from the inside

requesting some data over the web, this is what is happening when you open a normal

web browser surfing the web.

This way, it is possible to place a routing server between the factories and the

headquarters (as shown in Figure 1) that has been configure to act as a web server and

open up the firewall for the web services. This server can be a cloud server if needed.

The factories then writes the test result data to this routing server instead and the head

quarter application then periodically requests any new test data from the routing

server and thereby synchronize the test data between the sites.

4.4 Distribution Setups

As described in the previous sections, there could be a variety of different setups of

server, databases, forwarding and each web service could be configure to suite the

Page 8: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 8 (34)

8 (34)

specific requirements needed depending on firewalls, server availability, database

locations etc. The simplest possible system is shown in Figure 1.

QRM Database

Laptop

Test

Program

IIS Web Server

Test Station

QRM Web Service

Figure 4. The simplest possible setup of QRM. Everything installed on a single computer.

Figure 2 shows a more advanced setup with two factories and one headquarter. Each

factory has its own result database and web application installation. This way each

factory can access its own results. Both factories forward the result data to the

headquarters through a VPN connection. Note that it is the same QRM web services

that are used everywhere, but it is configured differently on each computer.

Data

Data

Data

NINI

NI

NI

Server

Server

Factory 1

Factory 2

DB Server

Test Station 1

NI

Test Station 2

NI

Test Station 1

NIIIS

Laptop

Head Quarters

Test Station 2

Laptop

Laptop

IIS

IIS

Test

Program

Test

Program

Test

Program

Test

Program

Test

Program

NI

IIS

Data

Key

NI Web Service Server

(Store, Forward)

ASP .NET Web Server

(Web Page)

TestStand, LabVIEW

Application

Data Storage

(Database or ATML files)

HTTP Client Request

VPN connection

VPN connection

Figure 5. A typical setup with a factory connected to the headquarters through a VPN tunnel.

Page 9: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 9 (34)

9 (34)

If it is not possible to use a VPN connection, which is the easiest way to connect and

headquarters will not allow any open ports in the incoming firewall, it is still possible

to route QRM results through the use of a routing server that firewall settings can be

controlled. The headquarter web service is then configured to periodically ask the

routing server if there is any new ATML results and returns a list of the new results.

Each of the new result is then requested from the routing server. This way the

headquarter firewall is only opened from the inside, which usually is no problem.

Cloud

Data

Data

Data

NINI

NI

NI

Data

NI

Server

Server

Routing Server

Factory 1

Factory 2

DB Server

Test Station 1

NI

Test Station 2

NI

Test Station 1

NIIIS

Laptop

Head Quarters

Test Station 2

Laptop

Laptop

IIS

IIS

Test

Program

Test

Program

Test

Program

Test

Program

Test

ProgramNI

IIS

Data

Key

NI Web Service Server

(Store, Forward)

ASP .NET Web Server

(Web Page)

TestStand, LabVIEW

Application

Data Storage

(Database or ATML files)

HTTP Client Request

Figure 6. An advanced setup when no VPN access is available and firewalls block incoming

communication. QRM data is routed through a routing server which firewalls can be configured.

The head quarter QRM web service is setup for synchronization.

4.5 Security

All web service communication is configurable to use SSL encryption (HTTPS) and

is always using HTTP Digest authentication for user access. Realm is “QRM”.

Typical, QRM is installed on an intranet corporate network and not accessible from

the public internet. This usually makes it unnecessary to use SSL.

4.6 License

Both the QRM Web Application and QRM Web Service require a license that must be

activated by the AddQ activation server. This is performed once for each license and

requires a public access to our activation server. No license activation is required for

the QRM Clients (LabVIEW or TestStand).

Page 10: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 10

(34)

10 (34)

By default, the QRM Web Application allows one activation per license and QRM

Web Service allows ten activations per license. It is two different license keys. If the

computer that needs to be activated is not connected to the public internet, manual

activation and downloading of a license file can be performed by following the

instructions on the screen if the automatically activation fails.

4.6.1 Evaluation License

If no license is activated, no test results will be stored in database or forwarded. Only

ATML XML storage is available. An evaluation license is time-limited without any

other limitations. Please contact AddQ at [email protected] for an evaluation license and

information of how to download the need software.

5 QRM Result Hierarchy One of the most important things when working with QRM is to understand the QRM

Result Hierarchy. This hierarchy is based much on the structure of the ATML

standard, but does not follow this exactly. The PASS/FAIL of a measurement is called

Outcome. Outcome can be PASS, FAIL, DONE, ABORT or N/A.

The structure is as follows.

• Result Set

– One sequence execution for one UUT

– Outcome, name, start time, stop time

– Exactly one per QRM posting

– ATML Result Set

• Result Group

– One or more result groups within the Result Set

– Outcome, name (”test case” in test specification)

– Typical a step in the test sequence

– ATML this can be TestGroup or SessionAction.

– A Result Group contains one or more Result or

another Result Group

• Result

– One of more measurement within a Result Group

– Outcome, name, value and unit

– Datatype (DBL, INT, STRING, BOOL)

– Limits (>,<,=,>=,<=,!=)

– ATML this is a Test

Page 11: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 11

(34)

11 (34)

6 Setting up a Station QRM can be setup in many ways, all depending on the environment. The simplest

possible scenario is to set up a single development station as shown in Figure 4. It will

include the following:

SQL Server 2012 Express with QRM Result Database and aspnetdb user

database.

QRM Web Service

IIS with Web Deploy extension running QRM Web Application

TestStand QRM Client or LabVIEW Client

System Requirements. 2GB RAM

In order set up the development station, do the following:

1. Run the QRM_setup_<processor>.exe, accept license and select destination

folder.

2. Select Full Installation.

Page 12: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 12

(34)

12 (34)

3. Select all of the Additional Tasks.

4. After installation is finsihed, please reboot if prompt.

5. Test the QRM Web Application installation by open http://localhost/qrm in

your browser. QRM login page should appear. Login with user administrator

and password abc123. You will be prompt to change password at first login.

Page 13: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 13

(34)

13 (34)

6. Test the QRM Web Service Application installation by open

http://localhost:8080/qrmresult. Press Read Log. When prompt enter user

‘qrmuser’ and password ‘qrm123!’. You should be able to see the log file. The

license should be invalid.

7. Scroll down in the window to make sure Database storage and XML result

storgage is set to TRUE.

8. License activation is needed (full or evaulation) in order for the QRM Web

Service to store to database. The QRM Web Application can run without a

license if logged in as administrator and from a localhost call.

Page 14: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 14

(34)

14 (34)

9. Activate the license by pressing the Activate License button. Enter the license

you have received from AddQ. Please contact [email protected] for an evaluation

license.

10. Done! Now setup any of the TestStand Result Processor (reference [5]) or

LabVIEW QRM Client (reference [6]) and run an example as stated in these

documents.

11. If there is any problems with the installation. Please refer to reference [2],

Troubleshooting section.

6.1 Manual Setup of Station

If a more manual setup is preferred, do the following minimum installation.

1. Install SQL Server Express (reference [2] section 5).

2. Install .NET Framework 3.5 and .NET Framework 4 (depending on Windows

platform) (reference [2] section 8 and 9)

3. Install the QRM Web Service (reference [2] section 10)

4. Enable the IIS Web Server and install the Web Deploy extension (reference

[2] section 11).

5. Execute the batch file: <Install CD>/Scripts/DevStation/

SetupDevelopment.bat. Right-click the bat-file and select Run as

administrator. This script will do the following:

a. Create QRM Result Database in SQL Server Express 2012.

b. Create aspnetdb in SQL Server Express 2012.

Page 15: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 15

(34)

15 (34)

c. Create a SQL Server login ‘TestUser’ with password ‘test’.

d. Configure QRM Web Service to store in database using the ‘TestUser’

login and also store to ATML XML files and enable logging.

e. Import the QRM Web Application into IIS.

6. Test the QRM Web Application by open http://localhost/qrm and the login

prompt should appear. Login with user administrator and password abc123.

You will be prompt to change password at first login.

7. Test the QRM Web Service by open http://localhost:8080/qrmresult. Scroll

down and make sure Database storage and XML result storage are activated.

Press Read Log. When prompt enter user ‘qrmuser’ and password ‘qrm123!’.

You should be able to see the log file.

8. Done! Now setup any of the TestStand Result Processor (reference [5]) or

LabVIEW QRM Client (reference [6]) and run an example as stated in these

documents.

9. In order to uninstall do the following:

a. Execute the batch file: <Install CD>/Scripts/DevStation/

DropDevelopment.bat. Right-click the bat-file and select Run as

administrator. This will drop all that was installed by

SetupDevelopment.bat.

b. Run the uninstallers for SQL Server Express, IIS and QRM Web

Service.

Page 16: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 16

(34)

16 (34)

7 Database This section refers how to manually setup the database if a SQL Server already exists.

If installation Setup Development Station has already been done, databases are already

setup.

7.1 Database Installation

Please refer to reference [2] of how to install the QRM databases.

8 QRM Web Service This section refers how to manually install the QRM Web Service If installation Setup

Development Station has already been done, this service is already setup.

8.1 Installation

Please refer to reference [2] for instructions of how to install the QRM web service.

8.2 Web Service Configuration File

In order for the web service to work correctly, the web service configuration file

needs to be set up. It is located differently depending on OS. When the web service is

installed, it will only reply on request, but will not perform any action. The default

folder for QRM file storage is C:\QRM.

The following need to be configured:

General settings (password, logging)

Database connector type and connection string.

Forwarding

XML storage

Optional advanced configuration:

Synchronization

Mail

Proxy

8.2.1 Windows 7/8/Windows 2008 Server

Configuration file (this will be preserved when reinstalling the service). C:\Users\Public\Documents\QRM\QRMWebServiceConfig.ini

8.2.2 Windows XP

Configuration file (this will be preserved when reinstalling the service). C:\Documents and Settings\All Users\Documents\QRM\QRMWebServiceConfig.ini

Page 17: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 17

(34)

17 (34)

8.2.3 Configuration Settings [QRMWebService]

## General settings ##

LogFolder=C:\QRM\QRMLog

TempFolder=

#If empty default system tempfolder will be used.

UseLog=FALSE

AuthUsername=qrmuser

AuthPassword=qrm123!

LoginForInfoPage=FALSE

#If TRUE password prompt is used for info page. Set this true if webservice is access

from public internet.

RefreshInfoPageRate=30000

#ms for autorefreshing info page. If rate = 0, no autorefreshing is used.

InactiveSpindownTime=10

#min. When web service is inactive it will spin down automatically to free memory.

Notice that if DBRetry interval or ForwardRetry interval is set < inactivity spindown

time, web service will never spin down. If = 0, no spindown will occur.

## Database settings ##

DatabaseProviders='ADODB'

#ADODB,OLEDB,ODBC,MYSQL or SQLSERVER

DatabaseConnectionStrings='<ODBC name>,user,password'

#DatabaseConnectionStrings='Provider=MSDASQL.1;Persist Security Info=True;User

ID=<user>;Password=<password>;Data Source=<ODBC>;

#ADODB (ActiveX) example

#DatabaseConnectionStrings='Driver={SQL Server Native Client

10.0};Server=.\sqlexpress;Database=QRMResultDatabase;Trusted_Connection=yes;'

#DatabaseConnectionStrings='Driver={SQL

Server};Server=.\sqlexpress;DataBase=QRMResultDatabase;Uid=<user>;Pwd=<password>';

#DatabaseConnectionStrings='DSN=<ODBC name>'

#OBDC (ADO.NET) example

#DatabaseConnectionStrings='Provider=SQLNCLI10;Server=.\sqlexpress;Database=QRMResultD

atabase; Trusted_Connection=yes;'

#DatabaseConnectionStrings='Provider=Microsoft.ACE.OLEDB.12.0;Data

Source=<path>\QRMResultDatabase.accdb;Persist Security Info=False;'

#OLEDB(ADO.NET) example

#DatabaseConnectionStrings='Data Source=.\sqlexpress;Initial

Catalog=QRMResultDatabase;User Id=QRMUser;Password=<pw>;MultipleActiveResultSets=True'

#DatabaseConnectionStrings='Persist Security Info=False;Integrated

Security=true;Initial Catalog=QRMResultDatabase;server=.\sqlexpress'

#SQLSERVER (ADO.NET) example

DatabaseProductFilter=

#'<ProductName>' or !<ProductName>

StoreDatabaseActive=FALSE

TemporaryDBResultFolder=C:\QRM\QRMTmp\DBResults

#Temporary results store if database connection is down.

DBRetryInterval=00:05:00

# hh:mm:ss

RemoveUUID=TRUE

# Removes UUID identifier for UUT, ResultGroups and Results in DB. This will make

dataspace smaller.

Version2Compatible=FALSE

# Specifies if web service is compatible with version 2 of database or not.

## Attachment settings ##

AttachmentFolder=C:\QRM\QRMResults\Attachments

CopyAttachmentsOnLocalhost=TRUE

#If the attachements are on the localhost, this will copy the attachment to the folder

specified above.

## Permanent XML file store settings ##

Page 18: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 18

(34)

18 (34)

StoreXMLResultFolder=C:\QRM\QRMResults\XMLStorage

StoreXMLResultActive=FALSE

## Forward settings ###

ForwardingURLs='http://<URL>:8080/QRMResult;qrmuser;qrm123!'

# 'URL;username;password'

ForwardingActive=FALSE

TemporaryForwardFolder=C:\QRM\QRMTmp\Forward

DeleteAttachmentsAfterForward=TRUE

ForwardRetryInterval=00:03:00

# hh:mm:ss

VPNConnections=

# 'VPN name;username;password;AllUsers'

# type = User or AllUsers. Notice that VPN connection must be reachable from system

account, typically AllUsers.

VPNActive=FALSE

## Request server settings ##

RequestServerMode=File

#DB,File,DB_NoAttachments,File_NoAttachments

#Make sure to set StoreXMLResultActive=TRUE

DeleteAfterRequest=TRUE

DeleteAttachmentAfterRequest=TRUE

## Request client settings ##

SyncURLs='http://<URL>:8080/QRMResult;qrmuser;qrm123!'

# 'URL;username;password'

SyncActive=FALSE

SyncInterval=AT:01:00:00,AT:04:00:00

#hh:mm:ss

#AT:hh:mm:ss,AT:hh:mm:ss...

SyncAll=FALSE

#If false, only results from the last synchronized timestamp will be fetch.

#If true, all of the results will be retrieved from the synchronizing URL, if server

is configured delete after request, else server will keep track of last

synchronization timestamp.

SyncAttachments=TRUE

## Monitor folder for new ATML files ##

MonitorFolders=C:\TestStandResultFolder

MonitorActive=FALSE

MonitorFilter=*.xml

MonitorSubFolders=FALSE

DeleteAfterUpload=TRUE

## ATLM

ATMLIgnoreList=SessionAction

#Elements to ignore and not log in data base.

## Mail alarm settings ##

SMTPServer=smtp.gmail.com;587;<accountmail>;<password>

#Server address;Server port;username;password

MailActive=FALSE

SMTPFrom=

#Mail Address

SMTPTo=

#Mail Address1, Mail Address2...

## Proxy settings ##

## Used by forward and sync request

ProxyAddress=

#IP:Port or 'Default' (same settings for proxy will be used as Internet Explorer

uses.)

ProxyUsername=

ProxyPassword=

ProxyDomain=

Page 19: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 19

(34)

19 (34)

8.2.4 Database Connections

The web service contains four different database connectors.

Connection Provider Technique Database Comment

ADODB Active X Data

Objects (ADO)

SQL Server through

ODBC

Fast. Use if possible.

ODBC ODBC (ADO.NET) SQL Server through

ODBC

.NET standard ODBC connector.

About 5 times slower than

ADODB.

OLEDB OLEDB (ADO.NET) SQL Server and MS

Access

Only provider supporting MS

Access. About 5 times slower than

ADODB.

SQLSERVER SqlConnection

(ADO.NET)

SQL Server About 5 times slower than

ADODB.

Table 1. Database providers supported by QRM.

Databases need a connection string. There are a few examples in the configuration

file. Please find a proper connection string at http://www.connectionstrings.com.

The configuration file keys are: DatabaseProviders

DatabaseConnectionStrings StoreDatabaseActive=TRUE

Please note the StoreDatabaseActive key that must be set to TRUE, else database

storage is disabled. If the database connection is lost, it will be temporary disabled

and any incoming ATML result will be temporary stored on disk in a temporary

folder. The web service will periodically retry opening the connection and when it is

successful, all temporary ATML files will be stored in the database. The retry interval

is configurable in the configuration file.

8.2.4.1 ODBC

It is also possible to map a data source as an ODBC System DSN in the ODBC Data

Source Administrator.

Windows XP ODBC

Control Panel->Administrative Tools->Data Sources (ODBC)

Windows 7 64-bit, Windows 2008R2 and Windows 8

Launch the 32-bit ODBC Data Source Administrator from: C:\Windows\SysWOW64\odbcad32.exe

Windows 7/8 32-bit operating system

Launch from the Control Panel->Administative Tools->Data Sources (ODBC)

Page 20: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 20

(34)

20 (34)

8.2.5 Database Insert

When the QRM web service parses and stores an ATML result set, a check will be

performed if the result set already exists in the database. According to the ATML

standard, each result set has a unique GUID associated. QRM will use this GUID to

check if the result set is already stored in the database or not. This way it is always

safe to upload a result set twice, since it will be ignored if it already exists. When a

result set is stored in the database, this is performed as a SQL transaction and if it is

not successful, the entire result set will be thrown in order to keep database

consistency. The result set will be stored to disk by the QRM web service in a special

DBCorrupt folder. Default is <QRM Temp Folder>\DBResults\Corrupt

It is possible in the configuration file to ignore storing certain results such as ATML

session actions. Session actions typical do not add much result information and makes

results more difficult to read.

8.3 XML Storage

The web service can be configured just to store the ATML result sets as an XML file

on disk. You can later upload the XML files manually through the QRM Web Service

as described in section 8.13. The configuration keys are:

StoreXMLResultFolder

StoreXMLResultActive=TRUE

8.4 Forwarding

The web service can be configured to forward test data to another web service

location. The web service will actually act as a HTTP client when forwarding the test

data. If a forward fails (e.g. the remote web service is temporary unavailable), the test

result must be stored in a temporary folder and then be sent forward when the remote

web service is available again. The configuration file keys are:

ForwardingURLs

ForwardingActive=TRUE

ForwardRetryInterval

8.5 Synchronization

The web service can be configured to periodically try to fetch test data from web

services in order to synchronize its data storage with the remote data storages. The

configuration file keys are:

SyncURLs

SyncActive=TRUE

SyncInterval (can be interval or absolute time)

Page 21: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 21

(34)

21 (34)

8.6 Mail

The web service can be setup to send an alert mail to one or more receivers when a

problem occurs twice. The mail client uses SMTP. The correct mail settings need to

be setup in the configuration file.

8.7 Proxy

The web service may require to use a proxy in order to forward or when

synchronizing data. The proxy settings are configured in the configuration file.

8.8 VPN Monitor

The web service can also monitor one or more VPN connections and opens this

automatically. It will also monitor if the connections are down and will try to reopen

it. If this fails, it will try to reopen it every time there is a forward or synchronization

timer event.

8.9 Security and Permissions

The following permissions and users are default used with the QRM Web Service. All

web service calls must provide a username and password. This can be changed in the

configuration file.

User Password Description

qrmuser qrm123! This is the login the clients are using when reading and

writing in to the web service.

Table 2. QRM users.

Page 22: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 22

(34)

22 (34)

8.10 QRM Web Service Web Monitor

There is web page that could be useful to monitor the QRM Web Service:

http://<IP-address>:8080/QRMResult

https://<IP-address>:8081/QRMResult (if configured)

Use "localhost" to access the local web service. Figure 7 shows the QRM Web Server

Info page. This is where the QRM status is shown. It is possible to start, shutdown,

enable logging, read log and clear counters. However, all these features (except read

log) require the user to login to the server with the specified user and password set up

in the web service configuration file. Default is qrmuser and qrm123!.This page is

also auto refreshing. Time interval can be configured in the configuration file. Default

is 30 s.

Figure 7. The QRM web service info page.

8.11 Web Service Store Process State

The QRM Web Service executes as a Windows Service using a system account. It

will run even if no user is logged on. However, the web service operates in two

modes: Idle or Run top level. When it is Idle, no database connection is open and all

background processes are shut down. As soon as there is a request to the QRM web

service, background process starts, database connections are opened etc. and

background process state is run top level.

The web service can spin down to Idle, if there has been no activity for default 10

minutes. This will release memory. The timeout is configurable in the web service

configuration file.

Page 23: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 23

(34)

23 (34)

8.12 Logging

It is possible to enable a QRM web service log. It can either be configure to be

enabled in the QRM Web Service configuration file or enabled from the web browser.

However, if it is enabled from web browser and the service is shut down or restarted,

the settings from the configuration file will be used.

Figure 8. The QRM web service log page.

8.13 Manual Upload of ATML Files

It is possible to manually upload ATML XML files to the QRM Web Service. Press

the button Upload Result File and the Browse…Select either an .xml file or a zip file

containing multiple XML files.

Figure 9. Manual upload of ATML XML files.

Page 24: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 24

(34)

24 (34)

8.14 QRM Web Server Web Support API URL Authentication Description

QRMResult/GarbageCollect Yes Support service. Force garbage collection of the web service

objects.

QRMResult/Start Yes Support service. Starts web service background process.

QRMResult/Shutdown Yes Support service. Stops web service background process if no

jobs are in queue.

QRMResult/ForcedShutdown Yes Support service. Stops web service background process even if

jobs are in queue.

QRMResult/TerminateProcess Yes Support service. Terminates the ApplicationWebServer.exe.

QRMResult/Info

QRMResult/

Support service. Returns information about web service as an

HTML page.

QRMResult/ConfigInfo Yes Returns the configuration settings.

QRMResult/ReadLog Yes Reads the log file.

QRMResult/ClearLog Yes Clears the log file.

QRMResult/EnableLog Yes Enables the file logging.

QRMResult/DisableLog Yes Disables the file logging.

QRMResult/DeleteTempFiles Yes Deletes all temporary result files.

QRMResult/SendTestMail Yes Sends a test mail to all specified mail addresses.

QRMResult/Upload Yes Uploads a XML result file or a zip-archive with many XML

result files by a browse button.

Table 3. QRM Web Server Support API.

Page 25: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 25

(34)

25 (34)

8.15 NI Application Web Server (optional)

If SSL (HTTPS) is required this is done though the NI Application Web Server. If

SSL(HTTPS) is not required, configuration of the NI Application Web Server is

not needed and this section may be skipped.

The web service setup for each station is configured through the NI Application Web

Server, which is part of the NI web service installation and needs to be set up for each

station. When installed, the NI Application Web Server is configured through a web

API (requires Microsoft Silverlight plug-in) using the following URL:

http://<IP address>:3580

In this web page, the server port and SSL certificates are configured as well as users

and group access to the web service. Please reference to the National Instrument

online information regarding the NI Application Web Server on the following URL:

http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/ws_web_server/

Figure 10. NI Application Web Server web configuration.

Page 26: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 26

(34)

26 (34)

8.15.1 NI Application Web Server Configuration

When installing the QRM web service for the first time please perform the following

steps.

1. Open http://localhost:3580

2. Press Login in the upper right corner. Use “admin” with a blank password.

3. Press the Users tab and double click on “admin”. Enter a strong password and

press OK and then Save.

Page 27: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 27

(34)

27 (34)

4. Press the menu button with the “monitor and the globe”. Expand both System

Web Server by the Advance tab.

5. In the System Web Server, set SSL enable to Yes and then Apply. You will

now be forced to restart the service. Press Logout in the upper right corner.

Page 28: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 28

(34)

28 (34)

6. Open the Control Panel->Administrative Tools->Services (eng). Right-click

on the NI System Web Server and select Restart. There will be other services

restarted as well. This is ok.

7. Reload the page http://localhost:3580. Login as admin with password

previously provided. Press the menu button with the “monitor and the globe”.

Expand both System Web Server and Application Web Server by the Advance

tab.

8. In the System Web Server select the LabVIEWDefaultCertificate in the

Certificate file drop down list. Press the Apply button.

Page 29: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 29

(34)

29 (34)

9. In the Application Web Server section, press the “+” button and add a virtual

host called QRMSSL. Select the LabVIEWDefaultCertificate as Certificate

file. Press Apply.

10. Press Logout in the upper right corner.

11. Restart the service again as described in step 6.

12. Done!

Page 30: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 30

(34)

30 (34)

8.15.2 Advanced Configuration

In the NI Application Web there are other things to configure like:

Select if 32-bit or 64-bit application web server is active.

Make sure 32-bit application web server is active

TCP ports, default is 8080 (http) and 8081 (https).

The NI Web server has a configuration file that can be directly edited as well.

8.15.2.1 Windows XP Web Server Configuration C:\Program Files\National Instruments\Shared\NI

WebServer\NISystemWebServer.conf

C:\Program Files\National Instruments\Shared\NI

WebServer\NIWebAppServer.conf

8.15.2.2 Windows 7/Windows Server 2008 (32bit) Web Server

Configuration C:\Program Files (x86)\National Instruments\Shared\NI

WebServer\NISystemWebServer.conf

C:\Program Files (x86)\National Instruments\Shared\NI

WebServer\NIWebAppServer.conf

8.15.2.3 Windows 7/Windows Server 2008 (64bit) Web Server

Configuration C:\Program Files\National Instruments\Shared\NI

WebServer\NISystemWebServer.conf

C:\Program Files\National Instruments\Shared\NI

WebServer\NIWebAppServer.conf

Page 31: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 31

(34)

31 (34)

8.15.3 Setting up the Service (optional)

The NI Application Web Server can be configured to be robust. Open the Control

Panel->Administrative Tools->Services (eng). Right-click on the NI Application Web

Server and select Properties. Select the Recover tab and select “Restart the Service”

on all failure tabs.

Page 32: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 32

(34)

32 (34)

9 QRM Web Application This section refers how to manually install the QRM Web Application. If installation

Setup Development Station has already been done, installation is already setup.

9.1 Installation

Please refer reference [2] of how to install the QRM Web Application. All browsers

are supported: Firefox, Internet Explorer, Google Chrome and Safari. The web

application also runs on iPhone and iPad using Safari.

9.2 Using QRM Web Application

Please refer to reference [3] of how to use QRM Web Application.

Figure 11. The QRM Web Application.

9.3 QRM Web Service SOAP

If you would like to fetch QRM data to import in another system, this can be

performed in two different ways.

1. Make your own database SQL query to the QRM result database.

2. Use the QRM Web Service SOAP API

The QRM web application does not only host the web application accessible through

a web browser, but also host a couple of SOAP web services. Please refer to reference

[4] of how to use the SOAP API.

Page 33: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 33

(34)

33 (34)

10 QRM Clients A QRM client can be anything that may post ATML results to the QRM Web Service

through HTTP. There exist two QRM Clients, one for TestStand, TestStand QRM

Result Processor Plugin, and one for LabVIEW, QRM Client. Both clients requires a

QRM Web Service in order to work correctly.

The TestStand Result Processor Plugin is actually built using the QRM LabVIEW

Client.

Results that are posted to the QRM web service by any QRM client is performed

asynchronous. This means that as soon as the QRM web service has received the

ATML XML result set, it will reply back to the client that it has been received (HTTP

200 ok), but the client does know if the result set actually ended up in the QRM

database or not. This way it is very fast posting results to the QRM web service and

the web service will continue processing the result sets even after the client has

finished the execution.

10.1 TestStand QRM Result Processor Plugin

The TestStand QRM Result Processor Plugin is an addon to TestStand 2012 or later.

Please refer to reference [5]. They are located in:

<Install dir>\TestStand Result Processor\<TS version>

Figure 12. The AddQ QRM Result Processor installed in TestStand.

Page 34: QRM Quick Start Guide

Document Name Document Class Date Version

QRM Quick Start Guide Guide May 2014 1.1

Author Document Nr Page

Mattias Ericsson 4-100-202 34

(34)

34 (34)

10.2 LabVIEW QRMClient

The LabVIEW QRMClient is an addon to LabVIEW 2010 or later and distributed as

VIPM package. Please refer to reference [6]. It is located in: <Install dir>\LabVIEW QRM Client\<package>.vip

Figure 13. QRMClient menu installed in the Addons->QRM

11 Support If you have questions, please post them at the QRM Community:

https://decibel.ni.com/content/groups/qrm

If you don’t have access to the community, please click Ask to join this group.

For any question, feel free to contact AddQ support at: [email protected]

12 Troubleshooting Please refer to the troubleshooting section in reference [2] QRM Installation Guide.