D4.1.2 Cloud-based Data Storage (Prototype II)
|
|
|
- Colin Eaton
- 10 years ago
- Views:
Transcription
1 < ADVENTURE WP 4 D4.1.2 Cloud-based Data Storage (Prototype II) D4.1.2 Cloud-based Data Storage (Prototype II) Authors: ASC, TUDA Delivery Date: Due Date: Dissemination Level: PU This deliverable provides a description of the second prototype implementation of task T4.1 Cloud-based Data Storage. As stated in the Description of Work (DOW), this is a prototype (software) deliverable. As such, this document is reduced in length and its only purpose is to briefly describe the prototype functionality, as well as to provide installation instructions and usage clarifications. This document is delivered with the software itself. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 1 / 41
2 Document History Draft Version Contributions V0.1, ASC, August 7 th, 2013 V0.2, ASC, August 19 th, 2013 V0.3, ASC, August 24 th, 2013 V0.4, ASC, August 29 th, 2013 V0.5, ASC, September 1 st, 2013 V0.6, ASC, September 13 th, 2013 V0.7, ASC, September 19 th, 2013 V0.1, ASC, September 27 th, 2013 ASC - Sven Abels - Rafael Karbowski - Michael Krummen TUDA - Ronny Hans Internal Review 1 Irena Pavlova, ISOFT, September 25 th 2013 Internal Review 2 Filipe Ferreira, INESC, September 26 th 2013 Final Version September 27 th, 2013 D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 2 / 41
3 Table of Contents Executive Summary Introduction ADVENTURE Project Aims Deliverable Purpose, Scope and Context Document Status Target Audience Abbreviations and General Terms Document Structure Scope and Relationship Requirements & Preparations For Users For Administrators and Developers Installation (Deployment) Installing the Cloud Storage Server Execution & Usage Initialization Create Bucket Delete Bucket CRUD - Create CRUD - Read CRUD - Update CRUD - Delete Execute Advanced Query Add Access Rights for User Get Access Rights for User Limitations & Further Developments Summary Appendix Internal Interfaces Add Access Rights for User or Group Get Access Rights for User Create Bucket CRUD Create CRUD-Operation: Update CRUD Read CRUDE Delete Execute Advanced Query Delete Bucket Message Format Description D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 3 / 41
4 Enum Types and simple Objects Data Transfer Objects (DTO) Commands Request and Respond D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 4 / 41
5 List of Figures Figure 1: Location of the Cloud-based Data Storage in the Project Context Listings Listing 1: Source Code Example Initialization of the Message Client and the Cloud Storage API Listing 2: Source Code Example API Method Signature for Create Bucket and the Usage of this Method Listing 3: Source Code Example API Method Signature to Delete a Bucket and the Usage of the Method Listing 4: Source Code Example Factory Method to Create a Test Data Object Listing 5: Source Code Example XSD Description for a Test Class Listing 6: Source Code Example API Method Signature for the CRUD-Operation Create and the Usage of this Method Listing 7: Source Code Example API Method Signature for the CRUD-Operation Read and the Usage of this Method Listing 8: Source Code Example API Method Signature for the CRUD-Operation Update and the Usage of this Method Listing 9: Source Code Example API Method Signature for the CRUD-Operation Delete and the Usage of this Method Listing 10: Source Code Example API Method Signature for the Execute Advanced Query and the Usage of this Method Listing 11: Source Code Example API Method Signature to Grant Access Rights to a User for a Bucket and the Usage of this Method Listing 12: Source Code Example API Method Signature to Get Access Rights for a User and the Usage of this Method Listing 13: Method Signature Create Bucket Listing 14: Message-Example for Get Access Rights for Bucket - Request Listing 15: Message-Example for Get Access Rights for Bucket - Respond Listing 16: Method Signature Create Bucket Listing 17: Message-Example for Get Access Rights for Bucket - Request Listing 18: Message-Example for Get Access Rights for Bucket - Respond Listing 19: Method Signature Create Bucket Listing 20: Message-Example for Create Bucket - Request Listing 21: Message-Example for Create Bucket - Respond Listing 22: Method Signature CRUD Create Listing 23: Message-Example for CRUD Create - Request Listing 24: Message-Example for CRUD Create - Respond Listing 25: Method Signature CRUD Update Listing 26: Message-Example for CRUD Update - Request Listing 27: Message-Example for CRUD Update - Respond Listing 28: Method Signature CRUD Read D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 5 / 41
6 Listing 29: Message-Example for CRUD Read - Request Listing 30: Message-Example for CRUD Read - Respond Listing 31: Method Signature CRUD Delete Listing 32: Message-Example for CRUD Delete - Request Listing 33: Message-Example for CRUD Delete - Respond Listing 34: Method Signature Execute Advanced Query Listing 35: Message-Example for Execute Advanced Query Listing 36: Message-Example for Execute Advanced Query Listing 37: Method Signature Delete Bucket Listing 38: Message-Example for Delete Bucket - Request Listing 39: Message-Example for Delete Bucket - Respond Listing 40: Message Format Description - BucketType Listing 41: Message Format Description - CrudType Listing 42: Message Format Description - Rights Listing 43: Message Format Description - AccessRight Listing 44: Message Format Description - Bucket Listing 45: Message Format Description - DTO Listing 46: Message Format Description - ClassObject Listing 47: Message Format Description - ClassInstance Listing 48: Message Format Description - KeyValueObject Listing 49: Message Format Description - Command Listing 50: Message Format Description - CreateBucket Listing 51: Message Format Description - DeleteBucket Listing 52: Message Format Description - CrudOperation Listing 53: Message Format Description - QueryOperation Listing 54: Message Format Description - GetAccessRights Listing 55: Message Format Description - AddAccessRights Listing 56: Message Format Description - CloudRequest Listing 57: Message Format Description - CloudResponse D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 6 / 41
7 Executive Summary The goal of the Task 4.1 is to create a central Cloud Storage for all ADVENTURE platform components. It will provide independent Buckets to store binary, (semi-) structured and semantic data. The Buckets are independent databases that can be created for each component. This approach helps to separate the data of the components, so that they can work with their own database without the need to pay attention whether external data will be overwritten. Each component can create multiple Buckets. Buckets can be shared among different components and can restrict their access via simplistic access control mechnisms. The Cloud Storage supports simple CRUD (create, read, update, delete) operations for all Bucket types and advanced queries based on the database, e.g. SPARQL in conjunction with Sesame. The Prototype D4.1.2 represents the main outcome of task T4.1 Cloud-based Data Storage for the second year. It allows other ADVENTURE components to store and retrieve data in Buckets. As stated in the Description of Work (DOW), this deliverable is a prototype and as such it is Software. This document only provides the description for the second prototype implementation and hence is reduced in length. Its purpose is to briefly present the prototype functionality, as well as to provide installation instructions and usage clarifications. The document will be delivered together with the software itself. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 7 / 41
8 1 Introduction ADVENTURE ADaptive Virtual ENterprise manufacturing Environment is a project funded in the Seventh Framework Programme by the European Commission. ADVENTURE creates a framework that enhances the collaboration between suppliers, manufacturers and customers for industrial products and services. 1.1 ADVENTURE Project Aims The framework proposed by ADVENTURE provides mechanisms and tools that facilitate the creation and operation of manufacturing processes in a modular way. ADVENTURE combines the power of individual factories to achieve complex manufacturing processes. It provides tools for partner-finding, process creation, process optimization, information exchange as well as real-time monitoring combined with the tracking of goods and linking them to Cloud services. There have already been several research projects that address the combination of different independent manufacturers to so-called virtual factories. Most of these research projects focus primarily on the business-side in general and on aspects like partner-finding and factory-building processes in special. However no proven tools or technologies exist in the market that provide the creation of virtual factories applying end-to-end integrated Information and Communication Technology (ICT). ADVENTURE is aiming to provide such tools and processes that will help to facilitate information exchange between factories and move beyond the boundaries of the individual enterprises involved. The collaborative manufacturing process will be optimised by enabling the integration of factory selection, forecasting, monitoring, and collaboration during runtime. ADVENTURE builds on concepts and methods of Service-oriented Computing and benefits from the advancements in this field. The monitoring and governance of the collaborative processes will be supported by technologies from the Internet of Things such as wireless sensors. Existing tools and services that can be integrated will be considered during the development of the platform for ADVENTURE. The increased degree of flexibility provided through ADVENTURE will benefit SMEs especially as it helps them to react quickly to changes and to participate in larger, crossorganizational manufacturing processes. Furthermore, ADVENTURE will help manufacturers in assessing the environmental friendliness of actual manufacturing processes and resulting products and services. Other objectives of ADVENTURE include research in areas such as service-based manufacturing processes, adaptive process management, process compliance, and end-to-end-integration of ICT solutions. 1.2 Deliverable Purpose, Scope and Context The purpose of this deliverable is to accompany the second prototype implementation of task 4.1. As such, its main purpose is to briefly clarify the scope of the prototype and to show the download and installation instructions, as well as to illustrate the usage of the software API. The document is limited in length as the main focus of the task is the software itself rather than its accompanying document. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 8 / 41
9 1.3 Document Status As a second and complete version of the Cloud Storage, this document is listed in the DOW as PU. 1.4 Target Audience This document presents the second prototype of the Cloud Storage component. In contrast to the previous version, the target audience of the document is not only internal, for the developers of the other infrastructure components, but also external, as ADVENTURE technology is attracting more and more interest beyond the consortium Abbreviations and General Terms A definition of general, common terms and roles related to the realization of ADVENTURE as well as a list of abbreviations is available in the supplementary document Supplement: Abbreviations and General Terms which is provided in addition to this deliverable. Further information can be found at: Document Structure This deliverable is broken down into the following chapter: Chapter 1 provides an introduction to the context, purpose, scope and structure of this document. Chapter 2 clarifies the context and scope of the software prototype deliverable and its relationship with other architectural modules. Chapter 3 outlines the prerequisites for using the software prototype by the defined usage roles. Chapter 4 specifies the installation and configuration procedures for the software prototype. Chapter 5 provides details for the implemented usage scenarios. Chapter 6 lists the known limitations and defects and provides an outlook to further planned developments in next iterations. Chapter 7 briefly summarizes the status of the prototype deliverable. Chapter 8 is an Appendix of this document and contains the interfaces, as well as the message format descriptions. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 9 / 41
10 2 Scope and Relationship A short remainder of the functionalities of the ADVENTURE Cloud Storage: The Cloud Storage is the central data storage for all other ADVENTURE components. It provides independent Buckets to store binary, (semi-)structured and semantic data and supports simple CRUD (create, read, update, delete) operations for all Bucket Types and advanced queries based on the Bucket Type, e.g SPARQL for semantic data Buckets. Each component can create multiple Buckets. Buckets can be shared among different components and can restrict their access via simplistic access control options. As shown in Figure 1 the Cloud Storage is located in the Data Management layer of the ADVENTURE architecture. The other components use the Cloud Storage as central data store. The communication is performed through the Message Routing component. Figure 1: Location of the Cloud-based Data Storage in the Project Context All ADVENTURE components can use the Cloud Storage to store structured, semistructured, binary and semantic data. Contrary to the first prototype the second prototypes supports all four Bucket Types. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 10 / 41
11 The ADVENTURE components are able to send or request data through the Message Routing. The XML-based message format (as defined in the Technical Specification D3.3) has been altered, in order to support a more generic approach. A reference for the new definition can be found in the Appendix (see chapter 8). The Cloud Storage consists of four parts: The Cloud Storage core component, which provides the whole functionality to manage Buckets, as well as to store, retrieve and manage data The ADVENTURE Cloud Storage, which is the connection between the generic Cloud Storage core component and the XMPP-based Message Routing The XML message format for the requests and responds of the Cloud Storage component Cloud Storage API, which is a client library for Java, allowing an easy access to the Cloud Storage component In addition to the functionality of the first prototype, the second prototype supports three more Bucket Types (structured, semantic and binary-data), as well as Access Control Lists, which enable the owner of a Bucket to share the content with other users (components). Thus, the complete set of the planned features of the Cloud Storage is now implemented. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 11 / 41
12 3 Requirements & Preparations 3.1 For Users Users do not interact directly with the Cloud Storage. The Cloud Storage will be used by other components to store and retrieve data. 3.2 For Administrators and Developers To use the second prototype of the Cloud Storage it is required to install the Java Runtime Environment and Tomcat version 6 2 or newer. The access to the following databases is required: MongoDB 3 MySQL 4 AWS 5 Sesame 6 For communication between the components a Message Routing server is required, which is described in its own prototype description document (D4.4.1a) D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 12 / 41
13 4 Installation (Deployment) To install the Cloud Storage Component the following steps are required. The preconditions are: access to a running MongoDB, as well as to the Messages Routing servers and valid user accounts for both systems. In order to use all features of the Cloud Storage component additional access to a MySQL, Sesame and/or AWS database(s) are necessary. 4.1 Installing the Cloud Storage Server 1. Retrieve the web application as WAR file for the Cloud Storage component from the ADVENTURE server: a. Check out the source code from the ADVENTURE server 7 and open the project in an IDE, e.g. Eclipse 8. Export the project as WAR File b. Download the latest version from the ADVENTURE Jenkins Server 9 2. If changes in the settings of MongoDB or Message Routing are required, they have to be changed manually in the source code. The default URL for the MongoDB is fp7-adventure.eu. The default username and password for the message client is adventure_cloudstorage. The MongoDB port is 27017, the username for authentication is CSUser and the password is adv4u 3. Deploy the WAR file in the webapps directory of your Tomcat installation Start the tomcat server 5. The successful deployment can be validated by accessing the Cloud Storage component through the Cloud Storage API for Java. For this it is necessary to check out the source code for the API 11 as well as for the Test 12 of the API. The Test must be started as JUnit 13 test Further installation instructions: D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 13 / 41
14 5 Execution & Usage After a successful setup up of the Cloud Storage component, it can be used to store data in structured, semi-structured, semantic and binary Buckets. To achieve this, an ADVENTURE Message Routing client is needed for the communication. The following components are required for a Java application: the XMPP Client 14 for the Message Routing the Cloud Storage Message Format 15 the Cloud Storage API 16 The Cloud Storage API provides an implementation of a synchronous access to the Cloud Storage component. Internally the asynchronous messages from the Message Routing component are handled, in order to achieve a high usability for the user of the API. 5.1 Initialization In order to use the Cloud Storage API an instance of the MessageClient class must be initialized. This client will be used for all communications with other components in the ADVENTURE environment. The MessageClient instance has to be passed as argument to the constructor of the CloudStorageSynchronApi class. The so initialized instance of the CloudStorageSynchronApi enables the access to the Cloud Storage component. In Listing 1(see below) attributes for a class using the API are defined and later initialized as described. Listing 1: Source Code Example Initialization of the Message Client and the Cloud Storage API private CloudStorageSynchronXmppApi api; private MessageClient client; //Create a MessageClient client = new MessageClient(USER_NAME, PASSWORD, SERVER); api = new CloudStorageSynchronXmppApi(client); 5.2 Create Bucket For the creation of Buckets the API provides the method createbucket. The method has two parameters. The first defines the type of the Bucket to be created, the second is a user defined ID for the Bucket. The ID must be unique in the context of the user. In Listing 2 the signature of the method for creating a Bucket is shown, as well as an example for the usage of this method. 14 Can be downloaded at D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 14 / 41
15 Listing 2: Source Code Example API Method Signature for Create Bucket and the Usage of this Method /** type, bucket type of the bucket which shall be created bucketid, a user defined id for the bucket. The id must be unique in the * context of the user on success a Bucket object, otherwise null */ public Bucket createbucket(buckettype type, String bucketid) //Creates a semi-structured bucket under with the id BUCKET_TEST_ID Bucket bucket = api.createbucket(buckettype.semi_structured, BUCKET_TEST_ID); The exemplary usage of the method at the bottom of Listing 2 will create a new Bucket for semi-structured data with the ID String of the constant BUCKET_TEST_ID. If the API call is successful a Bucket object will be returned, otherwise the result returned is null. 5.3 Delete Bucket For the deletion of buckets the API provides the method deletebucket. The method has one parameter, the ID of the bucket which shall be deleted. In Listing 3 the signature of the method to delete a bucket is shown, as well as an example for the usage of this method. Listing 3: Source Code Example API Method Signature to Delete a Bucket and the Usage of the Method /*** bucketid, the id of the bucket which shall be deleted true on success */ public boolean deletebucket(string bucketid) //Deleted the bucket with the ID BUCKET_TEST_ID api.deletebucket(bucket_test_id); The exemplary usage of the method at the bottom of Listing 3 deletes the Bucket with the provided ID. If the API call is successful true is returned, otherwise false. 5.4 CRUD - Create To create a new data object in a Bucket the API provides the method crudcreate. Listing 4 shows a factory method as example for a data object for this and all following examples, which require a data object. This method creates an instance of the test class MyTestClass. This class has valid JAXB-Annotations as well as a corresponding XSD file (see Listing 5). D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 15 / 41
16 Listing 4: Source Code Example Factory Method to Create a Test Data Object //Creates an instance of MyTestClass. A class with valid JAXB-Annotations and an apt XSD file private MyTestClass gettestclass() { MyTestClass test = new MyTestClass(); test.settestattributeboolean(true); test.settestattributeint(int_before); test.settestattributestring(string_before); return test; } Listing 5: Source Code Example XSD Description for a Test Class <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs= elementformdefault="qualified" attributeformdefault="unqualified"> <xs:element name="mytestclass" xmlns=" <xs:complextype > <xs:sequence> <xs:element name="testattributestring" type="xs:string" minoccurs="0" /> <xs:element name="testattributeint" type="xs:int" minoccurs="0" /> <xs:element name="testattributeboolean" type="xs:boolean" minoccurs="0" /> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> The crudcreate method of the API has two parameters. The first identifies the Bucket in which the data object shall be stored. The second is the data object to be stored in the Bucket. The data object must be a Subclass of the DTO class (see Listing 45 in the Appendix). The class name DTO is derived from Data Transfer Object (DTO). In Listing 6 the signature of the method crudcreate is shown, as well as an example for the usage of this method. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 16 / 41
17 Listing 6: Source Code Example API Method Signature for the CRUD-Operation Create and the Usage of this Method /*** bucketid, the ID of the bucket in which the data object shall be created object, the data object which shall be stored in the bucket true on success */ public boolean crudcreate(string bucketid, DTO object) //Creates test data MyTestClass testdata = gettestclass(); //Call of a Helper Method. The Helper method is a factory method which creates //a DTO object. The Following arguments are required: // -the URI to a valid XSD file describing the class of the object // -the object instance itself // -the package name of the class of the object DTO test = Helper.GenerateGenericObject("res/TestSchema.xsd", testdata, "junit.test.vo"); //Creates the data object "test" in the (with the ID) specific bucket boolean success = api.crudcreate(bucket_test_id, test); The exemplary usage of the method at the bottom of Listing 6 will store the created test data object in the Bucket for semi-structured data with the ID String of the constant BUCKET_TEST_ID. If the API call is successful the variable success is set to true. 5.5 CRUD - Read To retrieve existing data objects from the Cloud Storage component the API provides the method crudread. To do so, a query object of the same type as the data objects to be retrieved is necessary. As mentioned before, the factory method shown in Listing 4 will be used. This method creates an instance of the test class MyTestClass. This class has valid JAXB-Annotations, as well as a corresponding XSD file (see Listing 5). The crudread method of the API consists of three parameters. The first identifies the Bucket from which the data objects shall be retrieved. The second one is the query data object which is used to find corresponding data objects. The last parameter identifies the Java object class of the objects which shall be retrieved. The query object must be a Subclass of the DTO class (see Listing 45 in the Appendix). In Listing 7 the signature of the method for the CRUD-operation Read is shown, as well as an example for the usage of this method. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 17 / 41
18 Listing 7: Source Code Example API Method Signature for the CRUD-Operation Read and the Usage of this Method /*** bucketid, the ID of the bucket from which the data objects shall be * retrieved object, query object with attributes set to search for in the bucket clazz, java class of the object to be retrieved a ArrayList of object which matches the attributes of the query object */ public ArrayList<Object> crudread(string bucketid, DTO object, Class<?> clazz) //Creates test data to query for data objects in the cloud storage MyTestClass testquery = new MyTestClass(); //Changes the integer attribute of the test data object testquery.settestattributeint(int_after); //Call of a Helper Method. The Helper method is a factory method which creates //a DTO object. The Following arguments are required: // -the URI to a valid XSD file describing the class of the object // -the object instance itself // -the package name of the class of the object DTO test = Helper.GenerateGenericObject("res/TestSchema.xsd", testquery, "junit.test.vo"); //Creates a list for the results of the CRUD operation ArrayList<MyTestClass> list = new ArrayList<MyTestClass>(); //Retrieve the data objects from a specific bucket matching the query object ArrayList<Object> resultlist = api.crudread(bucket_test_id, test, testquery.getclass()); //Cast the generic result list of objects to the test class for (Object object : resultlist) list.add((mytestclass) object); The exemplary usage of the method at the bottom of Listing 7 creates a query object, which is used for the API call. The result list of objects is cast to the expected type. If no matching objects could be found in the specific Bucket the result list is empty. 5.6 CRUD - Update To update attributes of existing data objects in the Cloud Storage component the API provides the method crudupdate. For this a query object is necessary. This object must be of the same type as the data objects that should be updated as well as a data object with new values for the objects in question. As mentioned before, for this operation the factory method shown in Listing 4 will be used. This method creates an instance of the test class MyTestClass. This class has valid JAXB-Annotations as well as a corresponding XSD file (see Listing 5). The crudupdate method of the API consists of three parameters. The first identifies the Bucket in which the data objects shall be updated. The second one is the query data object used to find corresponding data objects. The last parameter is the data object with the new values for the found data objects in the Cloud Storage component. The query object as well as the object encapsulating the new values must be a Subclass of the DTO class (see Listing 45 in the Appendix). In Listing 8 the signature of the method D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 18 / 41
19 for the CRUD-operation Update is shown as well as an example for the usage of this method. Listing 8: Source Code Example API Method Signature for the CRUD-Operation Update and the Usage of this Method /*** bucketid, the id of the bucket in which the datao bjects shall be updated object, query object with attributes set to identify the data objects to * updated newvalues, a data object with new values true on success */ public boolean crudupdate(string bucketid, DTO query, DTO newvalues) //Creates test data to query for data objects in the cloud storage MyTestClass testquery = gettestclass(); testquery.settestattributestring(null); //Creates test data with updated valued MyTestClass testdata = gettestclass(); testdata.settestattributeint(int_after); testdata.settestattributestring(string_after); //Double call of a Helper Method. The Helper method is a factory method which creates //a DTO object. The Following arguments are required: // -the URI to a valid XSD file describing the class of the object // -the object instance itself // -the package name of the class of the object DTO query = Helper.GenerateGenericObject("res/TestSchema.xsd", testquery, "junit.test.vo"); DTO newvalues = Helper.GenerateGenericObject("res/TestSchema.xsd", testdata, "junit.test.vo"); //Updates all attributes of objects found with the query object with the attributes //of the newvlaues object boolean success = api.crudupdate(bucket_test_id, query, newvalues); The exemplary usage of the method at the bottom of Listing 8 creates a query object and an object with new values for the data objects which shall be updated in the Cloud Storage component. If the API call is successful true is returned, otherwise false. 5.7 CRUD - Delete To delete data objects in the Cloud Storage component the API provides the method cruddelete. For this a query object is necessary. This object must be of the same type as the data objects that should be. As mentioned before, the factory method shown in Listing 4 will be used. This method creates an instance of the test class MyTestClass. This class has valid JAXB-Annotations as well as a corresponding XSD file (see Listing 5). The cruddelete method of the API consists of two parameters. The first identifies the Bucket from which the data objects shall be deleted. The second one is the query data D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 19 / 41
20 object used to find the data objects. The query object must be a Subclass of the DTO class (see Listing 45 in the Appendix). In Listing 9 the signature of the method for the CRUD-operation Delete is shown as well as an example for the usage of this method. Listing 9: Source Code Example API Method Signature for the CRUD-Operation Delete and the Usage of this Method /*** bucketid, the ID of the bucket in which the data object shall be deleted true on success */ public boolean cruddelete(string bucketid, DTO object) //Creates test data to query for data objects which shall be deleted MyTestClass testquery = new MyTestClass(); //Call of a Helper Method. The Helper method is a factory method which creates //a DTO object. The Following arguments are required: // -the URI to a valid XSD file describing the class of the object // -the object instance itself // -the package name of the class of the object DTO query = Helper.GenerateGenericObject("res/TestSchema.xsd", testquery, "junit.test.vo"); boolean success = api.cruddelete(bucket_test_id, query); The exemplary usage of the method at the bottom of Listing 9 creates first a data object with attributes to identify the data objects in the Cloud Storage component, which shall be deleted. If the API call is successful true is returned, otherwise false. 5.8 Execute Advanced Query To execute any (advanced) Query on a Bucket the API provides the method executeadvancedquery. For this, a query String is necessary. The method has to be handled with great care because the query string will not be analyzed. Thereby the results of such query cannot be anticipated in advanced. In Listing 10 the signature of the method for the CRUD-operation Delete is shown as well as an example for the usage of this method. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 20 / 41
21 Listing 10: Source Code Example API Method Signature for the Execute Advanced Query and the Usage of this Method /** bucketid, the ID of the bucket to which the right will be granted query, the query string the result of the query as string */ public String executeadvancedquery(string bucketid, String query) //Define a SQL query to be executed on a structured Bucket String query = "SELECT testattributeint from MyTestClass WHERE"+ " testattributestring = "+STRING_AFTER; //Find all testattributeint values of the objects of type MyTestClass //in the Bucket String result = api.executeadvancedquery(bucket_test_id, query); The exemplary usage of the method at the bottom of Listing 10 defines at first a SQL statement as a String. The String is that passed to the method together with the bucketid. The result of this query is afterwards stored. 5.9 Add Access Rights for User To grant users (or user groups, henceforth the word user is used as synonym for users and user groups in the context of access rights) access rights for a specific Bucket the API provides the method addaccessright. The method consists of three parameters, the ID of the Bucket to which the access right shall be granted, an ID which identifies the user or a group of users and further the right, which shall be granted. In Listing 11 the signature of the method to add access rights for a user is shown, as well as an example for the usage of this method. Listing 11: Source Code Example API Method Signature to Grant Access Rights to a User for a Bucket and the Usage of this Method bucketid, the ID of the bucket to which the right will be granted id, the user or group ID to whom the access right should be granted * the value NotSet will delete the access right right, the right to grand to the user or group for the bucket true on success */ public boolean addaccessright(string bucketid, String id, Rights right) //adds the Read-AccessRight to the specific bucket for the specific user boolean success = api.addaccessright(bucket_test_id, SECOND_USER_NAME, Rights.READ); The exemplary usage of the method at the bottom of Listing 11 grants the access right READ to the specific user for the Bucket with the provided id. If the API call is successful true is returned, otherwise false. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 21 / 41
22 5.10 Get Access Rights for User In order to retrieve the access rights for a specific user the API provides the method getaccessrights. The method has one parameter, the ID of the user of whom the access rights shall be queried. In Listing 12 the signature this method is shown as well as an example of its usage. Listing 12: Source Code Example API Method Signature to Get Access Rights for a User and the Usage of this Method /*** id, the user or group ID of whom the access right should be queried a list of Rights for the user or group ID */ public ArrayList<Rights> getaccessrights(string id) //Retrieves the access rights for the specific user ArrayList<Rights> rights = api.getaccessrights(second_user_name); The exemplary usage of the method at the bottom of Listing 12 retrieves the access rights for the user with the provided id. All found access rights are stored in the list. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 22 / 41
23 6 Limitations & Further Developments The following list gives an overview of current limitations and further development needs for the Cloud Storage component: The settings for Message Routing have to be shifted into separate configuration file or in the internal database of the Cloud Storage, in order to provide the possibility to change them easily without source code modifications An instruction manual with descriptions and examples, how to work with the Cloud Storage, has to be updated, in order to support developers to create their own components Furthermore, the Cloud Storage prototype has to be tested in-depth, in order to find and fix all possible bugs The performance of the component should be increased D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 23 / 41
24 7 Summary The Cloud Storage prototype provides the capability to store and retrieve data in structured, semi-structured, semantic and binary data Buckets using the Message Routing component for communication. It provides a Cloud Storage Client Library for Java to simplify the dealing of the Cloud Storage messages. In addition, it provides an easy way to serialise objects to JSON and store them in the Cloud Storage. Furthermore, a test client for operations on the cloud storage is provided. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 24 / 41
25 8 Appendix 8.1 Internal Interfaces Add Access Rights for User or Group Listing 13: Method Signature Create Bucket public CloudResponse addaccessright(string buckedid, String id, String owner, Rights right) Parameter details: buckedid: String identifying the Bucket id: String identifying the user or group owner: String identifying the owner of the Bucket right: the right to grand the user or group for the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String with additional information (human readable) Remarks: The Authentication of users has to be ensured beforehand. Message-Example: Listing 14: Message-Example for Get Access Rights for Bucket - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="addaccessright" xmlns:xsi=" <bucket> <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <right> <Id>someUser</Id> <right>read</right> </right> </command> </CloudRequest> Listing 15: Message-Example for Get Access Rights for Bucket - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>erfolg</message> </CloudResponse> D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 25 / 41
26 Get Access Rights for User Listing 16: Method Signature Create Bucket public CloudResponse getaccessrightsforid(string id) Parameter details: right: AccessRight object to be added to the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String with additional information (human readable) o object: A list of AccessRight objects with: id: String identifying user or group these Access Rights are applying to right: the granted right (see Listing 42) Remarks: The Authentication of users has to be ensured beforehand. Message-Example: Listing 17: Message-Example for Get Access Rights for Bucket - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="getaccessrights" xmlns:xsi=" <id>someuser</id> </command> </CloudRequest> Listing 18: Message-Example for Get Access Rights for Bucket - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <object xsi:type="accessright" </object> </CloudResponse> xmlns:xsi=" <Id>someUser</Id> <right>read</right> Create Bucket Listing 19: Method Signature Create Bucket public CloudResponse createbucket(bucket bucket, String owner) Parameter details: D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 26 / 41
27 bucket: Bucket instance with: o bucketid: Generic String defined by the owner o buckettype: the Bucket Type (see Listing 40) owner: Unique String that defines the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String with additional information (human readable) Remarks: The access rights for the component will be set automatically by the Cloud Storage component in the ACL. Message-Example: Listing 20: Message-Example for Create Bucket - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="createbucket" xmlns:xsi=" <bucket> <bucketid>testcloudstoragesynchronxmppapi</bucketid> <buckettype>semistructured</buckettype> </bucket> </command> </CloudRequest> Listing 21: Message-Example for Create Bucket - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>erfolg</message> </CloudResponse> CRUD Create Listing 22: Method Signature CRUD Create public CloudResponse crudecreate(string bucketid, Object object, String owner) Parameter details: bucketid: Generic String identifying the Bucket object: Generic Java Object representing the data to be stored owner: Unique String that identifies the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String with additional information (human readable) Remarks: D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 27 / 41
28 Only the owner of a Bucket can create new objects in a Bucket. Message-Example: Listing 23: Message-Example for CRUD Create - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="crudoperation" <bucket> xmlns:xsi=" <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <operation>create</operation> </command> <object xsi:type="genericobject" </object> </CloudRequest> xmlns:xsi=" <classdescription> <classbinary>pd94[...]bwwg</classbinary> <namespace>junit.test.vo</namespace> </classdescription> <instance>pd94bwwgdmv[...]yc2lvbjihn</instance> Listing 24: Message-Example for CRUD Create - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>erfolg</message> </CloudResponse> CRUD-Operation: Update Listing 25: Method Signature CRUD Update public CloudResponse crudupdate(string bucketid, Object query, Object newvalues, String owner) Parameter details: bucketid: Generic String identifying the Bucket query: Generic Java Object with attributes to find all Objects in the database to be changed newvalues: Generic Java Object representing the updated data to be stored owner: Unique String that identifies the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String indicating the number of entries changed Remarks: D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 28 / 41
29 All objects with the equal attribute values as the query object (passed as argument encapsulated in the request) will be changed. Only the values of the attributes in the newvalues object will be altered. It is not possible to search or change attribute of the type of Java primitives to their corresponding default values. Message-Example: Listing 26: Message-Example for CRUD Update - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="crudoperation" <bucket> xmlns:xsi=" <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <operation>update</operation> <query xsi:type="genericobject"> </query> </command> <classdescription> <classbinary>pd94[...]bwwg</classbinary> <namespace>junit.test.vo</namespace> </classdescription> <instance>pd94bwwgdmv[...]yc2lvbjihn</instance> <object xsi:type="genericobject" xmlns:xsi=" <classdescription> <classbinary>pd94[...]bwwg</classbinary> <namespace>junit.test.vo</namespace> </classdescription> <instance>pd94fs3gdmv[...]yc2lvbjihn </instance> </object> </CloudRequest> Listing 27: Message-Example for CRUD Update - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>1</message> </CloudResponse> CRUD Read Listing 28: Method Signature CRUD Read public CloudResponse cruderead(string bucketid, Object query, String owner, XmlObject objectdescription) Parameter details: bucketid: Generic String identifying the Bucket D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 29 / 41
30 query: Generic Java Object with attributes to find all Objects in the database to be read owner: Unique String that identifies the owner of the Bucket objectdescription: Class description of the returned object Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: A String with additional information (human readable) o object: A list of objects matching the query Remarks: Which objects will be returned depends on the argument based on the DTO object encapsulated in the request. Message-Example: Listing 29: Message-Example for CRUD Read - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="crudoperation" <bucket> xmlns:xsi=" <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <operation>read</operation> </command> <object xsi:type="genericobject" </object> </CloudRequest> xmlns:xsi=" <classdescription> <classbinary>pd94[...]bwwg</classbinary> <namespace>junit.test.vo</namespace> </classdescription> <instance>pd94bwwg [...] dmvyc </instance> Listing 30: Message-Example for CRUD Read - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>erfolg</message> <object xsi:type="genericobject" </object> </CloudResponse> xmlns:xsi=" <instance>pd94bwwgd[...]mvyc2lvb </instance> D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 30 / 41
31 CRUDE Delete Listing 31: Method Signature CRUD Delete public CloudResponse cruddelete(string bucketid, Object query, String owner) Parameter details: bucketid: Generic String identifying the Bucket query: Generic Java Object with attributes to find all Objects in the database to be deleted owner: Unique String that identifies the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: Number of deleted items Remarks: Only the owner should be allowed to delete a Bucket. Message-Example: Listing 32: Message-Example for CRUD Delete - Request <CloudRequest xmlns=" <command xsi:type="crudoperation" <bucket> xmlns:xsi=" <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <operation>delete</operation> </command> <object xsi:type="genericobject" </object> </CloudRequest> xmlns:xsi=" <classdescription> <classbinary>pd94[...]bwwg</classbinary> <namespace>junit.test.vo</namespace> <instance>pd94bwwgdhn0[...]yw5kywxvbmu9in </instance> </classdescription> Listing 33: Message-Example for CRUD Delete - Respond <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>1</message> </CloudResponse> Execute Advanced Query Listing 34: Method Signature Execute Advanced Query D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 31 / 41
32 public CloudResponse executequery(string bucketid, String query, String owner) Parameter details: bucketid: Generic String identifying the Bucket query: String representation of the query owner: Unique String that identifies the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request o message: The result of the query Remarks: Only the owner is allowed to execute advanced queries. Message-Example: Listing 35: Message-Example for Execute Advanced Query <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="queryoperation" xmlns:xsi=" <bucket> <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> <query>select testattributeint from MyTestClass WHERE testattributestring = teststring</query> </command> </CloudRequest> Listing 36: Message-Example for Execute Advanced Query <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudResponse xmlns=" <success>true</success> <message>23</message> </CloudResponse> Delete Bucket Listing 37: Method Signature Delete Bucket public CloudResponse deletebucket(string buckedid, String owner) Parameter details: buckedid: Generic String identifying the Bucket owner: Unique String that identifies the owner of the Bucket Return Value details: returns: Instance of CloudResponse with: o success: A Boolean indicating the success of the request D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 32 / 41
33 o message: A String with additional information (human readable) Remarks: Only the owner should be allowed to delete a Bucket. Message-Example: Listing 38: Message-Example for Delete Bucket - Request <?xml version="1.0" encoding="utf-8" standalone="yes"?> <CloudRequest xmlns=" <command xsi:type="deletebucket" <bucket> xmlns:xsi=" <bucketid>testcloudstoragesynchronxmppapi</bucketid> </bucket> </command> </CloudRequest> Listing 39: Message-Example for Delete Bucket - Respond <CloudResponse xmlns=" <success>true</success> <message>erfolg</message> </CloudResponse> 8.2 Message Format Description Enum Types and simple Objects In this section the used enum types as well as the simple objects for the messages between the components and the Cloud-based Information Infrastructure will be listed. Listing 40: Message Format Description - BucketType <xs:simpletype name="buckettype"> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpletype> <xs:enumeration value="structured" /> <xs:enumeration value="semistructured" /> <xs:enumeration value="binary" /> <xs:enumeration value="semantic" /> The enum BucketType represents the different Bucket Types. Listing 41: Message Format Description - CrudType D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 33 / 41
34 <xs:simpletype name="crudtype"> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpletype> <xs:enumeration value="create" /> <xs:enumeration value="read" /> <xs:enumeration value="update" /> <xs:enumeration value="delete" /> The enum CrudType represents the different CRUD operations. Listing 42: Message Format Description - Rights <xs:simpletype name="rights"> <xs:restriction base="xs:string"> </xs:restriction> </xs:simpletype> <xs:enumeration value="denied" /> <xs:enumeration value="read" /> <xs:enumeration value="write" /> <xs:enumeration value="super" /> The enumeration Rights represents the different Access rights for a Bucket Data Transfer Objects (DTO) In this section the object will be listed which will be transferred between the components and the Cloud-based Information Infrastructure. Listing 43: Message Format Description - AccessRight <xs:complextype name="accessright"> <xs:complexcontent> <xs:extension base="tns:dto"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="id" type="xs:string" default="public" minoccurs="1" maxoccurs="1"/> <xs:element name="rights" type="tns:rights" default="denied" minoccurs="1" maxoccurs="1"/> D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 34 / 41
35 An AccessRight object represents the Access Right to a Bucket. Buckets can have any number of AccessRight objects. The id identifies the user or group to whom the AccessRight object grants the rights. The right specifies the Right (see Listing 42). Listing 44: Message Format Description - Bucket <xs:complextype name="bucket"> <xs:complexcontent> <xs:extension base="tns:dto"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucketid" type="xs:string" minoccurs="1" maxoccurs="1"/> <xs:element name="buckettype" type="tns:buckettype" minoccurs="0" maxoccurs="1"/> <xs:element name="accessrights" type="tns:accessright" minoccurs="0" maxoccurs="unbounded"/> A Bucket object represents a Bucket. A Bucket has a unique id to identify the user, a type (see Listing 40) and any number of AccessRight objects (see Listing 43). Listing 45: Message Format Description - DTO <xs:complextype name="dto"> </xs:complextype> <xs:sequence> <xs:element name="description" </xs:sequence> type="xs:string" minoccurs="0" maxoccurs="1"/> <xs:element name="link" type="xs:string" minoccurs="0" maxoccurs="1"/> DTO (Data Transfer Object) is the super class for objects that will be transferred. Every DTO can have a description as well as a link. Both can be utilized to identify and handle the object. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 35 / 41
36 Listing 46: Message Format Description - ClassObject <xs:complextype name="classobject"> <xs:complexcontent> <xs:extension base="tns:dto"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="classbinary" type="xs:base64binary" minoccurs="1" maxoccurs="1"/> <xs:element name="namespace" type="xs:string" minoccurs="1" maxoccurs="1"/> The ClassObject can be used to transfer generic class objects encoded in XSD and XML (in conjunction with ClassInstance (see Listing 47)). Listing 47: Message Format Description - ClassInstance <xs:complextype name="classinstance"> <xs:complexcontent> <xs:extension base="tns:dto"> <xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> </xs:sequence> <xs:element name="classdescription" type="tns:classobject" minoccurs="0" maxoccurs="1"/> <xs:element name="instance" type="xs:base64binary" minoccurs="1" maxoccurs="1"/> The ClassInstance can be used to transfer generic class objects encoded in XSD and XML (in conjunction with ClassObject (see Listing 46)). Listing 48: Message Format Description - KeyValueObject D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 36 / 41
37 <xs:complextype name="keyvalueobject"> <xs:complexcontent> <xs:extension base="tns:dto"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="key" type="xs:string" minoccurs="1" maxoccurs="1"/> <xs:element name="value" type="xs:string" minoccurs="1" maxoccurs="1"/> This DTO can be used to transfer simple Key/Value pairs Commands In this section the commands will be listed which will be used to access the internal API of the Cloud-based Information Infrastructure. Listing 49: Message Format Description - Command <xs:complextype name="command" /> Command is the super type for all commands. Listing 50: Message Format Description - CreateBucket <xs:complextype name="createbucket"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucket" type="tns:bucket" minoccurs="1" /> This command tries to create a new Bucket with a specific id. This id must be unique to the user. Listing 51: Message Format Description - DeleteBucket D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 37 / 41
38 <xs:complextype name="deletebucket"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucket" type="tns:bucket" minoccurs="1" /> This command tries to delete an existing Bucket. The id identifies the Bucket in question. The Bucket must be owned by the user who tries to delete the Bucket. Listing 52: Message Format Description - CrudOperation <xs:complextype name="crudoperation"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucket" type="tns:bucket" minoccurs="1" /> <xs:element name="operation" type="tns:crudtype" minoccurs="1" /> <xs:element name="query" type="tns:dto" minoccurs="0" /> A command to encapsulate any CRUD operation (see Listing 41). The operation will be executed for the specific Bucket. The query object is optional and depends on the CRUD operation. Listing 53: Message Format Description - QueryOperation D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 38 / 41
39 <xs:complextype name="queryoperation"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucket" type="tns:bucket" minoccurs="1" /> <xs:element name="query" type="xs:string" minoccurs="1" /> <xs:element name="description" type="xs:string" minoccurs="0" /> This command can be utilized to execute any query on one of the databases. This is extremely risky since the query can be unsafe. Listing 54: Message Format Description - GetAccessRights <xs:complextype name="getaccessrights"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="userid" type="xs:string" minoccurs="1" /> This command is used to get all access rights for a specific user. Listing 55: Message Format Description - AddAccessRights D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 39 / 41
40 <xs:complextype name="addaccessrights"> <xs:complexcontent> <xs:extension base="tns:command"> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:sequence> </xs:sequence> <xs:element name="bucket" type="tns:bucket" minoccurs="1" /> <xs:element name="userid" type="xs:string" minoccurs="1" /> <xs:element name="right" type="tns:accessright" minoccurs="1" /> This command is used to add a access right to a specific Bucket for a specific user or group Request and Respond In this section the request and respond structure will be listed in which all messages between the components and the Cloud-based Information Infrastructure must be encapsulated. Listing 56: Message Format Description - CloudRequest <xs:element name="cloudrequest"> <xs:complextype> </xs:complextype> </xs:element> <xs:sequence> </xs:sequence> <xs:element name="command" type="tns:command" minoccurs="1" maxoccurs="1"/> <xs:element name="proxy" type="xs:string" minoccurs="0" maxoccurs="1"/> <xs:element name="object" type="tns:dto" minoccurs="0" maxoccurs="1"/> Every message to the Cloud-based Information Infrastructure is encapsulated in a CloudRequest object. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 40 / 41
41 Listing 57: Message Format Description - CloudResponse <xs:element name="cloudresponse"> <xs:complextype> <xs:sequence> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="success" type="xs:boolean" minoccurs="1" maxoccurs="1"/> <xs:element name="message" type="xs:string" minoccurs="0" /> <xs:element name="object" type="tns:dto" minoccurs="0" maxoccurs="unbounded"/> Every message from the Cloud-based Information Infrastructure is encapsulated in a CloudRespond object. D4.1.2-Cloud-based-Data-Storage-Prototype-2.docx Author: Ascora, TUDA Date: Page: 41 / 41
No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
[MS-EDCSOM]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
D3.1 Global Architecture Definition Document
D3.1 Global Architecture Definition Document Authors: ASC (lead), TIE, UVA, UVI, ISOFT Delivery Date: 2012-04-04 Due Date: 2012-03-31 Dissemination Level: Public This document is the first technical deliverable
+ <xs:element name="productsubtype" type="xs:string" minoccurs="0"/>
otcd.ntf.001.01.auctiondetail.. otcd.ntf.001.01.auctionresult - + otcd.ntf.001.01.automaticterminationsummary
DocuSign Connect Guide
Information Guide 1 DocuSign Connect Guide 2 Copyright 2003-2014 DocuSign, Inc. All rights reserved. For information about DocuSign trademarks, copyrights and patents refer to the DocuSign Intellectual
Copyright 2013 Consona Corporation. All rights reserved www.compiere.com
COMPIERE 3.8.1 SOAP FRAMEWORK Copyright 2013 Consona Corporation. All rights reserved www.compiere.com Table of Contents Compiere SOAP API... 3 Accessing Compiere SOAP... 3 Generate Java Compiere SOAP
SDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
D5.4.4 Integrated SemaGrow Stack API components
ICT Seventh Framework Programme (ICT FP7) Grant Agreement No: 318497 Data Intensive Techniques to Boost the Real Time Performance of Global Agricultural Data Infrastructures Deliverable Form Project Reference
Service Description: NIH GovTrip - NBS Web Service
8 July 2010 Page 1 Service Description: NIH GovTrip - NBS Web Service Version # Change Description Owner 1.0 Initial Version Jerry Zhou 1.1 Added ISC Logo and Schema Section Ian Sebright 8 July 2010 Page
A Monitored Student Testing Application Using Cloud Computing
A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA [email protected], [email protected]
keyon Luna SA Monitor Service Administration Guide 1 P a g e Version Autor Date Comment
Luna SA Monitor Service Administration Guide Version Autor Date Comment 1.1 Thomas Stucky 25. July 2013 Update installation instructions. 1 P a g e Table of Contents 1 Overview... 3 1.1 What is the keyon
IUCLID 5 Guidance and Support
IUCLID 5 Guidance and Support Web Service Installation Guide July 2012 v 2.4 July 2012 1/11 Table of Contents 1. Introduction 3 1.1. Important notes 3 1.2. Prerequisites 3 1.3. Installation files 4 2.
Gplus Adapter 8.0. for Siebel CRM. Developer s Guide
Gplus Adapter 8.0 for Siebel CRM Developer s Guide The information contained herein is proprietary and confidential and cannot be disclosed or duplicated without the prior written consent of Genesys Telecommunications
XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
XIII. Service Oriented Computing Laurea Triennale in Informatica Corso di Outline Enterprise Application Integration (EAI) and B2B applications Service Oriented Architecture Web Services WS technologies
Informatica Cloud Connector for SharePoint 2010/2013 User Guide
Informatica Cloud Connector for SharePoint 2010/2013 User Guide Contents 1. Introduction 3 2. SharePoint Plugin 4 3. Objects / Operation Matrix 4 4. Filter fields 4 5. SharePoint Configuration: 6 6. Data
IRF2000 IWL3000 SRC1000 Application Note - Apps with OSGi - Condition Monitoring with WWH push
Version 2.0 Original-Application Note ads-tec GmbH IRF2000 IWL3000 SRC1000 Application Note - Apps with OSGi - Condition Monitoring with WWH push Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IWL3000 SRC1000
Enabling REST Services with SAP PI. Michael Le [email protected] Peter Ha [email protected]
Enabling REST Services with SAP PI Michael Le [email protected] Peter Ha [email protected] Learning Points Understanding the REST architecture and concepts Understanding the differences between SOAP and
SeaClouds Project. Cloud Application Programming Interface. Seamless adaptive multi- cloud management of service- based applications
SeaClouds Project D4.2- Cloud Application Programming Interface Project Acronym Project Title Call identifier Grant agreement no. Start Date Ending Date Work Package Deliverable code Deliverable Title
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Collaborative Open Market to Place Objects at your Service
Collaborative Open Market to Place Objects at your Service D6.4.1 Marketplace integration First version Project Acronym COMPOSE Project Title Project Number 317862 Work Package WP6 Open marketplace Lead
User manual for e-line DNB: the XML import file. User manual for e-line DNB: the XML import file
User manual for e-line DNB: the XML import file version 1.2 dated 19 February 2015 1 1. Contents 1. Contents... 2 2. e-line DNB... 3 2.1 Submitting your reports to De Nederlandsche Bank... 3 2.3 Entering
NetIQ Access Manager. Developer Kit 3.2. May 2012
NetIQ Access Manager Developer Kit 3.2 May 2012 Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE AGREEMENT OR A NON DISCLOSURE
[MS-DVRD]: Device Registration Discovery Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-DVRD]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
How To Install An Aneka Cloud On A Windows 7 Computer (For Free)
MANJRASOFT PTY LTD Aneka 3.0 Manjrasoft 5/13/2013 This document describes in detail the steps involved in installing and configuring an Aneka Cloud. It covers the prerequisites for the installation, the
Magento Search Extension TECHNICAL DOCUMENTATION
CHAPTER 1... 3 1. INSTALLING PREREQUISITES AND THE MODULE (APACHE SOLR)... 3 1.1 Installation of the search server... 3 1.2 Configure the search server for usage with the search module... 7 Deploy the
Portal Factory 1.0 - CMIS Connector Module documentation
DOCUMENTATION Portal Factory 1.0 - CMIS Connector Module documentation Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels
Grandstream Networks, Inc.
Grandstream Networks, Inc. BroadWorks Xsi Directories and Call Logs User Guide Index INTRODUCTION... 3 BROADWORKS XTENDED SERVICES INTRODUCTION... 4 ARCHITECTURE AND MESSAGING... 4 BROADWORKS XSI DIRECTORY
SafeNet KMIP and Google Cloud Storage Integration Guide
SafeNet KMIP and Google Cloud Storage Integration Guide Documentation Version: 20130719 Table of Contents CHAPTER 1 GOOGLE CLOUD STORAGE................................. 2 Introduction...............................................................
vcloud Air Platform Programmer's Guide
vcloud Air Platform Programmer's Guide vcloud Air OnDemand 5.7 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition.
Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009
Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009 Richard Lyn [email protected] Jianwei Yang [email protected] Document Revision History Rev. Level Date
Installation Guide of the Change Management API Reference Implementation
Installation Guide of the Change Management API Reference Implementation Cm Expert Group CM-API-RI_USERS_GUIDE.0.1.doc Copyright 2008 Vodafone. All Rights Reserved. Use is subject to license terms. CM-API-RI_USERS_GUIDE.0.1.doc
Statement and Confirmation of Own Work
Statement and Confirmation of Own Work Programme/Qualification name: University of Wales BSc (Hons) in Business Computing and Information Systems All NCC Education assessed assignments submitted by students
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Java SE 8 Programming
Oracle University Contact Us: 1.800.529.0165 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
Lucid Key Server v2 Installation Documentation. www.lucidcentral.org
Lucid Key Server v2 Installation Documentation Contents System Requirements...2 Web Server...3 Database Server...3 Java...3 Tomcat...3 Installation files...3 Creating the Database...3 Step 1: Create the
Hibernate Language Binding Guide For The Connection Cloud Using Java Persistence API (JAP)
Hibernate Language Binding Guide For The Connection Cloud Using Java Persistence API (JAP) Table Of Contents Overview... 3 Intended Audience... 3 Prerequisites... 3 Term Definitions... 3 Introduction...
CA ERwin Data Modeler
CA ERwin Data Modeler Creating Custom Mart Reports Using Crystal Reports Release 9.6.0 This Documentation, which includes embedded help systems and electronically distributed materials (hereinafter referred
Snow Agent System Pilot Deployment version
Pilot Deployment version Security policy Revision: 1.0 Authors: Per Atle Bakkevoll, Johan Gustav Bellika, Lars, Taridzo Chomutare Page 1 of 8 Date of issue 03.07.2009 Revision history: Issue Details Who
Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik
Mobile Solutions for Data Collection Sarah Croft and Laura Pierik Presentation Overview Project Overview Benefits of using Mobile Technology Mobile Solutions- two different approaches Results and Recommendations
Installation Guide for contineo
Installation Guide for contineo Sebastian Stein Michael Scholz 2007-02-07, contineo version 2.5 Contents 1 Overview 2 2 Installation 2 2.1 Server and Database....................... 2 2.2 Deployment............................
ITG Software Engineering
IBM WebSphere Administration 8.5 Course ID: Page 1 Last Updated 12/15/2014 WebSphere Administration 8.5 Course Overview: This 5 Day course will cover the administration and configuration of WebSphere 8.5.
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What
Microsoft Dynamics GP 2013. econnect Installation and Administration Guide
Microsoft Dynamics GP 2013 econnect Installation and Administration Guide Copyright Copyright 2012 Microsoft Corporation. All rights reserved. Limitation of liability This document is provided as-is. Information
Background on Elastic Compute Cloud (EC2) AMI s to choose from including servers hosted on different Linux distros
David Moses January 2014 Paper on Cloud Computing I Background on Tools and Technologies in Amazon Web Services (AWS) In this paper I will highlight the technologies from the AWS cloud which enable you
Getting Started with the Ed-Fi ODS and Ed-Fi ODS API
Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview October 2014 2014 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark
Setting Up Resources in VMware Identity Manager
Setting Up Resources in VMware Identity Manager VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
Visual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction
Data Integration Hub for a Hybrid Paper Search
Data Integration Hub for a Hybrid Paper Search Jungkee Kim 1,2, Geoffrey Fox 2, and Seong-Joon Yoo 3 1 Department of Computer Science, Florida State University, Tallahassee FL 32306, U.S.A., [email protected],
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1
Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter
Pronestor Room & Catering
Pronestor Room & Catering Module 2 Installation of additional modules Page 2.0 2.9 User import (AD integration) Page 2.1 2.4 o Service Accounts (hosted and on-premises) o Active Directory Structure o Installation
Windows Scheduled Tasks Management Pack Guide for System Center Operations Manager. Published: 07 March 2013
Windows Scheduled Tasks Management Pack Guide for System Center Operations Manager Published: 07 March 2013 Copyright Information in this document, including URL and other Internet Web site references,
MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2016 MarkLogic Corporation. All rights reserved.
Node.js Application Developer s Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-5, March, 2016 Copyright 2016 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Node.js
Electronic Ticket and Check-in System for Indico Conferences
Electronic Ticket and Check-in System for Indico Conferences September 2013 Author: Bernard Kolobara Supervisor: Jose Benito Gonzalez Lopez CERN openlab Summer Student Report 2013 Project Specification
Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL
Instant Chime for IBM Sametime Installation Guide for Apache Tomcat and Microsoft SQL Spring 2015 Copyright and Disclaimer This document, as well as the software described in it, is furnished under license
This three-day instructor-led course provides students with the tools to extend Microsoft Dynamics CRM 4.0.
Table of Contents Introduction Audience Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction This three-day instructor-led course provides students with the
Products that are referred to in this document may be trademarks and/or registered trademarks of the respective owners.
2015 GEOVAP, spol. s r. o. All rights reserved. GEOVAP, spol. s r. o. Cechovo nabrezi 1790 530 03 Pardubice Czech Republic +420 466 024 618 http://www.geovap.cz Products that are referred to in this document
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
Accelerator between Microsoft Dynamics CRM 2011 and SAP ERP for BizTalk Server 2010 / 2013
Accelerator between Microsoft Dynamics CRM 2011 and SAP ERP for BizTalk Server 2010 / 2013 White Paper Published on: September 2013 Inhaltsverzeichnis: 1. Introduction... 3 2. Components of the Accelerator...
Alfresco Enterprise on AWS: Reference Architecture
Alfresco Enterprise on AWS: Reference Architecture October 2013 (Please consult http://aws.amazon.com/whitepapers/ for the latest version of this paper) Page 1 of 13 Abstract Amazon Web Services (AWS)
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:
Web-JISIS Reference Manual
23 March 2015 Author: Jean-Claude Dauphin [email protected] I. Web J-ISIS Architecture Web-JISIS Reference Manual Web-JISIS is a Rich Internet Application (RIA) whose goal is to develop a web top application
TG Web. Technical FAQ
TG Web Technical FAQ About this FAQ We encourage you to contact us if. You can't find the information you're looking for. You would like to discuss your specific testing requirements in more detail. You
Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy
Kony MobileFabric Sync Windows Installation Manual - WebSphere On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and
PHP Language Binding Guide For The Connection Cloud Web Services
PHP Language Binding Guide For The Connection Cloud Web Services Table Of Contents Overview... 3 Intended Audience... 3 Prerequisites... 3 Term Definitions... 3 Introduction... 4 What s Required... 5 Language
Spectrum Technology Platform
Spectrum Technology Platform Version 8.0.0 SP2 RIA Getting Started Guide Information in this document is subject to change without notice and does not represent a commitment on the part of the vendor or
Cloud Single Sign-On and On-Premise Identity Federation with SAP NetWeaver Cloud White Paper
Cloud Single Sign-On and On-Premise Identity Federation with SAP NetWeaver Cloud White Paper TABLE OF CONTENTS INTRODUCTION... 3 Where we came from... 3 The User s Dilemma with the Cloud... 4 The Administrator
Install guide for Websphere 7.0
DOCUMENTATION Install guide for Websphere 7.0 Jahia EE v6.6.1.0 Jahia s next-generation, open source CMS stems from a widely acknowledged vision of enterprise application convergence web, document, search,
A generic framework for game development
A generic framework for game development Michael Haller FH Hagenberg (MTD) AUSTRIA [email protected] Werner Hartmann FAW, University of Linz AUSTRIA [email protected] Jürgen Zauner FH
vcommander will use SSL and session-based authentication to secure REST web services.
vcommander REST API Draft Proposal v1.1 1. Client Authentication vcommander will use SSL and session-based authentication to secure REST web services. 1. All REST API calls must take place over HTTPS 2.
Installation and Operation Manual Portable Device Manager, Windows version
Installation and Operation Manual version version About this document This document is intended as a guide for installation, maintenance and troubleshooting of Portable Device Manager (PDM) and is relevant
Data Mailbox. support.ewon.biz. Reference Guide
Reference Guide RG 005-0-EN / Rev. 1.0 Data Mailbox The Data Mailbox is a Talk2M service that gathers ewon historical data and makes it available for third party applications in an easy way. support.ewon.biz
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Course 10978A Introduction to Azure for Developers
Course 10978A Introduction to Azure for Developers Duration: 40 hrs. Overview: About this Course This course offers students the opportunity to take an existing ASP.NET MVC application and expand its functionality
CS346: Database Programming. http://warwick.ac.uk/cs346
CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)
Ellucian Recruiter Installation and Integration. Release 4.1 December 2015
Ellucian Recruiter Installation and Integration Release 4.1 December 2015 Notices Notices Without limitation: Ellucian, Banner, Colleague, and Luminis are trademarks of the Ellucian group of companies
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP
Microsoft Dynamics Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP May 2010 Find updates to this documentation at the following location. http://go.microsoft.com/fwlink/?linkid=162558&clcid=0x409
Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004
Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost
Testing Tools Content (Manual with Selenium) Levels of Testing
Course Objectives: This course is designed to train the fresher's, intermediate and professionals on testing with the concepts of manual testing and Automation with Selenium. The main focus is, once the
Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution
Metastorm BPM Interwoven Integration Introduction A proven and cost effective solution for companies that need to create and maintain high volumes of Interwoven WorkSpaces and their associated documents
Safewhere*Identify 3.4. Release Notes
Safewhere*Identify 3.4 Release Notes Safewhere*identify is a new kind of user identification and administration service providing for externalized and seamless authentication and authorization across organizations.
Crawl Proxy Installation and Configuration Guide
Crawl Proxy Installation and Configuration Guide Google Enterprise EMEA Google Search Appliance is able to natively crawl secure content coming from multiple sources using for instance the following main
NS DISCOVER 4.0 ADMINISTRATOR S GUIDE. July, 2015. Version 4.0
NS DISCOVER 4.0 ADMINISTRATOR S GUIDE July, 2015 Version 4.0 TABLE OF CONTENTS 1 General Information... 4 1.1 Objective... 4 1.2 New 4.0 Features Improvements... 4 1.3 Migrating from 3.x to 4.x... 5 2
The Direct Project. Implementation Guide for Direct Project Trust Bundle Distribution. Version 1.0 14 March 2013
The Direct Project Implementation Guide for Direct Project Trust Bundle Distribution Version 1.0 14 March 2013 Version 1.0, 14 March 2013 Page 1 of 14 Contents Change Control... 3 Status of this Guide...
Test Automation Integration with Test Management QAComplete
Test Automation Integration with Test Management QAComplete This User's Guide walks you through configuring and using your automated tests with QAComplete's Test Management module SmartBear Software Release
CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide
CERTIFIED MULESOFT DEVELOPER EXAM Preparation Guide v. November, 2014 2 TABLE OF CONTENTS Table of Contents... 3 Preparation Guide Overview... 5 Guide Purpose... 5 General Preparation Recommendations...
EUR-Lex 2012 Data Extraction using Web Services
DOCUMENT HISTORY DOCUMENT HISTORY Version Release Date Description 0.01 24/01/2013 Initial draft 0.02 01/02/2013 Review 1.00 07/08/2013 Version 1.00 -v1.00.doc Page 2 of 17 TABLE OF CONTENTS 1 Introduction...
Fairsail REST API: Guide for Developers
Fairsail REST API: Guide for Developers Version 1.02 FS-API-REST-PG-201509--R001.02 Fairsail 2015. All rights reserved. This document contains information proprietary to Fairsail and may not be reproduced,
05.0 Application Development
Number 5.0 Policy Owner Information Security and Technology Policy Application Development Effective 01/01/2014 Last Revision 12/30/2013 Department of Innovation and Technology 5. Application Development
Log Analysis Software Architecture
Log Analysis Software Architecture Contents 1 Introduction 1 2 Definitions 2 3 Software goals 2 4 Requirements 2 4.1 User interaction.......................................... 3 4.2 Log file reading..........................................
