Kwiki Blog

 
Thu Jul 17 13:49:51 2003 PlesPython

python-utils

PyTCPWrap - TCP Wrapper for python

Thu Jul 17 13:49:27 2003 PlesPerl

Describe the new page here.

Thu Jul 17 13:48:57 2003 PlesUml

Class Hierarchy

Main Classes

IPlesInterface """

PStub

PConfig

PUri

PResource

PRecordSet

PRecord

PHandler

PParser

PValidator

PStatus

Utility Classes

PDbTableField

PSqlQuery

PProtocol

PAddress

PParam

Dummy Classes (defined by the implementation language)

Legend

  • The notation used does not comply with any specific 'standard' of UML notation
  • 'P' prefixed to class name = Ples class

.....................................................

Thu Jul 17 13:48:19 2003 PlesUml

Class Hierarchy

Main Classes

IPlesInterface """

PStub

PConfig

PUri

PResource

PRecordSet

PRecord

PHandler

PParser

PValidator

PStatus

Utility Classes

PDbTableField

PSqlQuery

PProtocol

PAddress

PParam

Dummy Classes (defined by the implementation language)

Legend

  • The notation used does not comply with any specific 'standard' of UML notation
  • 'P' prefixed to class name = Ples class

.....................................................

Thu Jul 17 13:47:44 2003 PlesSpecification

ples intends to provide a common conceptual framework for developing REST interfaces to SQL databases in the Perl, Python and PHP scripting languages. The modules will first be designed and defined in terms of UML to provide a language independent framework to work from. The "UML" notation used doesn't necessarily comply with any recognised standard and has been modified so that it can easily be published and edited on-line.

The following basic functionality will be rendered by a ples database interface :

  1. Navigation from root data objects (databases) to tables and associated tables.
  2. Viewing of data from a table through the HTTP GET method.
  3. Addition of new data to a table through the HTTP PUT method.
  4. Updating of existing data in a table through the HTTP POST method.

Example of a Java REST interface to a SQL database

Have a look at the screen shots from sqlrest project to get an idea of how the interface should work.

Thu Jul 17 13:47:21 2003 PlesRoadMap
  • July 2003
    • ples project goes online at Source Forge
    • Launch mailing list and contact people
    • Project planning
  • August 2003
    • Specification finalised
    • UML completed
  • September 2003
    • The first ples implementation will be a REST interface written in Perl to interface with the PostreSQL database via the popular DBI::DBD modules obtainable from CPAN.
    • Coding of first ples interface (ples-pl.pgsql) commences
  • Oktober 2003
    • ples-pl.pgsql alpha released
  • November 2003
    • ples-pl.pgsql beta released
  • January 2003
    • Project status review
Thu Jul 17 13:46:57 2003 PlesWhatIsRest

REST is an acronym for "representational state transfer" - terminology coined for the first time by Roy Fielding in his dissertation. REST is neither a "standard" nor a "protocol" - it is an architectural style or convention. Paul Prescod defines a REST web service aptly as "a web service that delivers its functionality entirely as a set of URI-addressable resources using the syntax and semantics of the HTTP protocol" - visit prescod.net for more information and some comparisons to SOAP and XML-RPC.

This project was inspired in part by sqlrest- a Java based REST project hosted at Source Forge.

The advantages of a REST based web service are simplicity, security and scalability. It doesn't rely on a special protocol layer such as SOAP or XML-RPC and exposes its API dynamically in terms of XML encoded data and links to XML encoded data. It uses a simplified set of semantics as defined in the HTTP protocol i.e. a reduced instruction set of GET, PUT, POST and DELETE. Simple firewall configurations can be used to protect and control access to data.

Resources

==========