This is related to an earlier question I had asked about what sort of middleware one can use for developing a client/server app.
Among the options suggested, I was intrigued by zeroMQ and its capabilities.
Since morning, I have been researching on using zeroMQ for my application. However, since my client is a Adobe AIR/FLEX, I see a steep curve in using zeroMQ since there are no bindings available for actionscript.
Google search shows a popular client called STOMP that can be used for messaging in flex based applications but there doesn't seem to be any STOMP adapter for zeroMQ either.
This leaves me with other alternatives such as RabbitMQ or ActiveMQ (since they both seem to have STOMP adapters) as possible middleware choices.
How hard/easy it is to develop to stomp adapter for zeroMQ? I hardly found any documentation on writing an adapter. Or is it worth writing an adapter for zeroMQ than focus on, say, using RabbitMQ that supports STOMP.
Finally, what are other popular alternatives to STOMP for Flex on the client side and leverage zeroMQ on the middleware part.
Thanks
Dece
STOMP is probably going to be the only option from FLEX since it's by far the simplest MOM protocol available. Furthermore, since it's such a simple protocol, I'm surprised someone has not yet implemented a bridge from STOMP to zeromq.
Related
I am a Java professional. I have a requirement to implement Enterprise Service Bus(ESB). There are quite a few ESB providers are available in the market.I am confusing a bit among those.
Please suggest which one is the best to implement ESB and BPM. I am expecting to have an open source solution with rich documentation and easy to understand with number of examples and scenarios so that we can start from scratch and implement it without any hassle.
Yes the number of options can be confusing. It's highly depends on your use case and what you're trying to achieve. Without much context, I can only share with you the recent tutorial I wrote around Bonita (A Bpm platform) and Apache Camel (A lightweight ESB): http://community.bonitasoft.com/blog/enhance-your-bonita-applications-apache-camel
In this tutorial, I explain how to trigger new process instances on new incoming emails event.
Cheers
WSO2 has a good option with their Enterprise Integratir. This combines ESB, BPM and related functionality.
Check here for more: http://wso2.com/integration
However this is one of those questions that is purely opinion based.
I'm developing a service in flex which requires realtime invalidations and I was wondering which is the recommended method to add realtime support to Flex applications (any change to data models should be reflected to all subscribed clients).
Here are some concerns:
My server is written in python3 (tornado, sqlalchemy, redis) although I don't care adding another service written in other language as long at it is simple and not a resource hog (no java please :)). My client is written in Flex and this must be supported
I want to have multiple servers\processes to handle realtime
connections and I don't want to use sticky sessions (SPOF?). All of the processes will be behind a Load Balancer.
I don't
care about the transport method as long as it is not proprietary (no RTMP), it has fallbacks and it is well supported (mostly IE9 and above)
Currently, I use Tornadio2 and FlashSocket.IO but both are not maintained and not recommended.
I thought about using SockJS though It doesn't have Flex support (can I use it through the browser?), and it seems that beside FlashSocket.IO, there are no other libraries available. It should also be noted that this library doesn't have fallback capabilities.
During my research, I saw several relevant questions:
Real-Time communication between PHP and Flex application
Realtime update and Push Data in AS3
But they are 4 years old, and doesn't provide a good answer.
Any thoughts on the subject would be appreciated.
It seems that this topic is not hot (to say the least), but in case someone is interested, I managed to get around it by using SockJS on the flex html wrapper and communicating with it using external interface
I am doing something similar in Flex by using WebSockets (sockets.io) on the serverside. On the client side, I am using the AS3WebSockets library from https://github.com/theturtle32/AS3WebSocket
Works exceedingly well!
We have project developed in Silverlight/DevForce services, currently we plain to move code into HTML5. My question is it possible to reuse server side part of project, I means is it possible to reuse DevForce services or better migrate to WebAPI services? IdeaBlade has Breeze Js for HTML5, but it looks more as dataservice provider and not support DevForce services.
You might be asking whether BreezeJS offers a mechanism for handling arbitrary service calls between the client and the Web API running on the server ... in the manner of the DevForce "invokeServerMethod".
BreezeJS does not . The DevForce "invokeServerMethod" is helpful when you need to talk to the server for non-data reasons. You don't have to open and secure your own channel; instead you can share the DevForce secure data channel between client and server. It's also a convenient way to sent a package of entities. Setting up your own independent channel is not much fun.
But writing and communicating with a Web API service endpoint is much easier. Our thought is that you can manage your non-data communications quite well without the help of the BreezeJS EntityManager. So we don't see the need to implement the equivalent of "invokeServerMethod"
However, perhaps you have a scenario that would cause us to reconsider. We'd love to learn more.
Breeze doesn't integrate with DevForce today. I'd recommend adding the request to the Breeze UserVoice site. The Breeze team uses UserVoice to judge interest when incorporating new features.
A quick look shows me that there is already one DevForce related suggestion there: Support for DevForce models.
Does anyone know of any project to expose the DRMAA API (job scheduling and maintenance API) from SGE (Sun Grid Engine) as a web service API? A RESTful API would be best.
I do not think there are any web service API for SGE. I found drmaa-python pretty easy implementing in python script that can be called from server side scripts like PHP.
There is nothing like this available at the moment, but:
The Open Grid Forum started a new standardization activity to define how DRMAAv2 can be exposed as RESTful API. The specification draft is publicly available.
Since more and more people ask for such a remote interface, implementations might be available pretty soon. They are most likely to be announced by the OGF OCCI working group, so follow them if you are still interested.
Mapping such an implementation to the DRMAAv1 library in GridEngine should be relatively straightforward.
from my understanding obited can do both comet and xmpp ? it is better than using typical comet library dwr right?
Orbited is a library to create 'realtime' applications that run in a web browser (it implements a technique known as Comet). More specifically is provides code and strategies to implement many protocols (xmpp, irc, stomp, amqp, etc) on top of what is known as a "web socket" - an object that abstracts away the many peculiarities of actually implementing Comet. Furthermore, Orbited describes, and in some cases provides, the back-end components (asynchronous webservers) that need to know and work with the front-end Comet clients.
Here is a little more detail on Comet and how Orbited plays in:
What makes Comet more complex to
implement (than making an Ajax app,
say), is that you need both the client
(a Comet javascript client) and the
server (an asynchronous webserver like
Twisted) working in conjunction, and
this is what you get with Orbited -
both the javascript client and the
server.