RSS for your Data Transformations!

Huh? What? I thought RSS was for news feeds from CNN or NBC!? The best way to get the latest on the election (like I haven’t had enough) or the latest storm! Instant updates to my browser or other cool electronic gadget.

Well, RSS (Really Simple Syndication in most circles) is coming to your business solutions, if it hasn’t already. You may already be accustomed to that cute little “radio beam” icon, usually orange, that appears on this blog, most web sites, and many other places that you frequent on the internet. You may have an RSS “reader” or “aggregator” in your browser, dedicated on your desktop, or enabled for your Blackberry. Something that updates your favorite team’s box scores, the latest news from IBM or your favorite vendor, or as noted above, the latest gossip in the race for US President. How about sending out intelligent data oriented updates driven by DataStage or a customized SQL statement?

Moving into the mainstream, RSS is not only for updated news clips. Let your executives aim their RSS reader at your customer update feed, and they’ll know whenever a new transaction is generated or when a customer logs a complaint. Behind the scenes, you can have your favorite ETL tool, tickled by request from an RSS reader, pull the latest updated profile for a given customer. The “publish date” that is part of the RSS standard will be used by the sales rep’s RSS reader to highlight new material, making it bold, alternate color, or whatever else their chosen reader is set up to perform. You monitor and supply the data, the user chooses the RSS tooling . That’s freedom that makes everyone happy.

Information Server release 8.1 delivers RSS in the new Information Services Director (the next release of wISD/ISD). I’ve had the pleasure of playing with this new capability for the past few weeks, and it opens up a lot of possibilities [it's also been a fun way to start learning about this new SOA medium :) ]. Changed Data Capture tools, such as InfoSphere CDC (former DataMirror) can recognize log events, trigging DataStage loads to a target system, and then “always ready” RSS Services delve into the data to find updated gems for selected customer segments or territories. The RSS capability is a new binding added to existing SOAP and EJB capabilities, and is complemented also by the new 8.1 bindings for REST and JMS. I’ll dig deeper into these and other real-time related Info Server features in some upcoming posts.

Web 2.0 is coming. Don’t let it pass you by!

Ernie

Using Shortcuts with Information Services Director

If you are publishing Services with the Information Services Director (ISD, a.k.a. wISD), you may find it useful to take advantage of the shortcut feature that is available in the graphical interface. The navigation inside of the Console can be a bit confusing when you first use it, and if you aren’t a frequent user, these shortcuts will help when you return to manage the Web Services and other SOA artifacts you are generating with your DataStage and QualityStage Jobs and SQL Stored Procedures and Queries.

Create shortcuts and navigation aids. I recommend that you setup shortcuts to simplify things and help you remember the different workspaces that you will be using as you gain experience with ISD. These are my preferences, which of course you can change later, but I find that they make the experience with ISD, especially when you are first learning it, much easier.

a. Go to the Dashboard view (#2 icon…first to the right of the circle). Look around, click among the options on the left and read what appears on the right, but don’t click on anything at the right. After you’ve spent some time looking at the dashboard, click on the small “arrow” icon at the upper right and create a shortcut. I call mine “theDashboard.”

b. Now find “First steps” on the left, click on “Setup Information Services Connections” and then click on the link called “Go to the Information Services Connections workspace” on the right. Don’t do anything here yet – just click on the small arrow (shortcut) icon on the upper right and create another shortcut. I call this one “myProviders”.

c. Pull down Edit…Preferences…Key Commands. Find “toggle shortcut palette.” Choose Edit (button on lower right)…now choose “Add” and you will see a pull down (default is “none”). Choose a function key for this toggle switch. I use F2. Say ok and the window should close.

d. Now press F2. Your shortcut bar should open. Personally, I like to have this be its own window, as the opening bar is sometimes confusing. If you want to do this, drag the shortcut tab “off” it’s docked location and you will end up with an independent window. Click on your previously created “theDashboard” shortcut.

e. Back at the Dashboard, open Design…click on Create an Application and then click on “Go to the Applications Workspace” on the right. When you get there create another shortcut called myApplications. Press F2 and return again to the Dashboard.

f. Now open Run time activities…click on Manage Deployed Applications…and then click on “Go to the Deployed Information Services workspace” at the right. Once again, create a shortcut. I call mine myDeployedApps.

g. Lastly, return again to My Home (use the circle icon). I like to have a shortcut for this page also, called myHome.

h. Press F2. You should have five shortcuts:
i. myApplications
ii. myDeployedApps
iii. myProviders
iv. theDashboard
v. myHome

Now toggle your shortcut window again with F2, play with your shortcuts, and bounce around ISD and explore, just getting familiar with the available workspaces, options and capabilities!

Ernie

DataStage and TIBCO….anyone done it?

Yes indeed!

This post was something I starting writing last December, and at that time only had vague memories of sites connecting DataStage with TIBCO queues. And those memories were of C++ code used in a custom plugin to communicate with TIBCO Rendevous. I wanted to see if anyone out there had tried it in one fashion or another with TIBCO and JMS (Java Message Service) Queues. Fast forward 9 months and I can tell you that it’s been done several times — by at least one of my colleages in IBM Lab Services (more than once), and most recently by myself for a DataStage evaluation.

I’m happy to report that it was a perfectly normal and standard JMS implementation, and JavaPack handled it well, yielding control to the Java Class that connected to the TIBCO JMS queue. Having long since proven that I could connect DataStage to BEA, JBoss, and Sun JMS, once I had the appropriate TIBCO libraries (jars) and connection properties, the class compiled and the Job just “worked.” Amazing how rewarding it is to get some “new” connectivity working. Makes you feel like a kid in a candy store.

Anyway, the process is very straightforward, assuming you are comfortable with Java and JMS (see my other Java entry for example class that works with DataStage). The “initialization()” method does all the start-up connectivity work, and the core of the JMS reading and writing is placed inside of the “process()” method. When the “process()” method is invoked by the DataStage engine, the class determines if the invocation is for an output link or an input link, and the JMS code communicates with TIBCO JMS and either writes to, or reads from, a selected Queue. Data to be written to a target queue is first read from the DataStage Input Link, and payloads read by the java class are “written” to the DataStage Output Link….

If you need to do this with DataStage, find a Java developer who knows JMS, and knows the particular provider…each provider has unique properties for things like “InitialContextFactory” and “ProviderURL” and values for the jndi names of the queues and their Connection Factories (lots of interesting Java stuff — too much to post here). JMS queues can have pure strings in “Text Messages” or have other types of messages with different formatting. There are headers to deal with here also. Not a place to jump into lightly if you are only immersed in DataStage. Instead, find a Java expert, and then work together with him/her to find the synergy you can get with JavaPack integrated inside the DS Engine.

Ernie