A layered spec sounds good, or specs building upon other specs.
To add to your layers I'd really like to see a layer where the
service can have a "clean" API free from messaging distribution
artifacts:
0. Classic class/methods API
1. Messaging-oriented API
...
and it seems the new Async API could fit here, with some added
help from a Messaging<->Classic API bridge configuration.
Best regards
Mike
Christian Schneider wrote:
> Probably we would need three levels of a spec.
>
> 1. API for the user
> 2. Eventing inside the container
> 3. Eventing between the containers
>
> For 1. I am looking for something similar to what eclipse E4 has.
>
> Like this to reveive an event:
> void anymethod(@Event("topicname") MyEvent event) {
> }
>
> And something like this as an attribute to send:
> @Event("topicname")
> EventSender<MyEvent> sender;
>
> sender.send(myEvent);
>
> The spec could define this API and some frameworks like CDI
> or blueprint
> could implement it.
>
> For 2. eventadmin might already be all we need. The spec just
> needs to
> specify how to send arbitrary objects over eventAdmin.
>
> For 3. We probably need some spec to define a bridge between
> the event
> systems of the containers. Not sure how this would look like.
> Probably interoperability would be the most difficult there.
>
> Christian
>
>
> On 03.03.2014 16:09, Jean-Baptiste Onofré wrote:
> > Hi Christian,
> >
> > For asynchronous, I think JMS is already there for async messaging.
> >
> > You mean a spec like MDB EJB in JEE ?
> >
> > Regards
> > JB
> >
> > On 03/03/2014 04:07 PM, Christian Schneider wrote:
> >> I am also looking forward to a spec about asynchronous
> messaging in
> >> OSGi.
> >> I think the largely snychronous model behind DOSGi and
> many remoting
> >> technologies like RMI and Webservices is not really that useful for
> >> remote communication.
> >>
> >> What I am looking for is a way to send events using pojos
> over remotely
> >> with behaviours like jms topics and queues. Serialization
> should allow
> >> java serialization, jaxb and json.
> >>
> >> I think the model of communicating over events is much
> more suitable to
> >> remote communication than services. Some reasons:
> >> 1. Most comminications are in fact asynchronous in nature.
> For example
> >> almost all UIs do not allow to block the UI thread. So any sync
> >> communication has to be done in a separate thread
> >> 2. Services with more than on method are difficult to version when
> >> changes happen in the contract
> >> 3. The method is rather an implementation detail. The communication
> >> should rather be defined by the data exchanged
> >> 4. Publish subscribe models allow nice extension points where new
> >> listeners can be hooked in
> >> 5. Messaging servers (like JMS server) often provide nice
> failover and
> >> load balancing schemes based on queues
> >>
> >> There is a rfp called distributed eventing which seems to
> look into
> >> this:
> >> http://blog.osgi.org/2013/06/distributed-eventing-rfp-158-now.html
> >>
> >> Eclipse E4 has an interesting API for using events too
> >> http://www.vogella.com/tutorials/Eclipse4EventSystem/article.html.
> >>
> >> If there are already some nice implementations like this
> out there I
> >> would be interested about any pointers.
> >>
> >> Btw. I have written a blog entry some time ago about using
> camel to do
> >> pojo messaging. See:
> >>
> http://www.liquid-reality.de/display/liquid/2011/10/19/Using+C
amel+to+do+light+weight+messaging+over+any+protocol
> >>
> >> This already has some of the abilities I am looking for
> but I would like
> >> to see a solution the ideally only makes you depend on an
> OSGi spec. So
> >> you can stay largely independent of the framework you use.
> >>
> >> Christian
> >>
> >>
> >> On 03.03.2014 15:39, Mike Wilson wrote:
> >>> Attempting to look wider than my previous question about remote
> >>> services, I'm looking at any way to make an asynchronous
> call from a
> >>> bundle in one OSGi container to a service in another OSGi
> container.
> >>> There's an interesting discussion about asynchronous
> service calls on:
> >>>
> http://blog.osgi.org/2010/04/calling-your-cake-and-sending-it-too.html
> >>> Have there been any new developments towards
> standardization of any
> >>> asynchronous pattern, or is using ECF or making your own still the
> >>> main alternatives?
> >>> Or, is the preferred option to use some third-party API
> directly, such
> >>> as a messaging API like ActiveMQ?
> >>> Thanks
> >>> Mike
> >>>
> >>>
> >>> _______________________________________________
> >>> OSGi Developer Mail List
> >>> [email protected]
> >>> https://mail.osgi.org/mailman/listinfo/osgi-dev
> >>
> >>
> >> --
> >> Christian Schneider
> >> http://www.liquid-reality.de
> >>
> >> Open Source Architect
> >> http://www.talend.com
> >>
> >>
> >>
> >> _______________________________________________
> >> OSGi Developer Mail List
> >> [email protected]
> >> https://mail.osgi.org/mailman/listinfo/osgi-dev
> >>
> >
>
>
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> http://www.talend.com
>
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev