Jean-Sebastien Delfino wrote:
Simon Laws wrote:
On Fri, Mar 7, 2008 at 4:18 PM, Simon Laws <[EMAIL PROTECTED]>
wrote:


On Fri, Mar 7, 2008 at 12:23 PM, Jean-Sebastien Delfino <
[EMAIL PROTECTED]> wrote:

Jean-Sebastien Delfino wrote:
Simon Laws wrote:
I've been running the workspace code today with a view to integrating
the
new code in assembly which calculates service endpoints i.e. point4
above.

I think we need to amend point 4 to make this work properly..

4. Point my Web browser to the various ATOM collections to get:
- lists of contributions, composites and nodes
- list of contributions that are required by a given contribution
- the source of a particular composite
- the output of a composite after the domain composite has been built
by
CompositeBuilder

Looking at the code in DeployableCompositeCollectionImpl I see that
on
doGet() it builds the request composite. What the last point  needs
to
do is

- read the whole domain
- set up all of the service URIs for each of the included composites
taking
into account the node to which each composite is assigned
- build the whole domain using CompositeBuilder
- extract the required composite from the domain and serialize it
out.
Yes, exactly!

Are you changing this code or can I put this in?
Just go ahead, I'll update and merge if I have any other changes in
the
same classes.

Simon, a quick update: I've done an initial bring-up of node2-impl. It's
still a little rough but you can give it a try if you want.

The steps to run the store app for example with node2 are as follows:

1) use workspace-admin to add the store and assets contributions to the
domain;

2) add the store composite to the domain composite using the admin as
well;

3) start the StoreLauncher2 class that I just added to the store module;

4) that will start an instance of node2 with all the node config served
from the admin app.

So the next step is to integrate your node allocation code with
workspace-admin and that will complete the story. Then we'll be able to
remove all the currently hardcoded endpoint URIs from the composites.

I'll send a more detailed description and steps to run more scenarios
later on Friday.

--
Jean-Sebastien

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

Ok, sounds good. I've done the uri integration although there are some
issues we need to discuss. First I'll update with your code, commit my
changes and then post here about the issues.

Regards

Simon

I've now checked in my changes (last commit was 634762) to integrate the URI
calculation code with the workspace. I've run the new store launcher
following Sebastien's instructions from a previous post to this thread. I
don't seem to have broken it too much although I'm not seeing any prices for
the catalog items.

I was seeing that issue too before, it's a minor bug in the property writing code, which is not writing property values correctly.

Issues with the URI generation code....

I have to turn model resolution back on by uncommenting a line in
ContributionContentProcessor.resolve. Otherwise the JavaImplementation types
are not read and
compositeConfiguationBuilder.calculateBindingURIs(defaultBindings,
composite, null); can't generate default services. I then had to tun it back
off to make the store sample work. I need some help on this one.

I'm investigating now.


If you hand craft services it seems to be OK although I have noticed,
looking at the generated SCDL, that it seems to be assuming that all
generated service names will be based on the implementation classname
regardless of whether the interface is marked as @Remotable or not. Feels
like a bug somewhere so am going to look at that next.

OK


To get Java implementation resolution to work I needed to hack in the Java
factories setup in the DeployableCompositeCollectionImpl.initialize()
method. This is not very good and raises the bigger question about the set
up in here. It's creating a set of extension points in parallel to those
created by the runtime running this component. Can we either use the
registry created by the underlying runtime or do similar generic setup.

Yes, I'd like to keep the infrastructure used by the admin decoupled from the infrastructure of the runtime hosting the admin, but I'll try to simplify the setup by creating an instance of runtime for the admin and getting the necessary objects out of it, instead of assembling it from scratch as it is now.

The code doesn't currently distinguish between those services that are
@Remotable and those that aren't

Simon




Simon,

After a few more changes, the domain / node allocation, default URI calculation and resolution of references across nodes now works OK.

I was able to remove all the hardcoded URIs in the tutorial composites as they now get determined from the configuration of the nodes that the composites are deployed to.

You can use the latest tutorial modules to see the end to end integration, with the following steps:

1. Start tutorial/domain/.../LaunchTutorialAdmin.

2. Open http://localhost:9990/ui/composite in your Web browser. You should see all the tutorial contributions and deployables that I've added to that domain.

3. Click the feeds in the "composite install image" to see the resolved composites.

4. Start all the launch programs in tutorial/nodes, you can start them in any order you want.

5. Open tutorial/assets/tutorial.html in your Web browser, follow the links to the various store implementations.

Hope this helps.
--
Jean-Sebastien

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

Reply via email to