Hi James, Thanks for your response.
Actually both, the application and the SMS server are being developed by me. Both can send and consume messages. Application will do a routing of the messages and will send it over to a particular SMS server. So a message M, can be sent to SMS server in Canada or a SMS server in India, depending upon run time conditions. Any message that comes to the SMS server from the underlying GSM channel will always be delivered to the application. So application can send messages to multiple consumers (only pne at a time) while SMS server can always send message to the same consumer. Load on application is going to be more as it can receive messages from multiple SMS servers but a SMS server can only receive JMS messages from one source i.e. application. Regards, nitin James.Strachan wrote: > > 2009/1/7 nitingupta183 <nitingupta...@gmail.com>: >> >> Hi All, >> >> I am quite new to message driven applications/architecture. I have a >> requirement which makes my application a candidate for the JMS/Apache >> Camel. >> >> I have got one application which is required to integrate with few SMS >> servers. These SMS servers can be located in different countries. My app >> is >> to be able to send and receive messages from these SMS servers >> asynchronously. >> >> Please help me with following so that I can design a solution: >> >> 1) Where should I put the message broker (ActiveMQ). On the SMS server >> side, >> my app side or at both the sides should I put a broker. > > Closest to the clients that send/consume the most JMS traffic. A > single broker should do fine for a while; so I'd say put it with (or > in the same JVM as) your app > >> 2) Initially I thought that I can put the broker on the SMS server side >> and >> my app can register itself as a listener on this broker. Similarly my app >> can send all the messages to this broker which can be listened by the SMS >> server. But I am not sure whether it will have any performance impact as >> the >> two servers can be in different countries. > > Would the JMS consumer be in the SMS server? Am sure it'd be fine > whichever way around you do it really. > > >> 3) My app is going to be quite heavy on the machine on which it will run. >> So >> if I must put a broker to my app side, will that degrade the performance >> of >> my app. > > Maybe another box on the same LAN as your app? Though if your SMS > server box isn't hammered, put it there. The only real cost with > moving it far away over a WAN rather than being close on a LAN is > gonna be added latency sending messages around really. > > >> 4) What are the best practices of deploying a broker? > > Run it using the scripts supplied; then use the web console and/or JMX > to monitor it. > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://fusesource.com/ > > -- View this message in context: http://www.nabble.com/JMS-Design-related-question-tp21325598s22882p21327352.html Sent from the Camel - Users mailing list archive at Nabble.com.