WebSphere Application Server and WebSphere Process Server Fix Lists

June 13th, 2008 dan Posted in WebSphere Enterprise Service Bus, WebSphere Process Server No Comments »

A handy resource for seeing what exactly is contained in a new release of software are the APAR fix lists published by IBM. They contain a list of every APAR that is resolved and you can click to get more information.

You can find them for:

Related Posts

AddThis Social Bookmark Button

WebSphere Business Integration V6.1 Performance Tuning

June 9th, 2008 syndication Posted in Design Decisions, DeveloperWorks, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server No Comments »

From DeveloperWorks, WebSphere Business Integration V6.1 Performance Tuning

Draft Redpaper, last updated: Mon, 9 Jun 2008

- Learn valuable tips for tuning
- Get the latest best practices
- Try the example settings

This IBM® Redpaper was produced by the IBM WebSphere® Process Server, WebSphere Enterprise Service Bus, WebSphere Adapters, and WebSphere Business Monitor performance teams in Austin Texas, Böblingen Germany, and Hursley England.

This book attacks performance on three levels, Architecture, Developerment and Performance Tuning. All key issues that need to be considered to create systems that can meet Service Level Agreements (SLA).

I’m happy to see this kind of information get published so close to the public release of a version.

Related Posts

AddThis Social Bookmark Button

WebSphere Integration Developer: Struggling with the Business Object Mapper

June 2nd, 2008 dan Posted in Business Integration Tips, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server 1 Comment »

I had a custom snippet in my map between two string attributes and a list of business objects. The idea being that each string from the source should becomes an entry in the business object list with a wrapper.

No problem. I wrote up the snippet to create the destination business object (since it does not get initialized for you), added my wrapper data objects to my list. Everything looks good. I have “Print to Log” (aka system.out) to look at my resultant business object and it looks perfect.

Except when I run it, the List doesn’t get populated.

The key to my problem was how I was running it. You can’t test a business object map on its own, it’s always a part of some grander module ecosystem. In my case, it was a mediation flow component wedged between two XSLT transforms.

What I discovered was that it was a missing map in my XSLT that caused my list to remain null. The business object map was fine the entire time.

What’s the story? Remember that there are some components that you cannot test in complete isolation.

Related Posts

AddThis Social Bookmark Button

Use ARM to monitor SCA invocations in IBM WebSphere Process Server

May 29th, 2008 syndication Posted in DeveloperWorks, ITCAM for SOA, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server No Comments »

From DeveloperWorks, Use ARM to monitor SCA invocations in IBM WebSphere Process Server

This two-part series shows you how to monitor Service Component Architecture
(SCA) invocations using the Application Response Measurement (ARM) standard in IBM
WebSphere Process Server V6.1. You can use an ARM implementation, such as IBM Tivoli
Composite Application Manager for Response Time Tracking, to generate a graphic view
of SCA invocations. This article, Part 1 of the series, starts by describing ARM and
showing you how to debug synchronous scenarios using Tivoli Composite Application
Manager for Response Time Tracking. In Part 2, you’ll get an introduction to SCA
invocation patterns and learn how to debug asynchronous scenarios.

Finally, something that can tell you at the SCA level how your components are running on a production server. This is an important step in the maturation of SCA.

Related Posts

AddThis Social Bookmark Button

WebSphere Adapter for JDBC: SetObjectKeys NullPointer Exception

May 29th, 2008 dan Posted in WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server No Comments »

We had a WebSphere Adapter for JDBC export in our module, and it was throwing the following exception:

[5/27/08 17:55:52:315 EDT] 0000006b NUXInResource I PollEventManagerWorker run()
CWYBS0011I: Polling has started.  UserAction=No action is required.
[5/27/08 17:55:53:356 EDT] 0000006d NUXInResource E com.ibm.j2ca.extension.eventmanagement.internal.EventSender
 getObjectForEvent(Event) EventStore impl
 (com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid@6eec3b01)
 threw an unexpected and unchecked exception
javax.resource.ResourceException: EventStore impl
(com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid@6eec3b01) threw an
unexpected and unchecked exception
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventManager.getObjectForEvent(EventManager.java:658)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventSender.getRecordForEvent(EventSender.java:365)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventSender.doSendEvent(EventSender.java:237)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventSender.sendEvent(EventSender.java:158)
      at
 com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.sendEvents(EventListSender.java:113)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventListSender.run(EventListSender.java:90)
      at
com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:394)
      at
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: java.lang.NullPointerException
      at
com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid.setObjectKeys(JDBCEventStoreWithXid.java:1703)
      at
 com.ibm.j2ca.jdbc.inbound.JDBCEventStoreWithXid.getRecordForEvent(JDBCEventStoreWithXid.java:1449)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventManager.getRecordForEvent(EventManager.java:680)
      at
com.ibm.j2ca.extension.eventmanagement.internal.EventManager.getObjectForEvent(EventManager.java:649)
      ... 7 more

What this exception is saying is that in the process of trying to get an ‘Object’ for the given event (the object is a record in a table for the jdbc adapter) it could not find the primary key.

The solution was to re-generate the XSDs for the table using Enterprise Service Discovery and set the primary key attribute. You then will have to uninstall the current ‘bad’ adapter instance from your server and restart your server. Install the new fixed adapter module and everything will work.

For more information, you can reference this thread from DeveloperWorks.

Related Posts

AddThis Social Bookmark Button

Business Object Maps and ‘Required’ Attributes

May 28th, 2008 dan Posted in Business Integration Tips, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server No Comments »

Just ran into an interesting scenario. We have a business object with a required attribute (amongst a sea of non-required ones). In a business object map, we only set the non-required ones and never set the required ones to any value.

In the above example, ‘productStatus’ is required, ‘name’ is not.

This is the Mediation Flow Component that my response flow is using. The map is being called via a Custom Mediation and then it gets passed onto an XSLT. This XSLT just adds some header information into the body of the message and match maps the business data from source to target.

When the response is serialized via a SOAP/HTTP we see the following XML:
<product> <name>ADSL</name> <productstatus></productstatus> </product>
Which is correct. The name field is populated from the BO Map and the productStatus field is present because it is required.Now, an interesting thing happens when we change the XSLT in the response MFC to a Message Element Setter. Now when the message is serialized, we get:
<product> <name>ADSL</name> </product>

‘productStatus’ is not present in the serialized message. Well that’s a no-no. A strict Web Service client would not be able to consume this response object.

So what happened to our required element? Simply, the XSLT transformation engine is smart enough to realize that ‘productStatus’ is required and the match map creates the element for us. The MessageElementSetter primitive assumes that the business object is already valid, so it doesn’t populate required fields.

What surprises me is why the Business Object Mapping runtime does not:

  1. Give me some kind of visual indication in the main editor that a field is required
  2. Set required elements to “”, given that they are required in order to serialize a valid message

So watch out when you are dealing with business object maps that your required elements are set properly. If you don’t, you can ‘catch all’ the missing elements using the XSLT primitive.

Related Posts

AddThis Social Bookmark Button

Make SOA real with IBM WebSphere Enterprise Service Bus and IBM WebSphere DataPower SOA Appliances

May 27th, 2008 syndication Posted in DataPower, DeveloperWorks, Syndication, WebSphere Enterprise Service Bus, WebSphere Process Server No Comments »

From DeveloperWorks, Make SOA real with IBM WebSphere Enterprise Service Bus and IBM WebSphere DataPower SOA Appliances, Part 1: Use WebSphere Enterprise Service Bus for protocol switching of encrypted data

And Make SOA real with IBM WebSphere Enterprise Service Bus and IBM WebSphere DataPower SOA Appliances, Part 2: Use WebSphere DataPower SOA Appliances extension functions for certificate-based XML standard encryption

Looking for a way to manage the interoperability among applications using
different protocols that need to exchange confidential data? Consider combining the
functionality of IBM WebSphere Enterprise Service Bus and IBM WebSphere DataPower
SOA Appliances. Find out how you can get a secure, agile, and extendible solution
with a little effort in terms of code.

I’d say that if you happen to have both of these products, you are better of attempting to offload most of the logic to the datapower box and use the ESB for business functionality.

Related Posts

AddThis Social Bookmark Button

Web services with SOAP/JMS in IBM WebSphere Process Server

May 26th, 2008 syndication Posted in DeveloperWorks, WebSphere Enterprise Service Bus, WebSphere Process Server 1 Comment »

From DeveloperWorks, Web services with SOAP over JMS in IBM WebSphere Process Server or IBM WebSphere Enterprise Service Bus, Part 1: Using the SIBus JMS provider

This two-part article series shows you how to use SOAP over Java Message Service
(JMS) in IBM WebSphere Process Server and IBM WebSphere Enterprise Service Bus. Learn
how to set up and use SOAP over JMS as configured by default by the IBM
WebSphere Integration Developer tool and how to enable the use of the IBM WebSphere
MQ JMS provider via configuration. In this article, Part 1 of the series, you create and
invoke a Web service using SOAP over JMS and an end-to-end application example, covering
the full process of creating, building, deploying, and testing the applications.
Scenarios covering both point-to-point and publish/subscribe messaging walk you
through the process. In the second article in this series, you’ll
reconfigure a Web service that uses the SOAP over JMS protocol to enable the use of
WebSphere MQ as the JMS provider and allow the transport of SOAP messages via
WebSphere MQ queues.

I’m a big fan on the JMS transport for the ability to submit work to a destination even when the listener is down. This absolves the client from the responsibility of maintaining logic for retries, unlike the http transport. I would still be weary of using SOAP/JMS for external service consumption as the interop story isn’t quite there yet. Its still an order of magnitude more difficult to consume a SOAP/JMS service than a SOAP/HTTP one for users still learning Web Services.

Related Posts

AddThis Social Bookmark Button

Problem Determination and WebSphere Integration Developer

May 21st, 2008 dan Posted in Best Of DZ.com, WebSphere Business Services Fabric, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server 6 Comments »

In the past, I’ve gone and de-constructed WebSphere Process Server stack traces in an example of problem determination. Now, I’ll talk about what I do when WebSphere Integration Developer goes crazy.

A typical WebSphere Integration Developer exception consists of either a builder error pop up dialog or an issue when trying to open an editor. You’ll see the standard eclipse error dialog with some cryptic message. When this happens to me, I try the following steps:

Regenerate the J2EE App, EJB and Web projects

Sometimes there is an error in these generated artifacts. What I first do is a clean build via the build menu, clean all. This is supposed to flush the internal state of the eclipse builders and force them to recreate all artifacts from scratch. As the versions have progressed, this has gotten better but it’s not perfect.

Should the problem continue, I will switch to the resources view and manually delete these generated projects. Once they’re gone, I will do a clean-build. Since the files are physically deleted, theres no worry about the builders maintaining internal state.

Restarting WID

Sometimes, all it takes is a simple restarting of the tool and builder errors can disappear.

New Workspace

In WID v6.0.2.3 I rarely do this anymore. I would export my current workspace as a Project Interchange file (IBM speak for a .zip file). Then I would start a new workspace and import the PI. This resolves issues with corrupted workspaces that ravaged the v6.0 GM version of the tool.

Usually, these two solutions will resolve random errors. Sometimes though, your tool is completely screwed up and you can’t even get the Business Integration Perspective to appear. This usually occurs after the first time the product is installed or when a fix pack (or add-on product like WebSphere Business Services Fabric) is installed. There are two methods of fixing these kinds of errors:

WID.EXE -clean

There is a command line option when you start WID called ‘clean’. To explain clean, we need to take a step back and understand how WID is package. WID is built on top of both eclipse and Rational Application Developer. It does this by providing a set of plug-ins that extend the eclipse platform. Eclipse then needs to index these plug-ins to determine dependencies and capabilities. Sometimes, the eclipse index is out of sync with the file system. Clean forces eclipse to rebuild this index. It will take about 5-10 minutes to start the tool as this work is performed but it will usually resolve missing editors.

WID.EXE -initialize

This is another internal eclipse command line option that tells the platform to rebuild that the plug-in caches. I normally do a clean followed by an initialize.

Finally, if neither of these solutions resolve your problem, you can take a look at the WID .log file and see the exception. The log file is contained at &lt;workspace_location&gt;/.metadata/.log . If you are very lucky, it may contain relevant data.

So you now know my WID secrets on fixing tooling time errors. I hope it will save you some time in the future.

Related Posts

AddThis Social Bookmark Button

Tip: Improve the display of logged messages in WebSphere ESB V6.1

May 20th, 2008 syndication Posted in DeveloperWorks, WebSphere Enterprise Service Bus No Comments »

From DeveloperWorks, Tip: Improve the display of logged messages in WebSphere ESB V6.1

Learn about the changes to the Message Logger mediation primitive in
WebSphere Enterprise Service Bus V6.1, and how you can improve the display of logged
messages in V6.1.

Related Posts

AddThis Social Bookmark Button

ESB-CON VI: An Online Conference for the Enterprise Service Bus

May 1st, 2008 dan Posted in WebSphere Community, WebSphere Enterprise Service Bus No Comments »

Just a quick note that I plan on virtually attending the ESB-CON VI where some people are going to talk about ESB for four hours. This is my first time attending a virtual conference, so I’m interested to see how it all plays out. It starts Today at Noon Eastern Time (ie one minute).

It’s free, so feel free to click the link and see what’s going on.

Related Posts

AddThis Social Bookmark Button

IBM Redbooks: WebSphere Process Server and WebSphere Integration Developer

April 29th, 2008 dan Posted in Certification, DeveloperWorks, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server 2 Comments »

I was recently asked about where to find resources on WebSphere Process Server and WebSphere Integration Developer in order to pass certification tests 093 and 094. I responded to basically search developerworks for articles along with IBM RedBooks.

I didn’t really like responding without concrete links, so I did a little browsing of the site and found the following books. I’d recommend reading the latest books on the software, as a lot has changed since the 2005-product release days.

  1. Technical Overview of WebSphere Process Server and WebSphere Integration Developer, REDP-4041-00
    Redpapers, published 6 December 2005, Rating: (based on 14 reviews)
  2. Getting Started with WebSphere Enterprise Service Bus V6, SG24-7212-00
    Redbooks, published 14 June 2006, last updated 14 June 2006, Rating: (based on 9 reviews)
  3. Patterns: SOA Foundation – Business Process Management Scenario, SG24-7234-00
    Redbooks, published 8 August 2006, last updated 11 August 2006, Rating: (based on 10 reviews)
  4. Human-Centric Business Process Management with WebSphere Process Server V6, SG24-7477-00
    Redbooks, published 15 October 2007, last updated 17 October 2007, Rating: (based on 6 reviews)
  5. Getting Started with WebSphere Process Server and WebSphere Enterprise Service Bus Part 1: Development, SG24-7608-00
    Draft Redbooks, last update 18 April 2008
  6. Patterns: Building Serial and Parallel Processes for IBM WebSphere Process Server V6, SG24-7205-00
    Redbooks, published 23 April 2006, last updated 25 April 2006, Rating: (based on 3 reviews)
  7. A Simple Example: Using the WebSphere Adapter for Flat File, REDP-4235-00
    Redpapers, published 28 December 2006, Rating: (based on 3 reviews)
  8. Business Process Management: Modeling through Monitoring Using WebSphere V6.0.2 Products, SG24-7148-01
    Redbooks, published 21 August 2007, Rating: (based on 8 reviews)
  9. WebSphere Business Integration V6 Performance Tuning, REDP-4195-00
    Redpapers, published 26 September 2006, Rating: (based on 1 review)
  10. Migrating WebSphere Business Integration Server Foundation to WebSphere Process Server & Best Practices, SG24-7416-00
    Draft Redbooks, last update 9 December 2007, Rating: (based on 2 reviews)
  11. Getting Started with WebSphere Process Server and WebSphere Enterprise Service Bus Part 2: Scenario, SG24-7642-00
    Draft Redbooks, last update 18 April 2008
  12. Patterns: SOA Foundation Service Connectivity Scenario, SG24-7228-00
    Redbooks, published 17 August 2006
  13. WebSphere Adapter Development, SG24-6387-00
    Redbooks, published 20 June 2006, Rating: (based on 9 reviews)
  14. Redbooks – Production Topologies for WebSphere Process Server and WebSphere ESB V6 2007-04-20

It’s a bit much to ask someone to read all of them, but the ones that actual focus on the product themselves instead of scenarios or patterns are probably the most useful in order to pass a test.

Related Posts

AddThis Social Bookmark Button

Getting Started with WebSphere Process Server and WebSphere Enterprise Service Bus Parts 1 & 2

April 21st, 2008 syndication Posted in DeveloperWorks, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server 3 Comments »

From IBM Redbooks comes three books in how to get started with WebSphere Process Server and WebSphere Enterprise Service Bus. The books are split into Development, Scenario and Deployment. Only the first two parts are available in draft form so far.

Draft Redbook, “Getting Started with WebSphere Process Server and WebSphere Enterprise Service Bus Part 1: Development

- Build business integration applications
- Build mediations
- Use adapters

This book provides developers with information on building and testing applications for WebSphere Process Server and WebSphere Enterprise Service Bus.

And the second book:

Getting Started with WebSphere Process Server and WebSphere Enterprise Service Bus Part 2: Scenario

This book illustrates the concepts and techniques associated with building business integration applications and mediations by example. It starts by designing a solution for an order management process. The solution includes a business process and several mediations. It then shows how each component of the solution is created and tested in a development environment. The use of two adapters, WebSphere® Adapter for JDBC™ and the WebSphere Adapter for Flat Files, is illustrated.
applications and mediations. It includes information on the use of adapters.

Related Posts

AddThis Social Bookmark Button

Avoid the WebSphere Integration Developer Debugger

April 18th, 2008 dan Posted in Best Of DZ.com, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server 6 Comments »

Yesterday, I had a non-descriptive NullPointerException occur within a visual snippet sub-map in WebSphere Integration Developer. The only message written to the log was something that identified which transformation in the sub-map failed. There was nothing about what line was bad. Rather than filling my code full of “Got Here” and “Did this Runs”, I thought I would use the debugging capabilities of the tool.

I thought I would get the ability to move from one snippet to the next to identify the issue. It would have been even sweeter to get hot-code replace, but I don’t mind rerunning my testcase.

What I got was an exercise in bugs, pain and non-intuitiveness. I set my breakpoint at the first point in my visual snippet. The breakpoint popped. I then tried to step into the next line of the snippet and the debugger interpreted that as ‘Run to completion’ so I missed the point of failure.

I realized that I had to just keep manually setting breakpoints for any point where I wanted to stop. My snippet is quite large and finding a NPE is hard. It also took about 6-10 seconds to hit the next breakpoint in the chain. The editors would go crazy resizing and flipping between editors while this was happening.

I decided that the best approach was to use my breakpoints to divide my visual snippet in halfs, identifying which half was failing and then breaking it down even more. Of course, each re-iteration was a completely new invocation which took time.

I also experienced a few times where the breakpoint graphic was created (hello little dot) but it never popped anyway. Another invocation please.
Everything was just so painful and slow to run, that it took about an hour of running tests to figure out that the visual snippet editor didn’t initialize a value.

Next time? I’ll just put in the extraneous system.out’s and forget about even running the debugger again. For all my defenses of the tool and runtime, even I can’t defend how crummy the debugger is.

Related Posts

AddThis Social Bookmark Button

Close WebSphere Integration Developer when updating Fixpacks for WebSphere Process Server

April 17th, 2008 dan Posted in Business Integration Tips, WebSphere Enterprise Service Bus, WebSphere Integration Developer, WebSphere Process Server No Comments »

I was attempting to install WebSphere Process Server v6.0.2.3 on the server installed with WebSphere Integration Developer. The install kept failing on me with an exception:

Caused by: com.ibm.ws.install.ni.framework.fileactions.NIFFileActionIOException:
The file java/jre/lib/charsets.jar could not be replaced.
at com.ibm.ws.install.ni.framework.fileactions.ReplaceFileActionPlugin.execute
(ReplaceFileActionPlugin.java:108)
at com.ibm.ws.install.ni.framework.fileactions.FileActionPlugin.executeFileAction
(FileActionPlugin.java:54)
at com.ibm.ws.install.ni.updi.component.was.ComponentFileActions.execute
(ComponentFileActions.java:95)
at com.ibm.ws.install.ni.updi.component.was.ComponentDeployAction.execute
(ComponentDeployAction.java:48)
at com.ibm.ws.install.ni.updi.component.was.UpdateComponent.execute
(UpdateComponent.java:93)
at com.ibm.ws.install.ni.framework.component.ComponentAction.executeComponentActions
(ComponentAction.java:215)
at com.ibm.ws.install.ni.framework.component.ComponentAction.executeComponentActions
(ComponentAction.java:75)
at com.ibm.ws.install.ni.framework.install.NIFPackageApplicationPlugin.performUpgrade
(NIFPackageApplicationPlugin.java:548)
... 16 more

I forgot to close my WebSphere Integration Developer. Once I closed it, the upgrade completed successfully.

Related Posts

AddThis Social Bookmark Button