%TOC%
[[StrategoNetworking][stratego-net]] is a package you can use to
implement CGI based services or access a service at a certain
URL using HTTP.
Scenarios :
* write an Tools.ATermService
* access an Tools.ATermService
* write an XML WebService
* dynamicly generate XHTML
---++ Client-side
Use stratego-net on the client-side to:
* download an [[ATerm]] from an URL
* apply a transformation by invoking an Tools.ATermService
Both strategies are implemented in the =http-client= module. Use =http-get-term= to download an ATerm from the given URL. With =xtc-http-get= you can download any file.
This strategy should be used in an XTC composition.
URL("http://www.foo.com/foo.aterm")
With =xtc-http-transform= you can invoke an Tools.ATermService to do
some transformation. This strategy should be used with in an
[[XTC]] composition. The =http-transform= operates on terms
an can be used outside an XTC composition.
xtc-io-wrap(
xtc-http-transform(!URL("http://127.0.0.1/cgi-bin/calculator"))
)
---++ Server-side
TODO
---++ Resources
* The second part of the presentation [[http://www.students.cs.uu.nl/~mbravenb/docs/pt-xml.pdf][xml transformations and distributed services]] is devoted and introduction to services and shows some services and clients from the samples package in action.
* XML-RPC [[http://www.xml-rpc.org/spec][specification]] and [[http://www.xml-rpc.org/][homepage]]
---++ Download and installation
The latest distribution is available at:
* [[%DIST%/stratego-net-unstable-latest/][Latest unstable release]]
For tarballs configure the package with the locations of the dependencies:
* =--with-aterm=
* =--with-sdf=
* =--with-strategoxt=
* =--with-curl=
The daily distributions contain the latest of the latest developments, but if you really want to, the latest sources can be checked out using:
svn checkout %SVNSTRATEGOXT%/stratego-net/trunk
Before you can configure the package as described above you have to run the =./bootstrap= script.
---++ See also
* [[SamplesNetXml][samples-net-xml]] -- a samples package using [[Tools.XmlFront][xml-front]] and [[StrategoNetworking][stratego-net]].