Saturday, 28 December 2013

Old but good - Messaging with WebSphere Application Server 7.0

Whilst looking for something completely different, I found these two useful articles on the Packt Publishing website: -



They date from 2009, but provide a good summary on: -

• Java messaging
• Java Messaging Service (JMS)
• WebSphere messaging
• Service integration bus (SIB)
• WebSphere MQ
• Message providers
• Queue connection factories
• Queue destinations

Definitely worth a look ….

Shrinking .WAV files to keep an AOL user very happy

Having rebuilt my aunt's PC over the Christmas break, upgrading her ( well, the PC ) from Windows XP SP3 to Windows 7 SP1, I also needed to install her favourite AOL desktop.

The AOL software has a nifty feature where it "talks" to the user when you start the software ( "Welcome to AOL" ), and when you log on ( "You have email" ).

My aunt prefers the dulcet tones of Joanna Lumley ( and, as a big Joanna fan, I can't say I blame her ), whereas AOL seem to think that a butch ( and quite fake-sounding ) US accent is much better.

Thankfully, having hit this problem ( when I upgraded here from Windows 98 to Windows XP ), I'd made a backup of the Joanna voices.

Sadly, when I tried to add the backed up voices ( .WAV files ) into the new AOL 9.7 desktop software, it whinged because the .WAV files were greater than 60 KB in size.

Thankfully, Google had the answer: -


In short, it was a simple matter of downloading/installing Audacity, opening up each of the .WAV files and then saving them in monaural format, thus shrinking them below 60 KB.

Seemples, as Aleksander would say :-)

Monday, 23 December 2013

The British Mac meat-up

So I did something slightly unusual over the weekend - but that's another story :-)

On Saturday, we drove, through typical British winter weather of strong wind, driving rain ( why do they call it driving rain, when it's weather in which nobody wants to drive ) and a lake also known as the M4, from Hampshire to Shropshire.

The purpose of our journey ? Well, apart from shopping in Telford ( not too impressed ) and Shrewsbury ( lovely old market town, similar to Salisbury and Winchester ), we were there to attend my first ever podcast-in-person, British Mac.

I've participated in podcasting before - I was fortunate to be a guest on This Week in Lotus a few times, and have also recorded an episode for an IBM internal podcast.

However, this was the first time that I'd actually participated in a podcast recording live, in meat-space ( hence the surreal title of this post ).

Will Green, aka @BritishMac was kind enough to host the evening's event, at his studio-cum-den in the wilds of Ironbridge ( a place to which I will definitely return, not having been there since the late 70s or early 80s ).

Will supplied beer, wine, snacks and, perhaps as importantly, heat - whilst the weather was lashing the countryside, we were snug and warm.

I'd estimate that there were about 20 of us huddled around the studio, whilst Will did his usual professional job of hosting the podcast, with the regular features - Apple News, The Rumour Mill, The Pussycat Club, the Old Mac and Mouse etc.

The discussion was varied and interestingly diverse - more importantly, there was a level of interaction that one doesn't usually experience from a podcast ( where there's typically 1-3 people participating ).

It'll be interesting to see how it comes out post-edit, but it was definitely an experience that I'd be more than happy to repeat.

The post-podcast pints, plus a curry at a local eatery, and a few wee drams to round off the evening, also helped to emphasise the social nature of podcasting.

In summary, despite the weather ( which actually got better for a while on Saturday as we headed north and west ), it was an excellent experience, and I was proud and thrilled to be able to participate.

Thanks, Will and assorted guests, it's been emotional :-)

Friday, 20 December 2013

IBM Business Monitor and IBM Business Process Manager: Together or Separate?

From the developerWorks IBM BPM Support Blog: -

The starting point for any architectural decision is the requirements whether functional or non-functional. We focus primarily on solving the client's problem. However, we have a duty to show the client what the implications are of each decision regarding the environment, administration, maintenance, migration, and resources management that are required for each solution so that the client is provided with tools to assist in decision-making. Sometimes, the client has restrictions or preconceived ideas about the product that should be addressed during the requirement mapping, analysis, and architecture definition.

The goal of this article is to discuss the role of IBM Business Monitor to monitor the IBM Business Process Manager and other sources. Thinking about some aspects of the IT infrastructure, we have some important points that we must consider when you install and configure these products. These points should be considered as you move forward so they have minimal impact to your business.

Wednesday, 18 December 2013

Suppressing HTTP headers from WebSphere Application Server

Following on an earlier post: -


I've had a request to suppress the version of WebSphere Application Server (WAS) being returned from, in this case, an IBM BPM environment.

I've documented the process on Slideshare here: -


In short, it involves setting one or other of the following custom properties: -

ServerHeaderValue – Allows Server Header to be set to a custom string
RemoveServerHeader – Allows Server Header to be completed removed

at the Web Container layer within the WAS configuration.

Hope this is of some help.

Tuesday, 17 December 2013

What if your car could communicate with you?

Two rather interesting posts from one of my IBM colleagues, John Samuel: -

Well I don't mean actually speak to you—that would be freaky. Imagine you're driving along and the car starts speaking—that would put me off from driving slightly!



Monday, 16 December 2013

Integrating a business process application in IBM Business Process Manager V7.5.1 and V8 with an external system using the REST API

This from IBM developerWorks: -

This article discusses integrating activities with an external system using the REST API. IBMBusiness Process Manager V7.5.1 and V8 support all the functionality provided by the unsupported REST API available with WebSphere Lombardi Edition V7.2.

Introduction

In IBM Business Process Manager (BPM), you define and implement the activities, such as steps, that must be carried out to complete a business process. This article discusses integrating activities with an external system using the REST API. With the release of Business Process Manager V7.5.1, you can now use all of the functionality that was provided by the unsupported REST API for WebSphere Lombardi Edition V7.2. For more information about the REST API for Lombardi Edition V7.2, see 
Common business process modeling situations in WebSphere Lombardi Edition V7.2, Part 2: Integrating a business process application with an external system using the REST API.

Wednesday, 11 December 2013

Process Designer and Internet Explorer 8 - Enabling native XMLHTTP support in Windows XP

Caveat : This article references using the Windows XP Registry Editor ( RegEdit ) - this is fraught with risk; if in doubt, do NOT follow this tip. Typically, the better way of resolving this issue is to work with your organisation's Windows administrators, perhaps via a Group Policy Object (GPO) in Active Directory.

From the BPM 7.5 Information Centre: -

Process Center Console and Process Admin Console might require additional security configuration. If you are using Internet Explorer V8 or V9, the browser might respond with security related errors. If your browser returns security related errors, perform the following actions:
• For Internet Explorer V8, make sure that the Enable native XMLHTTP support option is selected. Navigate to Tools > Internet Options > Advanced > Security.
• For Internet Explorer V9, add the Process Center Console and Process Admin Console URLs to the set of trusted sites. Navigate to Tools > Compatability view settings.
...

The trouble is that, if you're running a locked-down non-admin. installation of Windows, this option is NOT available to you.

My client managed to solve this by adding the following registry entry: -

Location: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main
Name: XMLHTTP
Type: DWORD
Value: 1


Caveat: Again, this MAY not work for you. If in doubt, please please please consult your organisation's Windows/AD administration team.

Friday, 6 December 2013

WebSphere Portal 6.0 - "Domain jcr is wrong"

One of my former colleagues, from the IBM Software Services for Collaboration (ISSC) team pinged me on Sametime yesterday, asking a question about WebSphere Portal 6.0 - which is, for me, a definite blast for past ( circa 2006 ): -

I have a portal 6.0 question - we get an error after updating wpconfig_dbdomain.properties for oracle to point to a jcr db we copied from another server.  

we just edited the properties file then ran connect-database-validate-jcr and it ended as "domain jcr is wrong". No idea where it is getting stuck.  

That didn't strike any chords with me, and I asked whether the error message was written correctly, as I couldn't find any reference to similar problems online, including the IBM Problem Management Report (PMR) database.

She kindly responded later in the day with the solution, as she'd discovered a similar issue in a developerWorks forum article: -


where the original poster was seeing: -

file:../config/actions/validation.xml:160: Wrong usage of the sqlproc task! - wrong dbtype: db2

The most excellent Hunter Tweed responded: -

This message usually means one of the required properties in wkplc_comp.properties or wkplc_dbtype.properties is missing. The typical cause here is if it's been accidentally erased from the file or commented out.

which led my colleague, Amy, to the resolution.

She subsequently posted: -

Hi - we had a similar issue with the error being returned "file:../config/actions/validation.xml:127: Wrong usage of the sqlproc task! - domain jcr is wrong"

We finally figured out what the problem was:  In wpconfig_dbdomain.properties, we had "Jcr.DbSchema=xxxx" rather than "jcr.DbSchema=xxxx" and as soon as we switched to lower case jcr, it was fine!

Bottom line; the parameter jcr.DbSchema=xxxx had been written as Jcr.DbSchema=xxxx :-)

Thanks to Amy for demonstrating the power of collaboration :-)

Mac OS X - Creating a "Send To"-like behaviour in Finder

Yesterday, I was looking for a mechanism to allow me to send a file as an attachment via email, directly out of Finder.

After a quick Google search, I found a useful article here: -

Five customized Automator services to help save you time

which included the required Automator script - Attach to Mail - which gave me this: -


Thursday, 5 December 2013

IBM developerWorks - New IBM BPM Articles

Two new articles, from the IBM Business Process Management Journal.

Troubleshooting IBM Business Process Manager

Troubleshooting BPM issues can be complex without the correct tools and techniques. This article describes a set of tools and techniques suggested by the IBM® BPM SWAT and Support team to help you with problem determination for IBM Business Process Manager.


IBM® Business Process Manager is a stateful product that accumulates data over time. As with any stateful product, it's essential to its ongoing health to have a strategy for purging some of that state occasionally. This article explores the areas of IBM BPM where data is collected and the methods that exist today to purge that data.


Book Review - Introduction to Computation and Programming Using Python by John V Guttag

As per previous book reviews, this is one that I've written for the British Conputer Science (BCS) : -

I chose to read and review this book purely based upon the title, rather than doing my normal level of research. I was interested in learning more about the Python language, partly because I use Jython on a regular basis ( Jython is an implementation of Python, written in Java ).

This book should not be considered as an introduction to Python; it is, in fact, precisely what the title suggests - an introduction to computation and programming using Python.

The difference may sound quite subtle, and perhaps a bit negative. That is the precise opposite of what I want to suggest - this is an excellent book; one that I would have dearly loved to have when I first started to learn the subject of computer science back in the 1980s.

Had I done my research more fully, I would have read this paragraph, which clearly outlines the purpose and content of the book: -

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of "data science"for using computation to model and interpret data.

The book begins by introducing Python, including the basic elements of the language, including objects, expressions, typing, variables, branches and strings. Much of this is very translatable to other languages, and would be useful to anyone learning the basic fundamentals of computer programming, regardless of the language.

It then continues to explain the fundamentals of programming, including functions, abstraction, testing, debugging, exception handling, and object-oriented (OO) programming.

At that point, the book then dives into the science element of computer science, including algorithmic complexity, probability theory, graphing, and statistical analysis.

At every stage, the author provides copious examples of how each particular problem can be illustrated / solved using Python, using the building blocks introduced in the early chapters.

In its entirety, the book should be considered as an excellent introduction to computer science and programming - as mentioned previously, I'd have loved to have this book when I started out in Information Science some thirty years ago.

However, if one's objective is to learn Python, it will be necessary to supplement this book with some specific Python tutorials, although the first few chapters will definitely help to establish context and understand the fundamental building blocks of the language.

Even one such as I, who has been working in the IT industry for nearly thirty years, found a huge amount of value from this book, as much of the content provided some good reminders of things that I'd since forgot, including probability and statistical analysis.

In conclusion, I can strongly recommend this book provided that one reads the title in full, and understands that it is a manual for budding computer scientists, as much as an introduction to the Python programming language.

My rating - 9/10 - purely because I didn't do my research, so the book didn't fully my expectations - I was looking for an introduction to Python, rather than an introduction to Comp. Sci.



Wednesday, 4 December 2013

Windows on a Mac - Booting a Windows XP VM into Safe Mode using VMware Fusion

I was struggling to do this earlier today - I wanted to boot WinXP into safe mode, inside a VM running in Fusion on my Mac.

Ordinarily, I'd press [F8] but that doesn't work too well :-(

I then tried to use VMware itself - Virtual Machine > Send Key > F8.

Thanks to this article: -


Caution: Depending on your problem, following this procedure may remove a software environment that is required to test the health of your operating system.

• Restart the operating system or power off and power on the computer. 
• When the computer starts, press and hold F8.

Notes:
• Depending how your keyboard is configured, you may need to press fn+F8 rather than just F8.
• You may see a series of messages that display information about hardware and memory. This is called POST information. If you see POST information, you do not need to press F8 until the screen goes black. Make sure the mouse focus is inside the virtual machine by clicking inside the console window and that you press F8 in a timely fashion. Windows can boot very rapidly, and it may take several attempts to catch the Safe Mode screen. To delay the POST information screen, see this knowledge base article Accessing the BIOS when the POST screen clears too quickly (KB 1004129)

You are presented with a text menu of boot options.

Note: If you do not see this text menu and Windows boots normally, repeat steps 1-2.

• Select a safe mode and press enter.

• If the operating system issues involve networking, select Safe Mode with Networking.
• If the operating system issues do not involve networking, select Safe Mode.

In short, [fn] [F8] works for me :-)

Jenkins and the Case of the Missing Body

I was repeatedly seeing this: - java.lang.IllegalStateException: There is no body to invoke with a Jenkins Pipeline that I was executing...