Monday, 30 June 2014

Packt Publishing - 10 Glorious Years

From those nice people at Packt Publishing: -

This month marks 10 years since we embarked on our mission to deliver effective learning and information services to IT professionals. To celebrate this huge milestone, we are offering ALL of our eBooks and Videos at just $10 each for 10 days – this promotion covers every title and you can stock up on as many copies as you like until July 5th. 

If you've already tried a Packt title in the past, you'll know this is a great opportunity to explore what's new and maintain your personal and professional development. If you're new to Packt, then now is the time to try our extensive range – we're confident that in our 2000+ titles you'll find the knowledge you really need , whether that's specific learning on an emerging technology or the key skills to keep you ahead of the competition in more established tech. To get you started, we've put together 20 of our latest and greatest titles for you to pick up right here. But don't forget, you can get ANY eBook or Video for $10 in this offer – browse all our categories at the bottom of this page.

IBM BlueMix is officially open for busyness

Good hunting ....

Friday, 27 June 2014

Integrating WebSphere Message Broker with IBM Business Process Manager

This from my IBM UK colleague ( and fellow bon viveur ), Paul Smith, with whom I've shared mainly a fine Hursley Park club-house breakfast: -

This article shows you how to integrate WebSphere Message Broker with IBM Business Process Manager Standard Edition, with pragmatic ways to get the two products working together at both design time and run time.

This article describes the integration of IBM® WebSphere® Message Broker (hereafter called Message Broker) with IBM Business Process Manager Standard Edition (hereafter called IBM BPM) . Because Message Broker V8.0.0.1 is going to change the way in which services are created, this article focuses on bottom-up scenarios for the time being. As soon as Message Broker Fix Pack 1 is available, the top-down scenarios can be completed.

This article describes pragmatic ways to get the two products to work together from both design-time and run-time perspectives. For design time, integration involves methods that will make the different tools look more or less aligned. The key deliverable is to make the tools look like they work together in an aligned way so that you can easily do demo's, pilots, and proofs-of-concept (PoCs).

The article focuses on out-of-the-box features, even though many utilities have been developed to extend Message Broker capabilities. The article does not cover development governance, impact analysis, or changes to existing implementations, which will need to be addressed in the future. Also, the article covers only web service integration between the two products, and leaves JMS and MQ integration for a future article.

Thursday, 26 June 2014

WebSphere Application Server 8.5.5 - High Performance Extensible Logging (HPEL)

IBM WebSphere Application Server V8.5 enhances the High Performance Extensible Logging (HPEL) feature that was first introduced in V8.0.

As the name suggests, HPEL was created to significantly outperform the existing application server logging and tracing mechanism
plus provide a powerful way to extend log and trace entries with extra fields.

Beyond that, HPEL provides a number of ease of use improvements for working with log and trace content.

Enabling HPEL is quick and easy, and does not require any code changes to your applications.

HPEL is a new log and trace content storage and access system for WebSphere Application Server. HPEL stores log and trace content produced by the existing log and trace APIs, in particular the java.util.logging API.

HPEL addressses a number of common needs:
  • Log and trace performance
  • Log and trace entry extensibility
  • Automating log/trace analysis
  • Application separation
  • Request tracking
  • Remote access to logs/trace

In short, HPEL moves away from the traditional WAS logging mechanism - SystemOut.log, SystemErr.log etc. - and creates a log repository, and a potentially much better way to interact with the logs, either via a GUI ( part of the Integrated Solutions Console ) or a command-line tool ( see below for both examples ).

This is how HPEL looks: -

This is how one configures HPEL: -

and this is how one uses the LogViewer tool in the event that one doesn't like a GUI :-)

/opt/IBM/WebSphere/AppServer/bin/ -repositoryDir /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/ -minLevel AUDIT -maxLevel WARNING

returning: -

[25/06/14 13:58:00:056 BST] 00000001 WsServerImpl  A   WSVR0001I: Server server1 open for e-business
[25/06/14 13:58:01:155 BST] 00000051 FfdcProvider  W logIncident FFDC1003I: FFDC Incident emitted on /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_95c0b25b_14.06.25_13.58.00.9331624778189943296603.txt 61


IBM Redpaper - WebSphere MQ Primer: An Introduction to Messaging and WebSphere MQ

I've just finished this nice little ( 64 real pages ) book on the iPad, and would recommend it to anyone wishing to learn a bit about WebSphere MQ.

It's written against the version 7.X codebase, but should still be relevant to version 8. It makes brief reference to WebSphere Message Broker ( now IBM Integration Bus ) and WebSphere Application Server ( JMS etc. ), and does provide a few examples to create Queue Managers, Queues, send/receive messages in C and Java etc.

Definitely worth a read: -

WebSphere Application Server Migration Toolkit – Liberty Tech Preview

The IBM WebSphere Application Server Migration Toolkit – Liberty Tech Preview is now available to download. The Liberty Tech Preview tool helps you move WebSphere Application Server full profile applications to Liberty profile, which can be running inside or outside of the cloud.

Wednesday, 25 June 2014

System administration in WebSphere Application Server V8.5

This series of articles offers a comprehensive view of the system administration enhancements in IBM® WebSphere® Application Server V8.5, beginning with this overview of the new system management features. Details further explaining each major feature will be presented in subsequent articles. This content is part of the IBM WebSphere Developer Technical Journal.

Part 1: An overview of new administrative features and enhancements
Part 2: Using the Centralized Installation Manager
Part 3: High Performance Extensible Logging (HPEL)
Part 4: Using pluggable SDK 7 to enable WebSphere Application Server for Java 7

Tuesday, 24 June 2014

Adding WAS as a Unix service

This came up in a conversation during a WAS 8.5.5 enablement session today.

It is possible to register and run a WAS server as a service on Linux.

This is how: -

$ /opt/IBM/WebSphere/AppServer/bin/

CWSFU0010I: Usage: wasservice [options]
[-start] <service name>
-add <service name>
-serverName <server name>
-profilePath <service profile directory>
[-wasHome <install root>]
[-userid <user id>]
[-startArgs <additional startServer parameters>]
[-stopArgs <additional stopServer parameters>]
-remove <service name>
-stop <service name>
-status <service name>

$ /opt/IBM/WebSphere/AppServer/bin/ -add foobar -serverName dmgr -profilePath /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/

Interestingly, the service name foobar gets "renamed" to foobar_was.init as evidenced here: -

$ls -altrc /etc/init.d/

-rwxr-xr-x   1 root root  1938 Jun 23 16:51 irqbalance
-rwxr-xr-x   1 root root  2571 Jun 23 16:51 mdmonitor
-rwxr-xr-x   1 root root  9980 Jun 24 13:30 jexec
drwxr-xr-x.  2 root root  4096 Jun 24 15:20 .
-rwx--x--x   1 root root  3335 Jun 24 15:20 foobar_was.init

and: -

$ chkconfig --list | grep -i foobar

foobar_was.init 0:off 1:off 2:on 3:on 4:on 5:on 6:off

I can now manage the server using standard Linux commands e.g.

$ service foobar_was.init start

Starting WebSphere Application Server - dmgr ...
ADMU0116I: Tool information is being logged in file
ADMU0128I: Starting tool with the Dmgr01 profile
ADMU3100I: Reading configuration for server: dmgr
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server dmgr open for e-business; process id is 54588

$ service foobar_was.init status

WebSphere Application Server - dmgr is running.

$ service foobar_was.init stop

Stopping WebSphere Application Server - dmgr ...
ADMU0116I: Tool information is being logged in file
ADMU0128I: Starting tool with the Dmgr01 profile
ADMU3100I: Reading configuration for server: dmgr
Realm/Cell Name: <default>
Username: wasadmin
 ADMU3201I: Server stop request issued. Waiting for stop status.
ADMU4000I: Server dmgr stop completed.

One thing that I realised after the event was that I'd neglected to specify the -userid parameter on the wasservice command, meaning that, when I started the Deployment Manager, it automatically started as root, rather than the required wasadmin.

This led to some problems when I tried to access the admin. console, where certain elements were completely blanked out, and I saw: -

[6/24/14 19:42:06:622 BST] 0000011d WorkSpaceMast E WKSP0012E: Exception while extracting cells/bpm85Cell/nodes/bpm85Node1/servers/dmgr/server.xml from Unable to create temp file for document: cells/bpm85Cell/nodes/bpm85Node1/servers/dmgr/server.xml
[6/24/14 19:42:06:623 BST] 0000011d WorkSpaceMast E Unable to create temp file for document: cells/bpm85Cell/nodes/bpm85Node1/servers/dmgr/server.xml
[6/24/14 19:42:06:627 BST] 0000011d FileDocument E ADMR0104E: The system is unable to read document cells/bpm85Cell/nodes/bpm85Node1/servers/dmgr/server.xml: Permission denied

in the logs.

I validated this by inspecting the generated script - foobar_was.init - which contained: -


I fixed this by removing the service / script: -

$ /opt/IBM/WebSphere/AppServer/bin/ -remove foobar

and then recreated it as follows: -

$ /opt/IBM/WebSphere/AppServer/bin/ -add foobar -serverName dmgr -profilePath /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/ -userid wasadmin

which changed the foobar_was.init script: -

which now works as expected.

Installing and Using Oracle Java7 on Red Hat Enterprise Linux

So, having downloaded the latest Oracle JRE from here: -

I wanted to set it as the default JVM on my Red Hat Enterprise Linux Server release 6.5 (Santiago) box ( instead of the stock OpenJDK JVM ): -

$ java -version

java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (rhel-
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
[root@rhel6 ~]# /usr/sbin/update-alternatives --install /usr/java/latest
alternatives version - Copyright (C) 2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.

Add the new JRE as an option

$ /usr/sbin/update-alternatives --install /usr/bin/java java7 /usr/java/latest/bin/java 2

Configure my chosen JRE

$ /usr/sbin/update-alternatives --config java7

There is 1 program that provides 'java7'.

  Selection    Command
*+ 1           /usr/java/latest/bin/java

Enter to keep the current selection[+], or type selection number: 1


$ java -version

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

Thanks to this blog post for sharing: -

Monday, 23 June 2014

WebSphere Application Server - Everything you wanted to know about scripting but were afraid to ask

As shared by my ISSW colleague, Mike Whale: -

Chapter 1. Scripting for data access resources
Chapter 2. Scripting for Mail, URLs, and other Java EE resources
Chapter 3. Scripting for Messaging resources
Chapter 4. Scripting for naming and directory
Chapter 5. Scripting for security
Chapter 6. Scripting for Service integration
Chapter 7. Scripting web applications
Chapter 8. Scripting for web services

Sunday, 22 June 2014

What's new in IBM Business Process Manager V8.5.5

What's new in IBM Business Process Manager V8.5.5

IBM® Business Process Manager V8.5.5 introduces many new features.

• Installation and configuration
• Migration
• Process Designer and Process Center
• Basic Case Management Feature
• Process Portal
• Process Admin Console
• Integration Designer

Thanks to IBM_BPM for sharing.

Friday, 20 June 2014

Deep Dive on Java Virtual Machine (JVM) Javacores and Javadumps

Thanks to my colleague, Mike Whale, for sharing this: -

Javacores are one of the most powerful tools in WebSphere Application Server and the JVM. This WebSphere Support Technical Exchange is designed to provide a deep dive into Javacores and Javadumps, and includes items that even seasoned professionals may not use or know about - for example, CW states for threads one would presume to be Runnable in IBM Java 5+.
  • Javacores: What, why, and how
  • Tips and Tricks
  • Hung Thread Detection
  • Tooling
  • Questions
It's from 2010, but still bloomin' relevant

Thursday, 19 June 2014

Saving time with IBM Monitoring and Diagnostic Tools - By Mr John Pape Esq

From Mr John Pape Esq: -

As a member of the IBM WebSphere foundation SWAT team, my daily job typically revolves around solving problems that customers run into using IBM software such as WebSphere Application Server and WebSphere eXtreme Scale. Much of the time I'm working out what diagnostic material is needed to draw the inferences and conclusions into the light so an actionable resolution can be put in place.

From the pen of Eric Herness - BAM, IBM Business Monitor and Continuous Process Improvement

Customers often ask me why they need BAM, in the case of the IBM Smarter Process Portfolio, why do they need IBM Business Monitor.    The answer is a bit complex, but offers a key lesson about business process management in general.  This blog post will begin to tell this story and leave some room for interpretation and discussion.

Samsung TV - When YouTube becomes NoTube

So my bro-in-law has a rather shiny 46" Samsung D6530 3D TV, with which I was so impressed I bought a similar model ( albeit only the 2D version as I don't have Sky, BluRay or a passion for foolball ).

One thing that made him sad was that the native YouTube app failed to work - it'd just hang there, and never actually get past the logo.

A quick Google later, and I suggested that the firmware might need to be updated.

He was on 001006, and 001026 appears to be the current version.

I downloaded it from here, as a ~120 MB .EXE file: -

extracted it to a USB thumb-drive ( using a Windows VM on my Mac ), and then used the Samsung's menu to update the firmware from the USB key.

Once updated, we're in like Flynn, and YouTube is pushing ABBA out across the lounge .....

Wednesday, 18 June 2014

Book Announcement - Modern Web Development with IBM WebSphere

This guide presents a coherent strategy for building modern mobile and web applications that are fast, responsive, interactive, reusable, maintainable, extensible, and a pleasure to use. Four IBM experts offer practical, hands-on coverage of front-end development with IBM WebSphere Application Server 8.5, IBM Worklight, and today's most popular open source frameworks.

Modern Web Development with IBM WebSphere is a complete guide to learning how to build effective mobile and web applications using IBM WebSphere, IBM Worklight, and the leading open source frameworks. Using well-crafted examples, the authors introduce best practices for MobileFirst development, helping you create apps that work superbly on mobile devices and add features on conventional browsers. Throughout you'll learn better ways to deliver Web 2.0 apps with HTML/JavaScript front ends, RESTful Web Services, and persistent data. Proven by IBM and its customers, the approach covered in this book leads to more successful mobile/web applications—and more effective development teams.

Also, we have this: -

By Joey Bernal

In Application Architecture for WebSphere, one of IBM's leading WebSphere and WebSphere Portal architects offers a hands-on, best-practice guide to every facet of defining, planning, and implementing WebSphere application architectures. Joey Bernal shows working architects and teams how to define layered architectural standards that can be used across the entire organization, improving application quality without compromising flexibility.


The application architecture for WebSphere:

• Provides simple, recommendations for designing and adhering to a layered architecture approach for WebSphere applications
• Includes hands-on architects with decisions guidance and examples which can be used in defining their own architecture

Thursday, 12 June 2014

IBM Operational Decision Manager 8.6 - Get downloading now ....

So IBM ODM 8.6 was released last week - Friday 6 June

More on Java and Canonical Hostnames

Following up on my earlier post: -

I've refined my Java class - -


public class hostStuff
public static void main(String[] args)

InetAddress address = InetAddress.getLocalHost();
System.out.println("My IP address ( via InetAddress.getLocalHost() ) is " + address.toString());
System.out.println("My hostname ( via InetAddress.getHostName() ) is " + address.getHostName());
System.out.println("My hostname ( via InetAddress.getCanonicalHostname() ) is  " + address.getCanonicalHostName());
catch (UnknownHostException e)
       System.out.println("I'm sorry. I don't know my own name.");

The class does the following things: -

Get the localhost's IP address InetAddress address = InetAddress.getLocalHost();
Report the IP address System.out.println("My IP address ( via InetAddress.getLocalHost() ) is " + address.toString());
Get the hostname for this IP address System.out.println("My hostname ( via InetAddress.getHostName() ) is " + address.getHostName());
Get the Canonical ( fully qualified ) hostname for this IP address System.out.println("My hostname ( via InetAddress.getCanonicalHostname() ) is  " + address.getCanonicalHostName());

My next trick is to write a class that iterates through ALL of the known IP addresses ( many boxes have multiple Network Interface Cards and, therefore, many addresses ) and report on the hostnames for each.

The rationale behind this is where one configures Kerberos/SPNEGO using the Canonical hostname of a server - it's important to know WHAT the fully qualified hostname is, and to ensure that DNS can return a valid hostname for an IP address, as well as a valid IP address for a hostname.

Here's some examples: -

Red Hat Enterprise Linux running on IBM PureApplication System

$ java hostStuff
My IP address ( via InetAddress.getLocalHost() ) is vm-004-039/
My hostname ( via InetAddress.getHostName() ) is vm-004-039
My hostname ( via InetAddress.getCanonicalHostname() ) is

Mac OS X

$ java hostStuff
My IP address ( via InetAddress.getLocalHost() ) is DMHMBP.local/
My hostname ( via InetAddress.getHostName() ) is DMHMBP.local
My hostname ( via InetAddress.getCanonicalHostname() ) is

Red Hat Enterprise Linux running on VMware

$ java hostStuff
My IP address ( via InetAddress.getLocalHost() ) is
My hostname ( via InetAddress.getHostName() ) is
My hostname ( via InetAddress.getCanonicalHostname() ) is  localhost

Of the three, only the IPAS environment is "properly" configured, in that InetAddress.getCanonicalHostname() returns the fully qualified host/domain name of the server.

Wednesday, 11 June 2014

Engage Business Users in Process Improvement with IBM Blueworks Live

More from IBM about the benefits of IBM Blueworks Live

A critical success factor in any business process improvement project is engaging business users. They are, after all, the ones who know best how the current-state process works, as well as the various ways in which it doesn't work. And they are also the ones whose daily work life will be most directly impacted by any process changes. The trick is getting business users directly engaged in the project. They are used to that being "IT's job," although they often complain that IT doesn't listen to their requirements, or at least does not adequately understand them. But if you can somehow get those users to actively collaborate with your business analysts and consultants in documenting the current process, analyzing its shortcomings, and describing in detail a proposed new and better process, your chances of successful process improvement significantly increase. That requires new tools that not only eliminate the barriers that have always gotten in the way of business users but encourage active business user participation in the project.

From the field - Lean and BPM: Two peas in a pod ?

From my IBM UK colleague, Sunil Aggarwal, comes this rather useful post about IBM BPM and lean techniques: -

Recently I have seen a resurgence of customers adopting lean techniques in their projects. In general, these have been very successful due to speed of delivery, quality of deliverables and output, and the ability to drive fundamental change to the business process being implemented. The result is significant and can offer quantitative cost reduction.

Monday, 9 June 2014

More Cloudy Fun - 200 IBM Bluemix Days

Following on from an earlier post: -

Come learn about IBM's new cloud development platform: IBM Bluemix

IBM Bluemix is an open-standards, cloud-based platform for building, managing and running apps and services of all types (web, mobile, big data, new smart devices). Capabilities include Java, mobile backend development, application monitoring, as well as capabilities from ecosystem partners and open source — all through an as-a-service model in the cloud.

The 200 IBM Bluemix Days include Meetups, Bluemix Advantage sessions, and Hands-On Bluemix Workshops.

For the UK, we have: -

Want to know more, and enrol ? Then please click here: -

Updating IBM Installation Manager via the command-line

So this ties up with a piece of work that a colleague is undertaking on the IBM PureApplication System.

As part of his work, he needs to update IBM Installation Manager (IIM) in place from 1.6.2 to 1.7.2

Here's the process: -


$ /opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledPackages


$ /tmp/foobar/userinstc -acceptLicense -dataLocation /home/wasadmin/var/ibm/InstallationManager/

Updated to in the /opt/IBM/InstallationManager/eclipse directory.


$ /opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledPackages

The pre-requisite is that one must have IIM 1.7.2 downloaded from here and unpacked into /tmp/foobar.

IBM WebSphere Application Server and IBM HTTP Server Not Vulnerable to June 5th OpenSSL vulnerabilities

From this Flash released on Friday 6 June: -

IBM WebSphere Application Server and IBM HTTP Server Not Vulnerable to June 5th OpenSSL vulnerabilities


IBM WebSphere Application Server and IBM HTTP Server are not vulnerable to the OpenSSL vulnerabilities noted on June 5, 2014 (CVE-2014-0224, CVE-2014-0221, CVE-2014-0195, CVE-2014-0198, CVE-2010-5298 and CVE-2014-3470)


These vulnerabilities do NOT affect the SSL that is used by IBM WebSphere Application Server in all editions and all platforms. The IBM Java JSSE does not use OpenSSL.

This vulnerability does NOT affect the IBM HTTP Server component in all version, editions and platforms. The GSKit component of IBM HTTP Server does not use OpenSSL SSL code.

Remediation: No action required.

Change History: 06 June 2014: original document published

With thanks to my IBM colleague Jonathan Marshall for sharing via Twitter.

Wednesday, 4 June 2014

WebSphere Application Server - Monitoring for performance - IBM Monitoring and Diagnostic Tools for Java - Health Center

Added to my other post: -

we also have this tool: -

The IBM Monitoring and Diagnostic Tools for Java - Health Center is a free low-overhead diagnostic tool and API for monitoring an application running on an IBM Java Virtual Machine.

The IBM Monitoring and Diagnostic Tools for Java - Health Center (Health Center) enables you to assess the current status of a running Java application. Health Center continuous monitoring provides information to identify and help resolve problems with your application:

• Identify if native or heap memory is leaking
• Discover which methods are taking most time to run
• Pin down I/O bottlenecks
• Visualize and tune garbage collection
• View any lock contentions
• Analyse unusual WebSphere® Real Time events
• Monitor your applications Thread activity
• Detect deadlock conditions in your application
• Gather class histogram data
Use Health Center to help you:

• Optimize application performance
• Improve application stability and uptime
• Reduce system resource usage
• Reduce the time to resolve problems
• Drive down development and maintenance costs
• Trigger System dumps for analysis in IBM Monitoring and Diagnostics Tools for Java Memory Analyser
• Turn on verbosegc collection for analysis in IBM Monitoring and Diagnostics Tools for Java Garbage Collection and Memory Visualizer

Now I've only briefly played with this, during a day-long session with the excellent Java Technology Centre team from IBM Hursley Park.

However, I've already used the Health Center client ( the GUI part of it ) running natively on my Mac (!) against WebSphere Application Server Network Deployment running on Red Hat Enterprise Linux.

I'll write a post about this in due course, but Health Center is definitely going to be in my kit-bag going forward ......

WebSphere Application Server - Monitoring for performance - IBM Application Performance Diagnostics

So I need to write this up more fully, but I've been brought up-to-speed with two rather useful tools to facilitate the monitoring of WebSphere Application Server ( and other Java workloads ): -

IBM Application Performance Diagnostics (APD) is a powerful yet lightweight tool that can be deployed quickly to help optimize the performance of your WebSphere Application Server and WebSphere Portal applications.

What it does for you

• Reduce application downtime - faster problem resolution
• Optimize performance - find bottlenecks in the code
• Reduce production rollbacks - find problems earlier in lifecycle

Key benefits

• Install and configure in a matter of minutes, providing immediate value
• Lightweight enough to run in any environment, even on a developer's workstation
• Powerful enough to diagnose the root cause of issues, not just symptoms

Specifically, there is an APD Lite tool that's freely available

IBM Application Performance Diagnostics Lite is a free tool. If you are registered with IBM, and have an IBM ID, you can log in and download the software.
IBM APD Lite v1.1 Features:

• Enhancements to security
• Updated data collectors
• Stability related fixes

Tuesday, 3 June 2014

Adoption Scenarios for IBM PureApplication System

In my role as Capability Lead for Cloud and Infrastructure, I'm frequently looking at opportunities where IBM PureApplication System (IPAS) can be of use to my clients, either as an on-premise appliance or, more recently, made available via the IBM SoftLayer cloud hosting platform.

This is definitely going on my reading list: -

A comprehensive task-based handbook for using IBM PureApplication System

Download this comprehensive role- and task-based guidebook designed to help all users and organizations be successful with IBM® PureApplication® System. Organized by goal-defining stories, use cases, and tasks, the information you need to predictably and reliably achieve your objectives with PureApplication System can be found with one starting point.