You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by ant elder <an...@gmail.com> on 2006/10/30 10:04:27 UTC

IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

As discussed, they will be an IRC chat to aid getting started with an Apache
Ode component for Tuscany.

The chat will take place on the freenode IRC network, (use server
irc.freenode.net), on channel #tuscany at:

4PM GMT, 8AM PST, 9:30PM India
Thursday 2nd November

Everyone is welcome to join in.

   ...ant

On 10/29/06, sam tam <sa...@gmail.com> wrote:
>
> That would be fine with me Ant.  I am residing in India ..So to confirm :
> Thursday 4pm BST !
>
> Sam...
>
> On 10/29/06, ant elder <an...@gmail.com> wrote:
> >
> > Thats fine for me, how about you Sam?
> >
> >    ...ant
> >
> > On 10/27/06, Matthieu Riou <ma...@gmail.com> wrote:
> > >
> > > Actually most Ode committers (including myself) are in California.
> Also
> > > we're going to be a bit busy early next week. So would 4pm BST (8am
> PST)
> > on
> > > Thursday work for you?
> > >
> > > On 10/27/06, ant elder <an...@gmail.com> wrote:
> > > >
> > > > Sure ok I guess an IRC chat would be fine to get started. I'm in UK
> > time
> > > > zone but can be pretty flexible about scheduling it. How about
> 9:30am
> > BST
> > > > next Tuesday?
> > > >
> > > >    ..ant
> > > >
> > > > On 10/26/06, Matthieu Riou <ma...@gmail.com> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > So what about an IRC session to get started? Everybody interested
> > > > > could come to ask questions and we would discuss in more details
> how
> > this
> > > > > could be done. We can both exchange our views on SCA / BPEL and
> give
> > as much
> > > > > information as possible to the volunteers (like Sam [1]).
> > > > >
> > > > > What do you think?
> > > > >
> > > > > Matthieu
> > > > >
> > > > > [1]
> >
> http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200610.mbox/%3c68b75b5f0610260000n64e0d780w79520993fe214925@mail.gmail.com%3e
> > > > >
> > > > >
> > > > > On 10/25/06, ant elder < ant.elder@gmail.com> wrote:
> > > > > >
> > > > > > On 10/25/06, Matthieu Riou <ma...@gmail.com> wrote:
> > > > > > >
> > > > > > > Hi all,
> > > > > > >
> > > > > > > This e-mail is being sent to both Apache Ode and Tuscany
> > > > > > > development mailing
> > > > > > > lists.
> > > > > > >
> > > > > > > The objective is to see which possible collaboration could
> > happen
> > > > > > > between
> > > > > > > our 2 projects and how we could integrate them. Alex, Cory and
> > > > > > > myself (we're
> > > > > > > all Ode contributors) met with Jean-Sebastien Delfino and
> Simon
> > > > > > > Laws
> > > > > > > (Tuscany contributors) during the ApacheCon in Austin and
> we've
> > > > > > > found out
> > > > > > > that integrating Ode into Tuscany could be a brilliant idea.
> > > > > > >
> > > > > > > From the Tuscany side, there's an SCA client and
> implementation
> > > > > > > spec for
> > > > > > > BPEL. Roughly, it defines how a BPEL process can be used as an
> > SCA
> > > > > > > component
> > > > > > > (or at least that's my understanding of it). So I guess Ode
> > could
> > > > > > > be a good
> > > > > > > choice for the BPEL part of that.
> > > > > > >
> > > > > > > From the Apache Ode perspective, we've defined an interface to
> > the
> > > > > > > engine (
> > > > > > > a.k.a. the integration API or IAPI for acromyn lovers) and we
> > > > > > > would like to
> > > > > > > support several integration scenarii. Currently we have an
> > > > > > > integration layer
> > > > > > > for Axis2 to support all web services interactions, we also
> have
> > > > > > > one for JBI
> > > > > > > and another one for CXF has been proposed. We would love to
> have
> > > > > > > an
> > > > > > > implementation of these interfaces for Tuscany to be able to
> run
> > > > > > > Ode in an
> > > > > > > SCA environment (for the curious, the interfaces are
> > > > > > > here<
> >
> https://svn.apache.org/repos/asf/incubator/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/iapi/
> > > > > > > >
> > > > > > > ).
> > > > > > >
> > > > > > > I think the discussion (if discussion there is) should take
> > place
> > > > > > > on
> > > > > > > tuscany-dev as there's less of us, Ode people, so it's easier
> > for
> > > > > > > us to
> > > > > > > subscribe to it.
> > > > > > >
> > > > > > > So what would it take to fit into Tuscany?
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Matthieu
> > > > > > >
> > > > > > >
> > > > > > Hi Matthieu, this would be really great, i'd love for Tuscany to
> > get
> > > > > > a involved with Ode to get a BPEL component.
> > > > > >
> > > > > > For those that haven't found these already there's a white paper
> > on
> > > > > > SCA and BPEL [1] and a specification [2].
> > > > > >
> > > > > > You can see the type of thing required to implement a container
> > for
> > > > > > a new component type in Tuscany by looking at some of our
> existing
> > ones [3]
> > > > > >
> > > > > > I agree it may be easiest for the discussions to be over here
> > > > > > initially, but i've subscribed to ode-dev as well anyway. I'd be
> > very happy
> > > > > > to help you do this, how would you like to get started?
> > > > > >
> > > > > >    ...ant
> > > > > >
> > > > > > [1] http://osoa.org/display/Main/SCA+BPEL+White+Paper
> > > > > > [2]
> >
> http://osoa.org/download/attachments/35/SCA_ClientAndImplementationModelforBPEL_v0.95.pdf?version=2
> > > > > >
> > > > > > [3]
> >
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> >
>
>
> --
> Catch Me @: www.samjeyam.co.nr
>
> The Engine is the Heart of the Plane
>    but
>        Pilot is the Soul...
>
> \___(0)___/
>       ./ \.
>
>

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by victor panizza <vi...@gmail.com>.
Thanks a lot Matthieu.

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by victor panizza <vi...@gmail.com>.
Hello All.
Just a little question.

I been working with WebSphere Process Server, in the top WPS provides SCA
Components like:
  Business Rules.
  Selectors.
  Human Task.
  BPEL Process.
  States Machines (Implemented using BPEL).

Which of those components actually are supported in tuscany??

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by victor panizza <vi...@gmail.com>.
Hello All.
Just a little question.

I been working with WebSphere Process Server, in the top WPS provides SCA
Components like:
  Business Rules.
  Selectors.
  Human Task.
  BPEL Process.
  States Machines (Implemented using BPEL).

Which of those components actually are supported in tuscany??

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by Matthieu Riou <ma...@gmail.com>.
Thanks ant!

On 11/3/06, ant elder <an...@gmail.com> wrote:
>
> As discussed, I've created an empty skeleton container for this at:
>
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.bpel/
>
> There's a JIRA for attaching patches to at:
> https://issues.apache.org/jira/browse/TUSCANY-897
>
> Starting sending your patches!
>
>    ...ant
>
>

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by Matthieu Riou <ma...@gmail.com>.
Thanks ant!

On 11/3/06, ant elder <an...@gmail.com> wrote:
>
> As discussed, I've created an empty skeleton container for this at:
>
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.bpel/
>
> There's a JIRA for attaching patches to at:
> https://issues.apache.org/jira/browse/TUSCANY-897
>
> Starting sending your patches!
>
>    ...ant
>
>

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by ant elder <an...@gmail.com>.
As discussed, I've created an empty skeleton container for this at:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.bpel/

There's a JIRA for attaching patches to at:
https://issues.apache.org/jira/browse/TUSCANY-897

Starting sending your patches!

   ...ant

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by ant elder <an...@gmail.com>.
As discussed, I've created an empty skeleton container for this at:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.bpel/

There's a JIRA for attaching patches to at:
https://issues.apache.org/jira/browse/TUSCANY-897

Starting sending your patches!

   ...ant

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by Matthieu Riou <ma...@gmail.com>.
For those who couldn't attend, here is the transcript of the chat session:

[08:00] <MatthieuR> so shall we start on the BPEL / SCA topic a.k.a. ODE /
Tuscany ?
[08:00] <SamTam> yes..ofcourse...
[08:01] <MatthieuR> Alex is here as well, Lance tried to join us but he has
a firewall problem
[08:01] <MatthieuR> can't connect to IRC
[08:01] <ant> hi all
[08:01] <MatthieuR> hi ant
[08:01] <MatthieuR> how are you doing?
[08:02] <boisvert> Hi guys!
[08:02] <ant> doing fine...so Tuscany and Ode
[08:02] <ant> have you all had a look at the white paper and spec on the
osoa website?
[08:02] --> lmsurprenant has joined this channel (i=Lee@nat
/ibm/x-36f69103afa7a9f8).
[08:03] <boisvert> I'd like to know if anybody here has experience
integrating "engines" into Tuscany
[08:03] <boisvert> It would be good to have a model to follow
[08:03] <MatthieuR> I've had a look at the spec, not the white paper
[08:03] <SamTam> yes..i did look at the white paper ..Ant
[08:03] <SamTam> and SCA C & I model
[08:04] <ant> we have a few Tuscany containers now, which is whats reqd from
tuscany perspective, you can see the code at
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/
[08:05] <MatthieuR> all run under java and c++ or some only run on Java and
others on C++ ?
[08:05] <ant> those are only the java ones
[08:06] <MatthieuR> ok, nice
[08:06] <ant> the C++ has extensions as well but its quite seperate
[08:06] <MatthieuR> the code doesn't seem that big, that's nice
[08:06] <SamTam> Is there  another  way to contact SCA ie by bindings ? Am i
right Ant ?
[08:07] <boisvert> what kind of XML representation does Tuscany use
internally?   DOM?
[08:07] <ant> Sam, yes, but the bpel spec talks about using an
impelementtaion type not a binding
[08:07] <SamTam> oh ok Ant
[08:08] --> Amita has joined this channel (n=amita@59.95.20.0).
[08:08] <ant> there's a runtime databinding framework which means the
runtime will give the extension data in whatever type it requires
[08:08] <-- lmsurprenant has left this server (Read error: 131 (Connection
reset by peer)).
[08:09] <MatthieuR> and which types are currently supported?
[08:09] <ant> the extesnion tells the ri=untime what it requires, and maybe
contrabutes a databinding extension, and then the runtime uses that to
transform the message to whats needed
[08:09] <ant> right now there's sdo, jaxb, cator and axiom:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/databinding/
[08:10] <ant> i thnk also as part of the runtime DOM and StaAx
[08:10] <ant> what does Ode use internally?
[08:10] <boisvert> neat!
[08:10] <MatthieuR> mostly DOM
[08:11] <MatthieuR> we convert Axiom as well for Axis2
[08:11] <boisvert> and to/from JAXP Sources with JBI
[08:11] <MatthieuR> right
[08:11] <MatthieuR> I guess the format that would make sense for now would
be DOM
[08:12] <ant> so tuscany should be able to just give the Ode extension DOMs
so it should would quite easily
[08:12] <MatthieuR> so how many interfaces you need to implement to build a
container?
[08:15] <ant> ok so a container includes an scdl file defining the classes
it adds to the runtime, for example:
[08:15] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl
[08:16] <ant> the loader as the class that handles the XML config file
[08:17] <ant> for BPEL the spec defines the XML as:
[08:17] <ant> <component name="xs:NCName">*
[08:17] <ant>    <implementation.bpel process="xs:QName"/>
[08:17] <ant> </component>
[08:17] --> halehM has joined this channel (n=
hmahbod@c-24-6-126-243.hsd1.ca.comcast.net).
[08:18] <MatthieuR> makes sense
[08:18] <ant> so you need a class that has a type name of
implementation.bpel
[08:18] <ant> and that will pick up the process= attribute
[08:18] <MatthieuR> and how would deployment work? for now we use deployment
packages that contain BPEL files, WSDL and XSD files and a deployment
descriptor, so that's not only a BPEL
[08:19] <ant> what is your deployment package? sometheing liek a jar file?
[08:19] <SamTam> i think they have some war file..(ode.war) ..
[08:20] <MatthieuR> it's either a zip or an exploded directory version of it
that you can copy under a "well-known" location
[08:20] <MatthieuR> the war is the whole thing
[08:20] <SamTam> oh ok
[08:20] <MatthieuR> but when you deploy a "processes" directory gets created
in ode/WEB-INF
[08:21] <MatthieuR> so dropping a directory in processes containing all the
necessary files will trigger hot deployment
[08:21] <MatthieuR> but we also support remote deployment using a ws
interface
[08:21] <MatthieuR> and then you send a SOAP message using a MTOM attachment
with your zip file in there
[08:21] <MatthieuR> but that's for Axis2
[08:22] <MatthieuR> I guess the mechanism would be different with scca
[08:22] <MatthieuR> sca
[08:22] <ant> that would be with Ode handling the sending and receiveing of
WS messages
[08:23] <ant> yes, with a BPEl container i think Tuscany would need to
handle the sending/receiving
[08:23] <MatthieuR> right but the deployment in handled by Tuscany right?
and we would be notified when a complete service bundle is deployed (could
contain bpel, ruby and javascript)
[08:23] <ant> so as in the picture in the white paper:
http://osoa.org/display/Main/SCA+BPEL+White+Paper
[08:24] <MatthieuR> right
[08:24] <ant> in the simplest case the service and references would be wired
to WS bindings so the BPEL/Ode process would directly receive/send the WS
messages via tuscany
[08:24] <MatthieuR> yep
[08:25] <ant> one thing i wondered about, one of you samples talked about
receiveing back and endpoint from a partner link to use for future messages
[08:26] <MatthieuR> yes
[08:26] <ant> i'm not sure how we would support that
[08:26] <SamTam> Is partnerlink similar to Service and reference ?
[08:26] <MatthieuR> bpel supports assignment of partner links
[08:26] <MatthieuR> yes
[08:26] <MatthieuR> so you could receive a message containing an endpoint
[08:26] <MatthieuR> the easiest being a simple url
[08:26] <ant> what does "assignmengt of partner links" mean?
[08:27] <MatthieuR> and the you assign that endpoint to a partner link
[08:27] [Notice] -christel- [Global Notice] Hi again! I'm afraid we jumped
the gun a bit too early, the network is not under a DDoS attack, it appears
one of our staffers found a bug in our ircd. We should be all set and good
now. Thank you for using freenode and have a good day.
[08:27] <MatthieuR> it's like saying partnerlink.address = endpoint
[08:27] <MatthieuR> then when you invoke that partner link again
[08:27] <MatthieuR> you use the new endpoint that has just been assigned to
you
[08:28] <SamTam> client invokes BPEL by a partenrlink right ?
[08:28] <MatthieuR> yes
[08:28] <ant> right now we have no way of doing that in tuscany. the
endpoints associated with arefernece are static
[08:28] <MatthieuR> well, you declare a receive using a partner link
[08:29] <MatthieuR> and how these are called?
[08:29] <MatthieuR> so I define 10 references
[08:29] <MatthieuR> I could assign 1 of these to a partner link
[08:29] <MatthieuR> that would work as long as Tuscany knows them right?
[08:30] <ant> yes
[08:31] <MatthieuR> which interface do we have to implement to invoke
another service in Tuscany?
[08:33] <ant> so thee was the implementation loader we talked about earlier
[08:33] <ant> then there is a builder, eg:
[08:33] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/helper/ScriptHelperComponentBuilder.java
[08:34] <ant> that creates the runtime component for the container:
[08:34] --> lmsurprenant has joined this channel (i=Lee@nat
/ibm/x-0ebeb92ae1964323).
[08:34] <ant> eg:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/helper/ScriptHelperComponent.java
[08:35] <ant> there's SPI helper abstarct classes, AtomicComponentExtension
[08:35] <ant> which that uses
[08:35] <MatthieuR> right, that's the container implementation
[08:35] <MatthieuR> know say that the container has to invoke another
service
[08:35] <MatthieuR> we have a service name, port some kind of endpoint for
it
[08:36] <MatthieuR> how would we do that?
[08:36] <ant> that AtomicComponentExtension instance has the referneces set
on it by the runtime
[08:37] <ant> just finding the code, pc's a bit slow...
[08:37] <MatthieuR> no rush :)
[08:37] <ant> they're teh outbound wires
[08:37] <ant> so this code in the component:
[08:37] <ant>         for (List<OutboundWire> referenceWires :
getOutboundWires().values()) {
[08:37] <ant>             for (OutboundWire wire : referenceWires) {
[08:37] <ant>                 Object wireProxy = wireService.createProxy
(wire);
[08:37] <ant>                 context.put(wire.getReferenceName(),
wireProxy);
[08:37] <ant>             }
[08:38] <ant>         }
[08:38] <ant> gets a proxy impementing the java interface for all the
references
[08:38] <ant> for Ode i guess you may not need a proxy
[08:39] <MatthieuR> what is the proxy for?
[08:39] <ant> so ou could just get he wire handler  directly
[08:40] <MatthieuR> ok, I see
[08:40] <ant> its so you have a proxy object representing the reference
iterface, ie. a reference to a stockquote service would have a proxy with a
method float getQuote(String)
[08:41] <MatthieuR> ok, sounds fine
[08:41] <ant> but you probably don't need that and could just skip the proxy
and send message passing in the DOM and operation name
[08:41] <MatthieuR> yep
[08:42] <MatthieuR> now back to deployment, say I deploy a package with a
Javascript service, calling a BPEL service, calling a couple of ruby
services
[08:42] <MatthieuR> so I can have several js files in there, bpel and wsdl
files and several ruby files
[08:43] <MatthieuR> what does Tuscany gives to the engine? the list and
location of files associated with my service?
[08:45] <ant> i guess its up to you builder class to sort out. Th
eimplementation loader passes the implementation.bpel xml and creates an
Implementation, thats given to your Buidler class and its up to that to
create the component instance with whatever it needs
[08:45] <ant> it has access to varrious classloaders etc so can read files
and other config
[08:46] <ant> but its really down to the builder to get whatever it needs
[08:46] <MatthieuR> I see, to basically we would get the location of the
BPEL file and then would have to find the other things we need with that?
[08:46] <ant> the whole deployment thing is a bit vague in SCA right now,
apparently up coming versions of the spec may clarify some of that
[08:46] <ant> yes
[08:47] <MatthieuR> ok, I see
[08:47] <MatthieuR> Ode also needs several resources to run, like a
transaction manager, a datasource, a thread executor, ...
[08:48] <MatthieuR> are there ways to get some of these from Tuscany of
would we have to run with Tuscany, say, in Geronimo?
[08:48] <ant> there's a workScheduler thats passed in to the component
instance
[08:49] <MatthieuR> and for tx mgr and datasource?
[08:50] <ant> we don't do transactions just yet, but these things would just
be defined as Tuscany system services and the you'd autowire them to you
componnet with annotations
[08:50] <ant> looking for an example...
[08:52] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java
[08:52] <ant> in there it uses @Autowire to pick up things like the wsdl
registry
[08:53] <ant> so you'd could do the same type of thing
[08:53] <ant> what do you need a datasource for?
[08:53] <MatthieuR> getting database connections
[08:55] <ant> there's people working on that type of thing right now in
Tuscany but there's nothing going just yet
[08:55] <ant> maybe almost, i'd have to check
[08:55] <MatthieuR> ok
[08:56] <ant> I'm going to have to go soon
[08:56] --> mszefler has joined this channel (n=
mszefler@firewall.intalio.com).
[08:56] <MatthieuR> so for now we would have to implement Tuscany services
to provide a tx manager and a datasource
[08:56] <ant> so whats next
[08:56] <MatthieuR> ok
[08:57] <SamTam> can i say something ?
[08:57] <MatthieuR> sure :)
[08:57] <ant> we'llneed to discuss the bext way to handle those on the
mailing list i think, i'm sure some others will have ideas about how it
should be done
[08:57] <SamTam> why cant we try/start  a very simple helloworld program ...
[08:58] <SamTam> once things go well we can go for more complex things
[08:58] <MatthieuR> the thing is Ode will require a basic set of service to
do even simple things
[08:59] <SamTam> oh ok
[08:59] <ant> so take the Ode axis sample HelloWorld2
[08:59] <SamTam> i am having it ..
[08:59] <MatthieuR> yes, that would be the easiest example
[08:59] <MatthieuR> the thing you could start with
[08:59] <MatthieuR> is just having another SCA component invoke Ode
[08:59] <MatthieuR> without having Ode invoking anything
[09:00] <MatthieuR> just replying to you
[09:00] <MatthieuR> and then you can do the other side
[09:00] <MatthieuR> with Ode invoking somebody else
[09:00] <SamTam> I am listening
[09:00] <ant> so that would be an SCA service with a WS binding wired to a
ode bpel component wired to a reference with a ws binding for the partner
link
[09:00] <MatthieuR> for all resources, to start with you can reuse the Axis
implementation
[09:01] <MatthieuR> yep
[09:01] <SamTam> ok
[09:01] <MatthieuR> our Axis2 IL can run in fairly isolated environments,
like a simple Tomcat
[09:01] <MatthieuR> it's going to use Jotm as tx mgr and create its own
datasource
[09:02] <MatthieuR> and then you can clean up little by little and declare
these as Tuscany services
[09:02] <SamTam> ok..
[09:02] <MatthieuR> and we'll see maybe depending on feedback from the
mailing-list?
[09:02] <ant> that all sounds a reasonable approach to me
[09:02] <SamTam> will try my very best !
[09:03] <MatthieuR> ant you said you could setup a sandbox for sam to start
working?
[09:03] <MatthieuR> so we can check the code and myabe give him a hand here
and there?
[09:03] <-- oisin has left this server.
[09:03] <ant> yes, thats probably a good way to go
[09:03] <MatthieuR> yes, I think so too
[09:04] <MatthieuR> sam, would that be okay for you?
[09:04] <SamTam> actually i am little new  to this : one sec
[09:05] --> rfeng has joined this channel (n=
Raymond@adsl-75-35-118-25.dsl.pltn13.sbcglobal.net).
[09:05] --> oisin has joined this channel (n=oisin@62.221.7.122).
[09:05] <SamTam> ok..what is sandbox..a place to practice ?
[09:06] <ant> yes, just a place in SVN to put code
[09:06] <SamTam> ok..
[09:06] <ant> that way we can all see and add code to help things along
[09:06] <SamTam> i am in
[09:06] <MatthieuR> that would still mean working with patches right?
[09:07] <ant> unfortunately yes, i wonder if there's a way around that
[09:08] <ant> can maybe discuss that on the ML, but start with the sanbox
dir for now
[09:08] <MatthieuR> unfortunately I don't think so
[09:08] <MatthieuR> yes
[09:08] <MatthieuR> so sam you would have to create patches and attach them
to Jira issues
[09:09] <ant> is there a sponsoring PMC for Ode or is it the incubator PMC?
[09:09] <MatthieuR> maybe a single Jira issue at least for the start
[09:09] <SamTam> ok..will learn these things
[09:09] <MatthieuR> incubator PMX
[09:09] <MatthieuR> PMC sorry
[09:10] <MatthieuR> nobody could agree whether it should be ws, geronimo or
tlp
[09:10] <MatthieuR> so that will be decided upon graduation
[09:11] <ant> ok, i'll go set that up and send an email when done, maybe
copy in some template code and we can go  from there
[09:11] <MatthieuR> cool
[09:12] <ant> i still need to get Ode building so will try to sort that out
[09:12] <MatthieuR> I'll send an e-mail on tuscany-dev  to see if there are
things we can reuse for tx and datasource
[09:12] <ant> ok
[09:12] <MatthieuR> mhh it should build easily know, the apache infra seems
to be back on track
[09:13] <MatthieuR> are we finished?
[09:13] <ant> have tried whil on this chat, can't find:
org.apache.ode:ode-dao-hibernate-db-derby:tar:2.0-SNAPSHOT
[09:13] <ant> but i'll try to sort that out
[09:14] <MatthieuR> try to cd to 'dao-hibernate-db-derby' module, run maven
install and then run it again from the root
[09:14] <SamTam> Guys just one info : I am little new so i request you all
to help me out whenever needed
[09:14] <-- vanto has left this server (Read error: 110 (Connection timed
out)).
[09:14] <MatthieuR> sure
[09:14] <ant> of course, there's usually someone around on the tuscany irc
[09:15] <SamTam> thank you very much..
[09:15] <MatthieuR> no pb
[09:15] <SamTam> I am doing as my project for my course
[09:15] <MatthieuR> thank you for all your answers ant
[09:15] <SamTam> in college..
[09:15] <ant> Thank you, its been interesting
[09:15] <MatthieuR> yep
[09:16] <ant> we can all hlep you try to get a good mark ;)
[09:16] <SamTam> Thank you both for providing a good support
[09:16] <ant> i need to run...ttyal
[09:17] <SamTam> Me too...
[09:17] <SamTam> Bye Ant..
[09:17] <SamTam> Mattieu...I have to leave too
[09:19] <MatthieuR> ok, bye all
[09:19] <rajith> rfeng, hello
[09:19] <SamTam> Bye...Will keep you guys updated.. Bye

Re: IRC chat on Ode/Tuscany integration: Thursday 2nd Nov 4pm GMT/8amPST (was Re: SCA and BPEL)

Posted by Matthieu Riou <ma...@gmail.com>.
For those who couldn't attend, here is the transcript of the chat session:

[08:00] <MatthieuR> so shall we start on the BPEL / SCA topic a.k.a. ODE /
Tuscany ?
[08:00] <SamTam> yes..ofcourse...
[08:01] <MatthieuR> Alex is here as well, Lance tried to join us but he has
a firewall problem
[08:01] <MatthieuR> can't connect to IRC
[08:01] <ant> hi all
[08:01] <MatthieuR> hi ant
[08:01] <MatthieuR> how are you doing?
[08:02] <boisvert> Hi guys!
[08:02] <ant> doing fine...so Tuscany and Ode
[08:02] <ant> have you all had a look at the white paper and spec on the
osoa website?
[08:02] --> lmsurprenant has joined this channel (i=Lee@nat
/ibm/x-36f69103afa7a9f8).
[08:03] <boisvert> I'd like to know if anybody here has experience
integrating "engines" into Tuscany
[08:03] <boisvert> It would be good to have a model to follow
[08:03] <MatthieuR> I've had a look at the spec, not the white paper
[08:03] <SamTam> yes..i did look at the white paper ..Ant
[08:03] <SamTam> and SCA C & I model
[08:04] <ant> we have a few Tuscany containers now, which is whats reqd from
tuscany perspective, you can see the code at
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/
[08:05] <MatthieuR> all run under java and c++ or some only run on Java and
others on C++ ?
[08:05] <ant> those are only the java ones
[08:06] <MatthieuR> ok, nice
[08:06] <ant> the C++ has extensions as well but its quite seperate
[08:06] <MatthieuR> the code doesn't seem that big, that's nice
[08:06] <SamTam> Is there  another  way to contact SCA ie by bindings ? Am i
right Ant ?
[08:07] <boisvert> what kind of XML representation does Tuscany use
internally?   DOM?
[08:07] <ant> Sam, yes, but the bpel spec talks about using an
impelementtaion type not a binding
[08:07] <SamTam> oh ok Ant
[08:08] --> Amita has joined this channel (n=amita@59.95.20.0).
[08:08] <ant> there's a runtime databinding framework which means the
runtime will give the extension data in whatever type it requires
[08:08] <-- lmsurprenant has left this server (Read error: 131 (Connection
reset by peer)).
[08:09] <MatthieuR> and which types are currently supported?
[08:09] <ant> the extesnion tells the ri=untime what it requires, and maybe
contrabutes a databinding extension, and then the runtime uses that to
transform the message to whats needed
[08:09] <ant> right now there's sdo, jaxb, cator and axiom:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/databinding/
[08:10] <ant> i thnk also as part of the runtime DOM and StaAx
[08:10] <ant> what does Ode use internally?
[08:10] <boisvert> neat!
[08:10] <MatthieuR> mostly DOM
[08:11] <MatthieuR> we convert Axiom as well for Axis2
[08:11] <boisvert> and to/from JAXP Sources with JBI
[08:11] <MatthieuR> right
[08:11] <MatthieuR> I guess the format that would make sense for now would
be DOM
[08:12] <ant> so tuscany should be able to just give the Ode extension DOMs
so it should would quite easily
[08:12] <MatthieuR> so how many interfaces you need to implement to build a
container?
[08:15] <ant> ok so a container includes an scdl file defining the classes
it adds to the runtime, for example:
[08:15] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.javascript/src/main/resources/META-INF/sca/default.scdl
[08:16] <ant> the loader as the class that handles the XML config file
[08:17] <ant> for BPEL the spec defines the XML as:
[08:17] <ant> <component name="xs:NCName">*
[08:17] <ant>    <implementation.bpel process="xs:QName"/>
[08:17] <ant> </component>
[08:17] --> halehM has joined this channel (n=
hmahbod@c-24-6-126-243.hsd1.ca.comcast.net).
[08:18] <MatthieuR> makes sense
[08:18] <ant> so you need a class that has a type name of
implementation.bpel
[08:18] <ant> and that will pick up the process= attribute
[08:18] <MatthieuR> and how would deployment work? for now we use deployment
packages that contain BPEL files, WSDL and XSD files and a deployment
descriptor, so that's not only a BPEL
[08:19] <ant> what is your deployment package? sometheing liek a jar file?
[08:19] <SamTam> i think they have some war file..(ode.war) ..
[08:20] <MatthieuR> it's either a zip or an exploded directory version of it
that you can copy under a "well-known" location
[08:20] <MatthieuR> the war is the whole thing
[08:20] <SamTam> oh ok
[08:20] <MatthieuR> but when you deploy a "processes" directory gets created
in ode/WEB-INF
[08:21] <MatthieuR> so dropping a directory in processes containing all the
necessary files will trigger hot deployment
[08:21] <MatthieuR> but we also support remote deployment using a ws
interface
[08:21] <MatthieuR> and then you send a SOAP message using a MTOM attachment
with your zip file in there
[08:21] <MatthieuR> but that's for Axis2
[08:22] <MatthieuR> I guess the mechanism would be different with scca
[08:22] <MatthieuR> sca
[08:22] <ant> that would be with Ode handling the sending and receiveing of
WS messages
[08:23] <ant> yes, with a BPEl container i think Tuscany would need to
handle the sending/receiving
[08:23] <MatthieuR> right but the deployment in handled by Tuscany right?
and we would be notified when a complete service bundle is deployed (could
contain bpel, ruby and javascript)
[08:23] <ant> so as in the picture in the white paper:
http://osoa.org/display/Main/SCA+BPEL+White+Paper
[08:24] <MatthieuR> right
[08:24] <ant> in the simplest case the service and references would be wired
to WS bindings so the BPEL/Ode process would directly receive/send the WS
messages via tuscany
[08:24] <MatthieuR> yep
[08:25] <ant> one thing i wondered about, one of you samples talked about
receiveing back and endpoint from a partner link to use for future messages
[08:26] <MatthieuR> yes
[08:26] <ant> i'm not sure how we would support that
[08:26] <SamTam> Is partnerlink similar to Service and reference ?
[08:26] <MatthieuR> bpel supports assignment of partner links
[08:26] <MatthieuR> yes
[08:26] <MatthieuR> so you could receive a message containing an endpoint
[08:26] <MatthieuR> the easiest being a simple url
[08:26] <ant> what does "assignmengt of partner links" mean?
[08:27] <MatthieuR> and the you assign that endpoint to a partner link
[08:27] [Notice] -christel- [Global Notice] Hi again! I'm afraid we jumped
the gun a bit too early, the network is not under a DDoS attack, it appears
one of our staffers found a bug in our ircd. We should be all set and good
now. Thank you for using freenode and have a good day.
[08:27] <MatthieuR> it's like saying partnerlink.address = endpoint
[08:27] <MatthieuR> then when you invoke that partner link again
[08:27] <MatthieuR> you use the new endpoint that has just been assigned to
you
[08:28] <SamTam> client invokes BPEL by a partenrlink right ?
[08:28] <MatthieuR> yes
[08:28] <ant> right now we have no way of doing that in tuscany. the
endpoints associated with arefernece are static
[08:28] <MatthieuR> well, you declare a receive using a partner link
[08:29] <MatthieuR> and how these are called?
[08:29] <MatthieuR> so I define 10 references
[08:29] <MatthieuR> I could assign 1 of these to a partner link
[08:29] <MatthieuR> that would work as long as Tuscany knows them right?
[08:30] <ant> yes
[08:31] <MatthieuR> which interface do we have to implement to invoke
another service in Tuscany?
[08:33] <ant> so thee was the implementation loader we talked about earlier
[08:33] <ant> then there is a builder, eg:
[08:33] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/helper/ScriptHelperComponentBuilder.java
[08:34] <ant> that creates the runtime component for the container:
[08:34] --> lmsurprenant has joined this channel (i=Lee@nat
/ibm/x-0ebeb92ae1964323).
[08:34] <ant> eg:
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/helper/ScriptHelperComponent.java
[08:35] <ant> there's SPI helper abstarct classes, AtomicComponentExtension
[08:35] <ant> which that uses
[08:35] <MatthieuR> right, that's the container implementation
[08:35] <MatthieuR> know say that the container has to invoke another
service
[08:35] <MatthieuR> we have a service name, port some kind of endpoint for
it
[08:36] <MatthieuR> how would we do that?
[08:36] <ant> that AtomicComponentExtension instance has the referneces set
on it by the runtime
[08:37] <ant> just finding the code, pc's a bit slow...
[08:37] <MatthieuR> no rush :)
[08:37] <ant> they're teh outbound wires
[08:37] <ant> so this code in the component:
[08:37] <ant>         for (List<OutboundWire> referenceWires :
getOutboundWires().values()) {
[08:37] <ant>             for (OutboundWire wire : referenceWires) {
[08:37] <ant>                 Object wireProxy = wireService.createProxy
(wire);
[08:37] <ant>                 context.put(wire.getReferenceName(),
wireProxy);
[08:37] <ant>             }
[08:38] <ant>         }
[08:38] <ant> gets a proxy impementing the java interface for all the
references
[08:38] <ant> for Ode i guess you may not need a proxy
[08:39] <MatthieuR> what is the proxy for?
[08:39] <ant> so ou could just get he wire handler  directly
[08:40] <MatthieuR> ok, I see
[08:40] <ant> its so you have a proxy object representing the reference
iterface, ie. a reference to a stockquote service would have a proxy with a
method float getQuote(String)
[08:41] <MatthieuR> ok, sounds fine
[08:41] <ant> but you probably don't need that and could just skip the proxy
and send message passing in the DOM and operation name
[08:41] <MatthieuR> yep
[08:42] <MatthieuR> now back to deployment, say I deploy a package with a
Javascript service, calling a BPEL service, calling a couple of ruby
services
[08:42] <MatthieuR> so I can have several js files in there, bpel and wsdl
files and several ruby files
[08:43] <MatthieuR> what does Tuscany gives to the engine? the list and
location of files associated with my service?
[08:45] <ant> i guess its up to you builder class to sort out. Th
eimplementation loader passes the implementation.bpel xml and creates an
Implementation, thats given to your Buidler class and its up to that to
create the component instance with whatever it needs
[08:45] <ant> it has access to varrious classloaders etc so can read files
and other config
[08:46] <ant> but its really down to the builder to get whatever it needs
[08:46] <MatthieuR> I see, to basically we would get the location of the
BPEL file and then would have to find the other things we need with that?
[08:46] <ant> the whole deployment thing is a bit vague in SCA right now,
apparently up coming versions of the spec may clarify some of that
[08:46] <ant> yes
[08:47] <MatthieuR> ok, I see
[08:47] <MatthieuR> Ode also needs several resources to run, like a
transaction manager, a datasource, a thread executor, ...
[08:48] <MatthieuR> are there ways to get some of these from Tuscany of
would we have to run with Tuscany, say, in Geronimo?
[08:48] <ant> there's a workScheduler thats passed in to the component
instance
[08:49] <MatthieuR> and for tx mgr and datasource?
[08:50] <ant> we don't do transactions just yet, but these things would just
be defined as Tuscany system services and the you'd autowire them to you
componnet with annotations
[08:50] <ant> looking for an example...
[08:52] <ant>
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/WebServiceBindingLoader.java
[08:52] <ant> in there it uses @Autowire to pick up things like the wsdl
registry
[08:53] <ant> so you'd could do the same type of thing
[08:53] <ant> what do you need a datasource for?
[08:53] <MatthieuR> getting database connections
[08:55] <ant> there's people working on that type of thing right now in
Tuscany but there's nothing going just yet
[08:55] <ant> maybe almost, i'd have to check
[08:55] <MatthieuR> ok
[08:56] <ant> I'm going to have to go soon
[08:56] --> mszefler has joined this channel (n=
mszefler@firewall.intalio.com).
[08:56] <MatthieuR> so for now we would have to implement Tuscany services
to provide a tx manager and a datasource
[08:56] <ant> so whats next
[08:56] <MatthieuR> ok
[08:57] <SamTam> can i say something ?
[08:57] <MatthieuR> sure :)
[08:57] <ant> we'llneed to discuss the bext way to handle those on the
mailing list i think, i'm sure some others will have ideas about how it
should be done
[08:57] <SamTam> why cant we try/start  a very simple helloworld program ...
[08:58] <SamTam> once things go well we can go for more complex things
[08:58] <MatthieuR> the thing is Ode will require a basic set of service to
do even simple things
[08:59] <SamTam> oh ok
[08:59] <ant> so take the Ode axis sample HelloWorld2
[08:59] <SamTam> i am having it ..
[08:59] <MatthieuR> yes, that would be the easiest example
[08:59] <MatthieuR> the thing you could start with
[08:59] <MatthieuR> is just having another SCA component invoke Ode
[08:59] <MatthieuR> without having Ode invoking anything
[09:00] <MatthieuR> just replying to you
[09:00] <MatthieuR> and then you can do the other side
[09:00] <MatthieuR> with Ode invoking somebody else
[09:00] <SamTam> I am listening
[09:00] <ant> so that would be an SCA service with a WS binding wired to a
ode bpel component wired to a reference with a ws binding for the partner
link
[09:00] <MatthieuR> for all resources, to start with you can reuse the Axis
implementation
[09:01] <MatthieuR> yep
[09:01] <SamTam> ok
[09:01] <MatthieuR> our Axis2 IL can run in fairly isolated environments,
like a simple Tomcat
[09:01] <MatthieuR> it's going to use Jotm as tx mgr and create its own
datasource
[09:02] <MatthieuR> and then you can clean up little by little and declare
these as Tuscany services
[09:02] <SamTam> ok..
[09:02] <MatthieuR> and we'll see maybe depending on feedback from the
mailing-list?
[09:02] <ant> that all sounds a reasonable approach to me
[09:02] <SamTam> will try my very best !
[09:03] <MatthieuR> ant you said you could setup a sandbox for sam to start
working?
[09:03] <MatthieuR> so we can check the code and myabe give him a hand here
and there?
[09:03] <-- oisin has left this server.
[09:03] <ant> yes, thats probably a good way to go
[09:03] <MatthieuR> yes, I think so too
[09:04] <MatthieuR> sam, would that be okay for you?
[09:04] <SamTam> actually i am little new  to this : one sec
[09:05] --> rfeng has joined this channel (n=
Raymond@adsl-75-35-118-25.dsl.pltn13.sbcglobal.net).
[09:05] --> oisin has joined this channel (n=oisin@62.221.7.122).
[09:05] <SamTam> ok..what is sandbox..a place to practice ?
[09:06] <ant> yes, just a place in SVN to put code
[09:06] <SamTam> ok..
[09:06] <ant> that way we can all see and add code to help things along
[09:06] <SamTam> i am in
[09:06] <MatthieuR> that would still mean working with patches right?
[09:07] <ant> unfortunately yes, i wonder if there's a way around that
[09:08] <ant> can maybe discuss that on the ML, but start with the sanbox
dir for now
[09:08] <MatthieuR> unfortunately I don't think so
[09:08] <MatthieuR> yes
[09:08] <MatthieuR> so sam you would have to create patches and attach them
to Jira issues
[09:09] <ant> is there a sponsoring PMC for Ode or is it the incubator PMC?
[09:09] <MatthieuR> maybe a single Jira issue at least for the start
[09:09] <SamTam> ok..will learn these things
[09:09] <MatthieuR> incubator PMX
[09:09] <MatthieuR> PMC sorry
[09:10] <MatthieuR> nobody could agree whether it should be ws, geronimo or
tlp
[09:10] <MatthieuR> so that will be decided upon graduation
[09:11] <ant> ok, i'll go set that up and send an email when done, maybe
copy in some template code and we can go  from there
[09:11] <MatthieuR> cool
[09:12] <ant> i still need to get Ode building so will try to sort that out
[09:12] <MatthieuR> I'll send an e-mail on tuscany-dev  to see if there are
things we can reuse for tx and datasource
[09:12] <ant> ok
[09:12] <MatthieuR> mhh it should build easily know, the apache infra seems
to be back on track
[09:13] <MatthieuR> are we finished?
[09:13] <ant> have tried whil on this chat, can't find:
org.apache.ode:ode-dao-hibernate-db-derby:tar:2.0-SNAPSHOT
[09:13] <ant> but i'll try to sort that out
[09:14] <MatthieuR> try to cd to 'dao-hibernate-db-derby' module, run maven
install and then run it again from the root
[09:14] <SamTam> Guys just one info : I am little new so i request you all
to help me out whenever needed
[09:14] <-- vanto has left this server (Read error: 110 (Connection timed
out)).
[09:14] <MatthieuR> sure
[09:14] <ant> of course, there's usually someone around on the tuscany irc
[09:15] <SamTam> thank you very much..
[09:15] <MatthieuR> no pb
[09:15] <SamTam> I am doing as my project for my course
[09:15] <MatthieuR> thank you for all your answers ant
[09:15] <SamTam> in college..
[09:15] <ant> Thank you, its been interesting
[09:15] <MatthieuR> yep
[09:16] <ant> we can all hlep you try to get a good mark ;)
[09:16] <SamTam> Thank you both for providing a good support
[09:16] <ant> i need to run...ttyal
[09:17] <SamTam> Me too...
[09:17] <SamTam> Bye Ant..
[09:17] <SamTam> Mattieu...I have to leave too
[09:19] <MatthieuR> ok, bye all
[09:19] <rajith> rfeng, hello
[09:19] <SamTam> Bye...Will keep you guys updated.. Bye