Hi guys,

I have a question related to the BlobStore Service. I am trying to figure
out how the provider specific operations are implemented. I noticed that
for Azure and S3 blobstore there are org.jclouds.azureblob.AzureBlobClient
and org.jclouds.s3.S3Client interfaces respectively which are supposed to
implement the operations. However I didnt find any concrete implmentation
of those interfaces.

Are they only used to get the name of the method whcih subsequently is fed
to the  url of the http request???

Is it only me that finds jClouds internal design bit complicated ? :)

I have spent days over days to figure out the exact sequence of a blobstore
operation and still I am not that confident.

Another question is why dynamic invocation is used? Is it used to enable
runtime deployment of new providers?

Thank you ,
Fotis


On 17 January 2014 15:57, Andrew Phillips <[email protected]> wrote:

> Hi Fotis
>
>
>  I understand that jClouds generates the http calls for each concrete
>> provider but I cannot find the exact class that does this and where it
>> gets
>> the information for the required attributes from.
>>
>
> Glad you're interested in jclouds! For a general overview of the
> architectural concepts, you can try the 'Core Concepts' document on the
> wiki page [1].
>
> As regards the lower-level details, the HTTP call generation largely
> happens in the RestAnnotationProcessor [2]. In many cases, concrete
> implementations are encapsulated in "strategies" (e.g. [3, 4]) that are
> injected abstraction layer classes like BaseComputeService [5] by Guice.
>
> Luckily, you'll find that BaseBlobStore is somewhat less complex than
> BaseComputeService ;-)
>
> This is only a very high-level sketch: please feel free to hop on to IRC
> for further discussion!
>
> ap
>
> [1] https://wiki.apache.org/jclouds/Core%20Concepts
> [2] https://github.com/jclouds/jclouds/blob/master/core/src/
> main/java/org/jclouds/rest/internal/RestAnnotationProcessor.java
> [3] https://github.com/jclouds/jclouds/blob/master/providers/
> aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/strategy/
> AWSEC2GetNodeMetadataStrategy.java
> [4] https://github.com/jclouds/jclouds/blob/master/apis/
> swift/src/main/java/org/jclouds/openstack/swift/
> blobstore/strategy/internal/ParallelMultipartUploadStrategy.java
> [5] https://github.com/jclouds/jclouds/blob/master/compute/
> src/main/java/org/jclouds/compute/internal/BaseComputeService.java
>

Reply via email to