Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-28 Thread Piotr Bzdyl
Hi,

I would also like to participate in this session. When are you going
to send data about the location of the IRC session?

I have also another question: could you recommend any easy in use IRC
client (for Windows preferably)? I haven't been using IRC (except one
or two times).

Best regards,
Piotr

On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 Any other people interested ?

 Cheers,
 Guillaume Nodet

 On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:

  I'd be up for a few chat sessions!
 
  On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 
  Btw, if there is sufficient interest, we could organize irc meetings
  to discuss these topics and post the log to the dev list for
  archiving
  and later discussion.
 
  Cheers,
  Guillaume Nodet
 
  On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:
 
  As I explained in the other thread, I've been working on a new API
  for ServiceMix 4.0.
  Hopefully this will serve as an input for JBI 2.0.
  This API is available at  https://svn.apache.org/repos/asf/
  incubator/servicemix/branches/servicemix-4.0/api
 
  So here a few key changes:
* clean integration with OSGi
* the NormalizedMessage can contain not only XML
* no more components
* no more JBI packaging (just use OSGi bundles)
* move the Channel to the Endpoint
* use push delivery instead of pulling exchanges
* introduce a single interface for identifying the Target of an
  Exchange
 
  As we remove components, everything goes down to the endpoint which
  become a key feature.
 
  The endpoint must implement the Endpoint interface.  In OSGi, the
  NMR would listen to endpoints
  registered in the OSGi registry and call the registry to register /
  unregister the endpoints.
  As part of the endpoint registration, the NMR would inject a
  Channel into them, thus actually activating the
  endpoint.  I guess I could write a sequence diagram for that
  (anybody knows a good tool for uml ?).
  In a non OSGI environment, the Endpoint will be registered in the
  Registry by calling the register method
  somehow.
 
  The Endpoint receives Exchange to be processed on the process
  method.
  I think we should keep the JBI 1.0 semantics and the endpoint use
  the same process as for JBI 1.0, which is
  send the exchange back using the Channel (with the response /
  fault / error / done).  This will put the threading,
  transactions and security burden on the container itself.  Which
  means it is easier to write JBI apps :-)
 
  Exchanges can be created using the Channel#createExchange method.
  The only change I'd like to
  integrate in the messaging API is to allow for non xml payloads and
  maybe untyped attachments.  The body
  could be converted automatically to a given type if supported (I
  think Camel does it nicely, so I'm thinking of
  shamelessly copying the converter layer).  I have added a few
  helper methods on the exchanges and
  messages (copy, copyFrom, ensureReReadable, display) to ease
  message management.
 
  For the deployment part, there is no packaging anymore.  One would
  deploy an OSGi bundle that would
  register the needed endpoints in the OSGi registry.  For certain
  types of endpoints, we may need an external
  activation process (such as creating a server socket for listening
  to HTTP requests) that may need to be shared
  across endpoints of a given type.  In such a case, you would deploy
  a component that listens to new
  endpoints implementing HttpEndpoint for example.  When a new
  endpoint is registered, the listener would
  activate a server socket that could be shared across all http
  endpoints.   In a different way, if we have  a BPEL
  engine, the bpel component  would listen for new bundles and look
  for a specific file containing deployment
  information. The component would register new endpoints in the OSGi
  registry as needed (we could do that
  for jaxws pojos using cxf for example).
  So I said there is no more components, because this feature is not
  in the api anymore, but we will certainly need
  these components for some use cases.   For simple endpoints, you
  would not need any component at all.
  Another benefit is that you can easily deploy a whole application
  inside a single OSGi bundle.  Using spring-osgi,
  the bundle would just consist in a spring configuration file
  containing the endpoints declaration and expose them
  as OSGi services.
 
  Of course, we need to write a JBI 1.0 compatibility layer, and we
  could have an intermediate layer where SAs and
  JBI components could be OSGi bundles directly, thus leveraging the
  OSGi classloading mechanism.
 
  The thing I'm not completely sure about if the Target interface
  which aims to identify the target of an exchange.
  I'm thinking that some metadata are associated with endpoints (like
  service name, interface name, wsdl
  location, etc..).   These metadatas could be used to retrieve
  targets using the Registry.  We could plug in different
  mechanisms to 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-28 Thread Nodet Guillaume


On Aug 28, 2007, at 2:48 PM, Piotr Bzdyl wrote:


Hi,

I would also like to participate in this session. When are you going
to send data about the location of the IRC session?


See http://www.nabble.com/forum/ViewPost.jtp? 
post=12323536framed=yskin=12049

We will use the standard IRC channel:
  see http://incubator.apache.org/servicemix/irc.html



I have also another question: could you recommend any easy in use IRC
client (for Windows preferably)? I haven't been using IRC (except one
or two times).


Before switching to mac, I was using xchat.
See http://www.xchat.org/

Cheers,
Guillaume Nodet



Best regards,
Piotr

On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:

Any other people interested ?

Cheers,
Guillaume Nodet

On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:


I'd be up for a few chat sessions!

On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:


Btw, if there is sufficient interest, we could organize irc  
meetings

to discuss these topics and post the log to the dev list for
archiving
and later discussion.

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:


As I explained in the other thread, I've been working on a new API
for ServiceMix 4.0.
Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/
incubator/servicemix/branches/servicemix-4.0/api

So here a few key changes:
  * clean integration with OSGi
  * the NormalizedMessage can contain not only XML
  * no more components
  * no more JBI packaging (just use OSGi bundles)
  * move the Channel to the Endpoint
  * use push delivery instead of pulling exchanges
  * introduce a single interface for identifying the Target of an
Exchange

As we remove components, everything goes down to the endpoint  
which

become a key feature.

The endpoint must implement the Endpoint interface.  In OSGi, the
NMR would listen to endpoints
registered in the OSGi registry and call the registry to  
register /

unregister the endpoints.
As part of the endpoint registration, the NMR would inject a
Channel into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that
(anybody knows a good tool for uml ?).
In a non OSGI environment, the Endpoint will be registered in the
Registry by calling the register method
somehow.

The Endpoint receives Exchange to be processed on the process
method.
I think we should keep the JBI 1.0 semantics and the endpoint use
the same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response /
fault / error / done).  This will put the threading,
transactions and security burden on the container itself.  Which
means it is easier to write JBI apps :-)

Exchanges can be created using the Channel#createExchange method.
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads  
and

maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few
helper methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease
message management.

For the deployment part, there is no packaging anymore.  One would
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain
types of endpoints, we may need an external
activation process (such as creating a server socket for listening
to HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would  
deploy

a component that listens to new
endpoints implementing HttpEndpoint for example.  When a new
endpoint is registered, the listener would
activate a server socket that could be shared across all http
endpoints.   In a different way, if we have  a BPEL
engine, the bpel component  would listen for new bundles and  
look

for a specific file containing deployment
information. The component would register new endpoints in the  
OSGi

registry as needed (we could do that
for jaxws pojos using cxf for example).
So I said there is no more components, because this feature is not
in the api anymore, but we will certainly need
these components for some use cases.   For simple endpoints, you
would not need any component at all.
Another benefit is that you can easily deploy a whole application
inside a single OSGi bundle.  Using spring-osgi,
the bundle would just consist in a spring configuration file
containing the endpoints declaration and expose them
as OSGi services.

Of course, we need to write a JBI 1.0 compatibility layer, and we
could have an intermediate layer where SAs and
JBI components could be OSGi bundles directly, thus leveraging the
OSGi classloading mechanism.

The thing I'm not completely sure about if the Target interface
which aims to identify the target of an exchange.
I'm thinking that some metadata are associated with endpoints  
(like

service 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-28 Thread Daryl Richter

On Aug 28, 2007, at 8:53 AM, Nodet Guillaume wrote:



On Aug 28, 2007, at 2:48 PM, Piotr Bzdyl wrote:


Hi,

I would also like to participate in this session. When are you going
to send data about the location of the IRC session?


See http://www.nabble.com/forum/ViewPost.jtp? 
post=12323536framed=yskin=12049

We will use the standard IRC channel:
  see http://incubator.apache.org/servicemix/irc.html



I have also another question: could you recommend any easy in use IRC
client (for Windows preferably)? I haven't been using IRC (except one
or two times).


Before switching to mac, I was using xchat.
See http://www.xchat.org/


So, now that you are on mac, what do you use?  ;)  (Another IRC newbie)



Cheers,
Guillaume Nodet





--
Daryl
Email *my = [ daryl at: @eddl dot: @us ];
Weblog *blog = @”http://itsallsemantics.com”;





Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-28 Thread Nodet Guillaume

I'm using Colloquy (http://colloquy.info/)

Cheers,
Guillaume Nodet


On Aug 28, 2007, at 11:57 PM, Daryl Richter wrote:


On Aug 28, 2007, at 8:53 AM, Nodet Guillaume wrote:



On Aug 28, 2007, at 2:48 PM, Piotr Bzdyl wrote:


Hi,

I would also like to participate in this session. When are you going
to send data about the location of the IRC session?


See http://www.nabble.com/forum/ViewPost.jtp? 
post=12323536framed=yskin=12049

We will use the standard IRC channel:
  see http://incubator.apache.org/servicemix/irc.html



I have also another question: could you recommend any easy in use  
IRC
client (for Windows preferably)? I haven't been using IRC (except  
one

or two times).


Before switching to mac, I was using xchat.
See http://www.xchat.org/


So, now that you are on mac, what do you use?  ;)  (Another IRC  
newbie)




Cheers,
Guillaume Nodet





--
Daryl
Email *my = [ daryl at: @eddl dot: @us ];
Weblog *blog = @”http://itsallsemantics.com”;







Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-28 Thread Bruce Snyder
On 8/28/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 I'm using Colloquy (http://colloquy.info/)

Yeah, I've used it for the last few years. It's not as comprehensive
in functionality as some of the hard-core IRC clients for Linux (e.g.,
BitchX, etc.) but it's pretty nice and perfect for MacOS.

Bruce
-- 
perl -e 'print unpack(u30,D0G)[EMAIL 
PROTECTED]5R\F)R=6-E+G-N61ED\!G;6%I;\YC;VT*
);'

Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Castor - http://castor.org/


Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-27 Thread Daryl Richter

On Aug 25, 2007, at 2:12 AM, Nodet Guillaume wrote:


Ok, sounds like we have enough people.
So we just need to find a data and an hour.
What about Friday 3 pm GMT,  11 am EST, 8 am PST
Adrian, I'm not sure how to find a time that would suits you...
Other propositions are welcome...


+1



Cheers,
Guillaume Nodet



--
Daryl
http://itsallsemantics.com

Under capitalism, man exploits man.
 Under communism, it's just the opposite.
-- John Kenneth Galbraith



Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-27 Thread Adrian Co

It's fine. I'll try to join in when I can or just read the logs. :)

Nodet Guillaume wrote:

Ok, sounds like we have enough people.
So we just need to find a data and an hour.
What about Friday 3 pm GMT,  11 am EST, 8 am PST
Adrian, I'm not sure how to find a time that would suits you...
Other propositions are welcome...

Cheers,
Guillaume Nodet

On Aug 24, 2007, at 11:04 AM, Nodet Guillaume wrote:


Any other people interested ?

Cheers,
Guillaume Nodet

On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:


I'd be up for a few chat sessions!

On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:


Btw, if there is sufficient interest, we could organize irc meetings
to discuss these topics and post the log to the dev list for archiving
and later discussion.

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:


As I explained in the other thread, I've been working on a new API
for ServiceMix 4.0.
Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/
incubator/servicemix/branches/servicemix-4.0/api

So here a few key changes:
  * clean integration with OSGi
  * the NormalizedMessage can contain not only XML
  * no more components
  * no more JBI packaging (just use OSGi bundles)
  * move the Channel to the Endpoint
  * use push delivery instead of pulling exchanges
  * introduce a single interface for identifying the Target of an
Exchange

As we remove components, everything goes down to the endpoint which
become a key feature.

The endpoint must implement the Endpoint interface.  In OSGi, the
NMR would listen to endpoints
registered in the OSGi registry and call the registry to register /
unregister the endpoints.
As part of the endpoint registration, the NMR would inject a
Channel into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that
(anybody knows a good tool for uml ?).
In a non OSGI environment, the Endpoint will be registered in the
Registry by calling the register method
somehow.

The Endpoint receives Exchange to be processed on the process method.
I think we should keep the JBI 1.0 semantics and the endpoint use
the same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response /
fault / error / done).  This will put the threading,
transactions and security burden on the container itself.  Which
means it is easier to write JBI apps :-)

Exchanges can be created using the Channel#createExchange method.
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads and
maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few
helper methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease
message management.

For the deployment part, there is no packaging anymore.  One would
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain
types of endpoints, we may need an external
activation process (such as creating a server socket for listening
to HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would deploy
a component that listens to new
endpoints implementing HttpEndpoint for example.  When a new
endpoint is registered, the listener would
activate a server socket that could be shared across all http
endpoints.   In a different way, if we have  a BPEL
engine, the bpel component  would listen for new bundles and look
for a specific file containing deployment
information. The component would register new endpoints in the OSGi
registry as needed (we could do that
for jaxws pojos using cxf for example).
So I said there is no more components, because this feature is not
in the api anymore, but we will certainly need
these components for some use cases.   For simple endpoints, you
would not need any component at all.
Another benefit is that you can easily deploy a whole application
inside a single OSGi bundle.  Using spring-osgi,
the bundle would just consist in a spring configuration file
containing the endpoints declaration and expose them
as OSGi services.

Of course, we need to write a JBI 1.0 compatibility layer, and we
could have an intermediate layer where SAs and
JBI components could be OSGi bundles directly, thus leveraging the
OSGi classloading mechanism.

The thing I'm not completely sure about if the Target interface
which aims to identify the target of an exchange.
I'm thinking that some metadata are associated with endpoints (like
service name, interface name, wsdl
location, etc..).   These metadatas could be used to retrieve
targets using the Registry.  We could plug in different
mechanisms to query the metadata (simple lookup per id, policy
based, etc...).  And the result itself could be
not only a single Endpoint, but could include some 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-27 Thread Eric Dofonsou
+1

- Original Message 
From: Daryl Richter [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, August 27, 2007 7:34:08 AM
Subject: Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)


On Aug 25, 2007, at 2:12 AM, Nodet Guillaume wrote:

 Ok, sounds like we have enough people.
 So we just need to find a data and an hour.
 What about Friday 3 pm GMT,  11 am EST, 8 am PST
 Adrian, I'm not sure how to find a time that would suits you...
 Other propositions are welcome...

+1


 Cheers,
 Guillaume Nodet


-- 
Daryl
http://itsallsemantics.com

Under capitalism, man exploits man.
  Under communism, it's just the opposite.
 -- John Kenneth Galbraith


   

Building a website is a piece of cake. Yahoo! Small Business gives you all the 
tools to get online.
http://smallbusiness.yahoo.com/webhosting


Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-25 Thread Nodet Guillaume

Ok, sounds like we have enough people.
So we just need to find a data and an hour.
What about Friday 3 pm GMT,  11 am EST, 8 am PST
Adrian, I'm not sure how to find a time that would suits you...
Other propositions are welcome...

Cheers,
Guillaume Nodet

On Aug 24, 2007, at 11:04 AM, Nodet Guillaume wrote:


Any other people interested ?

Cheers,
Guillaume Nodet

On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:


I'd be up for a few chat sessions!

On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:


Btw, if there is sufficient interest, we could organize irc meetings
to discuss these topics and post the log to the dev list for  
archiving

and later discussion.

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:


As I explained in the other thread, I've been working on a new API
for ServiceMix 4.0.
Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/
incubator/servicemix/branches/servicemix-4.0/api

So here a few key changes:
  * clean integration with OSGi
  * the NormalizedMessage can contain not only XML
  * no more components
  * no more JBI packaging (just use OSGi bundles)
  * move the Channel to the Endpoint
  * use push delivery instead of pulling exchanges
  * introduce a single interface for identifying the Target of an
Exchange

As we remove components, everything goes down to the endpoint which
become a key feature.

The endpoint must implement the Endpoint interface.  In OSGi, the
NMR would listen to endpoints
registered in the OSGi registry and call the registry to register /
unregister the endpoints.
As part of the endpoint registration, the NMR would inject a
Channel into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that
(anybody knows a good tool for uml ?).
In a non OSGI environment, the Endpoint will be registered in the
Registry by calling the register method
somehow.

The Endpoint receives Exchange to be processed on the process  
method.

I think we should keep the JBI 1.0 semantics and the endpoint use
the same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response /
fault / error / done).  This will put the threading,
transactions and security burden on the container itself.  Which
means it is easier to write JBI apps :-)

Exchanges can be created using the Channel#createExchange method.
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads and
maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few
helper methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease
message management.

For the deployment part, there is no packaging anymore.  One would
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain
types of endpoints, we may need an external
activation process (such as creating a server socket for listening
to HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would deploy
a component that listens to new
endpoints implementing HttpEndpoint for example.  When a new
endpoint is registered, the listener would
activate a server socket that could be shared across all http
endpoints.   In a different way, if we have  a BPEL
engine, the bpel component  would listen for new bundles and look
for a specific file containing deployment
information. The component would register new endpoints in the OSGi
registry as needed (we could do that
for jaxws pojos using cxf for example).
So I said there is no more components, because this feature is not
in the api anymore, but we will certainly need
these components for some use cases.   For simple endpoints, you
would not need any component at all.
Another benefit is that you can easily deploy a whole application
inside a single OSGi bundle.  Using spring-osgi,
the bundle would just consist in a spring configuration file
containing the endpoints declaration and expose them
as OSGi services.

Of course, we need to write a JBI 1.0 compatibility layer, and we
could have an intermediate layer where SAs and
JBI components could be OSGi bundles directly, thus leveraging the
OSGi classloading mechanism.

The thing I'm not completely sure about if the Target interface
which aims to identify the target of an exchange.
I'm thinking that some metadata are associated with endpoints (like
service name, interface name, wsdl
location, etc..).   These metadatas could be used to retrieve
targets using the Registry.  We could plug in different
mechanisms to query the metadata (simple lookup per id, policy
based, etc...).  And the result itself could be
not only a single Endpoint, but could include some policies like:
load balance between all the endpoint implementing
the given interface, 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-25 Thread Brian O'Neill
works for me.
-brian

On 8/25/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 Ok, sounds like we have enough people.
 So we just need to find a data and an hour.
 What about Friday 3 pm GMT,  11 am EST, 8 am PST
 Adrian, I'm not sure how to find a time that would suits you...
 Other propositions are welcome...

 Cheers,
 Guillaume Nodet

 On Aug 24, 2007, at 11:04 AM, Nodet Guillaume wrote:

  Any other people interested ?
 
  Cheers,
  Guillaume Nodet
 
  On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:
 
  I'd be up for a few chat sessions!
 
  On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 
  Btw, if there is sufficient interest, we could organize irc meetings
  to discuss these topics and post the log to the dev list for
  archiving
  and later discussion.
 
  Cheers,
  Guillaume Nodet
 
  On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:
 
  As I explained in the other thread, I've been working on a new API
  for ServiceMix 4.0.
  Hopefully this will serve as an input for JBI 2.0.
  This API is available at  https://svn.apache.org/repos/asf/
  incubator/servicemix/branches/servicemix-4.0/api
 
  So here a few key changes:
* clean integration with OSGi
* the NormalizedMessage can contain not only XML
* no more components
* no more JBI packaging (just use OSGi bundles)
* move the Channel to the Endpoint
* use push delivery instead of pulling exchanges
* introduce a single interface for identifying the Target of an
  Exchange
 
  As we remove components, everything goes down to the endpoint which
  become a key feature.
 
  The endpoint must implement the Endpoint interface.  In OSGi, the
  NMR would listen to endpoints
  registered in the OSGi registry and call the registry to register /
  unregister the endpoints.
  As part of the endpoint registration, the NMR would inject a
  Channel into them, thus actually activating the
  endpoint.  I guess I could write a sequence diagram for that
  (anybody knows a good tool for uml ?).
  In a non OSGI environment, the Endpoint will be registered in the
  Registry by calling the register method
  somehow.
 
  The Endpoint receives Exchange to be processed on the process
  method.
  I think we should keep the JBI 1.0 semantics and the endpoint use
  the same process as for JBI 1.0, which is
  send the exchange back using the Channel (with the response /
  fault / error / done).  This will put the threading,
  transactions and security burden on the container itself.  Which
  means it is easier to write JBI apps :-)
 
  Exchanges can be created using the Channel#createExchange method.
  The only change I'd like to
  integrate in the messaging API is to allow for non xml payloads and
  maybe untyped attachments.  The body
  could be converted automatically to a given type if supported (I
  think Camel does it nicely, so I'm thinking of
  shamelessly copying the converter layer).  I have added a few
  helper methods on the exchanges and
  messages (copy, copyFrom, ensureReReadable, display) to ease
  message management.
 
  For the deployment part, there is no packaging anymore.  One would
  deploy an OSGi bundle that would
  register the needed endpoints in the OSGi registry.  For certain
  types of endpoints, we may need an external
  activation process (such as creating a server socket for listening
  to HTTP requests) that may need to be shared
  across endpoints of a given type.  In such a case, you would deploy
  a component that listens to new
  endpoints implementing HttpEndpoint for example.  When a new
  endpoint is registered, the listener would
  activate a server socket that could be shared across all http
  endpoints.   In a different way, if we have  a BPEL
  engine, the bpel component  would listen for new bundles and look
  for a specific file containing deployment
  information. The component would register new endpoints in the OSGi
  registry as needed (we could do that
  for jaxws pojos using cxf for example).
  So I said there is no more components, because this feature is not
  in the api anymore, but we will certainly need
  these components for some use cases.   For simple endpoints, you
  would not need any component at all.
  Another benefit is that you can easily deploy a whole application
  inside a single OSGi bundle.  Using spring-osgi,
  the bundle would just consist in a spring configuration file
  containing the endpoints declaration and expose them
  as OSGi services.
 
  Of course, we need to write a JBI 1.0 compatibility layer, and we
  could have an intermediate layer where SAs and
  JBI components could be OSGi bundles directly, thus leveraging the
  OSGi classloading mechanism.
 
  The thing I'm not completely sure about if the Target interface
  which aims to identify the target of an exchange.
  I'm thinking that some metadata are associated with endpoints (like
  service name, interface name, wsdl
  location, etc..).   These metadatas could be used to retrieve
  targets using the Registry.  

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-25 Thread Kit Plummer
Me too.  I think.
-- 
Kit Plummer
Nobody-in-Charge @ Black:Hole:Logic
http://www.blackholelogic.com


IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Nodet Guillaume

Any other people interested ?

Cheers,
Guillaume Nodet

On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:


I'd be up for a few chat sessions!

On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:


Btw, if there is sufficient interest, we could organize irc meetings
to discuss these topics and post the log to the dev list for  
archiving

and later discussion.

Cheers,
Guillaume Nodet

On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:


As I explained in the other thread, I've been working on a new API
for ServiceMix 4.0.
Hopefully this will serve as an input for JBI 2.0.
This API is available at  https://svn.apache.org/repos/asf/
incubator/servicemix/branches/servicemix-4.0/api

So here a few key changes:
  * clean integration with OSGi
  * the NormalizedMessage can contain not only XML
  * no more components
  * no more JBI packaging (just use OSGi bundles)
  * move the Channel to the Endpoint
  * use push delivery instead of pulling exchanges
  * introduce a single interface for identifying the Target of an
Exchange

As we remove components, everything goes down to the endpoint which
become a key feature.

The endpoint must implement the Endpoint interface.  In OSGi, the
NMR would listen to endpoints
registered in the OSGi registry and call the registry to register /
unregister the endpoints.
As part of the endpoint registration, the NMR would inject a
Channel into them, thus actually activating the
endpoint.  I guess I could write a sequence diagram for that
(anybody knows a good tool for uml ?).
In a non OSGI environment, the Endpoint will be registered in the
Registry by calling the register method
somehow.

The Endpoint receives Exchange to be processed on the process  
method.

I think we should keep the JBI 1.0 semantics and the endpoint use
the same process as for JBI 1.0, which is
send the exchange back using the Channel (with the response /
fault / error / done).  This will put the threading,
transactions and security burden on the container itself.  Which
means it is easier to write JBI apps :-)

Exchanges can be created using the Channel#createExchange method.
The only change I'd like to
integrate in the messaging API is to allow for non xml payloads and
maybe untyped attachments.  The body
could be converted automatically to a given type if supported (I
think Camel does it nicely, so I'm thinking of
shamelessly copying the converter layer).  I have added a few
helper methods on the exchanges and
messages (copy, copyFrom, ensureReReadable, display) to ease
message management.

For the deployment part, there is no packaging anymore.  One would
deploy an OSGi bundle that would
register the needed endpoints in the OSGi registry.  For certain
types of endpoints, we may need an external
activation process (such as creating a server socket for listening
to HTTP requests) that may need to be shared
across endpoints of a given type.  In such a case, you would deploy
a component that listens to new
endpoints implementing HttpEndpoint for example.  When a new
endpoint is registered, the listener would
activate a server socket that could be shared across all http
endpoints.   In a different way, if we have  a BPEL
engine, the bpel component  would listen for new bundles and look
for a specific file containing deployment
information. The component would register new endpoints in the OSGi
registry as needed (we could do that
for jaxws pojos using cxf for example).
So I said there is no more components, because this feature is not
in the api anymore, but we will certainly need
these components for some use cases.   For simple endpoints, you
would not need any component at all.
Another benefit is that you can easily deploy a whole application
inside a single OSGi bundle.  Using spring-osgi,
the bundle would just consist in a spring configuration file
containing the endpoints declaration and expose them
as OSGi services.

Of course, we need to write a JBI 1.0 compatibility layer, and we
could have an intermediate layer where SAs and
JBI components could be OSGi bundles directly, thus leveraging the
OSGi classloading mechanism.

The thing I'm not completely sure about if the Target interface
which aims to identify the target of an exchange.
I'm thinking that some metadata are associated with endpoints (like
service name, interface name, wsdl
location, etc..).   These metadatas could be used to retrieve
targets using the Registry.  We could plug in different
mechanisms to query the metadata (simple lookup per id, policy
based, etc...).  And the result itself could be
not only a single Endpoint, but could include some policies like:
load balance between all the endpoint implementing
the given interface, etc  Also, I think Target should be
injected on Endpoints using spring, so you would look up a
targe using a spring bean factory (or multiple ones):
   smx:endpoint-target id=my-endoint-id /
or
   smx:interface-target name=my:qname /
The API is quite open right now, so any ideas welcome.

I think i 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Daryl Richter


On Aug 24, 2007, at 5:04 AM, Nodet Guillaume wrote:


Any other people interested ?



I wouldn't mind listening in.  We are in the very early stages of a  
ServiceMix implementation, though, so I don't have a lot of  
opinions... yet.  :)




Cheers,
Guillaume Nodet



--
Daryl
http://itsallsemantics.com

We want great men who, when fortune frowns, will not be discouraged.
-- Colonel Henry Knox, 1776







Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Gordon Dickens

I too would like to listen in.

Regards,
Gordon

Daryl Richter wrote:

On Aug 24, 2007, at 5:04 AM, Nodet Guillaume wrote:

  

Any other people interested ?




I wouldn't mind listening in.  We are in the very early stages of a
ServiceMix implementation, though, so I don't have a lot of
opinions... yet.  :)


  

Cheers,
Guillaume Nodet




--
Daryl
http://itsallsemantics.com

We want great men who, when fortune frowns, will not be discouraged.
 -- Colonel Henry Knox, 1776







  




Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Bruce Snyder
On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 Any other people interested ?

+1

Bruce
-- 
perl -e 'print unpack(u30,D0G)[EMAIL 
PROTECTED]5R\F)R=6-E+G-N61ED\!G;6%I;\YC;VT*
);'

Apache ActiveMQ - http://activemq.org/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Castor - http://castor.org/


Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Kit Plummer
On 8/24/07, Bruce Snyder [EMAIL PROTECTED] wrote:

 On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
  Any other people interested ?

 +1

 Bruce
 --
 perl -e 'print
 unpack(u30,D0G)[EMAIL PROTECTED]5R\F)R=6-E+G-N61ED\!G;6%I;\YC;VT*
 );'

 Apache ActiveMQ - http://activemq.org/
 Apache ServiceMix - http://servicemix.org/
 Apache Geronimo - http://geronimo.apache.org/
 Castor - http://castor.org/



Here here.

-- 
Kit Plummer
Nobody-in-Charge @ Black:Hole:Logic
http://www.blackholelogic.com


Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Grant M
Definitely interested.  It's been a while since I've checked in on the
ServiceMix project and the directions wrt OSGi look extremely promising.

On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:

 Any other people interested ?

 Cheers,
 Guillaume Nodet

 On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:

  I'd be up for a few chat sessions!
 
  On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 
  Btw, if there is sufficient interest, we could organize irc meetings
  to discuss these topics and post the log to the dev list for
  archiving
  and later discussion.
 
  Cheers,
  Guillaume Nodet
 
  On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:
 
  As I explained in the other thread, I've been working on a new API
  for ServiceMix 4.0.
  Hopefully this will serve as an input for JBI 2.0.
  This API is available at  https://svn.apache.org/repos/asf/
  incubator/servicemix/branches/servicemix-4.0/api
 
  So here a few key changes:
* clean integration with OSGi
* the NormalizedMessage can contain not only XML
* no more components
* no more JBI packaging (just use OSGi bundles)
* move the Channel to the Endpoint
* use push delivery instead of pulling exchanges
* introduce a single interface for identifying the Target of an
  Exchange
 
  As we remove components, everything goes down to the endpoint which
  become a key feature.
 
  The endpoint must implement the Endpoint interface.  In OSGi, the
  NMR would listen to endpoints
  registered in the OSGi registry and call the registry to register /
  unregister the endpoints.
  As part of the endpoint registration, the NMR would inject a
  Channel into them, thus actually activating the
  endpoint.  I guess I could write a sequence diagram for that
  (anybody knows a good tool for uml ?).
  In a non OSGI environment, the Endpoint will be registered in the
  Registry by calling the register method
  somehow.
 
  The Endpoint receives Exchange to be processed on the process
  method.
  I think we should keep the JBI 1.0 semantics and the endpoint use
  the same process as for JBI 1.0, which is
  send the exchange back using the Channel (with the response /
  fault / error / done).  This will put the threading,
  transactions and security burden on the container itself.  Which
  means it is easier to write JBI apps :-)
 
  Exchanges can be created using the Channel#createExchange method.
  The only change I'd like to
  integrate in the messaging API is to allow for non xml payloads and
  maybe untyped attachments.  The body
  could be converted automatically to a given type if supported (I
  think Camel does it nicely, so I'm thinking of
  shamelessly copying the converter layer).  I have added a few
  helper methods on the exchanges and
  messages (copy, copyFrom, ensureReReadable, display) to ease
  message management.
 
  For the deployment part, there is no packaging anymore.  One would
  deploy an OSGi bundle that would
  register the needed endpoints in the OSGi registry.  For certain
  types of endpoints, we may need an external
  activation process (such as creating a server socket for listening
  to HTTP requests) that may need to be shared
  across endpoints of a given type.  In such a case, you would deploy
  a component that listens to new
  endpoints implementing HttpEndpoint for example.  When a new
  endpoint is registered, the listener would
  activate a server socket that could be shared across all http
  endpoints.   In a different way, if we have  a BPEL
  engine, the bpel component  would listen for new bundles and look
  for a specific file containing deployment
  information. The component would register new endpoints in the OSGi
  registry as needed (we could do that
  for jaxws pojos using cxf for example).
  So I said there is no more components, because this feature is not
  in the api anymore, but we will certainly need
  these components for some use cases.   For simple endpoints, you
  would not need any component at all.
  Another benefit is that you can easily deploy a whole application
  inside a single OSGi bundle.  Using spring-osgi,
  the bundle would just consist in a spring configuration file
  containing the endpoints declaration and expose them
  as OSGi services.
 
  Of course, we need to write a JBI 1.0 compatibility layer, and we
  could have an intermediate layer where SAs and
  JBI components could be OSGi bundles directly, thus leveraging the
  OSGi classloading mechanism.
 
  The thing I'm not completely sure about if the Target interface
  which aims to identify the target of an exchange.
  I'm thinking that some metadata are associated with endpoints (like
  service name, interface name, wsdl
  location, etc..).   These metadatas could be used to retrieve
  targets using the Registry.  We could plug in different
  mechanisms to query the metadata (simple lookup per id, policy
  based, etc...).  And the result itself could be
  not only a single Endpoint, but could include some 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread rs d
I would like to attend this even.
Please let me know the details.

On 8/24/07, Nodet Guillaume [EMAIL PROTECTED] wrote:

 Any other people interested ?

 Cheers,
 Guillaume Nodet

 On Aug 23, 2007, at 3:37 PM, Kit Plummer wrote:

  I'd be up for a few chat sessions!
 
  On 8/23/07, Nodet Guillaume [EMAIL PROTECTED] wrote:
 
  Btw, if there is sufficient interest, we could organize irc meetings
  to discuss these topics and post the log to the dev list for
  archiving
  and later discussion.
 
  Cheers,
  Guillaume Nodet
 
  On Aug 22, 2007, at 4:59 PM, Nodet Guillaume wrote:
 
  As I explained in the other thread, I've been working on a new API
  for ServiceMix 4.0.
  Hopefully this will serve as an input for JBI 2.0.
  This API is available at  https://svn.apache.org/repos/asf/
  incubator/servicemix/branches/servicemix-4.0/api
 
  So here a few key changes:
* clean integration with OSGi
* the NormalizedMessage can contain not only XML
* no more components
* no more JBI packaging (just use OSGi bundles)
* move the Channel to the Endpoint
* use push delivery instead of pulling exchanges
* introduce a single interface for identifying the Target of an
  Exchange
 
  As we remove components, everything goes down to the endpoint which
  become a key feature.
 
  The endpoint must implement the Endpoint interface.  In OSGi, the
  NMR would listen to endpoints
  registered in the OSGi registry and call the registry to register /
  unregister the endpoints.
  As part of the endpoint registration, the NMR would inject a
  Channel into them, thus actually activating the
  endpoint.  I guess I could write a sequence diagram for that
  (anybody knows a good tool for uml ?).
  In a non OSGI environment, the Endpoint will be registered in the
  Registry by calling the register method
  somehow.
 
  The Endpoint receives Exchange to be processed on the process
  method.
  I think we should keep the JBI 1.0 semantics and the endpoint use
  the same process as for JBI 1.0, which is
  send the exchange back using the Channel (with the response /
  fault / error / done).  This will put the threading,
  transactions and security burden on the container itself.  Which
  means it is easier to write JBI apps :-)
 
  Exchanges can be created using the Channel#createExchange method.
  The only change I'd like to
  integrate in the messaging API is to allow for non xml payloads and
  maybe untyped attachments.  The body
  could be converted automatically to a given type if supported (I
  think Camel does it nicely, so I'm thinking of
  shamelessly copying the converter layer).  I have added a few
  helper methods on the exchanges and
  messages (copy, copyFrom, ensureReReadable, display) to ease
  message management.
 
  For the deployment part, there is no packaging anymore.  One would
  deploy an OSGi bundle that would
  register the needed endpoints in the OSGi registry.  For certain
  types of endpoints, we may need an external
  activation process (such as creating a server socket for listening
  to HTTP requests) that may need to be shared
  across endpoints of a given type.  In such a case, you would deploy
  a component that listens to new
  endpoints implementing HttpEndpoint for example.  When a new
  endpoint is registered, the listener would
  activate a server socket that could be shared across all http
  endpoints.   In a different way, if we have  a BPEL
  engine, the bpel component  would listen for new bundles and look
  for a specific file containing deployment
  information. The component would register new endpoints in the OSGi
  registry as needed (we could do that
  for jaxws pojos using cxf for example).
  So I said there is no more components, because this feature is not
  in the api anymore, but we will certainly need
  these components for some use cases.   For simple endpoints, you
  would not need any component at all.
  Another benefit is that you can easily deploy a whole application
  inside a single OSGi bundle.  Using spring-osgi,
  the bundle would just consist in a spring configuration file
  containing the endpoints declaration and expose them
  as OSGi services.
 
  Of course, we need to write a JBI 1.0 compatibility layer, and we
  could have an intermediate layer where SAs and
  JBI components could be OSGi bundles directly, thus leveraging the
  OSGi classloading mechanism.
 
  The thing I'm not completely sure about if the Target interface
  which aims to identify the target of an exchange.
  I'm thinking that some metadata are associated with endpoints (like
  service name, interface name, wsdl
  location, etc..).   These metadatas could be used to retrieve
  targets using the Registry.  We could plug in different
  mechanisms to query the metadata (simple lookup per id, policy
  based, etc...).  And the result itself could be
  not only a single Endpoint, but could include some policies like:
  load balance between all the endpoint implementing
  the given 

Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Adrian Co

I'm interested too.

Brian O'Neill wrote:

Yes. I'm in.

-brian

On 8/24/07, Gordon Dickens [EMAIL PROTECTED] wrote:
  

I too would like to listen in.

Regards,
Gordon

Daryl Richter wrote:


On Aug 24, 2007, at 5:04 AM, Nodet Guillaume wrote:


  

Any other people interested ?




I wouldn't mind listening in.  We are in the very early stages of a
ServiceMix implementation, though, so I don't have a lot of
opinions... yet.  :)



  

Cheers,
Guillaume Nodet





--
Daryl
http://itsallsemantics.com

We want great men who, when fortune frowns, will not be discouraged.
 -- Colonel Henry Knox, 1776








  




  




Re: IRC sessions on ServiceMix 4.0 design (was Re: ServiceMix 4.0)

2007-08-24 Thread Brian O'Neill
Yes. I'm in.

-brian

On 8/24/07, Gordon Dickens [EMAIL PROTECTED] wrote:
 I too would like to listen in.

 Regards,
 Gordon

 Daryl Richter wrote:
  On Aug 24, 2007, at 5:04 AM, Nodet Guillaume wrote:
 
 
  Any other people interested ?
 
 
 
  I wouldn't mind listening in.  We are in the very early stages of a
  ServiceMix implementation, though, so I don't have a lot of
  opinions... yet.  :)
 
 
 
  Cheers,
  Guillaume Nodet
 
 
 
  --
  Daryl
  http://itsallsemantics.com
 
  We want great men who, when fortune frowns, will not be discouraged.
   -- Colonel Henry Knox, 1776
 
 
 
 
 
 
 
 




-- 
Brian ONeill
Source Equity (http://www.sourceequity.com)
jBIZint (http://www.jbizint.org)
Technical Architect, Gestalt LLC (http://www.gestalt-llc.com)
mobile:215.588.6024