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
