On Tue, Dec 24, 2013 at 12:34 AM, Jackie Wheeler <[email protected]> wrote:
> Totally agree on the mapping. In the connectors I documented, I > painstakingly created links to the docs of each original API. If this > mapping were provided up front, it would have saved me a lot of time. > Exactly, that is what I was trying to convey! May be it is a good idea to have this mentioned as part of the connector development guide. > > Sent from my iPhone > > On Dec 22, 2013, at 10:23 PM, Samisa Abeysinghe <[email protected]> wrote: > > Further to this, as I raised the concern in the other connector threads, > we need to know the API which we are wrapping. These are connector design > discussions, and hence, cannot decide the names without reference to the > original API. > > Once the connector is done, the user may not worry about the original API, > as at that time, it depends if the user knows the internals. But to get the > connector API right, and help debug the issues in the connector > implementation, we need the mapping. > > > > Thanks, > Samisa... > > > Samisa Abeysinghe > > Vice President Training > > WSO2 Inc. > http://wso2.com > > > > On Mon, Dec 23, 2013 at 11:42 AM, Samisa Abeysinghe <[email protected]>wrote: > >> We do not do any magic with the connector. It is better to have the same >> API for the sake of familiarity. >> >> It is the need to write code that we drop. >> >> Thanks, >> Samisa... >> >> >> Samisa Abeysinghe >> >> Vice President Training >> >> WSO2 Inc. >> http://wso2.com >> >> >> >> On Mon, Dec 23, 2013 at 9:54 AM, Jackie Wheeler <[email protected]> wrote: >> >>> I don't quite agree. Our goal is to wrap the existing APIs and make it >>> easier for our users to use them. If the original API uses an unintuitive >>> or incorrect name (as is often the case), we have the opportunity to make >>> it clearer for our users. Likewise, our goal for the documentation should >>> not be just to copy and paste the original descriptions from the API's docs >>> but to improve on them where possible. Let's strive to make the connector >>> user experience better, not equal to, the experience with the original >>> APIs. >>> >>> Jackie >>> >>> Sent from my iPhone >>> >>> On Dec 22, 2013, at 6:45 PM, Samisa Abeysinghe <[email protected]> wrote: >>> >>> >>> >>> >>> On Sat, Dec 21, 2013 at 1:42 AM, Jackie Wheeler <[email protected]> wrote: >>> >>>> I would change optionsObject to testObject or verifyObject, as >>>> "options" doesn't make sense. Also, I'd change ObjectRestore to >>>> restoreObject. >>>> >>> >>> Guys, if we are wrapping the existing APIs with connector API, why would >>> these sorts of naming questions appear. There is no point discussing the >>> connector API, without relating to the corresponding back-end API. >>> >>> And if the back end API called it apples, we should not call it oranges. >>> In other words, my point here, in simple terms is that, there should not be >>> any "discussions" on the API semantics. It is already there in the >>> original. >>> >>> >>> >>>> >>>> Cheers, >>>> Jackie >>>> >>>> >>>> On Fri, Dec 13, 2013 at 6:57 AM, indika prasad <[email protected]>wrote: >>>> >>>>> *Introduction* >>>>> >>>>> Amazon S3 provides a simple web services interface that can be used to >>>>> store >>>>> and retrieve any amount of data, at any time, from anywhere on the >>>>> web. It >>>>> gives any developer access to the same highly scalable, reliable, >>>>> secure, >>>>> fast, inexpensive infrastructure that Amazon uses to run its own global >>>>> network of web sites. The service aims to maximize benefits of scale >>>>> and to >>>>> pass those benefits on to developers. Amazon S3 API is used to deal >>>>> with >>>>> Amazon S3 to perform certain operations allowed by the API. >>>>> >>>>> *Amazon S3 Connector Summery* >>>>> >>>>> • Connector Name: amazons3-connector-1.0.0 >>>>> • Version: 1.0.0 >>>>> • Technology: REST >>>>> >>>>> *Authentication* >>>>> >>>>> The Amazon S3 REST API uses the standard HTTP Authorization header to >>>>> pass >>>>> authentication information. Developers are issued an AWS access key ID >>>>> and >>>>> AWS secret access key when they register. For request authentication, >>>>> the >>>>> AWSAccessKeyId element identifies the access key ID that was used to >>>>> compute >>>>> the signature and, indirectly, the developer making the request. >>>>> >>>>> *Domain definition* >>>>> >>>>> 1. *Bucket *- A bucket is a container for objects stored in >>>>> Amazon S3. Every >>>>> object is contained in a bucket. >>>>> >>>>> 2. *Object *-Objects are the fundamental entities stored in >>>>> Amazon S3. >>>>> Objects consist of object data and metadata. The data portion is >>>>> opaque to >>>>> Amazon S3. The metadata is a set of name-value pairs that describe the >>>>> object. These include some default metadata, such as the date last >>>>> modified >>>>> and standard HTTP metadata, such as Content-Type. >>>>> >>>>> 3. *Bucket Policy* - Bucket policies provide centralized, access >>>>> control to >>>>> buckets and objects based on a variety of conditions, including Amazon >>>>> S3 >>>>> operations, requesters, resources, and aspects of the request (e.g., IP >>>>> address). The policies are expressed in our access policy language and >>>>> enable centralized management of permissions. The permissions attached >>>>> to a >>>>> bucket apply to all of the objects in that bucket. >>>>> >>>>> 4. *Lifecycle *–Lifecycle management defines how Amazon S3 >>>>> manages objects >>>>> during their lifetime. >>>>> >>>>> >>>>> 5. *ACL *-Amazon S3 Access Control Lists (ACL) enable you to >>>>> manage access >>>>> to buckets and objects. Each bucket and object has an ACL attached to >>>>> it as >>>>> a subresource. It defines which AWS accounts or groups are granted >>>>> access >>>>> and the type of access. >>>>> >>>>> >>>>> Selected Methods (24) for version 1.0.0 >>>>> >>>>> *OPERATION ON BUCKETS* >>>>> *init *- configurations >>>>> *getBuckets *- This implementation of the GET operation >>>>> returns a list of >>>>> all buckets owned by the authenticated sender of the request. >>>>> *deleteBucket *- This implementation of the DELETE operation >>>>> deletes the >>>>> bucket named in the URI. All objects (including all object versions and >>>>> Delete Markers) in the bucket must be deleted before the bucket itself >>>>> can >>>>> be deleted. >>>>> *createBucket *- This implementation of the PUT >>>>> operation creates a new >>>>> bucket. >>>>> *deleteBucketPolicy *-This implementation of the DELETE >>>>> operation uses the >>>>> policy sub resource to delete the policy on a specified bucket. >>>>> *deleteBucketWebsiteConfiguration *- This operation removes >>>>> the website >>>>> configuration for a bucket. >>>>> *getObjectsInBucket *- This implementation of the GET >>>>> operation returns >>>>> some or all (up to 1000) of the objects in a bucket. >>>>> *getBucketLifeCycle *- Returns the lifecycle configuration >>>>> information set >>>>> on the bucket. >>>>> *getBucketPolicy *- This implementation of the GET operation >>>>> uses the >>>>> policy subresource to return the policy of a specified bucket. >>>>> *getBucketObjectVersions *- You can use the versions >>>>> subresource to list >>>>> metadata about all of the versions of objects in a bucket. >>>>> *getBucketRequestPayment *- This implementation of the GET >>>>> operation uses >>>>> the requestPayment subresource to return the request payment >>>>> configuration >>>>> of a bucket. >>>>> *getBucketVersioning *- This implementation of the GET >>>>> operation uses the >>>>> versioning subresource to return the versioning state of a bucket. >>>>> *createBucketWebsiteConfiguration *- Sets the configuration of >>>>> the website >>>>> that is specified in the website subresource. >>>>> *getWebSiteConfiguration *- This implementation of the GET >>>>> operation >>>>> returns the website configuration associated with a bucket. >>>>> *checkBucketPermission *- This operation is useful to >>>>> determine if a bucket >>>>> exists and you have permission to access it. >>>>> *createBucketPolicy*- This implementation of the PUT operation >>>>> uses the >>>>> policy subresource to add to or replace a policy on a bucket. >>>>> *getBucketACL *- This implementation of the GET >>>>> operation uses the acl >>>>> subresource to return the access control list (ACL) of a bucket. >>>>> >>>>> *OPERATIONS ON OBJECTS* >>>>> *deleteObject *- The DELETE operation removes the null version >>>>> (if there is >>>>> one) of an object and inserts a delete marker, which becomes the latest >>>>> version of the object. >>>>> *deleteMultipleObjects *- The Multi-Object Delete >>>>> operation enables you to >>>>> delete multiple objects from a bucket using a single HTTP request. If >>>>> you >>>>> know the object keys that you want to delete, then this operation >>>>> provides a >>>>> suitable alternative to sending individual delete requests. >>>>> *getObject *- This implementation of the GET operation >>>>> retrieves objects >>>>> from Amazon S3. >>>>> *createObject *- The POST operation adds an object to a >>>>> specified bucket >>>>> using HTML forms. >>>>> *getObjectMetaData *- The HEAD operation retrieves metadata >>>>> from an object >>>>> without returning the object itself. >>>>> *createObjectACL *- This implementation of the PUT operation >>>>> uses the acl >>>>> subresource to set the access control list (ACL) permissions for an >>>>> object >>>>> that already exists in a bucket. >>>>> *createObjectCopy *- This implementation of the PUT operation >>>>> creates a >>>>> copy of an object that is already stored in Amazon S3. >>>>> >>>>> >>>>> Methods that are not going to implement with version 1.0.0 >>>>> *OPERATION ON BUCKETS* >>>>> *getBucketCORS *- Returns the cors configuration information >>>>> set for the >>>>> bucket. >>>>> *listMultipartUploads *- This operation lists in-progress >>>>> multipart >>>>> uploads. An in-progress multipart upload is a multipart upload that >>>>> has been >>>>> initiated, using the Initiate Multipart Upload request, but has not >>>>> yet been >>>>> completed or aborted. >>>>> *createBucketACL *- This implementation of the PUT operation >>>>> uses the acl >>>>> subresource to set the permissions on an existing bucket using access >>>>> control lists (ACL). >>>>> *createBucketCORS *- Sets the cors configuration for your >>>>> bucket. If the >>>>> configuration exists, Amazon S3 replaces it. >>>>> *createBucketLifeCycle *- Creates a new lifecycle >>>>> configuration for the >>>>> bucket or replaces an existing lifecycle configuration. >>>>> *createBucketLogging *- This implementation of the PUT >>>>> operation uses the >>>>> logging subresource to set the logging parameters for a bucket and to >>>>> specify permissions for who can view and modify the logging >>>>> parameters. To >>>>> set the logging status of a bucket, you must be the bucket owner. >>>>> (NOTE: The logging implementation of PUT Bucket is a beta >>>>> feature.) >>>>> *createBucketNotification *- This implementation of the PUT >>>>> operation uses >>>>> the notification subresource to enable notifications of specified >>>>> events for >>>>> a bucket. >>>>> *createBucketTagging *- This implementation of the PUT >>>>> operation uses the >>>>> tagging subresource to add a set of tags to an existing bucket. >>>>> *deleteBucketTagging *- This implementation of the DELETE >>>>> operation uses >>>>> the tagging subresource to remove a tag set from the specified bucket. >>>>> *createBucketRequestPayment *- This implementation of the PUT >>>>> operation >>>>> uses the requestPayment subresource to set the request payment >>>>> configuration >>>>> of a bucket. >>>>> *createBucketVersioning *- This implementation of the PUT >>>>> operation uses >>>>> the versioning subresource to set the versioning state of an existing >>>>> bucket. >>>>> *deleteBucketCors *-Deletes the cors configuration information >>>>> set for the >>>>> bucket. >>>>> *getBucketLocation *- This implementation of the GET >>>>> operation uses the >>>>> location subresource to return a bucket's Region. >>>>> *getBucketLogging *- This implementation of the GET operation >>>>> uses the >>>>> logging subresource to return the logging status of a bucket and the >>>>> permissions users have to view and modify that status. (NOTE: Logging >>>>> functionality is currently in beta). >>>>> *getBucketNotification *- This implementation of the GET >>>>> operation uses the >>>>> notification subresource to return the notification configuration of a >>>>> bucket. >>>>> *getBucketTagging *- This implementation of the GET operation >>>>> uses the >>>>> tagging subresource to return the tag set associated with the bucket. >>>>> *deleteBucketLifecycle *- Deletes the lifecycle >>>>> configuration from the >>>>> specified bucket. >>>>> >>>>> *OPERATIONS ON OBJECTS* >>>>> *createObject *- This implementation of the PUT operation adds >>>>> an object to >>>>> a bucket. >>>>> *optionsObject *- A browser can send this preflight request to >>>>> Amazon S3 to >>>>> determine if it can send an actual request with the specific origin, >>>>> HTTP >>>>> method, and headers. >>>>> *ObjectRestore *- Restores a temporary copy of an archived >>>>> object. In the >>>>> request, you specify the number of days that you want the restored >>>>> copy to >>>>> exist. After the specified period, Amazon S3 deletes the temporary >>>>> copy. >>>>> Note that the object remains archived; Amazon S3 deletes only the >>>>> restored >>>>> copy. >>>>> *initiateMultipartUpload *- This operation initiates a >>>>> multipart upload and >>>>> returns an upload ID. This upload ID is used to associate all the >>>>> parts in >>>>> the specific multipart upload. >>>>> *uploadPart *- This operation uploads a part in a multipart >>>>> upload. >>>>> Note: In this operation you provide part data in your request. >>>>> However, you >>>>> have an option to specify your existing Amazon S3 object as data >>>>> source for >>>>> the part getting uploaded. To upload a part from an existing object >>>>> you use >>>>> the Upload Part (Copy) operation. For more information, see Upload >>>>> Part - >>>>> Copy. >>>>> *uploadPartCopy *- Uploads a part by copying data from an >>>>> existing object >>>>> as data source. >>>>> *completeMultipartUpload *This operation completes a >>>>> multipart upload by >>>>> assembling previously uploaded parts. >>>>> *abortMultipartUpload *- This operation aborts a multipart >>>>> upload. >>>>> *getObjectACL *- This implementation of the GET operation uses >>>>> the acl >>>>> subresource to return the access control list (ACL) of an object. >>>>> *getObjectTorrent *- This implementation of the GET operation >>>>> uses the >>>>> torrent subresource to return torrent files from a bucket. >>>>> *listParts *- This operation lists the parts that have been >>>>> uploaded for a >>>>> specific multipart upload. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> View this message in context: >>>>> http://wso2-oxygen-tank.10903.n7.nabble.com/Connector-amazon-s3-tp89705.html >>>>> Sent from the WSO2 Architecture mailing list archive at Nabble.com. >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>> >>>> >>>> >>>> -- >>>> *Jackie Wheeler* >>>> VP, Technical Content >>>> WSO2, Inc. >>>> Mobile: +1 510 725-2876 >>>> http://wso2.com/ >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
