You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jean-Sebastien Delfino <js...@apache.org> on 2007/10/20 01:27:12 UTC

Shopping Store Tutorial, was: ApacheCon US 2007 - Shopping Store Overview

[snip]
>
> JS, Raymond,
>
> I have attached a picture depicting the components the Shopping Store 
> Composite will have. I hope this represents the same picture you had 
> in mind.

Looks pretty good, I have a few suggestions below.

> Otherwise, please let me know.
>
> As you can see there, some questions arose:
>
> 1 - The composite will offer its service via WS or we will invoke it 
> locally (the local one will be easier to implement J)
>
> <rfeng>I think it could be both: we add binding.ws and binding.sca for 
> the service.</rfeng>

I think we need two composite services, one for the catalog and the 
other for the shopping cart, as SCA cannot promote two 
component-services as one composite-service.

The services could be provided with a selection of bindings:
- binding.ws
- binding.jsonrpc and to make it easy to invoke from an Ajax client
- binding.atom will work well with Ajax clients too
- binding.sca will help integrate with other SCA composites in an SCA domain

>
> 2 - The Shopping Cart Service will be implemented as a POJO or as a 
> Session Bean? -> I have it currently implemented as a POJO but turning 
> it into a session bean will not be difficult (fingers crossed)
>
> <rfeng>I would say POJO for now as we don't have implementation.jee 
> yet. We could add a reference to an external EJB using binding.ejb if 
> it's needed.</rfeng>

+1 for a Java component implementation for now

+1 for putting together a JEE variation of the shopping cart later, when 
we have support for <implementation.jee>

>
> 3 -The Persistence Service will be implemented as a POJO or as an 
> Entity Bean?
> 4 - Shall we use DAS to persist the data?
>
> <rfeng>We could use implementation.data or implementation.das to 
> persist the data. Luciano, which one supports write?</rfeng>

How about starting really simple with a Java component implementation 
that just uses JDBC to talk to the database like what Douglas has 
started to contribute recently (see 
http://issues.apache.org/jira/browse/TUSCANY-1844)?

I have put his implementation of the getting-started store sample that 
integrates a database under demos/tutorial/store-database, thinking that 
it could be useful in the context of the tutorial.

>
> Let's try to come up with a final version of it so we can start taking 
> ownership of the different components in order to start coding.

Two more thoughts:

- add a local Catalog component that has the catalog store in a local 
database.

- run the different components on different SCA nodes.

>
> Hope to hear from you soon.
>
> Regards,
>
> Mario E. Antollini
> Intel Software
> ASDC
> +54 351 414 5594
> mario.antollini@intel.com
>
-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: Shopping Store Tutorial, work in progress

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Jean-Sebastien Delfino wrote:
> Antollini, Mario wrote:
>> Jean-Sebastien, Raymond,
>>
>> Thanks for the feedback. I modified the figure accordingly.
>>
>> What do you both think now?
>>
>> Regards,
>> Mario
>>
>>   
> Thanks Mario.
>
> I guess we should work on the various parts of the application:
> - the catalog component with a hardcoded list of items
> - the catalog component backed by a database
> - the catalog component talking to the Amazon catalog
> - the catalog component talking to the eBay catalog
>
> We need to define a single business interface that they'll all implement.
>
> Also I'd like to add a currency converter component that can run on a 
> different Tuscany node
>
> I started to work on the build structure and a build.xml file with the 
> right dependencies. BTW I'm going to temporarily move the tutorial 
> directory from java/sca/demos/tutorial to java/sca/tutorial to make it 
> easier to reuse existing samples and their build.xml files on top of 
> the Tuscany distribution. We can move the directory again later if 
> people want.
>

I'm making some progress on the new Shopping Store tutorial. I have 
organized the modules under java/sca/tutorial as follows:

* store - the simple getting started store sample as we had it before in 
samples/store
* store-domain - a mini launcher for the domain controller that can be 
used to manage Tuscany nodes

Then the various parts of the tutorial also in separate modules to allow 
them to run on different Tuscany nodes
* store-ui - the UI component, with references to the catalog and 
shoppingcart
* store-catalog - the catalog component alone
* store-catalog-database - an implementation of the catalog backed by a 
database
* store-catalog-amazon - currently empty, will represent the amazon catalog
* store-catalog-ebay - currently empty, will represent the ebay catalog
* store-cart - the shopping cart component
* store-currency - the currency converter component

I'm thinking that this kind of structure will allow us to exercise 
interesting scenarios:

1. How to get started and build a simple store (similar to the getting 
started sample).

2. Wire your catalog with other external catalogs running on different 
nodes (because you're expanding your store business or merge it with 
other businesses).

3. Provide your new aggregated catalog service as a Web Service for example.

3. Another instantiation of the store reusing the same components but 
configured and wired differently (maybe a different currency and a 
currency conversion service running on a different node), maybe with a 
slightly different UI too.

I'm mostly working on the store-ui, store-catalog, store-domain modules 
at the moment. I won't touch much the store-cart, 
store-catalog-database, store-amazon and store-ebay for the next few 
days, as I believe others are working on them.

I'll probably have to make a few fixes to the runtime as I go. I've 
already run into a few issues with the WS, Atom and Jsonrpc bindings and 
the Domain+Node code. Hopefully this won't disturb the 1.0.1 release as 
I believe that most of the changes from trunk have already been merged 
into the release branch.

-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: Shopping Store Tutorial, was: ApacheCon US 2007 - Shopping Store Overview

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Antollini, Mario wrote:
> Jean-Sebastien, Raymond,
>
> Thanks for the feedback. I modified the figure accordingly.
>
> What do you both think now?
>
> Regards,
> Mario
>
>   
Thanks Mario.

I guess we should work on the various parts of the application:
- the catalog component with a hardcoded list of items
- the catalog component backed by a database
- the catalog component talking to the Amazon catalog
- the catalog component talking to the eBay catalog

We need to define a single business interface that they'll all implement.

Also I'd like to add a currency converter component that can run on a 
different Tuscany node

I started to work on the build structure and a build.xml file with the 
right dependencies. BTW I'm going to temporarily move the tutorial 
directory from java/sca/demos/tutorial to java/sca/tutorial to make it 
easier to reuse existing samples and their build.xml files on top of the 
Tuscany distribution. We can move the directory again later if people want.

-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


RE: Shopping Store Tutorial, was: ApacheCon US 2007 - Shopping Store Overview

Posted by "Antollini, Mario" <ma...@intel.com>.
Jean-Sebastien, Raymond,

Thanks for the feedback. I modified the figure accordingly.

What do you both think now?

Regards,
Mario

-----Original Message-----
From: Jean-Sebastien Delfino [mailto:jsdelfino@apache.org] 
Sent: Friday, October 19, 2007 8:27 PM
To: tuscany-dev@ws.apache.org
Subject: Shopping Store Tutorial, was: ApacheCon US 2007 - Shopping
Store Overview

[snip]
>
> JS, Raymond,
>
> I have attached a picture depicting the components the Shopping Store 
> Composite will have. I hope this represents the same picture you had 
> in mind.

Looks pretty good, I have a few suggestions below.

> Otherwise, please let me know.
>
> As you can see there, some questions arose:
>
> 1 - The composite will offer its service via WS or we will invoke it 
> locally (the local one will be easier to implement J)
>
> <rfeng>I think it could be both: we add binding.ws and binding.sca for

> the service.</rfeng>

I think we need two composite services, one for the catalog and the 
other for the shopping cart, as SCA cannot promote two 
component-services as one composite-service.

The services could be provided with a selection of bindings:
- binding.ws
- binding.jsonrpc and to make it easy to invoke from an Ajax client
- binding.atom will work well with Ajax clients too
- binding.sca will help integrate with other SCA composites in an SCA
domain

>
> 2 - The Shopping Cart Service will be implemented as a POJO or as a 
> Session Bean? -> I have it currently implemented as a POJO but turning

> it into a session bean will not be difficult (fingers crossed)
>
> <rfeng>I would say POJO for now as we don't have implementation.jee 
> yet. We could add a reference to an external EJB using binding.ejb if 
> it's needed.</rfeng>

+1 for a Java component implementation for now

+1 for putting together a JEE variation of the shopping cart later, when

we have support for <implementation.jee>

>
> 3 -The Persistence Service will be implemented as a POJO or as an 
> Entity Bean?
> 4 - Shall we use DAS to persist the data?
>
> <rfeng>We could use implementation.data or implementation.das to 
> persist the data. Luciano, which one supports write?</rfeng>

How about starting really simple with a Java component implementation 
that just uses JDBC to talk to the database like what Douglas has 
started to contribute recently (see 
http://issues.apache.org/jira/browse/TUSCANY-1844)?

I have put his implementation of the getting-started store sample that 
integrates a database under demos/tutorial/store-database, thinking that

it could be useful in the context of the tutorial.

>
> Let's try to come up with a final version of it so we can start taking

> ownership of the different components in order to start coding.

Two more thoughts:

- add a local Catalog component that has the catalog store in a local 
database.

- run the different components on different SCA nodes.

>
> Hope to hear from you soon.
>
> Regards,
>
> Mario E. Antollini
> Intel Software
> ASDC
> +54 351 414 5594
> mario.antollini@intel.com
>
-- 
Jean-Sebastien


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org