WebComposition/Data Grid Service v1.0
Introduction
The WebComposition/Data Grid Service is the first element of the fourth generation of the WebComposition approach. This approach was first introduced at the WWW6 conference in 1997 as an object-oriented approach for Web Engineering. Today, the WebComposition approach abstracts the development and evolution of Web-based solutions by composing Web components – i.e. a Web-based solution is seen as set of Web components. These components address different perspectives of an application, i.e. content-perspective (aspects related to data and semantics), UIXperspective (aspects related to the user interface experience), and DSA-perspective (aspects related to distributed system and architecture behavior). As such the WebComposition approach extremely focuses on reuse, by taking two concepts of reuse of components of different perspectives into account:
- Development of Web components for reuse, i.e. the creation of reusable units that implement a certain perspective or corresponding aspect.
- Development of solutions by reusing existing Web components, i.e. the creation of a compositionsystem that enables the composition of existing Web components to complete Web applications/solutions.
Data Model
WebComposition/Data Grid Service acts as a Web-based storage and gateway solution, focusing on accessing heterogeneous data spaces using one single data model. The model is a set of so called XML lists and corresponding metadata. Operations which can be performed on XML lists lists transformation, aggregation, synchronization and protection. The data spaces within Data Grid Service are accessed using a unified REST/HTTP interface.
Each of the resources is addressed using dedicated URI and may be annotated with the help of Resource Description Framework (RDF). The metadata is accessible in RDF/XML representation using {Resource URI}/meta path. Beside basic properties from Dublin Core (DC) vocabulary, metadata contains data space settings and links to related resources. The type of the data space (ordinary XML list, binary content or gateway) determines which access and manipulation functions are available.
The basic Data Grid Service XML lists functionality comprises several description, access and manipulation functions. The data space consistency is guaranteed by list- or item-encompassing XSD schema definition. Additional views on the data spaces are provided by mapping incoming HTTP requests onto generic XPath expressions, which select parts of the data space representation. The data spaces may be interlinked using dedicated Data Grid Service associations, defined for each pair of data spaces.
Extensions
The data spaces are handled by corresponding Data Space Engine components. Currently following Data Space Engines are implemented:
- XmlDataSpaceEngine: The component is responsible for XML lists management. XML lists, list items and corresponding metadata can be created using the component. Schema validation as well as relationship handling is also implemented within the XmlDataSpaceEngine.
- DbDataSpaceEngine: DbDataSpaceEngine mirrors the functionality of XmlDataSpaceEngine with the difference, that all the data is stored in a predefined MSSQL database. The performance gain becomes rigorous as the amount of metadata increases.
- XSLTDataSpaceEngine: XSLTDataSpaceEngine allows to transform existing Data Grid Service resources using predefined XSLT stylesheets. Using the component, further XML lists representations like RDF/XML can be produced.
Demo
Try out the Data Grid Service using the VSR REST Client You can use the predefined HTTP requests to execute complex workflows.Basic functionality:
1.Retrieve all resources in Data Grid Service2.Create new XML list
3.Read XML list meta data
4.Set XML schema for XML list validation
5.Add some XML item
6.Read XML list
Working with URI templates:
1.Create a new URI template2.Retrieve items using URI template
Working with list relationships:
1.Create another XML list2.Setup relationship between the lists
3.Add some XML item
4.Retrieve linked resources
Creating further resource representations:
1.Create a resource corresponding to RDF/XML representation of XML list2.Create new XML list for XSLT stylesheets
3.Create new XSLT stylesheet
4.Configure the resource to use the stylesheet
5.Read RDF/XML representation
Request:
Request HTTP Header
Request Body
Response HTTP Header
Response Body
Download
There is a portable version of Data Grid Service available. You need the .NET4 Framework installed on your machine. Start the service with Administrator rights as it needs to be hosted under http://localhost:3826/datagridserviceReferences
- Olexiy Chudnovskyy, Martin Gaedke. Development of Web 2.0 Applications using WebComposition/Data Grid Service (Conference Paper). Service Computation 2010, Lisbon, Portugal, 21-28 November 2010. Link
- VSR Wiki. https://vsr.informatik.tu-chemnitz.de/mediawiki/index.php/DataGridService (Last Access 22.03.2011)
- WebComposition Homepage. http://webcomposition.net/ (Last Access 22.03.2011)
- Martin Gaedke, Andreas Heil. GET /dgs HTTP/1.1 Host: www.WebComposition.net (Conference Paper). Hawaii International Conference on System Sciences (HICSS-42), Waikoloa, Big Island, Hawaii, USA, 5-8 Jan. 2009; Pages 1-10; ISBN/ISSN ISBN 978-0-7695-3450-3; ISSN 1530-1605 Link
- Martin Gaedke, Danilo Härtzer, Andreas Heil. WebComposition/DGS: Dynamic Service Components for Web 2.0 Development (Conference Paper). 10th International Conference on Information Integration and Web-based Applications & Services (iiWAS 2008), Pages 456-459, Linz, Austria, 26.11.2008; Pages 456-459; ISBN/ISSN 978-1-60558-269-6 (electronic) 978-3-85403-240-3 Link
- Andreas Heil, Martin Gaedke. WebComposition/DGS: Supporting Web2.0 Developments With Data Grids (Conference Paper). IEEE International Conference on Web Services (ICWS 2008), Pages 212 - 215, Beijing, China, September 23-26, 2008; Pages 212-215; ISBN/ISSN 978-0-7695-3313-1 Link