SPRI: web enabled views of STEP exchange files

Contacts & Credits
upload file to SPRI

This HTML form may be used to upload a STEP exchange file to the SPRI server. The uploaded file will be converted to a database of Prolog facts and stored on the server in that form.

The content returned from the server will be a directory to views available of the information content of the uploaded exchange file and will be displayed by your browser if it supports client-side XSLT translations.

The translation application on the server can interpret STEP Part 21 exchange files conforming to STEP Application Protocols AP 203, AP 238, AP 214, AP 224; as well as STEP Part 28 conforming to AP 238 and encoded to XML using the iso_10303_28_terse profile.

Demonstration exchange files are available to see typical generated views and content.

Introduction

This page offers a demonstration of SPRI, a web application that provides browsable views of the information content of a STEP exchange file. A user or a client application may upload an exchange file to the server and receive in response XML models of the content of the exchange file. The service offered by this application is that of translating the data structures of the exchange file, which are designed to meet the needs of information modelling; into structures more suitable and easier to handle for downstream application; or for browsing by viewers. For example, one view offered by this server offers a view of an assembly structure described in an exchange file. Developing this view requires the server to navigate many link in the data structures encoded in the original file, and organize a hierarchical presentation of the assembly which can be presented and interpreted in a straightforward way as an XML model. A view of an exchange file can include a simple list of the names and product identification data for the products referenced in the exchange file.

The usefulness of this application depends on the usefulness of the views offered and two features of this application will allow users to leverage its abilities. The first is that the views are delivered as XML data files, so users can further process the views using standard XML tools such as XSLT; as well as combine components of different views. The second feature is that the underlying design of the application is modular in that views are implemented as scripts largely decoupled from the other code, and can new views can be readily developed and added to the list of views offered by the application.

The interface to this web application is implemented along REST architectural principles, incorporating design principles that have been identified as underlying the success of the World Wide Web. A user with a web browser, or other client application, interacts with this server by creating, identifying, and retrieving resources that are identified by persistent URLs. The same interface is can be used by either interactively by a user with a standard web browser or by an automated script, which can be written in any development language or environment that can support HTTP request-reply interaction with the server, and can process XML data received from the server. For the interactive user with a browser, viewing an exchange file begins with uploading the file using a standard HTML input form, as on this page. On a successful reading of the file the reply from the server will the URL for a root resource for the exchange file. Further use of the application is based on retrieving resources as addressed by URLs. Each resource is an XML model containing information from the exchange file, or a directory containing links to other resources, or in some cases mixed, containing both exchange file content as well as links to further resources. The root resource returned upon a successful upload is a directory resource with links to the upper level views available for the exchange file. For the web browser the resource also contains a reference to an XSLT script which the browser can use to display the XML model in a readable format, with the ability to retrieve further resources by clicking on links. An automated application which supports HTTP requests can upload a file, examine the return HTTP responses and XML content returned to retrieve desired content. Development of scripted service calls to the application is aided by the documentation of the resource content with available XML Schema documents, as well as the use of XML standards such as XLink in the XML resource files.

Links to additional information

Origin of SPRI name

The term SPRI is almost an acronym of acronyms:
The SPRI server and website were developed by
Vincent Marchetti
LinkedIn
email: vmarchetti@kshell.com
The SPRI server makes extensive of the following open-source software in the server-side implementation:
SWI-Prolog logo
SWI-Prolog
Python
Apache
ModPython
Python--Apache bridge.