QRM Quick Start Guide
Transcript of 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.
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
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.
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.
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
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.
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
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.
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).
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
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.
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.
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.
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.
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.
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
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
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 ##
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=
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)
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)
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.
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.
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.
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.
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.
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.
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.
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.
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!
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
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.
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.
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.
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.