My Books

  • Follow me on Twitter
My Photo

Subscribe my blog

  • Get this widget from Widgetbox
  • Add to Google
  • RSS FEEDS
  • Enter your Email here to subscribe :



    Powered by FeedBlitz

Blog Widget by LinkWithin

« Rich Internet Applications: Tips, Tricks & Techniques | Main | Write a file using the Date() object as filename in AIR »

Passing connection-level credentials to the JMSAdapter of BlazeDS

In order to create a multi user Flex application, you can take advantage of one of the feature of LiveCycle Data Services: the Messaging Services. The Messaging Services allows you to connect your Flex application to a message destination and send/receive messages to it from other clients.
You use the JMS adapter to subscribe to JMS queues configured on an implementation of the Java Message Service. The Java Message Service (JMS) API is a Java Message Oriented Middleware  API for sending messages between two or more clients.
The LiveCycle Data Services 2.5.1 uses the JMS message adapter to communicate with messaging systems and to transport messages to and from a destination over a message channel. A destination specifies an id attribute to provide a public name for clients to use when sending messages.

The Flex application can use as message channel one of the protocol supported by the Flash Player: Action Message Format (AMF3), Realtime Message Protocol (RTMP), and XMLSocket.
When working with the Messaging Services you have to configure message destinations, apply security to message destinations, and modify logging settings. You configure the JMS adapter individually for the destinations that use it.

One of the limit if the Messagin Services of Livecycle Data Services is the inability to define a username and password in the configuration file to pass them to the JMS.
I discovered that in BlazeDS there is a new JMSAdapter that allows you to set the connection-level credentials passing the username and password.
The new connection-credentials XML node sets the the username and password used while creating the JMS connection.As the documentation said, use only if JMS connection level authentication is being used :

<destination id="chat-topic-jms">
    <properties>
...
        <jms>
            <destination-type>Topic</destination-type>
            <message-type>javax.jms.TextMessage</message-type>
            <connection-factory>jms/flex/TopicConnectionFactory
            </connection-factory>
            <destination-jndi-name>jms/topic/flex/simpletopic
            </destination-jndi-name>
            <delivery-mode>NON_PERSISTENT</delivery-mode>
            <message-priority>DEFAULT_PRIORITY</message-priority>
            <preserve-jms-headers>"true"</preserve-jms-headers>
            <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
            <connection-credentials username="sampleuser" password="samplepassword"/>
            <max-producers>1</max-producers>
        </jms>
    </properties>

For many developers this new features supported by the JMSAdapter could be very appreciated and could solve problems in many different scenarios where the authentication is required in JMS.

From the Adobe Livecycle Data Services documentation :

Messaging systems let separate applications communicate asynchronously as peers by passing packets of data called messages back and forth through a message service. A message usually consists of a header and a body. The header contains an identifier and routing information. The body contains application data.

Applications that send messages are called producers. Applications that receive messages are called consumers. In most messaging systems, producers and consumers do not need to know anything about each other. Producers send messages to specific message destinations, and the message service routes the messages to the appropriate consumers.

A message channel connects producers and consumers to message destinations. To send messages over a particular channel, an application connects to the message endpoint associated with the message channel. A message endpoint is the code responsible for encoding data into messages, and decoding messages into a format that consumers can use. In some messaging systems, an endpoint can pass decoded messages to a message broker, which routes them to appropriate destinations.

A message adapter is code that acts as a conduit between the LiveCycle Data Services Message Service and other messaging systems. For example, the Java Message Service (JMS) adapter is a message adapter that lets Flex applications subscribe to JMS topics and queues. This adapter lets a pure Java JMS message application share the same destination as a Flex application: Java applications can publish messages to LiveCycle Data Services destinations, and Java code can respond to messages that Flex applications send.

Comments

very nice article.

very nice information.
[url=http://www.ankara-nakliyat.name.tr ]ankara evden eve[/url]

good works.
I like This site! Thanks!


good works.
sinema bursa

estetik

estetik bursa

Hi I would like to recommend you very useful rapidshare file search - http://rapidbeetle.com/ You can find a lot of new movies, games and music there.

שלום לכולם, חיפשתי הרבה מאד זמן אחרי חנות טבע אמינה וזולה (אני כמו נרקומן עם הגלוקוסמין) ורציתי לחלוק אתכם את המידע:
מצאתי אצל רון יפה

(נחלת יצחק תל אביב –אבל הם עושים משלוחים וגם באינטרנט!: ויטמינים (כל מה שרצית לדעת על תוספי תזונה ולא ידעת את מי לשאול, ויטמינים, מינרלים, חומצות אמינו,תוספי תזונה וכו

ייעוץ מקצועי ומחירים לא רעים בכלל לדוגמא:
ויטמין C עכשיו במחיר הכי זול שמצאתי 29.90שח 100 כדורים, שח 79.90 500 כדורי

Very good, congratulations article

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Pistach.io

Speaker at

WebDeveloper's Journal Author

  • My favourite Flash Lite 3 mobile phone
  • Web Developer's & Designer's Journal by Sys Con Media
  • Web Developer's & Designer's Journal Blogger
    Web Developer's & Designer's Journal by Sys Con Media
  • FullAsGoog Aggregator
  • Macromedia WebLogs Aggregator

June 2009

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30