WebSphere Process Server Failed Event Manager: “The Recovery Sub-system is disabled.”

January 6th, 2009 dan Posted in WebSphere Process Server | 2 Comments »

When looking in the top right corner of the Failed Event Manager, the following error is displayed:

The Recovery sub-system is disabled. Enable the Recovery sub-system in order to work with failed events.

You get directed to the following tech-note:

http://www-01.ibm.com/support/docview.wss?uid=swg21293460

which states that there is a problem with the Failed Event Manager MBean in your server/cluster.

Interestingly, when the failed event manager EAR is installed manually (or via script) in 6.0.2.x the MBeans are not automatically installed for you. You have to go back to your server configuration and configure them manually. When you create a profile using the profile creation wizard, everything is fine.

AddThis Social Bookmark Button

What’s new in WebSphere Integration Developer V6.2

December 10th, 2008 dan Posted in WebSphere Integration Developer, WebSphere Process Server | 2 Comments »

From DeveloperWorks, What’s new in WebSphere Integration Developer V6.2

New enhancements to IBM® WebSphere® Integration Developer V6.2 support the latest features and standards provided by WebSphere Process Server and WebSphere ESB V6.2. … You’ll learn about the solution view, editor enhancements, and services gateway pattern support, and be introduced to new features like business calendars and support for the Web Services Feature Pack. You’ll also learn about improved testing and problem determination, along with enhancements for migration

It’s the most wonderful time of the year, the holiday season because it means that we’re getting new versions of WebSphere Process Server and WebSphere Integration Developer! I’ll go through the list of features:

WebSphere Business Modeler interaction

I’m not sure what to make of this feature. One of the new parts that I’m sure IBM will be pushing is the ability in Modeler 6.2 ‘Design to Deploy’.

WebSphere Process Server V6.2 enables a new direct deploy scenario, where users of WebSphere Business Modeler can directly deploy modules into the WebSphere Process Server runtime.

I believe this feature is more for testing, but I really have to play with it more. Without more investigation, deploying an application from a business analyst perspective into a technical server like WebSphere Process Server sounds weird. As more people use Modeler to deploy, will it just become WebSphere Integration Developer, just with an even more candy UI?

Solution view

Woo hoo! It’s about time. You can finally have some kind of visualization of your entire solution and the interactions between modules! No more visio (or if you are like me, MS Paint) diagrams and manually ensuring the interactions are correct.

Process editor Improvements

There is finally an ability to use Business Object maps directly in a BPEL. No more visual snippets!

Human task editor Improvements

the option to bind a participating human task to the process lifecycle

Finally, your human tasks can terminate if your instantiating business process dies. And finally,there’s an editor for those insane BPEL/Human Task variables.

Assembly editor enhancements

Don’t you worry, it’s been made prettier :-) More importantly, the WebSphere Web Services Features Pack is now supported. It’s also got policy set support for all you guys that want to do your WSReliableMessaging.

You can define new policy sets through the administrative console, export into an XML file, then import into WebSphere Integration Developer.

Blech.

Mediation Flow Editor

Performance is improved by eliminating the hop between modules, improving efficiency

Hmm, I wonder what this actually means? I know that the SCA.SYSTEM bus creates an ungodly amount of queues for an application, I wonder if someone finally looked at this to minimize them?

Support for Services Gateway pattern

This is very interesting. It appears that WID v6.2 now is starting to support patterns and wizards to create these patterns.

Other editor enhancements

Versioning! You can now version all components in your assembly diagram.

I also see a ton of new features added to the Integration Test Client that sound very exciting.

Conclusion

All-in-all, it looks like a good release on paper. Of course, what really matters is how it behaves when you are using it. The progression of WebSphere Integration Developer from 6.0 -> 6.0.1 -> 6.0.2 -> 6.1 -> 6.2 has been very good so I have faith that this will be another large step in the right direction.

AddThis Social Bookmark Button

ProcessTemplateNotFoundException: CWWBA0008E: Process template ‘myProcess, -valid_from_date-’ is not found

December 9th, 2008 dan Posted in WebSphere Process Server | No Comments »

In the admin console, when trying to stop a template contained in an ear so that the ear could be updated, the following exception occurred:

com.ibm.bpe.api.ProcessTemplateNotFoundException:
CWWBA0008E: Process Template
'MyProcess, Web 2008-10-10 12:32:22.00' 
is not found.

It’s unknown how many times that the EAR was attempted to be stopped or what happened on the initial removal from the server.

To investigate the ProcessTemplateNotFoundException, I looked at the BPEDB’s PROCESS_TEMPLATE_B_T table. This table holds the persisted information in the database for process templates. A simple select * from PROCESS_TEMPLATE_B_T should give a list.

When I ran this query, I found that the table was empty. So the database has no records of any process templates. The weird part is that I can still see the templates in the ‘Business Processes’ tab from the admin console. I’m not sure how this information is populated. Does it come from the EAR file itself or is it generated via BPE API calls? If it’s the latter, I’m even more confused why the BPE API would return a list of templates while the database was empty.

I removed the ear from the admin console and it uninstalled properly. I then installed the EAR and looked at the PROCESS_TEMPLATE_B_T table and it was populated properly.

As far as I know, this was a one-off incident. There is a theory that something occured when ‘Update’ of an existing EAR was selected and the updated EAR contained additional templates. But it’s just a theory.

I thought I’d write this up just in-case anyone else out there runs into this issue. The BPEDB should be the ‘gold standard’ as to the state of your business processes. If it gets out of sync with the admin console, weird errors can result.

AddThis Social Bookmark Button

The top 10 questions you always wanted to ask about WebSphere Business Modeler

December 9th, 2008 syndication Posted in DeveloperWorks, Other Business Integration Products, Syndication | No Comments »

From Developerworks, The top 10 questions you always wanted to ask about WebSphere Business Modeler
WebSphere Business Modeler expert Marc Fasbinder answers the ten most commonly asked questions about Modeler.
If you are a practitioner on WebSphere Business Modeler, this is the article for you.
AddThis Social Bookmark Button

DSRA9010E: ‘{0}’ is not supported on the WebSphere ‘{1}’ Platform

December 1st, 2008 dan Posted in WebSphere Application Server | No Comments »

If you see the following exception:

Exception Data: com.dan.LDAPException: javax.resource.NotSupportedException: DSRA9010E: 'execute(InteractionSpec, Record, Record)' is not supported on the WebSphere Interaction implementation.

It likely means that the JNDI object you looked up isn’t the type your code thought it was going to be. An example of this would be when your ear is installed to your server and the resource-ref is bound to the wrong resource (say a DataSource instead of an LDAP resource).

It would make this exception a thousand times easier to debug if it included a .toString() of the root object that threw the NotSupportedException. Alas, it does not, so you are left to manually look through your admin console to figure out what happened.

I also have no idea what the ‘Interaction’ implementation is that the exception itself is complaining about.

AddThis Social Bookmark Button

Is SOA Dead? - Webinar hosted by the WebSphere User Group

December 1st, 2008 dan Posted in Service Oriented Architecture, WebSphere Community | No Comments »

Well I sure hope not but the Global WebSphere Community is holding a one hour chat on the subject:
begin a

Session dates: Wednesday, December 3, 2008
Starting time: 3:00 pm, GMT -05:00, Eastern Standard Time (New York)

Many organizations have started down the path of SOA, only to find that reality is more challenging than the hype. Businesses need to see ROI, and IT professionals have a hard time staying on the theoretical course. So, how are we going forward?

In this web-event, we will focus on the current problems around SOA, suggest successful strategies towards attaining SOA benefits and discuss how you can be the catalyst for improving IT and Business-IT alignment: essentially, making SOA work in the here and now.

Our main topic will be SOA governance: coordination, ownership, right-to-decide and versioning of services are all critical factors in SOA. Other topics will include: service lifecycles, portfolio management and an SOA maturity model.

The content of this event is based in part on the book “SOA for Profit, a Manager’s Guide to Success with Service Oriented Architecture”. After the event, we will send attendees an electronic copy of this book.

I don’t think SOA is dead by any means, but I do think that it can expose communication gaps that exist in companies which lead to the delays and corner cutting that hurt SOA implementation. If your company doesn’t really work together well between Business Analysts, Systems Analysts, Developers and Administrators, you are going to have serious issues with any methodology you choose anyway. I think to be successful you have to breed a corporate attitude of the first impulse being “How can I help?” as opposed to “I’d like to help, but talk to my management chain first. Then we can schedule a pre-planning meeting about how we’re going to plan to……yadda…..”.

AddThis Social Bookmark Button

Issues that I encountered while creating my DataPower to MQ Demo

November 25th, 2008 dan Posted in Dan Zrobok, DataPower | No Comments »

As I mentioned before, I wanted to create a demo of DataPower vs the WBI Suite for the conference that I attended today. The goal was to try and show the ‘wow’ factor of DataPower and turn a product that most only know from marketing slides into something real that could insprise the attendees. I came up short of that goal mostly due to time restraints and having some MQ issues. I thought that I would document the parts that cost me a lot of time:

  1. Installing MQ in SuSe 10 Fixpack 2 is easy. The part that I forgot is that there is configuration that needs to occur after that. Learning of commands like runmqlsr or  strmqm took awhile.
  2. Creating a bridged network using VirtualBox is not as straightforward as it is with VMWare. I had to track down a script that would automatically configure the bridge before I started the VM.
  3. Know what IP address your datapower box is setup for. I didn’t have this information when I first got the box in the mail. If you have no idea what IP address it’s using, be sure that you have a serial cable and more importantly a computer with a serial port. My T60 doesn’t have one and there was no docking station handy.
  4. Industry Standard Schemas aren’t easy to get your hands on. I thought I would use the HL7 schema but you have to be a member to download it. I found a draft but at that point, I just wanted a large schema and didn’t care about the actual payload.
  5. I wasted an insane amount of time with amqsput sample application that can put a message onto a queue. It only accepts input via stdin, so I thought I would be smart and pipe my 500k XML as input. I was puzzled when I saw 5000 messages enter my queue. They were created because my XML contained CF/LFs and that sample app interpreted them as separate messages.
  6. I wasted an insane amount of time with amqsput after I filtered out the CF/LFs. I then saw 9 messages created on my queue. It took me awhile to learn which mq command I could use to see the contents of a message on the queue and I realized that each message was 64k, the console limit for standard-in. I then had to recreate my XML/XSD validation to use a smaller XML file.
  7. My laptop can’t push enough data into MQ to actually get the box at 100% utilization. I was maxed out in the CPU of my virtualbox VM. I think if this scenario were to be a little more fair, the WebSphere server would have to be pushed off the box as well as the application that drops messages on the queue. I was trying to do everything on one laptop.

Funny part is, the actual datapower work was pretty straightforward. I created an MQ Queue Manager and once I actually got the TCP listener port up everything worked fine. Creating a Multi-Protocol Gateway and rules to transform and encrypt were equally easy.

Anyway, it’s still cool to have my hands on an actual datapower XI50. It’s heavier than you think :-)

AddThis Social Bookmark Button

BPEL ProcessAssertionError: Assertion Violation !(con != null)

November 20th, 2008 dan Posted in WebSphere Process Server | No Comments »

com.ibm.bpe.util.ProcessAssertionError:
com.ibm.bpe.util.ProcessAssertionError:
Assertion Violation !(con!=null) in
method >> com.ibm.bpe.databse.StmtHelper.
prepareStmtUpdateTaskTemplateState
(StmtHelper.java:101)

If you see the following exception, ensure that your server (or deployment manager) can actually access the BPEDB. The connection object inside of the BPEL Database Statement Helper has become null for an unknown reason. You can go to the datasource for your BPEDB and click Test Connection. This will likely identify an exception as to why the server cannot connect.

AddThis Social Bookmark Button

System administration for WebSphere Application Server V7: Part 1 — An overview of administrative enhancements

November 19th, 2008 syndication Posted in WebSphere Application Server | No Comments »

From DeveloperWorks, System administration for WebSphere Application Server V7: Part 1 — An overview of administrative enhancements
This series of articles describes several important new administration features available in IBM WebSphere Application Server V7. Part 1 introduces these features and subsequent articles will explore specific features in detail. (IBM WebSphere Developer Technical Journal)
A discussion of the new features from an administration perspective. You'll need to know this as all the dependent websphere products re-based themselves on this new level of WAS over time.
AddThis Social Bookmark Button

WebSphere Process Server - Business Process Choreographer Explorer Customization and Tuning Options

November 18th, 2008 dan Posted in WebSphere Process Server | No Comments »

If you plan on making the BPC Explorer available in a production environment, I suggest you read the following article.  It talks about customization and tuning options that are available.

The piece is that probably most important is the one where you can define a threshold. A threshold will limit the number of instances/tasks that are returned in any query executed by the BPC explorer. A current limitation is that all records are retrieved at once and the paging is done in memory. This means if you potentially have a  query that returns 10,000 instances, all that information has to reside in memory, increasing the heap and potentially impacting the performance of your production system.

AddThis Social Bookmark Button

Perficient Booth at the IBM WebSphere SOA Connectivity Briefing in Toronto

November 17th, 2008 dan Posted in Dan Zrobok, DataPower, Perficient, WebSphere Application Server | No Comments »

IBM is hosting a WebSphere SOA Connectivity Briefing in Toronto: Strategies for recovering your IT budget with IBM WebSphere MQ & SOA Connectivity

Details:

Sheraton Center Toronto Hotel
November 25, 2008
8:00am - 12:00pm

123 Queen Street West
Toronto Ontario M5H2M9
Phone: 416-947-4848

I’ll be there representing Perficient. My current plans are to get a DataPower box and hook up a little demo with DataPower pulling large industry-standard schema messages off MQ and transforming them and comparing that to the time it takes WebSphere Application server to do the same amount of work.

So if you happen to be in Toronto and would like to see a Datapower box in action, let me know and I can add you to the invite list.

AddThis Social Bookmark Button

Follow up to Profile Creation Fails on WebSphere 6.1.0.19: Java Juristiction Policy Files

November 17th, 2008 dan Posted in WebSphere Application Server | No Comments »

A few weeks ago, I discussed an issue where a profile could no longer be created on WebSphere Application Server 6.1.0.19. It boiled down to an issue with the Java security policy files and thier ‘restricted’ and ‘unrestricted’ flavours. At the time, I thought that WebSphere actually required the unrestricted versions.

To test my theory I created my own 6.1.0.19 server and created a profile. It worked just fine without installing the unrestricted policy files.  This means that my issue is that my environment is actually telling WebSphere (some-how) to use encryption algorithims used in the unrestricted jar. I’m still trying to figure out what part of my environment setup is doing this, but I thought it would be a service to the internet to document where I’m at currently.

IBM Documentation on the subject

AddThis Social Bookmark Button

WebSphere Process Server invocation styles

November 7th, 2008 dan Posted in DeveloperWorks, Reviews, Syndication, WebSphere Integration Developer, WebSphere Process Server | No Comments »

From DeveloperWorks, WebSphere Process Server invocation styles

As you author applications in WebSphere Integration Developer, you may find it necessary to set or verify the invocation style that one component will use to call another. Users are often surprised to find that this is not as easy a task as it may seem. This article explains how to determine which invocation style will be used at runtime, based on characteristics of your application.

Another article from my former colleagues (they’re been busy!). This one explains what interaction style an invocation will use between two component. This is important to understand for error handling and transaction boundary issues. Another must read.

AddThis Social Bookmark Button

Updates required for WebSphere Integration Developer debugger to work when security is enabled

November 6th, 2008 dan Posted in WebSphere Integration Developer, WebSphere Process Server | No Comments »

 According to the tech-note, you have to follow some manual steps to get the debugger to work on a server that has security enabled:

http://www-01.ibm.com/support/docview.wss?uid=swg24015747v

AddThis Social Bookmark Button

MQ Import Anti-Pattern: Multiple MQ Imports connecting to single pair of physical request/response queues

November 6th, 2008 dan Posted in WebSphere Integration Developer, WebSphere Process Server | 2 Comments »

The scenario

I have an MQ Request queue that takes multiple types of business objects as input. The MQ request queue consumer evaluates the type of the message and routes it to the appropriate downstream service. When the response comes back from the downstream system, it is placed into the single MQ Response queue. Therefore, the MQ Response Queue contains multiple types of response messages.

In my scenario, I need to invoke two services. I do this by placing two distinct message requests onto the request queue: Service invocation 1 and Service Invocation 2.

I create a BPEL process to invoke the two services in serial.

The Anti-Pattern

I create two MQ Imports and two WSDL files representing each operation. One for the invocation of service 1 and a second for the invocation of service 2. I configure each MQ Import to have it’s own unique listener port but I have them use the same queue manager and same physical request and response queues.

The Problem Manifests

What I see is that sometimes, the response message from my invocation of service 2 is picked up by the listener port for service 1. Service 2 never gets the response values and service 1 throws an exception. Eventually the listener ports will shut themselves down from the errors.

Why?

By creating two MQ Imports, I have now created two independent listener ports that are listening for messages on the same queue. They’re in a race condition about which one will get notified about the arrival of a message.

The MQ Import Pattern

Stick with a single listener port for your set of request/response queues.  In order to use a single listener port, you need to have a single MQ Import. You could do this by creating a single WSDL for your two operations to the request queue, or I believe you could add multiple wsdl interfaces to a single MQ Import.

AddThis Social Bookmark Button