|Re: ECF and MessageQueues [message #1061738 is a reply to message #1061458]
||Mon, 03 June 2013 16:51
| Scott Lewis
Registered: July 2009
Florian Pirchner wrote on Fri, 31 May 2013 14:10
we are writing an open source project for business applications. We are taking care about OSGi subsystem specification and cloud early draft.
We got the requirement to send messages between parties of the system.
- User to User
- System to User
I want to use MessageQueues since they are providing a delivery guarantee and will store message until delivery is possible.
I also could see that ECF can share Events from EventAdmin.
Would it be possible to use ECF for message sharing too? Means the use of MQs by ECF environment?
ECF provides multiple ways to send messages between processes...including (but not limited to) multiple OSGi frameworks.
We have an architecture that allows multiple 'providers'...where the provider provides a communication transport (over some network typically), and some support for serialization/deserialization.
One of our providers is the JMS provider, which is currently located on our github site:
This provider is based upon ActiveMQ, but it's written in such a way that creating providers based upon other JMS implementations is not at all difficult.
Now...we've also created an implementation of what we call 'Distributed Event Admin' based upon the OSGi EventAdmin specification, and using the JMS provider and other ECF APIs. Note there is nothing standardized about this yet...it's just our attempt to take a clean/clear asynchronous event notification system (OSGi Event Admin), and use it for delivering Events between frameworks.
One note...if you don't necessarily care about using EventAdmin and Events, then there are other mechanisms in ECF to support asynchronous messaging between processes (e.g. the ECF datashare API), but since you asked specifically about Distributed EventAdmin and JMS, I will focus on that.
It would be nice if you could point me to some example, docu,...
Here is a wiki page describing the Distributed Event Admin, pointing to examples and the relevant ECF APIs:
I found an interesting article at
http://wiki.eclipse.org/Load_Balancing_Remote_Services. It uses MQs.
But how can the become integrated into the OSGi subsystem spec.
Yes, I am the author of that wiki page and the examples that it cites.
The examples still exist in our git repo here:
These examples are based upon the JMS/ActiveMQ provider (which is at github), however, because of licensing and IP restrictions.
One of the things that we would like to do (although since we've been occupied with Kepler release recently have not yet done), is to build and deploy the JMS provider...so the people such as yourself could consume it without building it. Also...we've been contemplating updating the ActiveMQ provider to a more recent version of ActiveMQ...and/or possibly using other JMS implementations to create a provider. If you would be interested in this, it could be done collaboratively...but we/ECF/I as project lead are somewhat resource (time) limited right now, and so we would need some contribution or support for creating new providers.
WRT the R5 Subsystem spec...we did the work described on the Load Balancing example several years ago...well before the Subsystem spec existed. So in short...we haven't *yet* done any work on either remote services or distributed event admin...in accomodation with the subsystem specification. We would very much like to have some direct support in the the subsystem specification for both remote services (which fully impl, btw:
...and for some notion of 'distributed event admin'...but we/I have not been directly involved in the subsystem spec creation to this point.
If you are willing, it might be worthwhile to move this discussion/qanda, etc to the ecf-dev mailing list:
as more of the ECF committers regularly monitor and contribute to that mailing list...and the discussion is more technical also.
Powered by FUDForum
. Page generated in 0.01519 seconds