
Hi That sounds relevant and I would very much like to see the details. For an OGSA message broker it will also be necessary to define A broker/broker interface, but for the client/broker interface, there could be a lot of common ground. See you at OGF19. Abdeslem -----Original Message----- From: Andre Merzky [mailto:andre@merzky.net] Sent: Wednesday, January 24, 2007 2:09 PM To: Djaoui, A (Abdeslem) Cc: gcf@indiana.edu; Mailing List for OGSA-WG Subject: Re: [ogsa-wg] OGSA message broker service Hi, for what its worth: the SAGA groups are in the process of defining a message exchange API, which allows a range of modes: reliable/unreliable, message bus/point to point, correctness verified/unverified, and ordered/unordered. The target use case for this API is the exchange of _large_ and _unstructured_ messages (think megabytes or gigabytes), so thats probably a very different scenario than OGSA thinks about (?). Anyway, it might be useful to syncronize in terms of terminology and paradigms. I'd be happy to give you some details of the SAGA message API at OGF19, if you have interest. The API is in flux, but is expected to stabilize during the next 3 weeks or so. Cheers, Andre, Quoting [Djaoui, A (Abdeslem)] (Jan 24 2007):
From: "Djaoui, A (Abdeslem)" <A.Djaoui@rl.ac.uk> To: gcf@indiana.edu Cc: Mailing List for OGSA-WG <ogsa-wg@ogf.org> Subject: Re: [ogsa-wg] OGSA message broker service
Well, the multitude of messaging systems out there is exactly one reason I believe OGSA needs to define "standard" APIs for messaging. Of course for Pub/sub it will leverage existing standards. It is interesting to read from the overview of Mule, <quote:> "But there are already frameworks out there. It is often misconstrued that Mule aims to be a replacement for existing application frameworks, but this is not the case. In fact Mule leverages many open source projects such as Axis, Spring, ActiveMQ, Plexus and PicoContainer. Mule fills a void in enterprise java development ... Mule makes light work of wiring these systems together ..." </End quote:>
In the same spirit, OGSA message broker should fill the void in Web services messaging that distributed application that need to share state across different security realms will require. OGSA defines the interfaces and semantics only. Implementations could be based on existing messaging systems. I was involved for quite a while with the INFOD-WG and instrumental in coordinating that activity with OGSA information services. Currently INFOD deals with defining an interface to a registry but potentially it could expand to deal with other messaging patterns. For scalability reasons, an OGSA broker is different in that a central registry is not used, but federations of brokers will need to be defined, using WS-federation for sharing identities across different authentication and authorization domains. So the focus in this activity is to build on the existing web services specification (not java specific) and to leverage other work in OGSA (for compatibility reasons).
I am aware of the existence of NaradaBrokering (but only know a little about it), and I believe something similar needs to be standardized in OGSA. You mention its use for monitoring (real time sensors), but what I had in mind for an OGSA broker, was the capability to allow MPI-like message exhange patterns between distributed activities(web services). I gave the example of coupling two WS-BPEL processes, but there are others.
Anyway an OGSA message broker interface could end up the same or similar to Naradbrokerrring, Mule, Infod version 2 or 3, or JMS,... The question in my mind is: Do the existing systems allow composition of web services out of the box, in a standard way. At least for some of the systems I know better, the answer is no.
Abdeslem
-----Original Message----- From: Geoffrey Fox [mailto:gcf@grids.ucs.indiana.edu] Sent: Tuesday, January 23, 2007 1:10 PM To: Djaoui, A (Abdeslem) Cc: Mailing List for OGSA-WG Subject: Re: [ogsa-wg] OGSA message broker service
You might want to look at Enterprise Grid work using Mule http:mule.codehaus.org by Israeli association of Grid Technologies http:www.grid.org.il With OGF there is long running activity called INFOD and of course there is WS-Eventing/Notification and their merger Apache Synapse project addresses some relevant issues We use publish-subscribe http://www.naradabrokering.org in nearly all projects we have -- especially for real-time sensors
Djaoui, A (Abdeslem) wrote:
When building Grid applications, coordinating ativities may be necessary as pointed out in a recent Email about workflow http://www.ogf.org/pipermail/ogsa-wg/2006-November/002324.html Usually, in traditional Enterprise Application Integration (EAI), the problem is solved using message oriented middleware (MOM) such as JMS. These (MOMs) provide asynchronous point-to-point communication as well as pub/sub capabilities, but Interoperability is difficult to achieve with the existing multitude of proprietary MOMs.
Although messaging is briefly described in section 3.9.4.2 (message delivery) of the OGSA specification 1.5, no activity in this area was deemed necessary so far. As OGSA moves beyond the basic service capabilities into service composition, it is necessary to specify a standard message queuing and routing interface, if OGSA is to enable new kinds of useful distributed applications (similar to EAI).
Amazon Web Services (AWS) http://aws.amazon.com Recognize the power of message queuing and provide a Simple Queue Service for their customers. In AWS, distributed application components performing different tasks can exchange messages without requiring the receiving party to be ready to receive the message of even be available at the time of exchange.
To enable, interoperable message queuing and routing OGSA will need to define similar interfaces (and semantics) for client applications to publish and consume messages to/from OGSA broker services. Broker services accept messages and route them to other brokers or to different consumers. A variety of message patterns will need to be supported (e.g. point-to-point, one-to-many, notification, ...). For OGSA service composition/coordination, it is inevitable for some to draw a parallel with classical massively parallel computer where services playing the role of computer nodes and messaging playing the role of the Message Passing Interface (MPI). Of course there are limitations to this parallel. One is the performance, reliability and latency of messaging system compared to MPI. Another is the need to federate broker services from different security realms having potentially different policies.
I would like to start exploring how an OGSA message broker might be used by client applications. An example use case for the discussion could be two (or more) independent BPEL processes (exposed as web services) that need to share/exchange (internal) state information. This currently not possible in WS-BPEL, but is needed for coordinating/coupling distributed activities.
See you at OGF19.
Abdeslem DJAOUI -- ogsa-wg mailing list ogsa-wg@ogf.org http://www.ogf.org/mailman/listinfo/ogsa-wg -- "So much time, so little to do..." -- Garfield