The Beep Store

From Scube-casestudies
Revision as of 18:55, 10 April 2012 by Halle (talk | contribs) (Created page with "This page serves as an appendix to the short paper '''Constraint-Based Invocation of Stateful Web Services: The Beep Store''', to appear at the 4th International Workshop on P...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page serves as an appendix to the short paper Constraint-Based Invocation of Stateful Web Services: The Beep Store, to appear at the 4th International Workshop on Principles of Engineering Service-Oriented Systems (http://www.s-cube-network.eu/pesos-2012). The paper describes an environment for the verification and enforcement of stateful web service constraints.

Description

The archive contains:

  1. An Ajax web application, the "Beep Store", that provides catalog browsing and shopping cart manipulation functions through browser-server exchange of SOAP XML messages
  2. A generator of traces, called cart-generator

System requirements

  • A web server with support for PHP and SQLite. Reported to work with Apache 2.x and Hiawatha 6.x.
  • To use the web client: a standards-compliant web browser with Java and JavaScript support

Installation instructions

  • Unpack the contents of the archive in a directory under the web server's root (e.g. htdocs/beepstore)
  • For SQLite usage: make sure the web server's directory is chmod 777 (this is due to an SQLite bug).

How to use The Beep Store

  • Open your web browser and visit the location where you unpacked the archive (e.g. http://localhost/beepstore). The application should start automatically. Links and buttons are self-explanatory. The "Documentation" section provides details about the SOAP messages exchanged and their constraints.
  • Use any instrumentation method (such as the Firebug extension in Firefox) to intercept and study the SOAP requests and responses between the client and the server.
  • The contents of the back-end database are located in `beepstore.sqlite`; use an SQLite manager (such as the "SQLite Database Browser" under Ubuntu) to open the database and modify its contents to your liking.
  • To log in, use the following credentials: username "user", password "1234", e-mail "me@example.com". Other users can be changed in table "users" of the SQLite database.
  • The application can switch to MySQL for its database engine; some configuration settings can be changed in the file `beepstore.ini`. (You have to create the tables and populate the database manually in that case.)