ReqEdit InterOp Server

ReqEdit Online Documentation

ReqEdit InterOp Server

4 min read
last updated: 09/19/2022

ReqEdit InterOp Server diagram

The InterOp Server is an online solution for file conversions, validation and reading of ReqIF files self-hosted or as a SaaS.

All conversions supported by ReqEdit Ultimate are supported by the Interop server as well, like Word documents, vendor ReqIF files, RIF zip or xml files and our easy-to-use ReqXML format.

Offers additional functionality for managing and monitoring the progress of multiple conversions.

The InterOp server exposes the functionality to a REST interface controlled by API calls with url parameters or requests using JSON data and returning JSON/XML responses.

Supported file formats

Only the following file formats are currently supported for conversions:

Input Types

  • .doc
  • .reqif / .reqifz
  • .reqxml / .reqxmlz
  • .zip (RIF 1.1a)
  • .xml (RIF 1.1a)

Output types

  • .reqif / .reqifz 
    • standard ReqIF
    • tool vendor specific (multi spectype) ReqIF
    • multi spectype Doors Next ReqIF up to 7.0.2 with limitations
  • .reqxml / .reqxmlz
  • .zip (RIF 1.1a)
  • .xml (RIF 1.1a)

Quick User Guide

The following use case guide presents a quick overview of the steps needed to do some common tasks.

Converting files

  1. Upload files to the server
    the files will be stored on an isolated workspace allocated only for the current user
  1. Create a new conversion with specific files
    list of uploaded files must be specified for a conversion
  1. Monitor conversion progress
    the conversion can end with success or failure
  1. Get conversion details
    get the list of the resulting files or check the failures if any
  1. Download results
    use the result download API call to get your files

Validate a ReqIF file

  1. Upload file to the server
  1. Validate the specified file and check the results

Open and read a ReqIF file

  1. Upload file to server
  1. Open ReqIF file
  1. Read contents of specific ReqIF file over the REST API
  1. Close ReqIF file or wait to close it automatically

Deployment types

Self-Hosted

InterOp server can be deployed in your own data center. For this you will need the following:

  1. IIS Server
  1. One or more ReqEdit licenses

Configuration guides are available on request.

As a SaaS

We offer InterOp server as an online service for our clients. For this you will need the following: 

  1. Authentication with username/password provided by us

You will also get the following benefits:

  1. Isolated workspace
  1. No request throttling limits
  1. Multiple ReqEdit licenses included

Try out the InterOp Server

For quick tests, the InterOp server has an internal Swagger page that you can use to test the functionality. Or you can download the Postman API Collection and use it from your desktop.

Configure Postman with the provided credentials and save it.

Postman access credentials
Postman InterOp server url

Internal Swagger page can be accessed only after entering correct access credentials. Swagger offers a minimal set of API testing functions.

InterOp REST API Swagger page

InterOp Server REST Interface

The Interop Server supports the following use cases exposed as REST API calls. REST communication happens over HTTP messages where the status code stands for success or failure of the requests.

File management

Users can upload, overwrite or delete files, create, rename or delete folders in the client workspace. A client workspace is an isolated storage space where all the files are stored for a single client and used from there.

Only supported filetypes can be uploaded:

.doc .reqif .reqifz .xml .reqxml .reqxmlz .rif .txt .zip .json

Moving files/folders is not supported.

Conversion management

All conversions are stored in separate conversion jobs. Each job can be controlled and monitored individually. The jobs are queued up and processed by multiple ReqEdit instances. Conversion monitoring and execution is happening internally and cycling every 30 seconds.

ReqEdit InterOp Server Conversion state diagram with actions

Conversions can have multiple states but follow a simple flow:

  • Paused
    conversions will not be processed, unpausing a conversion will go to queued and will be processed on the next conversion cycle
  • Queued
    queued conversions can be paused
  • In progress
  • Finished 
    once finished, the conversions can be restarted anytime
    • Success
    • Failed

Actions that change the states are the following:

  • Create creates a new conversion that will become Queued
  • Pause indefinitely, make configuration changes then Unpause or Restart
  • Unpause Paused conversions will become Queued
  • Restart Finished conversions

Available actions for conversions

List conversions

API call will list all the conversions in with all related information like results statuses and log files

Create conversion

Specify source files, conversion type, mapping file and conversion options

Delete conversion

Remove all information about a conversion

Update conversion

Change any of the conversion options by sending only the changes

Pause / unpause conversion

Make changes to configuration and later restart the conversion

Restart conversion

Repeat a finished or paused conversion

Get conversion details

Lists the result status with all associated files: source files, logs, conversion results

Download conversion results files

Specify a file to download from the conversion results

Read ReqIF files

Uploaded ReqIF files can be opened and used over the REST API interface. There is a specific procedure for this:

  1. Upload a ReqIF file or use an existing file
  2. Open the ReqIF file so it can be read over REST API with /api/reqif/open API call
    • if the open is successfull take the provided document name
  3. List specification contents
    1. Call /api/reqif/get-specifications with the opened document name
  4. The opened ReqIF file will be automatically closed after a period

to check which ReqIF files are opened use the /api/reqif/open-files

Validate ReqIF files

Any uploaded ReqIF file can be easily validated, and the results will be returned as the response to the API call.

Call /api/reqif/validate with any ReqIF, the response will contain the valid or invalid message and corresponding status code.

Monitoring

  • Ping: health check
  • Status: load / resources / uptime / current user / workspace

Disclaimer

ReqEdit InterOp service is a technical concept that is continuously improved and made available only on request.