In addition to this I reminded myself of one of the many pro's Gora
has going for it.

"Gora uses Avro for bean definition, not byte code enhancement or annotations."

Mmmmm... as I've mentioned, the restrictions imposed upon users via
the DynamoDB compiler are far from the desired aim and even further
from the defined project scope therefore we are fully engaged in
improving this where we can.

Lewis

On Fri, Aug 24, 2012 at 11:57 PM, Lewis John Mcgibbney
<[email protected]> wrote:
> Hi Ed,
>
> I've provided (where I can) answers for your questions to get us
> started here. Please see inline.
>
> On Fri, Aug 24, 2012 at 1:23 PM, Ed Kohlwey <[email protected]> wrote:
>
>> Questions:
>>
>>    1. Are annotations the only way to implement the desired features?
>
> Yes AFAIK. If I'm preempting your thoughts here, I agree that this is
> really restrictive (with respect to obtaining a more generalised
> design approach for a Gora compiler) but annotations are essential for
> for DynamoDBMapper [0] to achieve the correct mappings. As we were
> operating under the restrictions of the GSoC timeline, the decision
> was made to implement a DynamoDB specific compiler at this stage with
> the view of developing a more widely applicable implementation as the
> webservices API matured.
>
>>    2. What if other data stores have other annotations? Will we create more
>>    compilers for them?
>
> This relates to my answer above... ideally the utopian vision would be
> to use implementations which do not restrict us to annotations for
> mappings but just now (and as no other options seemed immediately
> available) we have the one compiler for Avro based implementations,
> one for Amazon DynamoDB (with the aim of having one to cover all web
> services back stores if possible) but maybe individual compilers for
> other web services stores... this is far from ideal.
>
>>    3. Renato had mentioned that Gora supports "data services" now
>>    (presumably in addition to databases). I'm not sure I understand this
>>    distinction. I have heard Dynamo is a managed database that implements a
>>    model similar to Cassandra. Can you elaborate on this statement?
>
> OK so this relates to the proposed addition of web services to the
> gora-core API (namely classes such as QueryWSBase[1],
> WSDataStoreBase[2] including specific packages for implementing web
> backed datastores of varying natures e.g. file-backed and
> webservice-backed) which do not rely upon Avro for serializations
> between the data store. For clarification on this point Gora's
> Persistent class extends from Avro's SpecificRecord which is certainly
> not appropriate for DynamoDB as Amazon uses web service requests for
> serializing to and from the data store and retrieving records.
> Additionally Avro based stores remain implementations of
> PersistentBase (still extending SpecificRecord) whilst the web
> services backed stores now implement PersistentWSBase.
>
> The reports which can be found here [4] contain commentary on all of
> this as and when we became aware of it during the design and
> progression of the project.
>
> I've intentionally not included replies to your thoughts section as I
> think it's best for me to leave this to simmer for a bit... also
> because I'll most certainly need to read it another once or twice for
> it to lodge properly ;)
>
> Hopefully Renato can chime in here with his thoughts, if there is
> anything I've failed to include or have stated incorrectly.
>
> Thanks
> Lewis
>
> [0] 
> http://docs.amazonwebservices.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodb/datamodeling/DynamoDBMapper.html
> [1] 
> http://svn.apache.org/repos/asf/gora/branches/goraamazon/gora-core/src/main/java/org/apache/gora/query/ws/impl/QueryWSBase.java
> [2] 
> http://svn.apache.org/repos/asf/gora/branches/goraamazon/gora-core/src/main/java/org/apache/gora/store/ws/impl/WSDataStoreBase.java
> [3] 
> http://svn.apache.org/repos/asf/gora/branches/goraamazon/gora-core/src/main/java/org/apache/gora/persistency/ws/impl/PersistentWSBase.java
> [4] 
> http://svn.apache.org/repos/asf/gora/branches/goraamazon/gora-dynamodb/reporting/



-- 
Lewis

Reply via email to