During the mid-term evaluation I could realize the main issues related to
the binding-gdata module that I am developing. They were:

1) The current state of binding.gdata only supports operations done with
Google Calendar Service;
2) A component that uses a binding.gdata can only access Google services.
There is still not a way to a component provide a GData service;
3) The authentication is done by passing the username and password
information through the Service Component Definition Language (SCDL) file –
there is still not any data encryption;
4) Operations to work with media types are not available yet.

Because 1 and 2 implies directly on the correct behavior of the binding, I
concentrated my efforts on resolving them.

About 1:
A new attribute was created to be used in SCDL file: *serviceType*. This
attribute is used to specify the kind of service that the binding will
handle with, like "cl" to Calendar, "blogger" to Blogger, or "mail" to
GMail. So, we have something like this:

    *<binding.gdata uri="..." username="..." password="..."
serviceType="cl"/> *

About 2:
This issue was resolved, and now a component can provide an atom feed via
GData protocol. However, some details need to be revised like:
- The necessity to support an uri like "/atomsvc" on get operations. (The
current implementation do not support this)
- The necessity to support the collection data-api. (The current
implementation do not support this)

When a SCA component is connected to other SCA component via binding.gdata,
in other words, Consumer and Provider are SCA components, the
*serviceType*attribute must be set with "sca" value. Values like "cl",
"blogger", or
"mail" are used when a SCA component is connected to a Google service.

It happens because I am having problems with authenticating a google account
via http request. So, I am using the GData API when I need to connect with a
Google service, letting http requests only for *serviceType* like "sca".
Maybe using only http requests, I could eliminate the necessity of the *
serviceType* attribute.

This JIRA contains the mentioned improvements:
https://issues.apache.org/jira/browse/TUSCANY-2494

About the 3 and 4, I think they are very important to have a usable
binding.gdata in real applications. Any suggestion here would be
appreciated.

Despite of these issues, the binding.gdata is working, and I think that I
can start the second phase of my project: developing the scenario example.
At the moment that new improvements were done on binding.gdata, the example
would be rebuilt to be compatible with the new features.

That's all for now,

Douglas

On Tue, Jun 24, 2008 at 11:16 AM, Douglas Leite <[EMAIL PROTECTED]>wrote:

> Here is a patch with my last updates:
> https://issues.apache.org/jira/browse/TUSCANY-2435
>
> The main changes are:
> - Added support for query operations;
> - GDataBindingInvoker extends DataExchangeSemantics, avoiding the problem
> with marshal/unmarshal com.google.gdata.data.Feed objects;
>
> I have had some issues when creating the patch, so if you have any problem
> when applying the it please tell me.
>
> Thanks Luciano for the comments above and the changes done.
>
> Other comments inline
>
> On Tue, Jun 24, 2008 at 6:10 AM, Luciano Resende <[EMAIL PROTECTED]>
> wrote:
>
>> I have committed the proposed changes under svn revision #671075
>> Please let me know if you find any issues.
>>
>> On Mon, Jun 23, 2008 at 6:02 PM, Luciano Resende <[EMAIL PROTECTED]>
>> wrote:
>> > Re-sending as this might not have reached the mailing list.
>> >
>> > On Mon, Jun 23, 2008 at 11:33 AM, Luciano Resende <[EMAIL PROTECTED]>
>> wrote:
>> >> After reviewing this again over the weekend, I have couple suggestions
>> :
>> >>
>> >> 1.Looks like we are creating a new binding-gdata here, but still
>> >> relying on the binding-atom model objects. I'd recommend creating the
>> >> model objects particular to binding-gdata (even if it's same for now)
>> >> in a binding-gdata module, and rename the current binding-gdata to
>> >> binding-gdata-runtime to follow the naming standar used in other
>> >> modules. This should also cause some name changes  in packages and
>> >> implementation objects.
>> >>
>> >> 2.Looks like we are defining a new collection interface in
>> >> binding-gdata, I'd like to understand better if there are any issues
>> >> on using the one defined in data-api before creating a new collection
>> >> interface
>>
>
> I am not sure, but if I understood right, you suggest to create something
> like GDataCollection extends Collection<String,
> com.google.gdata.data.BaseEntry>(1) instead of define a new collection(2).
> In this way, most of the methods would be very similiar (post, get, put,
> delete). But, and how about the getAll() and query() methods? The current
> implemention define that methods like this:
>
> *com.google.gdata.data.Feed getFeed();
> com.google.gdata.data.Feed query(String queryString);*
>
> Using 1 we would have something like this:
>
> *Entry<String, BaseEntry>[] getAll();
> Entry<String, BaseEntry>[] query(String queryString);*
>
> The main disadvantage that I can notice in approach 1 is the lost of
> information about the feed. Informations like authors, categories, last
> updates, links, and other related to the feed would not be retrieved since
> we have just an array.
>
>
>>
>> >>
>> >> 3.We should work together to find a solution to have the gdata
>> >> dependencies available trough maven. If there isn't one available
>> >> already, we could publish it to a internal repo in my apache account
>> >> (I have looked in how to do this over the weekend already). This would
>> >> be a requirement for this project, but for Haibo Zao project as well,
>> >> so we should collaborate in finding a solution.
>> >>
>> >> If you are ok, and don't have much changes locally, I could handle 1
>> >> and 2 later today or tomorrow.
>> >>
>> >> Thanks
>> >>
>> >> On Sun, Jun 8, 2008 at 7:59 AM, Douglas Leite <[EMAIL PROTECTED]>
>> wrote:
>> >>> The link to the patch:
>> https://issues.apache.org/jira/browse/TUSCANY-2376
>> >>>
>> >>> On Fri, Jun 6, 2008 at 10:51 PM, Douglas Leite <[EMAIL PROTECTED]>
>> wrote:
>> >>>
>> >>>> I have started to define the structure and some classes to allow the
>> GData
>> >>>> binding, as discussed above.
>> >>>>
>> >>>> This project was created following the binding-atom-abdera project
>> >>>> structure. So there is some dependencies that need to be revised.
>> >>>>
>> >>>> The initial created classes aim to handle with the reference side of
>> a
>> >>>> component. So, at this moment, an component would invoke only a
>> Google
>> >>>> service, instead of a service provided by another SCA component.
>> >>>>
>> >>>> I have started to implement the invokers, starting with the
>> GetAllInvoker,
>> >>>> as simple as possible (just for some tests). I have got an error at
>> the
>> >>>> moment to retrieve the feed object (com.google.gdata.data.Feed) from
>> the
>> >>>> message object (org.apache.tuscany.sca.invocation.Message).
>> >>>>
>> >>>> I am not updated about the discussion evolving the license of the
>> GData
>> >>>> Java Client. However, this first implementation is using the GData
>> Java
>> >>>> Client.
>> >>>>
>> >>>> Douglas
>> >>>>
>> >>>>
>> >>>> On Tue, Jun 3, 2008 at 4:26 AM, Mike Edwards <
>> >>>> [EMAIL PROTECTED]> wrote:
>> >>>>
>> >>>>> Luciano Resende wrote:
>> >>>>>
>> >>>>>> Hey Mike
>> >>>>>>
>> >>>>>>   What are your concerns with regards to license ? Looking at [1],
>> it
>> >>>>>> looks like the GData Java Client is Apache License 2.
>> >>>>>>
>> >>>>>> [1] http://code.google.com/p/gdata-java-client/
>> >>>>>>
>> >>>>>> On Mon, Jun 2, 2008 at 10:01 PM, Mike Edwards
>> >>>>>> <[EMAIL PROTECTED]> wrote:
>> >>>>>>
>> >>>>>>> Douglas Leite wrote:
>> >>>>>>>
>> >>>>>>>> After analyzing the Google Data API and the code of binding-atom,
>> >>>>>>>> binding-atom-abdera, and binding-feed, I propose an approach to
>> start
>> >>>>>>>> the
>> >>>>>>>> development of the GData biding.
>> >>>>>>>>
>> >>>>>>>> I propose creating a new type of binding: biding-gdata. Similarly
>> as
>> >>>>>>>> binding-atom-abdera, that extends the binding-atom, this new kind
>> of
>> >>>>>>>> binding
>> >>>>>>>> would extend the binding-atom too.
>> >>>>>>>>
>> >>>>>>>> The implementation of the invokers (linke GetInvoker,
>> PostInvoker, and
>> >>>>>>>> PutInvoker) would be done using the GData Java Client, that
>> provides
>> >>>>>>>> tools
>> >>>>>>>> and an abstract layer, abstracting the necessity of handling with
>> HTTP
>> >>>>>>>> requests/responses and XML's processing.
>> >>>>>>>>
>> >>>>>>>> The binding-gdata could extend the binding-rss aiming to allow
>> RSS
>> >>>>>>>> feeds.
>> >>>>>>>>
>> >>>>>>>> This approach looks like the binding-feed, but reusing the
>> binding-atom
>> >>>>>>>> and
>> >>>>>>>> binding-rss, and using the GData Java Client to implement the
>> invokers.
>> >>>>>>>>
>> >>>>>>>> What do you think about?
>> >>>>>>>>
>> >>>>>>>>  Douglas,
>> >>>>>>>
>> >>>>>>> We need to take some care over the idea of using the GData Java
>> Client -
>> >>>>>>> we
>> >>>>>>> need to check out the legal terms that apply to the client code,
>> since
>> >>>>>>> it
>> >>>>>>> does not appear to have a license that is compatible with the
>> Apache
>> >>>>>>> open
>> >>>>>>> source license, as far as I can tell.
>> >>>>>>>
>> >>>>>>> I'm not saying that you can't use the Google code, but we do need
>> to ask
>> >>>>>>> to
>> >>>>>>> see what the right way would be to use this code.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> Yours,  Mike.
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>  Luciano,
>> >>>>>
>> >>>>> What about this page, linked off the one above:
>> >>>>>
>> >>>>> http://code.google.com/tos.html
>> >>>>>
>> >>>>> Yours,  Mike.
>> >>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Douglas Siqueira Leite
>> >>>> Computer Science Master's degree student of University of Campinas
>> >>>> (Unicamp)
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Douglas Siqueira Leite
>> >>> Computer Science Master's degree student of University of Campinas
>> (Unicamp)
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Luciano Resende
>> >> Apache Tuscany Committer
>> >> http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
>> >> http://lresende.blogspot.com/
>> >>
>> >
>> >
>> >
>> > --
>> > Luciano Resende
>> > Apache Tuscany Committer
>> > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
>> > http://lresende.blogspot.com/
>> >
>>
>>
>>
>> --
>> Luciano Resende
>> Apache Tuscany Committer
>> http://people.apache.org/~lresende <http://people.apache.org/%7Elresende>
>> http://lresende.blogspot.com/
>>
>
>
>
> --
> Douglas Siqueira Leite
> Computer Science Master's degree student of University of Campinas
> (Unicamp)
>



-- 
Douglas Siqueira Leite
Computer Science Master's degree student of University of Campinas
(Unicamp), Brazil

Reply via email to