Hello Jean-Sebastien,

Comments inline...

-----Original Message-----
From: Jean-Sebastien Delfino [mailto:[EMAIL PROTECTED] 
Sent: Friday, June 22, 2007 10:40 PM
To: [email protected]
Subject: Re: Training session at ApacheCon 2007

Antollini, Mario wrote:
>> Hello Jean-Sebastien,
>>
>>  
>>
>> I just want you to know that I have been working hard on getting a nice 
>> sample application to be presented at ApacheCon.
>>
>>  
>>
>> What I have been doing is modeling Amazon as services running on Tuscany 
>> while still sticking to Amazon's latest WSDL.
>>
>>  
>>
>> What I have now is a simple SCA Composite providing only one service (4 
>> operations) through web services. It means that all the required pieces for 
>> the demo are now properly running and connected (quite tough indeed).
>>
>>  
>>
>> What I did so far:
>>
>> -         Generation of code (stub and skeleton) out of Amazon WSDL (not 
>> straightforward)
>>
>> -         Definición of services and their operations
>>
>> -         Implementation of one whole service (I coded the Shopping Cart)
>>
>> -         Describe it as a component/composite for Tuscany
>>
>> -         Get the composite running (not straightforward)
>>
>> -         Coded a WS client  which invokes the service in order to test if 
>> everything was working fine (there were some complications with databiding 
>> here)
>>
>>  
>>
>> What is still required is just implementing the core business logic for the 
>> remaining services/components and their operations. Fortunately, this will 
>> be a simple task (fingers crossed). Anyway, I do not consider such 
>> functionality to be so important. I think we need to highlight the benefits 
>> of Tuscany and having Amazon's complete set of business logic is not 
>> essential for that.
>>
>>  
>>
>> As soon as I consider the demo is good enough, I will start writing a 
>> tutorial about it (any help will be greatly appreciated here) which we can 
>> hand out to participants in the training session.
>>
>>  
>>
>> Any feedback will be welcome.
>>
>>  
>>
>> Best regards, 
>>
>> Mario Antollini
>>
>>
>>

>Hi Mario,
>
>This looks like great progress! I created a new apachecon-training 
>folder under demos/ to start hosting this work. Would you like to submit 
>some of this in a patch in a JIRA? I'll be happy to help review and 
>integrate it under demos/, once it's there all the people interested can 
>look at it and pitch in with comments, help, code, diagrams, 
>documentation describing it etc.

[Mario] I think it is a good idea to share the code so everyone can start 
contributing to it. However, I need to arrange a little bit my files first. 
Once I do that I will be pleased to submit it to JIRA. BTW, I have never done 
that, so is there something I need to take into consideration first? Or 
submitting a patch to JIRA is pretty straightforward?

>I like the idea of using real services! I noticed that Axis2 has a 
>sample that uses the Amazon queuing service so there's probably no 
>problem with the Amazon license, but I thought I'd double check... Do 
>others on the list know if there's going to be any licensing matters 
>with client code generated from the Amazon WSDL and accessing Amazon 
>services? Will the demo need to point to the Amazon license from a 
>Notice files?

[Mario] This is a good point. I thought there wouldn't be any problem given 
that Amazon's WSDL is an open API anyone can access. However, you are right, we 
should doublk-check this.

>Also, you mentioned some difficulties with WSDL2Java and complications
>with data bindings. Did you run into any bugs or any other Tuscany 
>issues while building the demo? Do you have any thoughts about Tuscany 
>improvements or simplications that we could discuss here?

[Mario] I ran into some complications since properly connecting each one of the 
components shaping the demo was complicated per-se. I wouldn't say that I found 
a bug but maybe the lack of documentation made it very difficult for me to get 
it working. However, I think the outcome of this demo application is to come up 
with a good tutorial and hence with a good document explaining how to build a 
Tuscany Application from scratch.

Anyway, I came across some inconveniences I would like to report:

1 - I found an inconsistency in the Java Common Annotations and APIs (SCA 
Version 1.00. March     21 2007) on line 257 where it reads "Scopes are 
specified using the @Scope annotation on the implementation class." Therefore, 
I interpret that the @Scope annotation must be specified on the class 
implementing the service (not the interface).
However, on line 1598 there is a snippet showing that the @Scope annotation is 
put above the interface definition.
This inconsistency caused me some problems when trying to create a service 
using Tuscany since it only supports the usage of the @Scope annotation in the 
class (the way it must be) and not on the interface (it took me a while to 
realize that I had put the @Scope in the interface instead of putting it on the 
class). I think it would have been good if Tuscany had reported that the @Scope 
annotation on the Interface was being overlooked.

2 - I did not find the way to enable Tuscany's log. BTW, when Tuscany found 
errors at load or build time the error messages were not clear enough.

3 - It was not clear for me what to do with the bindings on the composite:
        -  binding.ws has some parameters but they can be omitted, so I did not 
know whether to add them or not to the composite.
        -  I did not know whether to add db:databinding or not to the composite.

4 - Even though this problem is not directly related to Tuscany, it is 
indirectly affecting it.
After having the demo application running on top of Tuscany and offering its 
service through web services, I coded a simple client which was meant to use WS 
(via Axis2) to invoke the Service. I had problems when running the client since 
Axis2 was complaining that the Transport Out had not been set. It was quite 
difficult to solve this problem, so I think we should include this on the 
Tutorial anyway.

5 - I do not know if it was my mistake or not, but I did not know that the 
service name (<service name="DemoService" >) must be equal to the name of the 
interface that is defining the operations of the service. I think this is also 
important to point out since I had problems getting the service running because 
of this.

>Thanks! 

[Mario] Bes regards!,

>-- 
>Jean-Sebastien

[Mario] Mario


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to