Generated by All in One SEO Pro v4.9.10, this is an llms-full.txt file, used by LLMs to index the site. # Strongback Consulting The Mainframe DevOps Experts ## Posts ### [STRONGblog](https://www.strongback.us/strongblog) **Published:** July 13, 2026 **Author:** --- ### [A Unix Survival Guide for the ISPF Veteran Moving Off Endevor (Part 2: More Commands)](https://www.strongback.us/2026/09/a-unix-survival-guide-for-the-ispf-veteran-moving-off-endevor-part-2-more-commands) **Published:** September 2, 2026 **Author:** user **Content:** [Part 1](https://www.strongback.us/2026/08/a-unix-survival-guide-for-the-ispf-veteran-moving-off-endevor-part-1-concepts "A Unix Survival Guide for the ISPF Veteran Moving Off Endevor (Part 1: Concepts)") covered the concepts — how a PDS maps to a directory, how Endevor’s package-and-promote model maps to Git’s commit-and-merge model, and the handful of commands you need to get moving: `ls`, `cd`, `vi`, `git`, `chmod`. This installment adds the commands you’ll reach for once you’re doing real work day to day: searching across files, checking space, watching processes, and moving data around. Every command below is confirmed against [IBM’s z/OS UNIX System Services Command Reference ](https://www.ibm.com/docs/en/zos/3.2.0?topic=reference-summary-zos-unix-shell-commands "IBM's z/OS UNIX System Services Command Reference ")— this is the z/OS shell (available through TSO OMVS, SSH, or batch via BPXBATCH), not a generic Linux box, and the two don’t have identical toolsets. We’d rather point you at what’s actually there than have you type something that works everywhere except where you’re standing. ## Finding things: `find` and `grep` In ISPF you had member lists and the 3.14 or SUPERC-style search across a dataset. Unix splits that into two jobs. `find` locates files by name, type, or other attributes, walking a directory tree the way you’d once have scanned a dataset list: ``` find . -name "*.sh" ``` `grep` searches file contents for a pattern — the direct equivalent of an ISPF `FIND` across members, but usable across an entire directory tree at once: ``` grep -r "DSNAME" /u/yourid/scripts ``` `egrep` and `fgrep` are variants of `grep` — `egrep` supports extended regular expressions, `fgrep` treats the search string as a literal, fixed pattern rather than a regular expression. All three are standard z/OS shell commands. ## Editing beyond `vi`: `oedit` and `obrowse` If `vi` doesn’t feel like home yet, z/OS UNIX also gives you `oedit` and `obrowse` — an ISPF-style edit and browse experience for files in the Unix file system, callable from TSO. If you want a bridge between the two worlds while you build up `vi`fluency, we recommend starting there rather than forcing `vi` on day one. ## Text processing: `sed`, `awk`, `sort`, `cut`, `wc` These are the workhorses of shell scripting — the equivalent of the utility programs you’d have invoked in a JCL step (ICETOOL, SORT, or a bespoke COBOL filter), but callable inline and chainable with pipes. - `sed` — a stream editor for find-and-replace and line-based edits: `sed 's/OLDVAL/NEWVAL/' file.txt` - `awk` — pattern scanning and field-based processing, useful for pulling columns out of structured text - `sort` — sorts lines of text, the shell equivalent of a SORT step - `cut` — extracts specific fields or columns from each line - `wc` — counts lines, words, and bytes (`wc -l` for a quick record count) The habit worth building: chain small commands together with the pipe (`|`) instead of writing one large script. `grep ERROR logfile.txt | wc -l` counts error lines in one line, the way you might once have chained SORT and ICETOOL steps to get the same answer. ## Checking space and files: `df`, `du`, `file` - `df` shows free space in a mounted file system, the rough equivalent of checking a volume’s free space in ISPF 3.4 - `du` summarizes how much space a directory or file tree is using — handy before you assume a `git clone` will fit where you think it will - `file` tells you what kind of file you’re looking at when the extension doesn’t say, useful when you inherit someone else’s repo ## Watching and controlling work: `ps`, `kill`, `nohup` - `ps` shows running processes — your equivalent of checking active jobs, though scoped to the Unix side rather than JES - `kill` ends a process or sends it a signal, the shell’s version of cancelling a job - `nohup` starts a process that keeps running even after you log off, useful for anything long-running you kick off from an SSH session you don’t want to babysit ## Moving and archiving files: `tar`, `pax`, `cpio` Where you might once have used IEBCOPY or IEBGENER to move a member or a whole dataset around, Unix gives you archive utilities that bundle a directory tree into a single file: - `tar` — the most common, used for packaging a set of files (`tar -cvf archive.tar directory/` to create, `tar -xvf archive.tar` to extract) - `pax` — a portable archive interchange utility, IBM’s preferred tool in some z/OS contexts for moving data between the Unix file system and MVS datasets - `cpio` — an older archive format, less common now but still standard ## Getting help without leaving the shell: `man` `man commandname` prints the reference page for a command — the shell’s equivalent of pulling up the ISPF help panel for a command you half-remember. It’s there and it’s reliable; we recommend making it your first move before searching the web for syntax you can get faster locally. ## A word of caution on assumptions Not everything a Linux tutorial shows you exists on z/OS out of the box. Utilities like `top`, `less`, `curl`, and `wget` are common on Linux distributions but are not part of the base z/OS UNIX System Services shell command set — some may be available through separately installed packages (like the z/OS Open Tools or IBM Open Enterprise SDK offerings) depending on how your shop has configured USS, but you shouldn’t assume they’re there. If a script you’re adapting calls a command and you’re not sure it exists on your system, check with `man commandname` or `whence commandname` before you build a dependency on it. ## Where to go from here Take one recurring task you used to do in ISPF — searching a set of members for a string, checking how much space a dataset group is using, or bundling files for transfer — and do it once with these commands. That’s the fastest way to convert “I read about this” into “I know this.” *Next in this series: Part 3 covers `git`, `curl`, `vim`, and the rest of the tools that don’t ship in base z/OS UNIX System Services but are available at no cost through IBM Open Enterprise Foundation for z/OS — the gap this part flagged with `top`, `less`, `curl`, and `wget`.* **Categories:** Uncategorized --- ### [A Unix Survival Guide for the ISPF Veteran Moving Off Endevor (Part 1: Concepts)](https://www.strongback.us/2026/08/a-unix-survival-guide-for-the-ispf-veteran-moving-off-endevor-part-1-concepts) **Published:** August 6, 2026 **Author:** user **Content:** If you’ve spent your career in ISPF, you already have the instincts that matter for DevOps — you just need to remap them. You know how to manage change through a controlled process, you know why naming conventions matter, and you know that a job either runs clean or it doesn’t. Unix and Git-based DevOps aren’t a different mindset. They’re the same mindset with a different keyboard. This is Part 1 of a series translating the ISPF/Endevor world into Unix and Git terms. This installment covers the concepts and the small set of commands you need to get moving. Part 2 builds on it with the commands you’ll reach for once you’re doing real work day to day. ## Your new 3.4 is `ls` and `cd` In ISPF, option 3.4 gave you a dataset list you could browse, filter, and act on. In Unix, that’s a combination of two commands: - `ls -la` lists the contents of a directory, including hidden files (anything starting with a dot, like `.gitignore`) - `cd path/to/directory` moves you into a directory, the rough equivalent of opening a PDS member’s containing dataset There’s no member list with a fixed 8-character name limit. Directories nest freely, and file names can be long and descriptive — `deploy-prod.sh` instead of `DEPLOYP`. We recommend getting comfortable with `pwd` (print working directory) early; it answers “where am I?” the same way the top of an ISPF panel used to. ## PDS members become files in a directory This is the mental shift that unlocks everything else. A partitioned dataset with its members maps to a directory with its files. `cd` into the directory, and every file in it is a “member.” There’s no member list panel — `ls` is the panel. Editing works the same way conceptually: you open a file, change it, save it. The tools are just different: - `vi` or `vim` — the Unix native editor, available almost everywhere, worth learning even if you never love it - `nano` — friendlier for quick edits, less powerful - A modern IDE like VS Code, connected over SSH — closer to what you’re used to visually, and what we recommend once you’re past the basics ## Endevor’s change control becomes Git This is the biggest conceptual leap, so take it slowly. Endevor tracked change through environments and stages — you promoted an element from Dev to QA to Prod, and Endevor kept the history. Git does the same job, but the unit of change is different, and the history lives with the code instead of in a separate control system. Endevor conceptGit equivalentElementFile tracked in a repositoryPackageCommit (or a set of commits)Stage / environmentBranchApproval / promotionPull request / mergeElement history`git log`Retrieve`git clone` or `git pull`A few commands to internalize first: - `git clone ` — pulls a full copy of a repository to your machine, roughly like retrieving an entire dataset’s worth of elements at once - `git status` — shows what’s changed since your last commit; check this constantly, the way you’d check a job’s return code - `git add ` then `git commit -m "message"` — stages and records a change, similar to generating a package - `git push` — sends your committed changes to the shared repository - `git pull` — brings down changes others have pushed The habit worth building immediately: commit small, commit often, and write a commit message that explains *why*, not just *what*. Endevor’s package descriptions did the same job. ## Branches replace stages, but they’re cheaper In Endevor, moving between Dev and QA meant a formal promotion step. In Git, a branch is just a lightweight, personal line of development — you can create one in seconds, work on it, and merge it back when ready. `git branch feature-x` creates one; `git checkout feature-x` (or the combined `git checkout -b feature-x`) switches you into it. We recommend treating your first few branches as disposable practice. Unlike an Endevor package, a branch mistake is cheap to throw away — `git branch -d feature-x` deletes it, no approval chain required. ## Jenkins is your new job scheduler Think of a Jenkins pipeline as a JCL job stream that runs on a trigger — a code push — instead of on a schedule or an operator submitting it. Where JCL steps run programs in sequence with condition codes gating the next step, a Jenkins pipeline runs stages (build, test, deploy) in sequence, and a failure in one stage stops the pipeline the same way a bad return code stops a job stream. The pipeline definition itself typically lives as code, in a file called a `Jenkinsfile`, checked into the same Git repository as everything else. That’s a habit shift worth naming explicitly: the process that builds and deploys your code is treated as code too, versioned right alongside it. ## Permissions: RACF becomes file modes RACF profiles controlled who could read, update, or alter a dataset. Unix permissions do the same job at the file level, expressed as three sets of read/write/execute bits — owner, group, and everyone else. Running `ls -l` shows them as a string like `-rwxr-xr--`. `chmod` changes them; `chown` changes ownership. It’s less centralized than RACF and more per-object, so get in the habit of checking permissions with `ls -l` before assuming a script will run. ## Shell scripting is your new JCL A shell script (typically a `.sh` file, run with `bash`) is doing the same job JCL used to do: sequencing commands, checking results, and handling errors. A few translation points: - `$?` in bash holds the exit code of the last command, the direct equivalent of a step’s condition code - `if`, `for`, and `while` give you the conditional and looping logic that JCL made you fake with condition codes and IEBGENER tricks - Environment variables (`export VAR=value`) play a role similar to symbolic parameters, but they’re process-scoped, not job-scoped Start by reading other people’s scripts before writing your own — the syntax is unforgiving about whitespace in ways ISPF never was, and pattern-matching from working examples will save you real frustration early on. ## A short glossary for the transition - **Repository (repo)** — the Git equivalent of a project’s full set of datasets and their history combined - **Clone** — your local working copy, closest analog to retrieving elements for edit - **Commit** — a recorded, described change; the closest thing to a package - **Merge** — combining changes from one branch into another; roughly a promotion - **Pipeline** — an automated job stream triggered by a code change - **SSH** — how you log into a Unix system remotely; think of it as your 3270 session’s replacement ## Where to start this week Pick one small, low-stakes file and take it through the full cycle: clone the repo, edit the file in `vi` or VS Code, check `git status`, commit it, push it, and watch a Jenkins pipeline pick it up if one’s attached. Doing that loop once, deliberately, will teach you more than reading ten more explanations like this one. You already know how to think about controlled, auditable change — that instinct doesn’t need to be relearned, just re-pointed at a new toolset. *Next in this series:* [Part 2](https://www.strongback.us/2026/09/a-unix-survival-guide-for-the-ispf-veteran-moving-off-endevor-part-2-more-commands "Part 2 - more unix commands") *covers the commands you’ll reach for once you’re past day one — searching across files, checking what’s eating space, tracing a running process, and more, all confirmed to run in z/OS UNIX System Services.* If you’re looking for professional training for your team we’ve got a [full courseware](https://www.strongback.us/solutions/idz-implementation-services) on most items around Mainframe DevOps. **Categories:** Mainframe Devops --- ### [Writing User Stories within IBM Rational Team Concert](https://www.strongback.us/2016/03/writing-user-stories-within-ibm-rational-team-concert) **Published:** March 11, 2016 **Author:** Kenny Smith **Content:** ### First Rule: Write Good User Stories [](http://www.amazon.com/gp/product/0321205685/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321205685&linkCode=as2&tag=st0edbf-20&linkId=7ZELSDIHGHGQ5XTU)If you are just getting started with writing user stories, I highly recommend Mike Cohn’s book [User Stories Applied: For Agile Software Development](http://www.amazon.com/gp/product/0321205685/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321205685&linkCode=as2&tag=st0edbf-20&linkId=7ZELSDIHGHGQ5XTU). Perhaps you’re coming from a background of writing large use cases. Perhaps you’re fresh out of school and not familiar with requirements management. [](http://www.amazon.com/gp/product/0321635841/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321635841&linkCode=as2&tag=st0edbf-20&linkId=PWHJ4UE2BA7HVBYO)If you’re already familiar with user stories and want to take requirements management to the next level, check out Dean Leffingwell’s book [Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise (Agile Software Development Series)](http://www.amazon.com/gp/product/0321635841/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321635841&linkCode=as2&tag=st0edbf-20&linkId=VQ7VXESJJML57DSY) #### INVEST in the content of the user story While I won’t cover the book here in this blog, I will emphasise a few key points that are important to understand when working with RTC. In it you will learn about the [INVEST mnemonic](https://en.wikipedia.org/wiki/INVEST_(mnemonic)), which is an acronym to describe the quality of the user story. LetterMeaningDescription**I**[Independent](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Independent)The user story should be self-contained, in a way that there is no inherent dependency on another user story.**N**[Negotiable](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Negotiable)User stories, up until they are part of an iteration, can always be changed and rewritten.**V**[Valuable](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Valuable)A user story must deliver value to the end user.**E**[Estimable](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Estimable)You must always be able to estimate the size of a user story.**S**[Small](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Small)User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty.**T**[Testable](https://en.wikipedia.org/wiki/INVEST_(mnemonic)#Testable)The user story or its related description must provide the necessary information to make test development possible.RTC itself is merely a tool. The content of the tool is only as good as what the analyst puts into the tool. Garbage in – garbage out. If you learn anything from this blog, learn the INVEST mnemonic and stick to it. Here is an example of what a simple user story would look like. A story has 3 C’s: the card, the conversation, and the criteria. At the top of the index cards is the name of the story. On the front of the card is the conversation with the stakeholders, elaborating on this need. ![user-story-card](https://www.strongback.us/wp-content/uploads/2016/03/user-story-card.png) Taking this approach, here is what this user story would look like in the RTC story: ![rtc-user-story-example-2](https://www.strongback.us/wp-content/uploads/2016/03/rtc-user-story-example-2-1.jpg) As you can see from above, the the entire content of the front of the card is placed in the Description field. We’ve put the “what” of the card in the Summary line for brevity (this makes it easier to find in work item queries). But what about the back of the index card (i.e. the criteria)? #### Acceptance criteria This is likely the most neglected step in writing a user story. The back of the index card is where we should be putting acceptance criteria. This has the format of the card shown here to our right. This establishes conditions for when a person interacts and performs a series of operations, what should be expected out of the system. ![user-story-criteria](https://www.strongback.us/wp-content/uploads/2016/03/user-story-criteria.png) We can take the acceptance criteria content and put it on the RTC user story like this: ![rtc-user-story-example](https://www.strongback.us/wp-content/uploads/2016/03/rtc-user-story-example-1.jpg) Acceptance criteria makes it much easier to create test cases. Whether you manage your test cases in spreadsheets, in HP ALM, or (our preference) Rational Quality Manager, having the analyst and stakeholders document what their criteria for acceptance is, makes writing the test case **much** more efficient. While it is easy to write test cases that test conditions that the stakeholders may never think of, if you don’t test for the conditions they *require*, you’ll never deliver a product that satisfies the target audience. ### Additional References for User Stories These links below are to help you with the content of your use cases. Again, the ‘bible’ of user story authoring is [Mike Cohn’s book listed above](http://www.amazon.com/gp/product/0321205685/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321205685&linkCode=as2&tag=st0edbf-20&linkId=7ZELSDIHGHGQ5XTU). All the information below follow from its cannon. **[Agile Requirements Decomposition](https://www.slideshare.net/rickdaustin/agile-requirements-decomposition "Agile Requirements Decomposition")** from **[Rick Austin](https://www.slideshare.net/rickdaustin)** **[Slicing and dicing your user stories](https://www.slideshare.net/JennyWong8/slicing-and-dicing-your-user-stories "Slicing and dicing your user stories")** from **[Jenny Wong](https://www.slideshare.net/JennyWong8)** #### Other useful resources: [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, devops, ibm, teamconcert --- ### [Book Reviews on Continuous Integration & Delivery](https://www.strongback.us/2012/10/book-reviews-on-continuous-integration-delivery) **Published:** October 4, 2012 **Author:** Kenny Smith **Content:** ### Continuous Integration [](http://www.amazon.com/gp/product/0321336380/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321336380&linkCode=as2&tag=st0edbf-20&linkId=Q6FGLE4GOHTLFJCP) I’ve recently read a couple of great books on the agile discipline of continuous integration. For those not familiar, this is the concept of using automation to build source code on a very frequent interval, and report defects or failures in the build to the team. The initial movement began after JUnit started getting popular, and people realized, that if their unit tests could be run each time a check in occurred, they would be able to detect defects much master. As such, the book *[Continuous Integration: Improving Software Quality and Reducing Risk](http://www.amazon.com/gp/product/0321336380/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321336380&linkCode=as2&tag=st0edbf-20&linkId=TIXN2EGACWONRGWT)* became a big influence in how I build quality into the development process from the very beginning. Part of doing good work with this is using JUnit (or other unit testing framework). JUnit has since been ‘borrowed’ into NUnit for .NET and zUnit for IBM mainframe COBOL. However, it is not a magic bullet. It does require diligence and meeting an understandable level of code coverage in order to get the reporting of unit test results meaningful. Also, the process of integrating multiple code artifacts at the same time can provide valuable insight into the quality of the application as well. If the code does not compile , even though the unit tests pass, you’ve met yet another defect early in the development cycle. The cost of correcting a defect goes up almost exponentially with each phase of development. Thus correcting a defect early in the development cycles saves money over the long haul. This. book is great in showing you concrete examples of how integration can save time and money. ### Continuous Delivery [](http://www.amazon.com/gp/product/0321601912/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321601912&linkCode=as2&tag=st0edbf-20&linkId=FVLFMBQQ4WAWPBUA) My interest continuous delivery comes from using the Jazz Build Engine (part of Rational Team Concert) and ANT scripts to automate the process of building software. When a developer checks in code to our RTC project, build engine will then check out the source code, compile it, test it (with JUnit), package the source, and optionally deploy to an integration test server. Having this automated saves hundreds of man hours and ensures that it is done exactly right every time. It also allows us to catch defects immediately when it happens. Integration however, sometimes requires you to deploy it in order to catch any issues that may arise. The book [Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation](http://www.amazon.com/gp/product/0321601912/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321601912&linkCode=as2&tag=st0edbf-20&linkId=VBNDGPEZ7IK3GPG4)goes over several scenarios where just testing and compiling is not enough. Actually deploying an application can involve multiple steps, all of which might be time intensive and manual. Eliminating these manual steps saves time. Also the build script itself further helps to document how the deployment process should work. If you’ve ever heard of the concept of DevOps, this is really the heart of it. I highly recommend the book if you’re just getting started with automation. It is certainly an eye opener. If you are new to this blog, we’ve discussed several similar topic on RTC and the Jazz build engine in prior posts that you might find helpful. #### Related posts: [Creating ANT Files from and existing Eclipse project](http://blog.strongbackconsulting.com/2012/05/creating-ant-file-from-existing-java.html) [Deploying to WAS or Tomcat using the RTC build engine](http://blog.strongbackconsulting.com/2011/03/deploying-to-was-or-tomcat-using-rtc.html) [Monitoring the status of builds in RTC](http://blog.strongbackconsulting.com/2009/10/monitoring-status-of-builds-in-team.html) #### Other related links: [/solutions/continuous-release-deployment](/solutions/continuous-release-deployment) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, books, devops, rational --- ### [Lotus Notes immune to "Here you have" virus](https://www.strongback.us/2010/09/lotus-notes-immune-to-here-you-have-virus) **Published:** September 10, 2010 **Author:** Kenny Smith **Content:** Yet another $h17#3@0 [virus maker has spawned his evil](http://abcnews.go.com/Technology/virus-mail-spreads-online/story?id=11596433) on the world with this recent [“Here you have”](http://isc.sans.edu/diary.html?storyid=9529&rss) virus. This is a version of the old Anna Kournikova virus from 2001, which in turn was a similar variant of the “Love Bug” virus in 2000. I was working at marchFIRST (USWeb ) when the love bug virus hit, and remember well I was cursing the fact I was using Outlook at the time. These viruses use Visual Basic to target the Windows MAPI interface. Lotus Notes does not use the MAPI interface. It has a completely different and self contained security model called the Execution Control List (ECL). The ECL is managed centrally by the Domino Administrator and can prevent such a virus from even launching. [![](https://www.strongback.us/wp-content/uploads/2010/09/ecl.jpg)](https://www.strongback.us/wp-content/uploads/2010/09/ecl-1.jpg) All this said, it is important to note that although Lotus Notes will not execute the virus, and the virus will not transport via Lotus API’s, if the user has MS Outlook, Outlook Express, or any other MAPI tool installed, this virus *can* spread from this PC. Also, a Lotus Notes user may receive a virus email and the user might be foolish enough to open it. However the ECL should block the code and give the user a warning. Only if the user ignores the warning (by explicitly allowing it to run), it will only spread if the user has a MAPI client. In the [article ](http://abcnews.go.com/Technology/virus-mail-spreads-online/story?id=11596433)where I first read this, the companies mentioned are Microsoft Exchange sites. You’ll notice the Outlook client displayed promptly in the video of the news article. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus, Lotus Notes, security --- ### [Free training site for IBM D series storage](https://www.strongback.us/2010/05/free-training-site-for-ibm-d-series-storage) **Published:** May 18, 2010 **Author:** Kenny Smith **Content:** [](http://ibmdsseriestraining.com/) [](http://ibmdsseriestraining.com/)I rarely work with storage systems – I’m a software guy. But on occasion I need to manipulate storage arrays for either performance tuning, or new installations. IBM has a new product group of storage called their “D-series”, which is geared toward mid-sized businesses and they’ve put out a training site to help customers get started with external storage arrays. Its a very well put together flash-based site and I learned a good bit about storage basics I did not already know. Direct Attach Storage, I know about, but SANS were a black art until I read this. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Regular Expressions explained](https://www.strongback.us/2010/05/regular-expressions-explained) **Published:** May 4, 2010 **Author:** Kenny Smith **Content:** I’ve tried to explain this topic in a couple of classes that I teach, but I can do no better than Andrei Zmievski’s post on SlideShare. This guy’s post is so excellent – it is THE best education source on Regular Expressions that I think I’ve ever seen. \[slideshare id=3932758&doc=regexclinicforslideshare-100501144735-phpapp02\] That said, sometimes as a consultant, I don’t have access to the Internet and thus can’t get to this site, or I just need a quick and dirty lookup and don’t have time to wade through a presentation like this. In that situation I refer to my pocket regex guide. The one I have currently has bent pages, permanently opens to the Java section, and the pages are all stained from my dirty paws, but its been worth its weight in gold. [![](https://images-na.ssl-images-amazon.com/images/I/51muVAJEZPL._SL160_.jpg)](http://www.amazon.com/gp/product/0596514271?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0596514271) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, regex --- ### [Creating & running software analysis in Rational Software Architect (Software Analyzer)](https://www.strongback.us/2010/04/creating-running-software-analysis-in-rational-software-architect-software-analyzer) **Published:** April 26, 2010 **Author:** Kenny Smith **Content:** Rational Software Architect has a much underutilized feature called Software Analyzer built into the product. It is separately available as its own product. It allows the developer/architect to scan and identify build patterns and anti-patterns in a workspace, working set, or specific project in the developer workspace. [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-5.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-5-1.jpg)These are very helpful to identify potential performance issues. I ran one against a project I’m working on a found some issues that although are not actual programming errors (meaning, the project will compile and deploy just fine), there are some development anti-patterns I either ignored or unintentionally created. To run a discovery, first click on your project while in then Navigator View, or Enterprise Projects view and select “Software Analyzer”, then “Software Analyzer Configurations”. Be sure and name your analyzer profile first. [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-1.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-1-1.jpg) Then, select a scope. The scope means which projects or working sets you wish to scan. I don’t recommend you scan your entire workspace, unless you only have a couple of projects. You certainly won’t be able to address all the issues at once if you scan say all 10 projects in your workspace. A single project is ideal. Next, create select a rule set. There are several pre-defined analyzer rule sets available. There is a security rule set available, but please take these with a grain of salt. Don’t expect them to provide all the security recommendations needed (AppScan source edition from Ounce labs is a good product for that). [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-2.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-2-1.jpg) [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-4.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-4-1.jpg)In this case I ran the full monty of tests, sans the UML models (as I don’t have any UML models in this particular project). Note the various architectural patterns it has discovered. For this project I make use of Spring, Hibernate, Apache Tiles, and Spring MVC (a framework I am a HUGE fan of). Knowing how these patterns interact with one another give you a better architectural understanding of your applications. If your app is large enough that you have multiple developers, you may not easily be able to tell what patterns (or anti-patterns) are being used by just looking at the code. [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-3.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-3-1.jpg)Yes, you the architect could figure it out. Think of this as a productivity feature that saves you countless hours of hunting and pecking. Knowing how patterns work with other patterns can help you develop more manageable, flexible, and modular architectures. Singletons, Factory, MVC are patterns you should know well, but what about ‘Local Butterfly’ or ‘Inheritance Tree’? [Applied Java Patterns](http://www.amazon.com/gp/product/0130935387?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0130935387) is a great reference book for Java patterns and understanding some of the more esoteric ones. After running the analysis the results view will popup. There are 3 panes – one for the result set, a tab for the architectural discovery, and one for the code review. You should find several helpful rules for the code review (depending upon which scan you ran). Clicking on the links will give you the option to navigate to the line of code where the trouble or anti-pattern lies. In this case, I was lazy and was doing String concatenation. This can be a performance issue in Java. According to Joshua Bloch > Using the string concatenation operator repeatedly to concatenate *n* strings requires time quadratic in *n*. [p. 155 Effective Java (2nd Edition) – Joshua Bloch](http://www.amazon.com/gp/product/0321356683?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0321356683) [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-6.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-6-1.jpg) In the code, click the icon for the analyzer recommendation and select “Quick Fix”. For my issue, it will refactor the code by extracting a constant, and inserting the constant where the current string is. The string becomes `private static final String MSG_SUBJECT = "New Strongback Consulting Contact!"; //$NON-NLS-1$` [![](https://www.strongback.us/wp-content/uploads/2010/04/SA-7.jpg)](https://www.strongback.us/wp-content/uploads/2010/04/SA-7-1.jpg) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational, RSA --- ### [Case Study: Enterprise Architecture](https://www.strongback.us/2009/09/case-study-enterprise-architecture) **Published:** September 16, 2009 **Author:** Kenny Smith **Content:** [](http://www.transactiontree.com/NoMoPaper/images/sprout.jpg) I’d like to announce that one of my customers has added some more client’s of their own. Their business is growing well in this down economy. Its another example of how entrepreneurs can thrive in a recession. They are an Internet startup focused on the green movement. I’ve listed them as[ one of our case studies ](https://www.strongback.us/casestudies/enterprise-architecture/)at Strongback Consulting. They offer electronic receipt management to retailers and electronic receipt organization for retail customers. Retail customers receive their receipts via email rather than printed out thus saving paper, ink and all the energy required to generate the paper and ink. The company is TransactionTree™ and their site is [http://www.nomopaper.com](http://www.nomopaper.com/) This site is a great study in how good UI design makes other features go so much better. The site is built in Java using Apache Struts2, Spring 2, and Apache Tiles. The presentation is entirely abstracted out from the content giving the following benefits: - The branding of the site can easily be swapped out with out having to change out the content. This ideal in the case of Internet startups which often either change the branding to better match the evolving audience (i.e. Facebook, CNN.com, etc), or they are acquired or they acquire a competitor. - The content can be written and delivered without worrying about markup, making content generation much easier for the authors. - Smaller content means web browsers that turn off CSS can read and navigate the entire site without additional work (think older Blackberries, Windows Mobile, etc.). Another feature of this site is that we use many CSS features that are supported by the latest browsers, but for browser that do not support them, the content is rendered in a less flashy, but appealing way. This is called graceful degradation (or gradual enhancement depending up on how you look at it). On all the JSP’s we use XHTML strict DTD’s. In this day and age there is no reason to be sloppy. The XHTML also means that the content is fully XML compliant which also means it can be used in other applications as content. If you have a moment check out their [site](http://www.nomopaper.com/). Its something we are quite proud of. Enjoy. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, strongback --- ### [Blackberry Desktop for the Mac now available](https://www.strongback.us/2009/09/blackberry-desktop-for-the-mac-now-available) **Published:** September 9, 2009 **Author:** Kenny Smith **Content:** [](http://na.blackberry.com/eng/services/desktop/mac.jsp) [Blackberry desktop](http://na.blackberry.com/eng/services/desktop/mac.jsp) has long been awaited for those Mac users, including my wife who runs on an iMac (and is very happy with it). I would one day like a Mac myself, but there are still so much software that I need from day to day that is restricted (chained) to Windows. For those using Lotus Connections, there is also a [new Blackberry application](http://www.lbenitez.com/2009/01/what-new-in-lotus-connections-v25.html) that has been released for version 2.5 of connections. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Blackberry, mac --- ### [UPDATE: My presentation at the Rational Conference](https://www.strongback.us/2009/05/update-my-presentation-at-the-rational-conference) **Published:** May 28, 2009 **Author:** Kenny Smith **Content:** [![](https://1bosweb3.experient-inc.com/Events/Rational/RSDC2009/Images/SpeakerBanner1.jpg)](https://1bosweb3.experient-inc.com/Events/Rational/RSDC2009/Images/SpeakerBanner1.jpg) As I blogged earlier, I have am giving a presentation at this year’s Rational conference in Orlando. Due to some scheduling shifts, my presentation has been renumbered and moved. I will be presenting on Wednesday June 3rd at 11:15am. Mine will be for generic audiences, but will have some technical details for the geeks like myself in the audience. Here is the session summary: EM11 How a tactical HATS solution became a strategic asset – A Customer Story Wednesday, June 3, 11:15 am – 12:15/12:45 pm Room: Americas Seminar *Kenny Smith, Principal, Strongback Consulting Alisa Morse, HATS Product Manager, IBM Rational software* Learn how one customer stemmed revenue loss, and is now reaching into new accounts using Host Access Transformation Services (HATS) to transform their 3270 green screen application to a modern, easy to use Web application. HATS gives you the tools needed to extend your 3270 and 5250 applications to the Web, portlets, rich clients, browsers on mobile devices, or as Web services without changing the underlying green screen application code. This session will include an introduction to HATS followed by a case study on how Total System Services, Inc. (TSYS), a provider of electronic payment services, extended their 3270 credit card processing application to the Web quickly, with low development costs, reduced training time, and high end user satisfaction. If you will be there at the convention, be sure to say hello, or comment below if you’re reading my blog. If you are interested in attending, you can register at . [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, rational, rsdc --- ### [Lotus Notes 8.5 client version-to-version comparison](https://www.strongback.us/2009/02/lotus-notes-8-5-client-version-to-version-comparison) **Published:** February 19, 2009 **Author:** Kenny Smith **Content:** [Lotus Notes 8.5 version to version comparison](http://www.slideshare.net/edbrill/lotus-notes-85-version-to-version-comparison?type=presentation "Lotus Notes 8.5 version to version comparison")View more [presentations](http://www.slideshare.net/) from [Ed Brill](http://www.slideshare.net/edbrill). (tags: [ibm](http://slideshare.net/tag/ibm) [notes](http://slideshare.net/tag/notes)) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [IBM Announces Lotus Notes and Domino 8.5 is now available!](https://www.strongback.us/2009/01/ibm-announces-lotus-notes-and-domino-8-5-is-now-available) **Published:** January 7, 2009 **Author:** Kenny Smith **Content:** Yep, you heard it right… here’s the scoop. [Introducing IBM Lotus Notes and Domino 8.5](http://www.slideshare.net/tcoustenoble/introducing-ibm-lotus-notes-and-domino-85-presentation-894863?type=powerpoint "Introducing IBM Lotus Notes and Domino 8.5")[](http://static.slideshare.net/swf/ssplayer2.swf?doc=introducing-ibm-lotus-notes-and-domino-85-slideshow-1231267606343259-1&stripped_title=introducing-ibm-lotus-notes-and-domino-85-presentation-894863 "Click here to block this object with Adblock Plus")View SlideShare [presentation](http://www.slideshare.net/tcoustenoble/introducing-ibm-lotus-notes-and-domino-85-presentation-894863?type=powerpoint "View Introducing IBM Lotus Notes and Domino 8.5 on SlideShare") or [Upload](http://www.slideshare.net/upload?type=powerpoint) your own. (tags: [ibm](http://slideshare.net/tag/ibm) [lotus](http://slideshare.net/tag/lotus)) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Moving to Firefox as a corporate policy... a soapbox rant](https://www.strongback.us/2008/09/moving-to-firefox-as-a-corporate-policy-a-soapbox-rant) **Published:** September 3, 2008 **Author:** Kenny Smith **Content:** I have recently had the great displeasure of using a time and expense application that works only in Internet Explorer 6. The company is Infinite Computer Solutions, and I don’t mind using their name because of the frustrations this application has given me and the time its taken from me. The application is so bad both the CSS and the JavaScript only works in IE. My wife has a Mac and handles all our invoicing for [Strongback Consulting](https://www.strongback.us/). The other night she was doing invoicing and could not submit time against this application. She tried Safari and Firefox. Both had the same effect. Only in IE could she actually submit time, and even the the JavaScript calendar pop ups were so quirky that you had to click the calendar icon, and quickly hover over the calendar popup before it disappeared. Text input was disabled so you could only use the calendar picker. It has to be the worst web application I’ve ever seen. The only thing it was missing were animated gifs. And thus I am on my soap box. Hear me roar. The problem behind this is really, is a lazy-ass corporate culture. Most organizations have a policy of what web browser will be supported within the company environment. Some allow users to install additional software and subsequently Mozilla Firefox makes its way into the network even though it is not supported. Others lock down such capability and stick the user with only Internet Explorer. Some are so risk averse that they have not even upgraded their user base to IE 7, which has been out since October 2006. It is ironic to play risk averse, when the security vulnerabilities of IE6 are so well documented. Forcing your development staff to continue to develop for IE6 also ties your applications to aging standards (or lack thereof), and in some cases, hacks that are not forward compatible with IE7 much less Firefox, Opera or Safari. Why would an organization adopt something other than IE? The only explanation is laziness. If you are a Microsoft shop you can manage browser updates from a centralized location and therefore control the user desktop. IE usually wins out because of perceived ease of management. What is not often asked or evaluated are the security risks of staying with the IE code stream. Here are a few: 1. Having a browser so tightly integrated with your OS, gives the browser security access that other browsers simply cannot get to. 2. ActiveX scripts, which are still sometimes developed, have more functionality and more access to the underlying operating system. Hackers/virus writers target such vulnerabilities. No other browser supports ActiveX 3. IE 6 is broken and has been since it was released. It does not come close to passing the [Acid2 test](http://www.howtocreate.co.uk/acid/) (and neither does IE7). IE 6 just plain sucks. 4. Coding for IE6 traps you into several bad habits in CSS, that simply break the UI in later versions of IE and don’t work at all in other browsers. 5. IE does not support all of the Cascading Style Sheet standards. Google the “broken box model”. [Check out this site in IE6,](http://www.csszengarden.com/?cssfile=/062/062.css&page=0) then firefox/Safari/Opera. Same HTML and same CSS, but the advanced browsers display a richer interface. 6. Most developers work in Firefox. Firefox has oodles of developer extensions that [](http://marketshare.hitslink.com/chartfx62/temp/CFT0902_1140400BAD7.png)make it much easier to develop with. With firefox you can see your nicely formatted code in various shaded colors. With IE, you get notepad when you do a ‘view source’. 7. IE is losing market share, as the pie chart shows. These numbers were taken from Hitlist today. IE6 has less than 25% market share. Notice how Safari is climbing toward 10%? 8. Your applications should be cross-browser compatible even if its on an intranet. Yes, if it is on an Intranet. No excuses. This increases the likelyhood that your application will not have to be re-written if you upgrade browsers, change operating systems, or change browser standards. It also gets your developers in the habit of doing cross-browser apps for your customers. 9. Let’s talk about the opportunity cost. Firefox (and Opera and Safari) offers new features that are not availabile in IE. Safari and Opera represent new market segments you may not be able to target with just an IE mentality. Some users have Macs. There is no longer an IE for Mac. 10. Productivity cost lost. When IE hangs up in the OS, the whole system is affected. When Firefox is hung, you can kill it from the Task Manager without bringing down your whole PC. Think of the intranet applications you could do that would improve employee morale and overall productivity. Firefox’s developer tools make it much easier to write and debug web apps. Many of the same organizations that parrot the TCO line, also have Microsoft SMS, from which they could also roll out Firefox and all of its updates accordingly. Actually, Firefox is pretty good about letting you know when it needs updating and really, you only need SMS for the initial roll out. [Front Motion has an MSI version of the Firefox installer](http://www.frontmotion.com/) to make it even easier to deploy it. There is no excuse for staying on IE 6. I dare anyone to come up with a valid reason. Oh… your apps don’t work on IE7? Did you learn your lesson about cross browser compatibility? Post your replies here, if you dare. You are a damn lazy fool if you are still hanging on to IE6, and do not deserve to be in IT if you are. Be sure to leave your email so we know how to track you down. As the graph above shows, IE6 now has less than 25% market share, and that number is decreasing every day. In fact it has dropped from 32% in January to 25% in August. At the current rate, it will be below 20%, possibly at 18% by January 2009, which would be below that of Firefox. Firefox has an install base of between 18-47% depending upon which survey you read (W3Schools.com has another chart but a similar trend). So why Firefox and not any of the others? Here are a few of my reasons: 1. Firefox is stable. 2. It has lots add-ons that are not available on other browsers. See my previous posts for the ones I use. 3. It runs on nearly every OS (Windows NT/2000/XP/Vista, Mac, Linux, AIX, Solaris, OpenSolaris, BSD). 4. It renders HTML/CSS the same on every platform (flash and java applets are a different issue). 5. It has the next largest marketshare. 6. Any developer worth their salt already uses it (if not at work, then at home). 7. Its free. 8. Its secure. Much more so that Safari or IE. Opera may actually be more secure. 9. It is CSS compliant, and supports some CSS3 selectors and features (a standard which is has not been finalized as of yet). 10. Its fast. Firefox 3 is curently rated the fastest browser on any platform. Ok Enough of my soap box. Now go deploy it corporate wide, or defend your policy here and for all the world to shame you if you dare! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** firefox, IE7, web standards --- ### [Using templates in Eclipse to create micro formats](https://www.strongback.us/2008/08/using-templates-in-eclipse-to-create-micro-formats) **Published:** August 21, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/08/microformats.png)](https://www.strongback.us/wp-content/uploads/2008/08/microformats-1.png) I’m currently reading [Transcending CSS: The Fine Art of Web Design](http://www.amazon.com/gp/product/0321410971?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0321410971). In it I’m finding lots of good design tips, and learning many new HTML elements I’ve never heard of. The guy is really an excellent writer. This book is right up there with my other favorite [The Zen of CSS Design: Visual Enlightenment for the Web](http://www.amazon.com/gp/product/0321303474?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0321303474). So since my brain is already overflowing with technobabble, I had the bright idea to use the Eclipse template feature (this allows you to press + and get a list of options as you are typing in your editor in case you did not know). That way, I am more likely to use the elements if I come across the opportunity in the future. A good example is marking up addresses in the [h-card microformat](http://microformats.org/wiki/hcard). This makes it easier to consume this type of data in other services or devices (think email clients, feed readers, PIM applications, etc). It also start to get you thinking away from the pergatory of table based layouts. So , in Eclipse (or Rational Application Developer, Software Architect, Business Developer, RDi, RDz, WebSphere studio, Functional Tester, WebLogic Studio, or just about any eclipse based product), go to ‘Window – Preferences”. Then expand ‘Web and XML’ on the left hand side, then ‘HTML’, and select ‘HTML Templates’. You can add in your html code chunks here. This [![](https://www.strongback.us/wp-content/uploads/2008/08/creatingmicroformats.png)](https://www.strongback.us/wp-content/uploads/2008/08/creatingmicroformats-1.png)is very handy for those of you that have been keeping a library of notepad scripts in various folders and sub folders. Now, if you are in a quandry of just how to style the content, once you’ve added this, then check out [this guy’s ideas](http://24ways.org/2006/styling-hcards-with-css). [Eric Meyer](http://meyerweb.com/) also has quite few great ideas. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** css, eclipse, microformats --- ### [Deploying HATS Rich Client Applications](https://www.strongback.us/2007/12/deploying-hats-rich-client-applications) **Published:** December 4, 2007 **Author:** Kenny Smith **Content:** Saw this come across the IBM support wire. Great information if you are considering using the Rich Client Platform for your HATS applications. For those of you not familiar with Java Web Start (or JWS), it is a Java feature that allows users to install an application dynamically with one click from within their browser. JWS ensures that the latest version of the application gets installed (or updated as the case may be). Thus users can simply start the application using a standard HTML bookmark. If the application is current, it simply launches. Otherwise, it downloads and updates the current one. For some organizations this is the main limitation of using the Rich Client Platform. [http://www-1.ibm.com/support/docview.wss?rs=0&q1=HATS&uid=swg21289818&loc=en\_US&cs=utf-8&lang=](http://www-1.ibm.com/support/docview.wss?rs=0&q1=HATS&uid=swg21289818&loc=en_US&cs=utf-8&lang=) Also, if you need some addition ideas on what you can do within a rich client, check out Chet Hause and Guy Romaine’s book [Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (The Java Series)](http://www.amazon.com/gp/product/0132413930?ie=UTF8&tag=makemegrimace-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0132413930). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [VIM for ISPF Veterans: A Survival Guide](https://www.strongback.us/2026/07/vim-for-ispf-veterans-a-survival-guide) **Published:** July 14, 2026 **Author:** user **Content:** If you’ve spent your career in ISPF, the idea of editing a file at a bare shell prompt probably sounds like a step backward. No split screens, no PF keys taped to your muscle memory, no line commands. Just a blinking cursor. Here’s the good news: vim isn’t a downgrade, it’s a different keyboard for the same job. And thanks to the IBM Open Enterprise Foundation for z/OS, vim now ships as a native, supported editor you can reach the moment you SSH into z/OS UNIX System Services — no FTP, no unloading datasets to a workstation, no translation layer. You’re editing z/OS files, from z/OS, over SSH. This post maps what you already know in ISPF onto what you’ll type in vim, so the first session doesn’t feel like starting over. ## Why This Is Showing Up in Your Toolbox Now Mainframe DevOps pipelines increasingly live in USS: shell scripts, JCL staged for submission, YAML for CI/CD tooling, configuration for Git-based source control. ISPF Edit doesn’t reach into USS directory trees the way vim does natively. As Endevor-to-Git migrations and CI/CD pipeline integration become part of the job, vim stops being optional — it’s the editor sitting at the other end of every `ssh` session, assuming you need to edit a file on the mainframe and not in IDz or zOpen Editor (looking you, systems programmers). To open a file in vim just type `vim filename.txt` ## The One Concept That Unlocks Everything: Modes ISPF Edit has essentially one mode — you’re always typing text or a line command into a fixed position. Vim has two modes that do those jobs separately: - **Normal mode** — where you land when vim opens. Keystrokes are commands, not text. This is your line-command area, generalized to the whole file. - **Insert mode** — where keystrokes become text on the screen. This is where you actually type. You move from Normal to Insert with `i` (insert before cursor) or `a` (append after cursor). You get back to Normal with `Esc`. That single round-trip — `Esc` to stop typing, a letter to start again — replaces the implicit mode-switching ISPF does for you automatically. ## Opening, Saving, Leaving: Your New PF3 ISPFVimWhat it does`TSO EDIT dataset``vim filename`Open a file for editing`PF3` (with changes)`:wq` or `ZZ`Save and exit`CANCEL``:q!`Exit, discard changes`SAVE` (stay in editor)`:w`Save without exiting`PF3` (browse, no changes)`:q`Exit a clean buffer`:wq` is the one to burn into memory first. It’s your PF3. ## Line Commands vs. Vim Commands ISPF’s line commands (`D`, `C`, `M`, `I`, `R`) operate on a line you’ve marked. Vim’s Normal-mode commands operate on the line (or text object) your cursor is sitting on — no separate marking step required for single-line work: ISPF line commandVim (Normal mode)Action`D``dd`Delete a line`C` … `A`/`B``yy` then `p`/`P`Copy a line, paste after/before`M` … `A`/`B``dd` then `p`/`P`Move a line`I``o` / `O`Insert a new line below/above`R``.` (repeat last change)Repeat a prior edit`Dn` (delete n lines)`3dd`Delete a count of linesThat count-before-command pattern (`3dd`, `5yy`) generalizes: a number in front of almost any vim command repeats it. It’s the closest thing vim has to ISPF’s block-repeat line commands. ## Finding and Replacing ISPF’s `FIND` and `CHANGE` map almost directly: ISPFVimNotes`F string``/string` then `Enter`Search forward`F string` (next)`n`Repeat last search`C old new``:s/old/new/`Change on current line`C old new ALL``:%s/old/new/g`Change every occurrence, whole file`C old new *` (within block)`:5,20s/old/new/g`Change within a line rangeThe `:%s/old/new/g` pattern is worth practicing on its own — it’s the single most useful line in vim, and it’s exactly ISPF’s `CHANGE ALL` with different punctuation. ## Navigation ISPFVimAction`TOP``gg`Go to first line`BOTTOM``G`Go to last line`nnnn` (line command area)`:nnnn`Go to a specific line number`PF7`/`PF8``Ctrl-b` / `Ctrl-f`Page up/downCursor keysCursor keys, or `h j k l`Move by character`h j k l` (left, down, up, right) are the touch-typing equivalent of arrow keys and are worth learning once your fingers are ready, but arrow keys work in vim too — nothing forces the habit on day one. ## Split Screens ISPF’s two-panel split isn’t gone, it’s just spelled differently: - `:split` — horizontal split - `:vsplit` — vertical split - `Ctrl-w` then an arrow key — jump between splits ## A Realistic First Session 1. `ssh` into z/OS, land in USS. 2. `vim myscript.sh` 3. You’re in Normal mode. Move to where you want to type: `j`/`k` or arrow keys. 4. `i` to start typing. Type your text. 5. `Esc` when you’re done typing that chunk. 6. `/errorcode` and `Enter` to jump to a string you need to check. 7. `:%s/RC=0004/RC=0008/g` to fix every occurrence. 8. `:wq` to save and exit — back to the shell prompt. That’s the whole loop. Everything else — macros, registers, split windows, syntax highlighting for JCL and COBOL — is optional depth you add once the core loop is automatic, the same way PF-key customization was optional depth on top of basic ISPF Edit. ## One Honest Difference Worth Naming ISPF Edit is dataset-aware — it understands fixed-block records, LRECL, and PDS members without being told. Vim is a text editor for USS files and doesn’t natively know dataset organization; that boundary is exactly why the two tools coexist rather than compete. Editing PDS members and sequential datasets still belongs to ISPF. Editing USS shell scripts, pipeline configuration, and Git-tracked source belongs to vim. Knowing both means picking the right tool for where the file actually lives, instead of routing everything through the one editor you learned first. --- *Strongback Consulting works inside the exact stack this post describes — z/OS USS, IBM Open Enterprise Foundation tooling, and Git-based pipelines feeding mainframe DevOps. If your team is standing up CI/CD pipeline integration or migrating source control off Endevor or Librarian/Panvalet, [get in touch](https://claude.ai/contact).* **Categories:** Mainframe Devops --- ### [z/OS Dataset Considerations for Migrating from Endevor to Git](https://www.strongback.us/2023/10/z-os-dataset-considerations-for-migrating-from-endevor-to-git) **Published:** October 27, 2023 **Author:** Kenny Smith **Excerpt:** Moving from Endevor to Git with IBM DBB is the right time to reevaluate your z/OS dataset locations and naming conventions. Here is what to consider. **Content:** When moving from Endevor to Git with IBM Dependency Based Build, it’s a good time to reevaluate your dataset locations and naming conventions. IBM Dependency Based build, when utilized in a pipeline environment (such as with GitLab runners or Jenkins), will produce output such as load modules, listings, as well as non-compiled but deployable artifacts such as JCL, REXX and control cards. Endevor does this during its ‘generate’ step. We recommend the use of ***new*** high-level qualifiers for the DBB compiles, separate from Endevor. One reason is that the naming convention your organization may not be entirely intuitive. For example, if your Endevor subsystem is for an accounting system, and the high-level qualifier does not reflect anything related to accounting. A new naming convention that is more intuitive will ensure improved maintenance in the future. For example, instead of a HLQ of “D4YYY”, change it to “ACCT”. That makes a lot more sense! While this is a usability issue, the stronger argument is more technical: The DBB datasets are tied to the dependency information in the DBB database. When DBB does a compile, it records git checksums in its DBB database. A customer should use different high-level qualifiers than the original Endevor datasets as Endevor has a similar function. That also preserves the original Endevor datasets should we have to roll back from DBB to Endevor during the migration (this should be part of any contingency plan for risk management). If you continue to use the old Endevor datasets for Git, and then suddenly use Endevor to compile, it will invalidate the dependency information that DBB has in its database. This can lead to undesirable effects during a DBB pipeline build such as long compile times, or potential warning or failures that may indicate data corruption (in the dependency information stored in the databases). In Endevor, for many organizations, it’s common to use Endevor ship processors to move modules to target datasets from which programs are executed. In small instances, the generated datasets are where the load modules are also executed, which is not a recommended practice even for Endevor. Another thing to consider, is if you have COBOL 4 compiled load modules that are being executed in PDS’s. COBOL 6 requires PDSE (Libraries). You cannot compile a COBOL 6 module into an old style PDS. This produces an opportune time to create load PDSE datasets under different high-level qualifiers. Here is a summary of some pros and cons of this approach: **Pros (using different libraries):** · Endevor datasets remain untouched. · Makes it simple to roll back to Endevor in a contingency situation. · Makes it an option to manage source in both Endevor and Git simultaneously (though not recommended). · Protects Git compile datasets from possible contaminations from Endevor · Ensures traceability of who deployed to what dataset (Wazi Deploy or Urbancode Deploy would deploy to entirely different datasets than Endevor). · Ensures traceability of the migration. We can go back to the original source of record (Endevor) to ensure the migration of each element without fear of it having been corrupted or contaminated. · Offers opportunities to use names more representative of the actual applications running in the libraries. · Allows opportunities to change operations to eliminate long standing problems with library structures. · Ensures all target datasets are COBOL 6 compatible PDSE’s (not PDS’s). COBOL 6 compiled load modules *cannot* run in a PDS. COBOL 4 compiled load modules, however, *can* run in either a PDS or PDSE. **CONS:** · Requires updating batch JCL’s to use the new load module datasets. This is not a small con, but we can update many batch JCL’s using IDz’ tooling for mass text replacement. · Requires more data storage (at least double since there would be a 1-1 replacement dataset) · May require RACF updates to apply similar rules to the new high level qualifiers. · Requires minor re-education of the developers and systems programmers. · Need to copy existing load modules from original to new datasets which can be accomplished with IDCAMS REPRO job. However, this is ideal because we can issue a DBB scanAll (via zAppBuild) to link up the already compiled modules to the migrated source in Git. This populates the DBB database with initial dependency information associated with the copied data. **Other things to consider:** · What are the ramifications of decommissioning Endevor to the existing datasets? · How would you view the existing listings compiled under Endevor? If you are in the middle of planning for such a migration and need some advice, you can contact us for help. **Categories:** DevOps **Tags:** devops, mainframe --- ### [How to automate the licensing of IDz with a P2 installation](https://www.strongback.us/2023/03/how-to-automate-the-licensing-of-idz-with-a-p2-installation) **Published:** March 6, 2023 **Author:** Kenny Smith **Excerpt:** Automate IDz license configuration in a P2 installation so developer rollout stays hands-off — the follow-up to our P2 install guide for IDz 15 and 16. **Content:** With IDz 15 and 16 we previously posted about [using the P2 installation](https://www.strongback.us/2023/01/use-eclipse-p2-director-to-silently-and-rapidly-install-ibm-developer-tools "Use Eclipse P2 director to silently and rapidly install IBM Developer Tools"). This method makes rollout a breeze. If you’ve automated it, you might now be wondering about licensing. [We also addressed how licensing works for IDz Enterprise Edition and Application Development Framework for z/O](https://www.strongback.us/2021/04/how-to-enable-licensing-in-ibm-developer-for-z-os-and-adfz#.ZAXt-T3MKHs)S, for which the desktop installer need not worry about. However, you might have an instance where you are using IBM Developer for z/OS Base edition, and that can be licensed either by floating user, or authorized user licenses. To get your deployment to automatically recognize the floating user license. you will need to create a file called “licensep2.opts”. The format of the file will look like this: ``` ``` Place this file in the C:\\ProgramData\\IBM\\p2\\license directory. You may see one there already. Just overwrite it. If, however, you have an authorized user license, simply drop that license jar file in the directory listed above. That’s all you need to do. Make sure you put only the jar file, not the zip file that it is packaged in. **Categories:** DevOps --- ### [4 immediate actions you need to take in any new Jazz environment.](https://www.strongback.us/2023/03/4-immediate-actions-you-need-to-take-in-any-new-jazz-environment) **Published:** March 13, 2023 **Author:** Kenny Smith **Excerpt:** Standing up a new IBM ELM (Jazz) environment? Four actions to take immediately across the suite — from Workflow Management to Rhapsody Model Management. **Content:** IBM Engineering Lifecycle Management is a suite of tools that includes the following: - Workflow Management - Requirements Management DOORs Next - Test Management - Lifecycle Optimization – Engineering Insights - Jazz Reporting Services - Rhapsody Model Managment - Rhapsody System Design Management The tips below will apply to nearly any of these products and configurations. ## Use a shortcut or soft link to the installation directory with version number. All of these products use a central Jazz Team Server which handles user and license management for the array of tools. When you install the product, it will default to the following installation directories: For Windows: **C:\\Program Files\\IBM\\JazzTeamServer** For Linux/Unix: **/opt/IBM/JazzTeamServer** *Don’t use the default directory!* Instead, install to a version specific directory: **/opt/IBM/JazzTeamServer702SR1** Then, create a soft link to the directory that links from **/opt/IBM/JazzTeamServer**. This allows you to have unit files that never need to be updated. Your backup scripts, and any accessory scripts all will have the same directory. However, if you need to upgrade the server, know that upgrades are always side-by-side upgrades. You never install over the top of existing binaries. Thus, when say, version 7.0.3 comes along, you can install to **/opt/IBM/JazzTeamServer703** and then update the soft link for JazzTeamServer to the new version. ## Update the logging defaults for better log rotation. The log files are written to **/opt/IBM/JazzTeamServer/server/logs** directory (which in turn is a soft link to **/opt/IBM/JazzTeamServer/server/liberty/servers/clm/logs** directory). You’ll find the logs named after the applications they are generated from (i.e., jts.log, ccm.log, rm.log, etc.). The default is to rotate logs after 10MB of size. This is quite a large size and can be a royal pain if you have to search through it, and it contains many days of info. Change this in the **/opt/IBM/JazzTeamServer/server/**conf/*app*/log4j2.xml file where app is the relevant app running on the Jazz server. Change the following lines: ``` ``` Notice the size here is 5MB. This makes it easier to search, and to download, or send to IBM if you need support. The rollover strategy is set to 10, so you will get a maximum of 10 historical files for this app. This means you have the same maximum total size of files, but they are easier to manage. Also, the file names will make it easier to identify when the log was rolled over. More details on logging can be found in the [product documentation](https://www.ibm.com/docs/en/elm/7.0.3?topic=server-managing-size-log-file). ## Update the JVM parameters to make better use of the memory available. Many times, I have been called in to help a customer who is experiencing performance issues with their ELM environment. They’ll have 32GB of RAM on the server, yet the server falls over from out of memory issues every day. Here’s where its not such a simple fix. The IBM documentation (as of version 7.0.2) tell you to update the jvm.options file located at /opt/IBM/JazzTeamServer/server/liberty/servers/clm. That file looks like this: ``` #This option sets the threshold time (in ms) that will trigger warnings for service lifecycle # changes (such as startup or shutdown) that take longer than this time. -Dcom.ibm.team.repository.service.internal.serviceLifecycleDelayWarningThreshold=60000 -Xmx8G -Xms8G -Xmn2G -Dmail.smtp.ssl.protocols=TLSv1.2 -Dlog4j2.formatMsgNoLookups=True -Dcom.ibm.team.repository.transport.client.protocol=TLSv1.2 -Dcom.ibm.rational.rpe.tls12only=true ``` The items in red above indicate an 8 gigabyte starting heap (Xmx), an 8GB maximum heap (Xms), and a 2GB nursery (Xmn). I won’t delve into the black art of JVM tuning, just understand that these numbers should be kept proportional (Xmx=Xms, and Xmn=Xmx / 4). If you update these numbers here, which is what the documentation tells you to do…. it will do *nothing*. That is because of a bug in the server.startup script. Edit that script, and go down to line 144: ``` 144 # When run in a Jazz build, a 32-bit JRE is used, so don't set 64-bit options 145 if [ -z "$_RUNNING_IN_JAZZ_BUILD" ]; then 146 JAVA_OPTS="$JAVA_OPTS -Xmx4G" 147 JAVA_OPTS="$JAVA_OPTS -Xms4G" 148 JAVA_OPTS="$JAVA_OPTS -Xmn1G" 149 fi ``` This is an odd one, but even though this is in a conditional statement, that statement evaluates to true on the server, and thus the default values override the jvm.options. You can delete this stanza or update the values accordingly (which will continue to override the jvm.options file). ## Disable or open the specific ports for Windows Firewall First off … I loathe Windows for servers. Windows firewall bites me worse than mosquitoes in Florida. Most instances of Windows servers will have Firewall enabled and every port except a small few (80 and 443 for HTTP/HTTPS) blocked. You must have port 9443 open if you are going to use an HTTP server to front end your environment (which you nearly always SHOULD). Open this port or turn the thing off entirely if you’re well behind other network firewalls. Similarly, if you’re using Linux, you’ll need to make sure IPTABLES, or other operating system firewall is open as well. I turn of SELINUX (which IBM recommends). **Categories:** DevOps --- ### [What's the difference between IDz, IDzEE and ADFz?](https://www.strongback.us/2023/10/whats-the-difference-between-idz-idzee-and-adfz) **Published:** October 13, 2023 **Author:** Kenny Smith **Excerpt:** IDz, IDzEE, and ADFz overlap — but they aren't the same product. A Venn-diagram tour of IBM's developer bundles, so you know what your company actually bought. **Content:** So, you’ve been told your company bought “IDz”, but when asked what package was bought, you get shrugs. Well, here is a ven diagram that shows you the overlap of the bundles. While “IDz” can be refered to as the desktop client, the mainframe components are found in a software e-assembly, packaged as one of the three above. IDz “Base” edition is licensed by either Authorized User or Floating User model. The later model requires setup of an IBM Common License Server. The IDz client or the IBM Explorer (z/OS components) can be downloaded from , from Passport Advantage, or from ShopZ. IDz Enterprise Edition and Application Delivery Framework for z/OS (ADFz) are downloaded from Shop-z only. The two key part numbers for these are **5755-A01** (IDz EE) or **5755-A05** (ADFz**)**. You’ll need to activate the part number in the IFARDPxx parmlib member. ![](https://www.strongback.us/wp-content/uploads/2023/10/adfz-idzee-ven.png) As you can see, ADFz is just a big package that includes all the functions of IDz base (large red circle), plus the features found in IDzEE including WAZi Deploy, Dependency Based Build, and Wazi developer, as well was what once called the Problem Determination Tools package that included Application Performance Analyzer, Fault Analyzer, and File Manager. Note that WAZi Deploy is now a new feature for integrating deployment of z/OS artifacts as well as post-deploy tasks such as CICS new copy and DB2 Binds. Also, you’ll see the “Rocket” part of Dependency Based Build. Rocket tools are freely available from the Rocket web site, and are required for the functionality of Dependency Based Build (DBB). When you activate AFDz or IDzEE, please double check to ensure you have licenses the correct product. You should enable one or the other, not both. **Categories:** DevOps --- ### [What is the amount of memory I need to run IDz?](https://www.strongback.us/2023/10/what-is-the-amount-of-memory-i-need-to-run-idz) **Published:** October 23, 2023 **Author:** Kenny Smith **Excerpt:** How much memory does IBM Developer for z/OS really need? Why the default 8 GB desktop or VM lags, and what to assign so IDz and the OS both have room. **Content:** This is a common question we get. Many desktops or VM’s start with a default of 8GB of memory installed in the computer (or assigned to the VM), but often, users will see lagging performance. In short, 8 GB of memory does not allow for both the OS and tools such as MS Outlook, Teams, Word, Excel to be open along with IDz. For example, the standard VM with 8 GB of physical RAM is utilizing 72% of that RAM upon startup; without loading any programs other than the default startup applications. If I open Outlook, Word and Excel (with empty doc/workbooks), common tools used by anyone, that RAM utilization climbs to 81%, which leaves roughly 2 GB of free RAM. And technically that is 6.7/9.2 GB of committed RAM, meaning Windows has already cached 1.6 GB of RAM; meaning swapping to disk has already occurred, causing performance issues for this VM. And this all without loading IDz The official minimum requirements for IDz are 3 GB of ram, recommended 4 GB or more, which you can look up on the [IBM Software Compatibility Reports website.](https://www.ibm.com/software/reports/compatibility/clarity/index.html) So lets start up IDz on an 8 GB VM…. Now we have 91% of physical RAM in use, 10.0/12.2 GB RAM committed. And this is just with loading IDz. As you continue to use IDz it will consume more memory, as any program would when you start loading data and such. This is where things start breaking down and IDz becomes extremely unresponsive; as well do other programs suffer because of having to cache memory to disk. And keep in mind this is all virtual memory and disk, which comes with its own overhead. So, in the end, is it possible to run IDz on a machine with only 8 GB of RAM, yes. But it is an extremely painful experience. As you can see from the above numbers, 12 GB of RAM would make things better, but even with that we are beginning to bump the threshold; and we haven’t even done anything other than load these programs. In summary, this is why we always recommend 16 GB of RAM. **Categories:** DevOps --- ### [Three tricks to drastically improve the performance of IBM Developer for z/OS](https://www.strongback.us/2024/07/three-tricks-to-drastically-improve-the-performance-of-ibm-developer-for-z-os) **Published:** July 18, 2024 **Author:** Kenny Smith **Excerpt:** Three fixes that drastically improve IBM Developer for z/OS performance on resource-constrained machines — from someone who's spent too long waiting on hangs. **Content:** As IBM Developer for zOS gains more features and updates, performance becomes more of an issue, especially for developers with resource constraints on their computer/laptop. I’ve personally spent far too much time waiting on it to come out of a hang. After a few PMR’s and a couple of “AHA” moments, I’ve come up with a list of actions you can take now to improve the performance of IDz. 1. Upgrade to the latest version of IDz. Yes, even IBM says this, but in this case, if you are on version 16.0.0 to 16.0.3, there is a noticeable improvement in performance of version 16.0.5, with IBM making some intentional changes. 2. Change the following workspace preferences: – Under **Version Control (Team) > Git > Remote Integration**: deselect the option “Enable scanning of attribute files for changes”. This is a known hang point. – Under **General > Capabilities:** Disable features you know you are not using, for example **CDT** (C++ development tooling), or **CICS System Administration**. Expand various sections and disable ones you know you are not using. This will save those plugins from being loaded into memory. – Under General > Startup and Shutdown: Disable plugins you know you are not using. For example, **TPF Toolkit Initialization** or the **IBM C/C++ Tooling for zSeries**. 3. Now, this one is a bit more surgery than you may want, but I assure it can be scripted for an automated installation. Replace the default JDK version 11 with JDK version 17. This is found in the IDz installation directory under **jdk**. – Rename the **jdk** folder to **jdk11.** – Download the IBM JDK (SDK) 17 from /. Select IBM Semeru Runtime Open Edition. You want Java 17 (LTS) which is long-term support. IBM will officially support IDz running on version 17. This release, while it has some new language features, offers a huge performance improvement. – Once downloaded, extract it to a new **jdk** folder (rename whatever folder it extracts to “jdk”). – Copy the new jdk folder into your IDz installation directory. – The next time you launch IDz, it should be using the new Java 17 binaries. This has proven to have a significant improvement in performance for me and my customers. Note that I have also used JDK 21, but IBM will not support you on it if you have issues. **Categories:** DevOps --- ### [Why does my z/OS code look like gibberish with git?](https://www.strongback.us/2024/11/why-does-my-z-os-code-look-like-gibberish-with-git) **Published:** November 14, 2024 **Author:** Kenny Smith **Excerpt:** If your z/OS code looks like gibberish in Git, you migrated with the wrong code page or forgot .gitattributes. How EBCDIC-to-UTF-8 conversion actually works. **Content:** ## TLDR; You migrated your code into a git repository in Unix using the wrong code page, and/or forgot to update your .gitattributes file to reflect the change between EBCDIC and UTF-8. ## The long answer: First, a background on character sets. A character set is an encoding system to let computers know how to recognize Characters, including letters, numbers, punctuation marks, and whitespace. In earlier times, countries developed their own character sets due to their different languages used, such as Kanjii, Hebrew, and Bengali. In the Americas, and many countries in Western Europe, the most common character sets used on the mainframe are IBM code page 37 (IBM-037), IBM code page 1047 (IBM-1047), IBM code page 1140 (IBM-1140), and Unicode (UTF-8). Before an organization modernizes, they might have all their source available in partitioned datasets, which are most commonly encoded in IBM-037. More recently created datasets may be encoded in IBM-1047. Both are very similar except for 6 characters (more on that in a moment). Unix System Services is typically a mixture of IBM-1047, with any modern tooling using UTF-8. The overlap between IBM-1047 and UTF-8 is sparse at best. Let’s look at an example: **Character****Unicode HEX****IBM-037 HEX****IBM-1047 HEX****G** (capital G)0047C7C7**^** (circumflex)005EB05F**\]** (close square bracket)005DBBBD**\[** (open square bracket)005BBAAD**Ý** (Latin Y with acute)00DDADBA**¨** (diaresis)00A8BDBB**¬** (logical not)00AC5FB0Let’s say we migrated a C++ source member that is stored in IBM-037, but assumed it was stored in IBM-1047, and it has the following line of code: `int` `main(int` `intGain, char` `const* arg[])` Once migrated from the PDSE into a Unix directory using the DBB migration commands, this will actually become the following string: `int` `main(int` `intGain, char` `const* argvݨ)` Notice that the letter “G” looks correct, but the square brackets are exchanged for `ݨ`. That is because the utility reads the character “**\[**” (which is hex value BB), but since it is using the wrong character set, maps it to the **`Ý`** character. Thus, part of the key to a successful migration is making sure that you are reading the dataset in the correct code page. Make sure you test for the 6 characters listed above. Identify source that has each of those characters, and then run some test migrations for those source members. If they look correct in the Unix environment after migration, you know you’ve picked the correct code page to migration from. For more information on IBM EBCDIC character sets refer to this table: [https://en.wikibooks.org/wiki/Character\_Encodings/Code\_Tables/EBCDIC/EBCDIC\_1047](https://en.wikibooks.org/wiki/Character_Encodings/Code_Tables/EBCDIC/EBCDIC_1047) The next part of migration is in pushing your new repository code up to the git server. Git on nearly every cloud provider is built for Unicode. Thus, the code must be converted from EBCIDC to Unicode in flight to the git provider. However, git must understand what it is translating to and from. For example, converting from IBM-1047 to UTF-8. This conversion is defined in the .gitattributes file of every git repository (at least all the ones you have that contain z/OS source code). The format of the .gitattributes file is as follows: `# line endings* text eol=lf# file encodings*.cpy zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.cbl zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.bms zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.pli zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.mfs zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.bnd zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.lnk zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.txt zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.groovy zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.sh zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.properties zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.asm zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.jcl zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.mac zos-working-tree-encoding=ibm-1047 git-encoding=utf-8*.json zos-working-tree-encoding=utf-8 git-encoding=utf-8*.yaml zos-working-tree-encoding=utf-8 git-encoding=utf-8*.config zos-working-tree-encoding=ibm-1047 git-encoding=utf-8` Comment lines begin with a hash, or an octothorpe (#). The asterisk acts as a wildcard. The second part of each rule defines the zOS working tree (what character set the mainframe expects), and the git-encoding specifies what character set the member is stored in the git repository. Most members, as you can see above, will convert between IBM-1047 and UTF-8, such as COBOL, PL/I, JCL, etc. Some members remain in UTF-8 such as json and yaml files. Those members never go into a dataset, and are only read by humans, and stored in result sets. Let’s use another example. Let’s say you have a member that you have migrated that is C++ code and migrated to a Unix git repo. It was stored in EBCIDC 1047 in the repo (as it was in the PDSE). If the file extension is .cpp (which is not listed above), this might get stored as-is in the git repository and assumed as being UTF-8. Then, when you later attempt to build the file, you would get an error message during the build. When looking at the member, it is now a mess of gibberish code. That is because it did not get converted to UTF-8 before being stored in the git repo, but then when the repo was later cloned during a build cycle, the source member did a code conversion to 1047. That means that say letter G was never converted from HEX 47 to C7. However, when attempting the reverse, hex 47 was instead converted to hex E5 which would be the **å** character in EBCDIC. **Categories:** DevOps --- ### [Get better performance with a 2 stage COBOL compile process in a DevOps model](https://www.strongback.us/2025/06/get-better-performance-with-a-2-stage-cobol-compile-process-in-a-devops-model) **Published:** June 24, 2025 **Author:** Kenny Smith **Excerpt:** Migrating from a legacy mainframe SCM to Git and DBB? Revisit your COBOL compile parameters — a two-stage compile process can win back real build time. **Content:** We’ve been working with a number of customers who have used legacy mainframe SCM’s over the years migrate to Git and Dependency Based Build. When migrating, one of the things we look at is their compile parameters. Many have not updated the parameters in years, and some do not even know what the parameters do. This is a golden opportunity to update the parameters and get better operational performance from your load modules. Here’s how: ## The OPTIMIZE parm The OPTIMIZE or OPT parameter tells the compiler how much to optimize the object deck during compilation, with values from 0-2. The highest level, OPT(2) applies advanced optimization techniques to your COBOL code. This includes things like: **Instruction Scheduling:** Rearranging the order of instructions to maximize processor efficiency. **Interblock Optimizations:** Optimizing code across different blocks of your program, including global value propagation and loop invariant code motion. **More aggressive simplifications:** Applying more complex transformations to the code to reduce execution time. **Performance Improvements:** Using OPT(2) generally leads to more efficient runtime code compared to lower optimization levels like OPT(0) or OPT(1). It can yield significant performance benefits, especially for compute-intensive programs. **Increased Compilation Time:** OPT(2) compilation takes longer and uses more memory compared to lower optimization levels. This is because the compiler performs more extensive analysis and transformations. **Debugging Considerations:** Due to the aggressive nature of OPT(2), it may affect debugging capabilities. The compiler might rearrange code or use registers instead of data areas, which can make it harder to trace the execution flow and inspect variable values. Since OPT(2) can adversely affect debugging, and because performance is less of an issue during debugging we recommend OPT(0) for a development level compile. Thus, we introduce a 2 stage compile process. The first compile is done either via a “User Build”, or in the development pipeline for the lowest environment level. This allows the developer to interactively debug the program in situ whether it be a batch or online application. Then, once the developer is satisfied with the results, he or she can merge the code to the next branch (i.e. a develop branch to a release branch), which will then trigger another pipeline compile. This time, with OPT(2). This ensures that the program performance is fully optimize for a production load. Now, a developer can still get some debugging ability, but with the caveats listed above. However, by the time the program is in the TEST environment, the key debugging activities should already have been done. ## TUNE and ARCH parameters These are two often neglected parameters that have a great affect on performance without affecting the debugging abilities. The **ARCH** setting tells the compiler to select instructions that exist on the corresponding hardware, ensuring the program can execute on the target hardware. **TUNE** instructs the compiler to choose the sequence of instructions that will be most optimal on the corresponding hardware level. - ARCH(x), where x = 11 | 12 | 13 | 14 | 15. Set the value to match the architecture of the **oldest** machine where your application will run, including any disaster recovery (DR) systems. - TUNE(y), where y = 11 | 12 | 13 | 14 | 15. Set the value to match the architecture of the machine where your application will run most often. The TUNE level must always be greater or equal to the ARCH level. For example, if your development environment is running on a z15 mainframe and your production environment is running on a z16, then use the parameters ARCH(14),TUNE(15). ## TEST parameter This parameter is suited to the development environment. If using a 2 stage compile, you can use TEST(DWARF,NOSEP). This means that the object deck has the DWARF area included in the module and there is not need for a SYSDEBUG dataset. This makes deployment much easier, but at the expense of having to have a larger dataset for your load modules. For compilation to a prod environment, use the option NOTEST(DWARF,NOSEP), which also keeps the dwarf area in the load module, but without the debugging information. This also makes it easier of ancillary tools such as Fault Analyzer and Application Peformance Analyzer to analyze issues and problems with the load module should there be a performance problem or abend. ## Other recommended parameters The **[LINECOUNT](https://www.ibm.com/docs/en/cobol-zos/6.5.0?topic=options-linecount)**(x) parameter is usually left for paging of data in the listing file. This adds a header and footer every (x) lines. This is not needed in a Git/DBB environment and frankly, annoying when anything other than 0. Thus use a LINECOUNT(0) for all languages (PL/I, COBOL, Assembler, and C/C++). **[SSRANGE](https://www.ibm.com/docs/en/cobol-zos/6.5.0?topic=ecco-ssrange)** affects whether code is generated to check for out-of-range storage references. This is a parm that should at least be used in the development level compile. The default is SSRANGE=NO, thus specify in a development compile SSRANGE(ZLEN,MSG) to get messages about out of range storage references. Do not specify SSRANGE for a production compile (which defaults to NO as specified above). **WORD[(](https://www.ibm.com/docs/en/cobol-zos/6.5.0?topic=options-word)CICS)** – this is to be used when compiling CICS program. This will use the [CICS reserved word](https://www.ibm.com/docs/en/cobol-zos/6.5.0?topic=cics-reserved-word-table) table to identify and flag variables named after CICS reserved words (a potential production issue). This should be a development level compile option, but could be used for both development and test/production compile scenarios. For more information on COBOL 6 compile parameters and recommendations visit https://www.ibm.com/docs/en/cobol-zos/6.5.0?topic=ptg-how-tune-compiler-options-get-most-out-cobol-6 **Categories:** DevOps --- ### [How not to screw up your z/OS Unix File System structure](https://www.strongback.us/2026/06/how-not-to-screw-up-your-z-os-unix-file-system-structure) **Published:** June 18, 2026 **Author:** Kenny Smith **Excerpt:** A field guide to sane z/OS Unix System Services file systems: mount points, directory conventions, and the mistakes that make USS painful a decade later. **Content:** We’ve walked into more than a few shops where the z/OS Unix System Services (USS) file system grew organically over a decade or two — home-grown directories bolted onto root, application teams inventing their own conventions, and nobody quite sure which mount points are safe to touch during maintenance. None of this is unique to the mainframe; it’s the same drift you’d see on any Unix system left unsupervised. But on z/OS, the consequences are a little sharper, since USS shares the box with your batch, CICS, and DB2 workloads, and a filesystem that fills up or gets mounted wrong can take down more than just a shell session. Here’s a rundown of the standard top-level directories under root, what each one is for, and where we typically see things go sideways. ## /bin Executables and shell utilities — the Unix equivalent of your system libraries. This is IBM-supplied and shouldn’t be touched. If you’ve installed Rocket, Python, or other USS-based tooling, that belongs in `/usr/lpp` or a similar product-specific mount, not crammed into `/bin`. ## /etc Configuration files for USS itself and any Unix-based subsystems — things like `inetd.conf`, `profile`, and `resolv.conf`. This directory tends to accumulate cruft over the years as products install their own config snippets. Keep a change log of anything you hand-edit here; it’s one of the few directories where a typo can quietly break TCP/IP services or telnet/ssh access for the whole LPAR. ## /dev Device files — pseudo-terminals, `/dev/null`, `/dev/random`, and so on. You’ll rarely need to touch this directly, but it’s worth knowing it’s there when you’re troubleshooting odd terminal behavior in OMVS or SSH sessions. ## /tmp Temporary storage, typically backed by a separate zFS or HFS mounted specifically for this purpose. This is the one we see cause outages most often. Application teams and ISV products love to dump scratch files here, and if `/tmp` is sharing space with anything else — or worse, is part of the root filesystem — a runaway job can fill it and start affecting unrelated work. Give `/tmp` its own zFS, size it generously, and consider an automated cleanup job (find files older than X days, or use the system’s `tmpwatch`-equivalent housekeeping) to keep it from becoming a junk drawer. ## /var Variable data — logs, spool files, lock files, and other things that change frequently during normal operation. Like `/tmp`, this is a good candidate for its own mount point so a noisy logging subsystem doesn’t compete with your application directories for space. ## /usr Where most installed software lives, including `/usr/lpp` (IBM and ISV product installs) and often `/usr/local` for site-specific tools. If you’re running things like Git, Python, Java, or open source tooling under USS, this is generally where it gets staged. Treat `/usr/lpp` as read-mostly outside of maintenance windows — it’s shared infrastructure, and developers poking around in here looking for a quick fix is a bad habit to let take root. ## /opt Less universally used on z/OS than on distributed Unix, but you’ll see some vendors install here instead of under `/usr/lpp`. Worth knowing about so you’re not surprised when a product’s installer asks for it. ## /SYSTEM (z/OS-specific) Mount points for system-related filesystems tied to a specific sysplex or LPAR — kernel-related data, sysplex root structures, and similar. This one’s specific to z/OS’s shared/sysplex root model and won’t show up on a distributed Unix box. Generally hands-off unless you’re a systems programmer working sysplex root maintenance. ## /SCOPE (z/OS-specific) Similarly tied to the shared file system model — holds release-specific or system-specific data depending on how your shared root is configured. Again, this is systems programming territory, not application territory. --- ## /u — the one that actually needs your attention The `/u` directory is where user home directories live — one subdirectory per TSO/USS user ID, typically `/u/userid`. This is by far the directory most likely to bite you operationally, because unlike `/bin` or `/usr`, it’s not static. It grows continuously and unpredictably as every developer, batch ID, and started task with a home directory writes config files, log output, downloaded source, and the occasional forgotten core dump into their own corner of it. A few things we consistently recommend: **Give `/u` its own zFS, separate from root.** This is non-negotiable in any shop running more than a handful of users. If `/u`is part of the root filesystem and a single user’s runaway process fills their home directory, you risk taking down USS services for everyone. A dedicated zFS for `/u` contains the blast radius to that one mount. **Consider per-user or grouped zFS data sets rather than one giant `/u` filesystem.** Many shops mount a single large zFS at `/u` and let every user share it. That works fine until someone’s `.profile` script goes into a loop writing log files, fills the filesystem, and now nobody can log in — including the systems programmer who needs to fix it. Splitting heavy users (developers actively compiling, testing, and debugging) into their own zFS data sets, automounted on demand, isolates that risk per-user instead of shop-wide. **Use automount where you can.** [z/OS’s automount facility](https://www.ibm.com/docs/en/zos/3.2.0?topic=facility-setting-up-automount) (via `/etc/auto.master` and friends) will mount a user’s home directory zFS on first access and unmount it after a period of inactivity. This avoids having hundreds of permanently mounted filesystems consuming storage and address space resources for users who haven’t logged on in months. **Watch your quotas.** Whether you’re using zFS quotas or just relying on dataset space allocation, set a sane ceiling per user. Developers doing active DBB/Git work in their home directory — cloning repos, running builds, generating listings — can burn through space far faster than a typical TSO user. Size accordingly, and don’t be afraid to give your DevOps-heavy users a larger allocation than everyone else; that’s a more sustainable fix than firefighting “filesystem full” pages at 2 AM. **Be deliberate about what belongs in `/u` versus a shared application directory.** We’ve seen teams accidentally treat a developer’s home directory as a shared workspace — checking build scripts or shared configuration into someone’s personal `/u/userid` because it was convenient at the time. When that person leaves or their ID gets revoked, the shop loses access to files everyone depended on. Anything that needs to outlive an individual’s account — shared scripts, team configuration, pipeline artifacts — belongs in `/var`, `/usr/local`, or an application-owned mount, not buried in a personal home directory. **Clean up stale home directories.** When a user ID is revoked or deleted, the home directory under `/u` often gets left behind. Over the years this adds up to a meaningful amount of orphaned storage and, more importantly, files that don’t belong to anyone — which is its own audit and security headache. Tie home directory cleanup into your user offboarding process rather than treating it as a separate housekeeping task that never quite gets prioritized. **Steer clear of the `#` character in user IDs and file names.** This one catches shops off guard because TSO/RACF happily allows `#` (along with `@` and `$`) in a user ID, and it’s a long-standing mainframe convention going back to the days when those were the only “special” characters available. The problem is that `#` is a comment character in the shell, a history-expansion trigger in some shells, and gets mangled by various scripting and parsing tools that assume a more traditional Unix-safe character set. A home directory like `/u/#smith` or a file inside it can cause a script to silently truncate a command, misinterpret an argument, or skip processing entirely — and it’s a miserable thing to troubleshoot because the directory looks fine sitting in a listing. If your shop’s user ID convention includes `#`, `@`, or `$`, it’s worth flagging that as a known land mine for anyone writing shell scripts, automount maps, or build tooling against `/u`, and avoiding those characters in any new file or directory names you create by hand. --- Getting the USS directory structure right isn’t glamorous work, but it’s the kind of thing that pays for itself the first time you avoid a filesystem-full outage at the worst possible moment. If you’re planning a USS storage review — or migrating a pile of ad hoc home directories into something more disciplined — [happy to talk through it](https://www.strongback.us/contact). **Categories:** DevOps --- ### [Why do I have these README.md files? What's a .md file?](https://www.strongback.us/2026/07/why-do-i-have-these-readme-md-files-whats-a-md-file) **Published:** July 3, 2026 **Author:** Kenny Smith **Excerpt:** What are these README.md files in your new Git repository? A mainframer's introduction to Markdown, and why it replaced scattered Word documents. **Content:** ### The .md file extension stands for “markdown” You likely see them in your new git repositories. You folks migrating from the mainframe might see them and wonder what they are, and why it has funny characters. You’re used to having Word documents scattered everywhere: shared drives, Sharepoint, Wiki’s and more. Those documents are often hard to track down, and worse: they are stale. Markdown is designed otherwise be version controlled and to be stored with your source code. ### What Markdown Is Markdown is a lightweight, plain-text markup language for formatting documents using simple, readable syntax (e.g., `#`for headings, `**bold**`, `- `for bullet lists) instead of complex formatting codes. Files typically use the `.md` extension. It was designed to be readable as plain text even *before* it’s rendered into HTML or another output format. ### Why Markdown Files Are Important **1. Portability & Longevity** Markdown files are just plain text — no proprietary format, no vendor lock-in. A `.md` file written in 2010 opens identically today in any text editor, unlike a `.docx` that may hit compatibility snags across Word versions. **2. Version Control Friendly** Because it’s plain text, Markdown works cleanly with Git and other version control systems — diffs are readable, merges are manageable, and history is meaningful. This is a big reason it dominates in software/technical documentation (READMEs, wikis, changelogs). **3. Toolchain Flexibility** A single Markdown file can be converted to HTML, PDF, Word, slides, or static websites (via tools like Pandoc, Jekyll, Hugo). Write once, publish anywhere. **4. Low Friction, High Readability** The syntax is minimal enough that people write and read it naturally, but structured enough to convert reliably into polished output — a good middle ground between raw text and heavyweight formats like Word or LaTeX. **5. Ubiquity in Technical & Developer Ecosystems** GitHub, GitLab, Jira, Confluence, Slack, and most developer tools render Markdown natively. It’s become the default language for documentation, blog drafts, and knowledge bases in technical organizations — including static-site blog platforms often used for content like your Strongback posts. **6. Future-Proofing Institutional Knowledge** Because it’s non-proprietary and human-readable even unrendered, Markdown is a solid choice for documentation meant to outlast any specific software — useful for things like architecture references or “owner’s manual”-style documentation. So, next time you need to document how a git repository is laid out, use a README.md. You could even use a ABC123.md to document a Cobol member named ABC123.cbl. To learn the syntax of markdown, check out **Categories:** DevOps --- ### [Use Eclipse P2 director to silently and rapidly install IBM Developer Tools](https://www.strongback.us/2023/01/use-eclipse-p2-director-to-silently-and-rapidly-install-ibm-developer-tools) **Published:** January 30, 2023 **Author:** Kenny Smith **Content:** IBM Installation Manager has been the workhorse for managing the installation of many IBM desktop tools including IBM Developer for z/OS, WebSphere Application Server, and others as well as manage desktop authorized user licenses. IBM has recently been supporting Eclipse P2 style installs, which allow you to use the Eclipse **Help > Install New Software** menu to install plugins. When IDz 16 came out, it only offered the P2 install, which left many to wonder “When is the IIM version going to come out? Is IBM abandoning it?” We had a couple of projects that required us to deploy IDz 16 in an automated fashion. As we’ve had over a decade to work with IIM, we had to scratch our heads and come up with an automated way to both install IDz 16.0, and to install some additional plugins. What we’ve learned is that the the Eclipse P2 director has a fantastic command line access that allows you to install plugins from any location, and to remove parts that you do not need. IDz 16.0 can be downloaded from as a zip file. The first step is to extract the zip file. Once extracted, you’ll find a file system structure like the following: ![](https://www.strongback.us/wp-content/uploads/2023/01/image.png)In older versions, we would see a ‘eclipse.exe’. Here we see ‘developer\_for\_zos.exe’. They are the same file. It is the eclipse executable. Subsequently, *developer\_for\_zos**c**.exe* is the command line interface. Here is an example call: ``` developer_for_zosc.exe" -application "org.eclipse.equinox.p2.director" -repository myrepository -installIU installlationUnits -vm "jdk/bin/javaw" -nosplash ``` In the above snippet of code, we are calling the Eclipse P2 director using the -application parameter. A repository can be a remote repository, or one locally on your network (or even in an Artifactory repository). The installation units are the feature groups that you wish to install from other products. Here are some examples of what those product installIU options would look like: - Fault Analyzer: com.ibm.etools.fa.pdtclient.install.info.feature.feature.group - File Manager: com.ibm.etools.fm.ui.feature.feature.group You can find documentation about the P2 director and its optional arguments here: [https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2\_director.html](https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_director.html) Understanding these basic steps, allows you to manage a controlled, distributed installation that can be orchestrated by Microsoft SCCM, Tivoli BigFix, or other desktop management tools. Using PowerShell, you can easily extract the zip file, install plugins, setup default workspaces, and create desktop icons to easily launch the product from the Windows menu. We LOVE scripted installs. Developers should never be instructed or allowed to install these products and their plugins on their own (unless they have less than 4 developers). For a site that has over 100 developers, that is what we call a [goat rodeo](https://youtu.be/1uo_42g9l3w?t=560). **Categories:** DevOps --- ### [Accelerate FTP uploads to zD&T](https://www.strongback.us/2022/11/accelerate-ftp-uploads-to-zdt) **Published:** November 22, 2022 **Author:** Kenny Smith **Content:** When uploadding to an IBM zD&T system, you may experience painfully slow upload times. I’ve had 5MB files take 30 minutes to upload. After much digging, I discovered a quick fix. Run the following command on the Linux host. In my case it was Ubuntu: ``` ethtool -K eno1 gro off ``` Ethtool is used for querying and changing an ethernet adapter. This command changes the offload parameters, specifically the generic offload parameter is turned off. This will change the upload FTP speed to the z/OS (MVS or USS) to a much more acceptable level. Change “en01” to the primary Ethernet adapter which is bound to your external IP of the Linux host (assuming your zD&T is configured to do NAT). **Categories:** DevOps --- ### [IDz Hidden Gems – LPEX Line Mod Annotations](https://www.strongback.us/2022/05/idz-hidden-gems-lpex-line-mod-annotations) **Published:** May 23, 2022 **Author:** Jon Sayles **Content:** When you make code changes to files – typically COBOL, JCL, or PL/I program source, IDz marks the changed line(s) with light-gray rectangles in the left Annotations/frame area of your editor pane (See **Figure 1**). This Annotations area is a white vertical bar immediately to the left of the Prefix Area. Note also that the right Annotations/frame area of the editor provides hyperlinks to the changed lines from anywhere in the file – see **Figure 2.** So? So this: - The rectangles serve as a means of identifying (marking) source changes, deleted or added lines - Deleted lines appear as small underscores (**Figure 3**) - Markers persist until you issue a file save (Ctrl+S) - After a file save you can use Local History to detect line changes in a files - If you mouse-hover over a change-line marker the original code is displayed (Figures 1, 3) - When you hover over a marker you can you move your mouse into the yellow rectangle – allowing you to: - **Ctrl+A** – select the original line text - **Ctrl+C** – copy the original line text - And consequently paste the text over (replace) the newly added code So? So this allows you to undo a change to a **specific** line, reverting the code to the exact text that was there before your modification. Which is decidedly useful when – say – you’ve made changes to; 8, 10, 20 or more lines in a program and you need to undo (just) the 11th change you made without Ctrl+Z’ng the rest of your work. The same technique: 1. **Hover** 2. **Move your mouse into the yellow rectangle** 3. **Ctrl+A** 4. **Ctrl+C** …also works for un-deleting a specific block of code. Finally – you should note that this Marked Lines (undo) dev-technique works in LPEX (all languages), COBOL, PL/I and the JCL editors. ![](https://www.strongback.us/wp-content/uploads/2022/05/idz-gem-annotations.png)**Figure 1 –** Left Annotations/frame markers added by IDz for changing lines in a file![](https://www.strongback.us/wp-content/uploads/2022/05/idz-gems-right-annotations.png)**Figure 2 –** The Right Annotations/frame markers – simplifying access from any displayed page in the editor![](https://www.strongback.us/wp-content/uploads/2022/05/idz-gems-deleted-lines.png)**Figure 3 –** Deleted lines are marked with a small thin rectangle. **Categories:** Mainframe Devops **Tags:** IDz --- ### [IDz Hidden Gems – the Benefits of Bookmarks](https://www.strongback.us/2022/05/idz-hidden-gems-the-benefits-of-bookmarks) **Published:** May 16, 2022 **Author:** Jon Sayles **Content:** Not everyone pounds code 8, 10, 12 hours/day – at least not all the time. And when you’re not typing you’re thinking/analyzing – and when you’re studying COBOL or PL/I (or Assembler) applications there will be occasions aplenty where you’re on the hunt for something – and need (momentarily) to go somewhere else -be it another part of the program, another program, JCL, BMS/MFS, etc.etc – or just lunch. What then? How do you maintain your place in the program(s) while vaulting elsewhere? In my day (“GET OFF MY LAWN – YOU KIDS!”) we used paper clips inserted in green bar printouts. That is, until sticky notes were invented. In ISPF you may be using “[Labels](https://www.ibm.com/docs/en/zos/2.1.0?topic=data-labels-line-ranges)” – **.Alpha** characters in the ISPF Editor’s Prefix area. Hadn’t heard of those before had you? No prob. Because IDz does one better – with Bookmarks. Bookmarks are annotations set from the Context Menu, or by double-clicking a line in the left-hand margin of the Editor (LPEX, COBOL, PL/I, or JCL editor). When you double-click, the initial bookmark is set (by default) to the text in the line. You can over-type it as shown in **Figure 1.** **Figure 1** also shows that once set – bookmarks appear in the left-hand margin on the current editor page – and in the right-hand margin as links throughout the file. ![](https://www.strongback.us/wp-content/uploads/2022/05/idz-bookmarks.png)**Figure 1 – Bookmarks set in a program**Bookmarks persist until you delete them – which can be done by hovering over the bookmark and selecting Delete – or using the Bookmarks View (**Figure 2**). Another benefit of the Bookmarks View is that the entries link to the bookmarked line in the code – meaning that if you double-click bookmark in the Bookmarks View IDz will open the code to that bookmarked line – saving oodles of Locate commands and scrolling. Note that this is independent of where the code originates (Local Projects, Git, PDS (libraries on the host) even in CA-Endevor (assuming you’re using IDz’s CARMA to interface with Endevor. ![](https://www.strongback.us/wp-content/uploads/2022/05/idz-delete-bookmarks.png)**Figure 2 – Bookmarks View**Finally – you can select/copy and paste the contents of the Bookmarks view into any PC/ASCII file – including MS-Word docs, MS-Excel (**Figure 3**) etc. for project analysis tasks. In summary – IDz’s bookmarks allow you to: - Link to a specific line in a file - Open a file (remote or local) to the bookmarked line - Tie project reminders & notes to a line in a file - Copy/Paste bookmarks into project documentation To learn more about bookmarks, and many other features of IDz, [contact us about our modular IDz training course](https://www.strongback.us/solutions/idz-implementation-services "IDz Implementation Services"). ![](https://www.strongback.us/wp-content/uploads/2022/05/idz-bookmarks-csv.png)**Figure 3 – Bookmarks View Contents – selected/copied and pasted into an Excel Worksheet** **Categories:** Mainframe Devops --- ### [Setup for IDz Rollout Success](https://www.strongback.us/2022/05/setup-for-idz-rollout-success) **Published:** May 2, 2022 **Author:** Jon Sayles **Content:** ## High level steps The stages in a successful IBM Developer for z/OS Rollout traditionally consist of the following steps: 1. Product work (both server and client): - Installation - Customization and integration: - Server - Client tooling: - Workspace - Connections - Preferences - Property Groups - z/OS File Mapping - Menu Manager - Snippets/Templates - Code Review - Testing - Function - Performance (stress testing) 2. SCM integration: - Products - Processes - Training – if migrating 3. Developer environment transition: - Critical CLIST and REXX access from IDz - Training based on customization - Client tooling - Menu Manager (shop specific CLIST & REXX integration) - Mentoring and follow-up - Initial product use - Long-term 4. Maintenance and administration: - Product releases - Workspace management and administration - Developer skills: - New users on-boarded - New functionality training I know – you thought the above would be a shorter list. But think about almost the intrinsic needs of any successful platform change and you’d see the kinds of steps and stages. Strongback provides services in all of the above – and in this blog we’ll discuss the importance of Menu Manager. ## **What is Menu Manager?** Given that every Enterprise/IT shop on the planet is basically like its own country – with unique tools, traditions, processes and even vocabulary it comes as no surprise that for the last two, three, four – even five decades a collection of ISPF Panels, CLISTS and REXX execs were created that address aspects of your application development, delivery and maintenance work. These “applets” were written (typically) to save time & money – or address some aspect of the project lifecycle that wasn’t fully automated. The vast majority of them can be invoked using Menu Manager. In order to address the unique dev-environment every shop runs off of, IBM provides a simple script-language (and I do mean simple) and tools to call TSO “commands” – which include REXX Execs and CLISTS. **Figure 1** shows a sample of the Run command – in fact one that invokes the MVS “ISRSUPC” (SuperC) utility – using a REXX. The output is shown in **Figure 3** ![](https://www.strongback.us/wp-content/uploads/2022/05/menu-manager-run-options.png)**Figure 1 – Menu Manager Run Command**From Figure 1 you can see that the command is essentially the same as what you would enter in ISPF=6 to invoke a REXX. - **EX ‘theRexx’** - **Pass Arguments to the REXX** – there are four in this example What is different is that, using four $input operators you “tell” Menu Manager to create four dialog boxes – each with a literal for user entry. Also what is different about Menu Manager is that you can tell it to Show any streamed (REXX “**say**” keyword) output back to the user See Figure 3. So net – all you have to do is: - Find the REXX/CLIST-to-be-invoked - Invoke with a Run Command (Figure 1) - Stream any output/text back to the user with the “Show output” checkbox And you’re good to go. Of course there are some limitations to what Menu Manager can invoke – but as of a few years ago IBM enhanced its functionality to run “conversational” – or multi-step REXX Execs and CLISTs – which could well be the majority of what you need. ![](https://www.strongback.us/wp-content/uploads/2022/05/menu-manager-enter-params.png)**Figure 2 – Eclipse Dialog produced by the $input operators in the Menu Manager Run Command**![](https://www.strongback.us/wp-content/uploads/2022/05/menu-manager-action-output.png)**Figure 3 – ISRSUPC (MVS Utility) Compare Results**For more information about using Menu Manager to expedite your IDz Rollout [contact us](https://www.strongback.us/contact "Contact Us") to discuss either Menu Manager training (1/2-day) and/or a Menu Manager Quickstart package that consists of training and 8 hours of additional mentoring and example development. If you are interested in [Instructor-led training](https://www.strongback.us/training "Training"), we offer a full catalog of modules for any shop to get your team ramped up on IBM Developer for z/OS **Categories:** DevOps --- ### [How do I import a GoDaddy SSL Cert into an IBM HTTP Server keystore?](https://www.strongback.us/2021/11/how-do-i-import-a-godaddy-ssl-cert-into-an-ibm-http-server-keystore) **Published:** November 8, 2021 **Author:** Kenny Smith **Content:** When you get a new SSL certificate from GoDaddy, you likely will a zip file that includes multiple CRT files and a PEM file. These are the raw Certificate Request, GoDaddy root CA and intermediate CA certs, as well as the private key for the actual certificate. WHen using Apache, you typically would use the following SSL directives to use these files as they are: ``` SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt" SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"`SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"` ``` IBM HTTP Server, on the other hand, typically uses a key database instead. This is a much more secure way to handle SSL handshakes, and helps to protect your certificate from potential hackers that make it into the operating system via command line. You can not use the Godaddy certs as they are! You will need to convert the PEM file and key file into a PCKS12 key database first. Then, you can import from that new key database into the IBM HTTP Server’s key database. Start off by copying your files to the system. You’ll need to do this on the host (we’re using Linux in this case…sorry Windoze users). In our case we have the following files: generated-private-key.txt – this is the private key. DO NOT lose this! Keep this secure! 73f29e00683BR549.crt – this is the certificate request 73f29e00683BR549.pem – this is the public key of the certificate request. Now, you’ll create a new PKCS12 keystore from the files above: `openssl pkcs12 -export -out cert.p12 -in 73f29e00683BR549.pem -inkey generated-private-key.txt -passout pass: myNewPassword` Then, on the IBM HTTP Server, navigate to the bin directory. You’ll use the command gsk8capicmd, which is a superset executable of ikeyman. Use this to import into your keystore: `/opt/IBM/IHS/bin/gskcapicmd -cert -import -file /opt/IBM/IHS/cert.p12 -target /opt/IBM/IHS/conf/ihskey.kdb` -t`arget_stashed -label my.server.com` Your key database (ihskey.kdb) should be secured by your. I recommend you create that first. It should be a CMS type database to work with IBM HTTP Server. If you want to do this key database manipulation on your own workstation (using Windoze), you can do it if you have the IBM JRE installed. Note that you will need to change the JRE java security policy, otherwise, you will NOT be able to edit any CMS keystore (which is what IHS uses). Open the /lib/security/java.security file and add the following line to the bottom of the file: `security.provider.10=com.ibm.security.cmskeystore.CMSProvider` **Categories:** DevOps --- ### [How healthy is your z/OS on zD&T? (How to monitor z/OS Health)](https://www.strongback.us/2021/04/how-healthy-is-your-z-os-on-zdt-how-to-monitor-z-os-health) **Published:** April 14, 2021 **Author:** Kenny Smith **Content:** A good systems programmer should generally know how to monitor the health of his or her z/OS system. However, if you’re using z/OS Development and Test (ZD&T), you’re likely a developer with only the basic skills. Fortunately, the product comes with **Health Checker for z/OS**, and it should be configured to run out of the box with a plethora of general purpose checks. ## A Primer on z/OS Health Checker The Health Checker is actually is a component of MVS that can diagnose potential problems before they adversely impact your system. It it is not a monitoring or diagnostic tool, but more of a validator that checks your system for derivations from standard and best practices. At work is a set of programs (called checks), that are run on a frequency by a started task (HZSPROC). It will run checks periodically and store the results in a sequential dataset, typically ADCD.&SYSNAME..HZSPDATA (as defined in the proc on zD&T). ## How to get the health check output If you’ve seen the following in your zD&T log, then you might be wondering, what does that mean? `OPRMSG: HZS0001I CHECK(IBMCSV,CSV_APF_EXISTS):OPRMSG: CSVH0957E Problem(s) were found with data sets in the APF list.` In this case, it means that the one of the health checks, IBMCSV, has run, and it specifically looks at the rule CSV\_APF\_EXISTS, which checks to make sure all the APF authorized datasets *actually* exists. However, this entry in the log only indicates that it ran. It does not tell you which datasets were not found. To get all the details, you’ll run a JCL job against the Health Checker system which will spill out information from its storage. There is a sample JCL, HZSPRINT located in SYS1.SAMPLIB that you can copy and tailor to your liking. In a nutshell, its a job that queries the storage, gets the output, and stores it in a readable format wherever you want (in a dataset, a USS log file, or a JES SYSOUT). In my case above, I tailor it to query for only the CSV\_APF\_EXISTS check and spit the output to SYSOUT as follows: ``` //HZSPRINT EXEC PGM=HZSPRNT,TIME=1440,REGION=0M,PARMDD=SYSIN //SYSIN DD * CHECK(IBMCSV,CSV_APF_EXISTS) ,EXCEPTIONS //SYSOUT DD SYSOUT=A,DCB=(LRECL=256) ``` This spits out the info I need to determine which datasets are missing, via the SYSOUT. ![](https://www.strongback.us/wp-content/uploads/2021/04/image-2.png)IBM z/OS Explorer JES View Opening up the SYSOUT from the JES spool, I see the following: ``` * * Start: CHECK(IBMCSV,CSV_APF_EXISTS) * * CHECK(IBMCSV,CSV_APF_EXISTS) SYSPLEX: ADCDPL SYSTEM: S0W1 START TIME: 04/14/2021 07:18:37.465875 CHECK DATE: 20071120 CHECK SEVERITY: LOW CHECK PARM: MIGRATEDOK(SYSTEM) CSVH0955I A problem was found with each APF list entry displayed. VOLUME DSNAME ERROR A4CFG1 NETVIEW.V621USER.VTAMLIB DS not found Low Severity Exception * CSVH0957E Problem(s) were found with data sets in the APF list. ``` In my case the correct dataset was NETVIEW.VTAMLIB, so I made the correction to my parmlib member and all is well. There should be other output you can check for as well, as a CHECK(\*,\*) in your JCL member would give you. ## How to see what checks are configured To display which checks are configured to run, you issue a system operator modify command to the HZSPROC as such: ``` f hzsproc,display,checks,check=(IBMCSV,*),detail ``` In this case, it should spit out all the Content Supervision Checks (IBMCSV) runs, which includes Checks are configured in the HZSPRMxx member in you system parmlib. You can change the checks here, and the changes will be reflected in your next IPL. You can also issue changes dynamically using the modify command above. [See this cheat sheet for examples](https://www.ibm.com/docs/en/zos/2.3.0?topic=checks-making-dynamic-temporary-changes). More more details on what checks are available, see the [IBM Health Checker for z/OS checks – IBM Documentation](https://www.ibm.com/docs/en/zos/2.3.0?topic=descriptions-health-checker-zos-checks). **Categories:** DevOps --- ### [How to enable licensing in IBM Developer for z/OS and ADFz](https://www.strongback.us/2021/04/how-to-enable-licensing-in-ibm-developer-for-z-os-and-adfz) **Published:** April 5, 2021 **Author:** Kenny Smith **Content:** ## Overview IDz is offered in three different packaging options. Overall, its the exact same client, but the licensing differs considerably. First, let’s discuss how these packages flesh out: ### IBM Developer for z/OS This is the “base” edition, and is common for smaller companies (well, smaller compared to say a global bank). It includes editing, analysis tooling, a Git client, and an excellent graphical debugging environment. There might be some confusion between IDz EE. I heard a customer state that “IDz (base) does not include the debugger!” which is not true. IDz base includes the graphical debugging capability, not the 3270 debugging, which is included in IDz enterprise edition below. This particular package is offered in two modes; Authorized User and Floating User. For an Authorized User, a physical license file is applied on the desktop client via the IBM Installation Manager which then authorizes the product (and effectively turns a trial version into a permanent version). This is similar to a “named user” model, and it requires 1 license for each desktop client. A Floating User license, by contrast, is more like a “concurrent user” model. It requires that the client be connected by network to an IBM License Key Server. A client will “check out” a license whenever the client is started, and will check it in when the client is closed. These two models stand in contrast to Value Unit licensing, which are what the following two packages use. ### IBM Developer for z/OS Enterprise Edition This package includes everything that IDz base edition does, plus it includes two other graphical clients: **Microsoft® VS Code™ RedHat CodeReady Workspaces or Eclipse**®. It also includes the features of **Dependency Based Build**, and the IBM Debug for z/OS Debugger (which is for 3270 applications). It is a bit odd that it packages a debugger for 3270 applications, while at the same time selling you a graphical user interface, but I digress…. ### Application Delivery Foundation for z/OS This is the cream of the crop edition and includes the entire toolbox that you need to modernize your z/OS application development environment. This includes everything in IDz EE above, plus: - Fault Analyzer - File Analyzer - Application Performance Analyzer These three products require installation of software on both the z/OS host and the developer’s desktop client. It also requires a bit of planning to implement it successfully. ## Applying a license key In the case of IDz EE and ADFz, both are licensed by editing the IFARDxx file in your z/OS system parmlib concatenation. This enables z/OS Value Unit licensing. In all, this takes a system’s programmer about 10 minutes to enable, and is by far the easist. See [https://www.ibm.com/support/knowledgecenter/SSQ2R2\_15.0.0/com.ibm.guide.hostconfig.doc/topics/hostcust28a.html](https://www.ibm.com/support/knowledgecenter/SSQ2R2_15.0.0/com.ibm.guide.hostconfig.doc/topics/hostcust28a.html) When properly setup, once a client connects, the developer should see the following properties, once they click on the “MVS Files” section of their connected z/OS LPAR: ![](https://www.strongback.us/wp-content/uploads/2021/04/image-1.png)If using the base edition of IDz with floating user licenses, you’ll need to setup an[ IBM License Key Server](https://www.ibm.com/docs/en/common-licensing/9.0.0), and download the licenses from the IBM License Key Center. See[ this link for an overview](https://www.ibm.com/docs/en/common-licensing/9.0.0) of how IBM Common Licensing works. The actual licenses will be obtained from the[ IBM License Key Center](https://www.ibm.com/support/pages/ibm-support-licensing-start-page). HOWEVER: [Follow these instructions ](https://www.ibm.com/docs/en/common-licensing/9.0.0?topic=keys-before-you-request-license)before you download your licenses! If you are rolling out the client to the desktop using an automated means (windows batch scripting, silent response files, MSSCM, BigFix, etc.), you should know that you can also apply the licenses via scripting as well. For floating licenses, create a single text file, license.opt, and include the following content: ``` ``` Then, as part of the response file, include the following in the element (substituting for the *actual* location of the license file): ``` ``` ### Getting IDz Installation Help Well.. of course, that’s where we come it. We have tools to automate the deployment of IDz to the desktop. Nope, we’re not giving them away (we do have to put food on the table you know). However, we’re happy to work with you to implement IDz on the client and the host, as well as provide training to your z/OS development staff. We maintain our own courseware, and offer full implementation services for the product. Let us know if we can help you implement or setup a proof-of-concept. **Categories:** DevOps **Tags:** C/C, COBOL, HLASM, IDz, mainframe --- ### [Make z/OS debugging easier with the IBM Debugger Profile Service](https://www.strongback.us/2021/03/make-z-os-debugging-easier-with-the-ibm-debugger-profile-service) **Published:** March 1, 2021 **Author:** Kenny Smith **Content:** A debugger profile is a type of configuration that allows a developer to debug a program under certain conditions. There are two debugger profiles types: non-CICS, and CICS. For CICS, it is a **DTCN** profile. Many developers have used the DTCN transaction for years to setup a debugging session between IDz, and the debugger once its triggered by the the 3270 terminal transaction under test. For non-CICS, IDz now offers a delay debug profile stored as a sequential dataset in the user’s high level qualifier. This is basically an XML file that controls how the debug manager picks up the debug session and communicates back to the developer’s IDz client. ![](https://www.strongback.us/wp-content/uploads/2021/03/image-1.png)To make it easier to create and manage these profiles, IBM has developed the Debugger Profile Service. It is a REST API that allows plugins to read and write DTCN debugger profile data to either a CICS repository, or to a sequential dataset for non-CICS programs. It is included with the IDz host components, but must be setup . If your systems programmer has installed the Remote Systems Explorer and Debug Manager in the past, they may not have setup the Debugger Profile Service. This service requires a TCPIP listener, a started task, and subsequent security changes to make it work. The image above describes some of the started tasks that need to be configured for the DPS to work. Once configured it allows a developer to easily debug existing programs that were compiled outside of JCL, such under Endeavor, Changeman, SCLM, Team Concert, or Dependency Based Build. A user creates the profile in their IDz client, in the Debugger Profiles view, save it, and profile is synchronized back to the mainframe via the Debugger Profile Service. ![](https://www.strongback.us/wp-content/uploads/2021/03/image-3.png)A non-CICS Debugger ProfileIn the image above, you might recognize the profile and its fields from the “Debug As” configurations. These were the DTSP and DTCN views that have since been deprecated. They’ll be removed in a future release. This new view consolidates the data, integrates it with the Debugger Profile Service, and makes it easier for developers to find, edit, export, and share with colleagues. IF you don’t currently have the Remote Debugger Profile service running. you’ll need to take these steps: - Install the IDz host components 14.2 or above. - Customize the Unix directory folders for DPS using the provided sample EWQAPRFSU JCL. - Create a JCL proc to launch the started task (typically EQAPROF), and put it into the system proclib concatenation. - Setup the DPS security definitions - Update the system PARMLIB to start the DPS at system IPL. All of these steps are detailed in the IBM Knowledge Center at [Adding support for Debug Profile Service and APIs (ibm.com)](https://www.ibm.com/support/knowledgecenter/SSQ2R2_15.0.0/com.ibm.debug.cg.doc/cgdita/addsupportdebugprofile.html). Once the service is setup an running, a user only needs to launch the application with a JCL (or start the CICS transaction if its a CICS application). Here is a sample JCL to kick off a batch job named SOCKY7. Notice, you need to pass in the TEST() parm option: ``` // SET MYHLQ=KENNY // SET EQAHLQ=EQAF00 //STEP0 EXEC PGM=IDICZSVC //STEP1 EXEC PGM=SOCKY7, // PARM='/TEST()' //STEPLIB DD DISP=SHR,DSN=&MYHLQ..CLASS.LOAD //* Uncomment below if the debugger is not part of your systems //* link list concatenation. Change the HLQ to the correct one for your //* environment. // DD DISP=SHR,DSN=&EQAHLQ..SEQAMOD //SYSOUT DD SYSOUT=* ``` Upon submitting the job, the debugger should kick off, and connect to your IDz instance, starting the debug session. If you use a non-default port for the DPS, you’ll need to update your connection settings for your z/OS Connection. Just right-click on your z/OS connection, and go to properties: ![](https://www.strongback.us/wp-content/uploads/2021/03/image-4.png)Then, on the Port Overrides menu, just enter the port number that DPS runs on. The default port is 8180. Note, also that this port can run under SSL/TLS encryption if needed. **Categories:** DevOps --- ### [Make Your z/OS Deployments Failproof With Urbancode Agent Pools](https://www.strongback.us/2020/12/make-your-z-os-deployments-failproof-with-urbancode-agent-pools) **Published:** December 3, 2020 **Author:** Kenny Smith **Content:** If you’re using UCD in a large z/OS mainframe environment, and want to take advantage of agent pools, there are some “gotchas” you need to be aware of. ## What are agent pools? An agent pool is a group of Urbancode started tasks (BUZAGNT) running on more than one z/OS LPAR. These agents respond to deployment requests in an environment. If one agent is down during a deployment request (such as during the IPL of one LPAR), another agent will take over. Agent pools have been used on the distributed side for many years, but when using them on the z/OS side, there is some additional configuration you need. Also, after having dealt with a few customer environments, and a few upgrades, I’ve added some additional instructions to make upgrades go more smoothly. ### Symbolic Links to the Installation Directory Create a symbolic link for the UCD agent directory, so that it can withstand upgrades from version to version. Typically, the default installation will direct you to install into a version specific directory. This is fine, but its better if you create the directory, and the symbolic first. This can be a directory such as the following: ``` ln -s /usr/lpp/ucd/current /usr/lpp/ucd/v7r10 ``` ### Create common work and deploy directories for agent pools Agent pools will really on work right if you have shared DASD across your LPARs. You will need common work and deploy directories. If you don’t do this, you will only be able to rollback a deployment using the agent that the component version was deployed to. ``` mkdir /shared/ucd/varmkdir /shared/ucd//deploychmod -R 744 /shared/ucd/var ``` When you do a deployment, look at the logs and you’ll see that the deploy datasets step will create a back up file before deploying the datasets from the component version. This backup file is stored in the agent’s var/deploy directory. If you’ve used the defaults, then this is specific to that agent only. If another agent in the agent pool picks up a request to execute a rollback, it will not be able to find it in its own var/deploy directory and will thus fail. This is why you need a common one. Once you’ve created the directories above, you’ll need to edit the BUZ\_DEPLOY\_BASE configuration property for all agents in the agent pool from the UCD web administration interface. Set all agents to this directory (/shared/ucd/var/deploy). Update USS configuration files if needed If you’ve installed the agent before setting up the symbolic links, you’ll need to manually change the configuration settings. This includes modifying the following files: - /agent/bin/agent - /agent/bin/buztool.sh - /agent/bin/classpath.conf - /agent/bin/configure-agent - /agent/bin/init/agent - /agent/bin/test-create-version.sh - /agent/bin/worker-args.conf - /agent/conf/agent/installed.properties - /agent/conf/toolkit/ISPF.conf - /agent/conf/toolkit/ISPXENV - The BUZAGNT started task JCL ## Final thoughts Keep in mind that adding any agent, even if its in an agent pool for failover/workload balancing, you will still incur the cost of the agent, and thus burn a license for such agent. Any agent in an agent pool needs to have shared DASD between the agents to facilitate deployment. They also need access to each other’s job monitor (JMON) to handle post-deployment processing, if any (such as DB2 BINDs and CICS new copies). This post touches on using Agent Pools for robustness, but there are other factors to consider when making a deployment environment robust. [Contact us](/contact) if you are planning an infrastructure using UCD on the mainframe. **Categories:** DevOps --- ### [Copy an application process in UCD quickly from one project to another](https://www.strongback.us/2020/09/copy-an-application-process-in-ucd-quickly-from-one-project-to-another) **Published:** September 28, 2020 **Author:** Kenny Smith **Content:** Here’s the scenario: You’ve got an application process in one project area for IBM Urbancode Deploy. Its taken time to develop, and you’ve spent many hours debugging it. Then you realize you don’t have a “copy” feature for an application process. Ooops. Now you’re worried you’ve got to hand build the process in other project areas (and you’re not using an application template). This could be a tedious, error prone process! Fear not! ### TLDR; Here’s is what you can do if you’re impatient and don’t want to read details: - Export the application to JSON - Open the JSON in Notepad++, and cut out just the application process you want to copy. - Modify the JSON - Add it to a “Create Application Process” step in a generic process. - Run the generic process against a target application ### Now for the details: Export The application. To do this, go to the Applications tab. Hover over the application, and when the ellipsis (…) shows, click on it. Then click ‘Export’. This will save a json file to your Downloads folder. Edit the JSON file. Open it up in Notepad++ (or Notepad or whatever decent editor you’ve got). Remove everything but the process you’re wanting the copy. Just do a search for the process name, and look for the opening and closing braces. Next, you’ll need to add the “application” attribute. Provide it the value of ${p:app.name}. This is a process level property that we will supply at run time (and it allows us to run it multiple times for each application we want to copy the process into). Below is an example of what the top the JSON would look like ``` { "name": "Application process name", "application": ${p:app.name}", "description": "Description. This template includes one step, which deploys a component.", "inventoryManagementType": "The inventory management for the process request, such as AUTOMATIC", "offlineAgentHandling": "PRE_EXECUTION_CHECK", "propDefs": [{ "label": "Property label", "name": "Property name", "type": "TEXT" ... ``` Here comes the fun part (especially for those of you who did the TLDR route. If your process has properties that are application properties, you must escape the special characters of the property. Otherwise, when you run the generic process that copies this application process into an application, it will fail because the generic process will try to populate the variables. Here’s an example: ``` ${p:my.application.property} ``` Should be escaped to look like: ``` \$\{\p\:my.application.property\} ``` Don’t forget to escape the trailing brace! Otherwise, it will prematurely close the JSON section. Now, that you have your JSON ready, create a generic process (these are the ones under the “Process” tab). Add the “Create Application Process” step from the palate to your editor. This is the only step you need. ![](https://www.strongback.us/wp-content/uploads/2020/09/image.png)Edit the process and paste in the JSON you created in your text editor. Now, go to the Configuration section of this generic process. Click on the Process Properties, and add one for “app.name”. Give it the label “Application”. Now, click on the Dashboard, and test your generic process. Enter the target application name, and click Submit. ![](https://www.strongback.us/wp-content/uploads/2020/09/image-1.png) If all goes well, it will write that application process into your target application. If not, you may need to go back and tweak the JSON file. The most common issue you’ll find is an errant property that you forgot to escape out, or you forgot to escape the trailing curly brace. #### References While this was done using a generic process allowing you to execute this on an application by application basis, you can use the UCD Rest Client: [https://www.ibm.com/support/knowledgecenter/en/SS4GSP\_7.0.4/com.ibm.udeploy.api.doc/topics/udclient\_createapplicationprocess.html](https://www.ibm.com/support/knowledgecenter/en/SS4GSP_7.0.4/com.ibm.udeploy.api.doc/topics/udclient_createapplicationprocess.html) **Categories:** DevOps --- ### [Get Productive! Enable Filter Pools in IDz to Organize Your Datasets Better](https://www.strongback.us/2020/09/use-filter-pools-in-idz-to-organize-your-filters) **Published:** September 14, 2020 **Author:** Kenny Smith **Content:** If you’ve been using IDz for a while, you’re surely familiar with filters when browsing your MVS, JES, or Unix subsystems. If you’ve gotten to the point that you have to scroll up and down to view all your filters, you’re likely in need of turning on Filter Pools. A z/OS system can have hundreds, if not thousands of datasets. Filters help you access the ones you need easily. However, over time, filters themselves can get unwieldy if not organized. ### What are filter pools? Very simply, filter pools allow you to organize filters into groups. For example, you might have filters for various production datasets, and another filter for test datasets. Or, you may have a group of filters for the system level datasets, and another group for user datasets. ![](https://www.strongback.us/wp-content/uploads/2020/09/filter-pools.png)Filter PoolsTo enable filter pools, click on the view menu, and select Show Filter Pools. ![](https://www.strongback.us/wp-content/uploads/2020/09/show-filter-pools.png)Enabling Filter Pools in IDzYou can share these filters by way of filter pool references. That means that once you define the filter pool, and all its various filters, you can then create a filter pool reference in another z/OS system or LPAR. To add a reference to a filter pool you’ve created in, say SystemA, into say SystemB, you would right click on MVS Files in SystemB and select New -> Filter Pool Reference. ![](https://www.strongback.us/wp-content/uploads/2020/09/filter-pool-reference.png)Filter Pool ReferenceThe Filter Pool reference will look just like the filter pool you created in SystemA, and any changes you make to the Filter Pool will be reflected in both systems. **Categories:** DevOps, Mainframe Devops --- ### [Time to upgrade your IBM Jazz environment to 7.0!](https://www.strongback.us/2020/03/time-to-upgrade-your-ibm-jazz-environment-to-7-0) **Published:** March 20, 2020 **Author:** Kenny Smith **Content:** IBM has released its updated Jazz platforms, and in the process rebranded most of the tools. As of this writing you can now download the updated parts from Passport Advantage, but Jazz.net will be available for download shortly. The products have been rebranded as follows: **Old Name****New Name****Acronym**Rational Continuous EngineeringIBM Engineering Lifecycle ManagementDOORs NG DOORs NextDOORs NextRational Team Concert IBM Engineering Workflow ManagementEWMRational Quality ManagerIBM Engineering Test ManagementETMRational Engineering Lifecycle Manager IBM Engineering Lifecycle Optimization – Engineering InsightsENIRational Publishing Engine IBM Engineering Lifecycle Optimization – PublishingPUBRational Rhapsody IBM Engineering System Design RhapsodyRhapsody Rational Rhapsody Design Manager\**This product is being deprecated and its functionality being folded into Workflow Management* Rational Rhapsody Model Manager IBM Engineering System Design Rhapsody Model ManagerRMMThe brand changes were announced last year, and detailed here: ## What’s new? The following blog articles were released on Jazz.net and provide more detail on specific features. This is a *major* release and as such, we recommend you begin evaluating now so that you can plan implementation for it once the first fix pack is ready (should there need to be any fixes). For large enterprise customers, we recommend deploying after the first fix pack. However, some of these features may be such that migrating now is the best decision, especially for smaller, more nimble companies. [What’s new in IBM Engineering Lifecycle Management V7.0](https://jazz.net/blog/index.php/2020/03/12/whats-new-in-ibm-engineering-lifecycle-management-v7-0/) [What’s New in IBM Engineering Workflow Management v7.0](https://jazz.net/blog/index.php/2020/03/17/whats-new-in-ibm-engineering-workflow-management-v7-0/) [What’s New in IBM Engineering Reporting v7.0](https://jazz.net/blog/index.php/2020/03/19/whats-new-in-ibm-engineering-reporting-v7-0/) [What’s new in Rhapsody Model Manager 7.0 and Rhapsody 9.0](https://jazz.net/blog/index.php/2020/03/18/whats-new-in-rhapsody-model-manager-7-0-and-rhapsody-9-0/) [What’s new in IBM Engineering Requirements Management – DOORS Next 7.0](https://jazz.net/blog/index.php/2020/03/16/whats-new-in-ibm-engineering-requirements-management-doors-next-7-0/) [What’s new in IBM Engineering Test Management v7.0](https://jazz.net/blog/index.php/2020/03/13/whats-new-in-ibm-engineering-test-management-v7-0/) ## What do I need to download? The following image shows what is now available, and the part numbers needed to download. The last three items on this list are for IBM Z/OS or i/OS customers only. You will only need the Jazz Authorization Server if you intend on OAuth based user authentication across multiple servers. ![](https://www.strongback.us/wp-content/uploads/2020/03/ibm-engineering-lifecycle-downloads.png)## How do we upgrade? If you have staff that currently maintain your environment, have them refer to the [knowledge center](https://www.ibm.com/support/knowledgecenter/SSYMRC_7.0.0/com.ibm.jazz.install.doc/topics/interactive_guides.html)‘s, interactive guides. You will need to plan out the migration, including backups, recovery plans, client rollouts, and more. If you prefer to have an experienced professional help you, let us know. We’ve been working with these tools since they were in beta testing at version 1.0 back in 2008. We are a design partner for IBM, and have handled rollouts for many fortune 500 companies. We’ve deployed to every single platform, including z/OS, IBM i, Windows, AIX, and Linux. We can ensure your migration goes smoothly. \[contact-form-7 id=”8″ title=”Basic Contact Form”\] **Categories:** DevOps **Tags:** clm, jazz, RDNG, RQM, RTC, RTCEE --- ### [Managing Websphere Plugin Config Files](https://www.strongback.us/2019/10/managing-websphere-plugin-config-files) **Published:** October 30, 2019 **Author:** Kenny Smith **Content:** In some recent customers we’ve had to install various IBM CLM components on different servers to balance workload for a large user base. When doing this, you need to route traffic through a proxy HTTP server. We’ve touched on [why you need to use an HTTP server](https://www.strongback.us/2017/12/why-you-need-to-front-end-your-clm-servers-with-an-http-server) before, and remain adamant about it.[ IBM also strongly encourages as wel](https://jazz.net/wiki/bin/view/Deployment/CompareProxyServers)l. The following process steps are barely documented in any IBM literature, and you have to dig to find it. Hopefully this will make it easy for you admins out there. Let’s take a sample Jazz architecture: ![](https://www.strongback.us/wp-content/uploads/2019/10/clm-environment-sample.png)In the example above (a typical setup for customers using Rational Team Concert IBM Engineering Workflow Management for enterprise source code management on z/OS), we have a three Jazz servers (in purple): - JTS – The Jazz Team Server - CCM – The Change and Configuration Management app (EWM/RTC). - A reporting server for DCC (Data Collection Component) and RS (Jazz Reporting Services) If you install these apps on three servers without using an HTTP server to front end them, you will have to re-authenticate with each server every time the host name of the URL changes. To make configure the WebSphere plugin, you need to get the plugin-cfg.xml file that is generated when the Jazz server is first started. This is typically written to /server/logs/state/plugin-cfg.xml. However, when you have three of them, you have to merge them together so the HTTP server knows to route CCM traffic to the CCM server, and JTS traffic to the JTS server and so forth. This can be done using the pluginCfgMerge tool that comes with WebSphere Application Server (WAS). Note that WAS is bundled with the Jazz server tools in Passport Advantage, although we strongly recommend you only run it on WebSphere Liberty, which comes out of the box and is much easier to configure. You might have to install WAS temporarily just to use this tool if needed. The tool is found in the WebSphere/AppServer/bin/pluginCfgMerge.bat(sh), and takes the commands: ``` pluginCfgMerge.sh /home/kenny/plugin-ccm.xml /home/kenny/plugin-jts.xml /home/kenny/plugin-dcc.xml /home/kenny/plugin-cfg.xml ``` The last argument is always the file name of the merged plugin configuration, which will be written to the directory you specified (this will be a new file). All the other arguments are the explicit file names of the plugins you need to merge. Once merged, you’ll still need to make a few changes. First of all, you need to change the location of the plugin directory which may not match the location of the IBM HTTP Server. ``` ``` Find and replace the root across the board. Then, you must do the same for the location of the SSL/TLS keystores. ``` ``` Since the plugins should be on the same server as the IBM HTTP server, you can change this point to the SSL keystore specified in the httpd.conf file. That way you don’t have to maintain two keystores on the same server. Yes, the HTTP Server and Plugin can use the same keystore. It must be a CMS based keystore. ``` **Categories:** DevOps --- ### [Understanding how GitHub fits in a mainframe DevOps toolchain.](https://www.strongback.us/2019/09/understanding-how-github-fits-in-a-mainframe-devops-toolchain) **Published:** September 9, 2019 **Author:** Kenny Smith **Content:** If you work on a mainframe, you’ve almost certainly heard of CA Endeavor, Serena Changeman, IBM SCLM, or Panvalet Librarian. All of which are legacy source code management systems that have been used for decades. Those SCM’s simply cannot compete with the features of modern SCM’s as we [detailed previously](https://www.strongback.us/2018/09/7-reasons-why-your-mainframe-needs-a-modern-source-code-management-system). Perhaps your distributed development teams use Git in some form or fashion. There are a few options here: - Git server (just the plain old open source running on Linux). - GitLab - BitBucket - GitHub We’ve personally been working with GitHub on a number of demo’s, and the following diagram demonstrates how GitHub would fit your toolchain. This is a minimal toolchain that can can be expanded as desired, adding tools such as ElasticSearch for distributed logging, SonarQube for automated code quality, IBM Test Data Manager for generation of masked test data from production data, and the list continues from there. ![](https://www.strongback.us/wp-content/uploads/2019/09/github-toolchain.png)Here, the **GitHub** serves as a central hub (pardon the pun) of the toolchain as it acts like the glue between nearly all the components. What is not shown is much of the collaboration features of the tool that can control code reviews, pull request approvals, developer discussion threads as well as the ability to branch and merge from the master thus allowing developers to do parallel development. **IBM Dependency Based Build** is required to handle the compilation and generation of deployable artifacts (load modules, listings, debug files, etc). It has the intelligence to only compile what is needed based on the source members that have been edited. There is no need to recompile an entire branch (which could potentially have hundreds of thousands of source members). In the image above, DBB will pull source from the **GitHub** development branch for compilation. **Jenkins** in this case handles the pipeline and controls when DBB is run, and also calls **IBM Urbancode Deploy** to handle the deployment steps which can include such activities as the following: - Copying out of dataset members to target z/OS LPARS - Processing DB2 BINDS on packages and plans - Performing CICS NEWCOPY steps on CICS load modules - Performing ACB gens on IMS PSB files - Integrating with a change control system such as ServiceNow to automate change request tickets. - Completing a merge request in **GitHub** to move development code into a production branch upon successful deployment. - The list could go on for pages and pages here …. Also in this image, is IBM Developer for System z, an integrated development environment (IDE) for editing, analyzing, refactoring, and debugging code on z/OS such as COBOL, PL/I, Assembler, and C/C++. This is an Eclipse based tool that includes a Git client plugin, allowing the developer to pull source from the GitHub development stream, create pull requests, and merge pull requests from other developers. These products have parts that must be installed on either a Linux/Windows environment, or on the z/OS LPAR. ![](https://www.strongback.us/wp-content/uploads/2019/09/zos-lpar-install-parts-github.png)IDz has both a desktop client as well as z/OS host FMIDs. That is the only part of the toolchain that is installed on the desktop. All others are installed on z/OS as started tasks, or on a Linux server. Hopefully this article has explained what a basic toolchain would look like for a company implementing DevOps principles. If you have questions feel free [to reach out to us and ask](https://www.strongback.us/contact). **Categories:** DevOps --- ### [Setting up IBM Jazz based tools for Token Licensing](https://www.strongback.us/2019/08/setting-up-ibm-jazz-based-tools-for-token-licensing) **Published:** August 7, 2019 **Author:** Kenny Smith **Content:** I’ve recently worked with a customer who could not find good documentation on how to apply token licenses to his Rational Team Concert server. Here are some concise instructions on how to handle this as the Knowledge center is rather sparse on this topic. This topic applies to several products including: - Rational Team Concert (soon to be IBM Engineering Workflow Management) - DOORs Next Generation (soon to be IBM Engineering Requirements Management) - Quality Manager (soon to be IBM Engineering Test Management) - Design Manager - Rhapsody Model Manager First, you need to get a JazzTokens.zip file from your [Rational License Key Center](https://licensing.subscribenet.com/control/ibmr/login). This zip file contains the token pointer files that allow RTC to checkout tokens from the license key server. In the License Key Center, you will see two options - Download License Keys - **Download Jazz keys.** To get JazzTokens.zip file. click ‘**Download Jazz keys**‘. In the zip file are the jar files for the token based licenses. Extract the zip file on your computer. ![Jazz Tokens zip content](https://www.strongback.us/wp-content/uploads/2019/08/jazztokens.png) Then open your Jazz Team Server admin page (https://**/jts/admin**). Click on the License Key Management link in the navigation bar on the left. ![](https://www.strongback.us/wp-content/uploads/2019/08/license-key-managment-link.png)On the next page, you will import each jar file from the zip that you extracted. Click the **Add** button in the upper right hand corner above the list of license files. In the following dialog click the **Choose File** button and browse to a jar file. ![Upload License Files](https://www.strongback.us/wp-content/uploads/2019/08/upload-license-files.png)Click **Next** to accept the license agreement. Select the **Accept** option, and then click **Finish**. Next, you must configure the floating license server. Scroll to the bottom of the page. The very last option is the **IBM Rational Common License Service** configuration. Put your cursor over the actions cell to display the pencil icon. Click it to edit this field. ![](https://www.strongback.us/wp-content/uploads/2019/08/license-service.png)Next, enter your License server host name and port number in the format of *@* . We highly recommend you use the fully qualified host name (i.e. rlks.mycompany.com), rather than just the hostname (rlks). We’ve seen issues way too many times with only using a host name. We recommend accepting the default timeout unless you have been instructed otherwise by IBM support. Click **Finish**. ![](https://www.strongback.us/wp-content/uploads/2019/08/rational-common-license-service-config.png)Next, you must assign the token based licenses to your users. The easy way to do this is from the **Users** link in the top navigation. Click on **Client Access License Management**. ![](https://www.strongback.us/wp-content/uploads/2019/08/client-access-license-management.png)You’ll be taken to the corresponding page. From here click the drop down for the client access key and select one of the token licenses you just imported. ![Select tokens from drop down for assignment](https://www.strongback.us/wp-content/uploads/2019/08/select-token-license.png)Then, click **Assign Client Access Licenses**. This will bring up a user selection dialog. Simply enter the user name, or use a partial name and a wild card if you do not know the exact spelling of the user name. You can also use just an asterisk ‘\*’ to show ALL users. Use this with caution if you have a very large environment. ![Select users dialog](https://www.strongback.us/wp-content/uploads/2019/08/select-users.png)Select the user, and click **Add**. If this is the last user to assign to this license, click **Add and Close**, then you can configure the next token license as needed. **Categories:** DevOps, Mainframe Devops --- ### [Installing IBM HTTP Server from an Archive](https://www.strongback.us/2019/05/new-installing-ibm-http-server-from-an-archive) **Published:** May 23, 2019 **Author:** Kenny Smith **Content:** IBM now offers a new and much easier way to install IBM HTTP Server. You can now download IHS as an archive from IBM’s fix central. This is available for 9.0.0.6 and above, and is a super fast way to install/setup an HTTP server that properly front ends a WebSphere environment. Installing is as simple as: 1. Download the archive to your server (see the links below) 2. Extract the file via unzip to /opt/IBM/IHS (default directory on linux) 3. Run the script /opt/IBM/IHS/postinstall.sh to setup the installation’s httpd.conf file. 4. Update any SSL/TLS certs as needed. 5. Copy the WebSphere plugin config file into the /opt/IBM/IHS/plugin/config directory 6. Enable IHS in systemctl If you are using WebSphere Liberty (such as with Team Concert, DOORs NG, Quality Manager, or any of the Jazz based products), it will generate a plugin-cfg.xml file on startup. This is located in /op/IBM/JazzTeamServer/server/logs/state/plugin-cfg.xml. Edit this file to match your environment and then drop it into the HTTP server’s /opt/IBM/IHS/plugin/config directory. [We’ve previously discussed why you need to put an HTTP server in front of your CLM/ELM applications](https://www.strongback.us/2017/12/why-you-need-to-front-end-your-clm-servers-with-an-http-server). For the systemctl file, create a new file in /etc/systemd/system/ihs.service, and copy the following script into that file: ``` Description=IBM HTTP Server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/run/httpd.pid ExecStart=/opt/IBM/IHS/bin/apachectl start -d /opt/IBM/IHS ExecStop=/opt/IBM/IHS/bin/apachectl graceful-stop ExecReload=/opt/IBM/IHS/bin/apachectl graceful PrivateTmp=true LimitNOFILE=infinity [Install] WantedBy=multi-user.target ``` Once created, enable HTTP Server to auto start/stop with the operating system using the command: `systemctl enable ihs` #### Links Download the archive: Installing a no-charge, unsupported IBM HTTP Server Installing and configuring IBM HTTP Server from an archive: [https://www.ibm.com/support/knowledgecenter/en/SSEQTJ\_9.0.0/com.ibm.websphere.ihs.doc/ihs/tihs\_install\_config\_archive.html](https://www.ibm.com/support/knowledgecenter/en/SSEQTJ_9.0.0/com.ibm.websphere.ihs.doc/ihs/tihs_install_config_archive.html) **Categories:** DevOps, Mainframe Devops **Tags:** HTTP, Liberty, WebSphere --- ### [Cheap ways to secure your server](https://www.strongback.us/2019/04/cheap-ways-to-secure-your-server) **Published:** April 11, 2019 **Author:** Kenny Smith **Content:** Before you read too far, this article is for the average small to medium sized business. Most large organizations have dedicated security staff that likely already knows these tactics, but that’s not to say they may not learn something here or there. Everyone seems to have a silver bullet for securing your infrastructure. The truth is, there is no such silver bullet. Much like the fabled tonics of the early 20th century, they mostly amount to snake oil. Ultimately, it requires attention and diligence. Most hacking attempts go unnoticed. ## 1. Use passphrases, not passwords. Your password scheme sucks. Period. Watch these videos. The first one should scare the hell out of you. “Stop thinking in terms of passwords, and start thinking of passphrases” ## 2. Review your firewall rules regularly You should regularly review your firewall rules and understand what is allowed. You must take a pessimistic approach to traffic. As your business changes, so does your IT needs. Make sure you only have open what is needed. Applications come and go. Sometimes a development team needs an application open for a short time. Make it a policy to review your firewall rules monthly and have solid documentation on what traffic is allowed and where. ## 3. Front end your application servers with HTTP servers Application servers, namely Java application servers should never be exposed on the Internet. We work extensively with IBM Websphere App Server, and Liberty Server and it alarms us how often organizations just allow connections to the bare server. An HTTP server acts as a proxy, and thus a layer of protection against various intrusions. This protects the various open ports on the WebSphere App Server that could be potentially compromised, as well as improving overall application performance. Check out our article on using IBM HTTP server for the CLM products: ## 4. Keep written records of who has access to what Unless you are the owner of the business, no one should have access to all the keys. Despite the cliche about eggs and baskets, this also puts dangerous risk on the employees as well should something adverse happen. You should keep records of who is responsible for what server, container, application, OS, or VM. Ensure that the load is well distributed and that no one person can sabotage your entire infrastructure. Use automated auditing tools to keep track of operating system ID’s and LDAP credentials. Use LDAP groups rather than explicit person ID’s will help avoid back door issues. ## 5. Drop traffic from locations you know you don’t need or want. This is a favorite of ours. As we do business almost exclusively in the United States, we drop all traffic coming in from most foreign locations. For some servers, we take an even more pessimistic approach and only allow traffic from a small handful of IP addresses. You can use the following site to generate scripts and configuration files that will drop traffic from certain IP addresses. As most IP address blocks originate from predefined localities, it makes it easy to generate scripts that block such locations in bulk. We use IP2Location for this: Linux IPTables is a good place to start with this. If you want to know what countries you should be blocking, check out these articles: > [These Are The 10 Countries That Are Responsible For The Most Hacks](https://blog.digitalendpoint.com/these-are-the-10-countries-that-hack-the-most/) Once you have the list of countries and location to block, go to **[IP2Location ](https://www.ip2location.com/free/visitor-blocker)**and generate your list, and apply it to your servers. **Categories:** DevOps --- ### [Launching a Debug Session for an Existing Module on z/OS](https://www.strongback.us/2019/03/launching-a-debug-session-for-an-existing-module-on-z-os) **Published:** March 7, 2019 **Author:** Kenny Smith **Content:** Using IBM Developer for z Systems you can debug any language on the mainframe. For those who have taken Jon Sayle’s classes before, you know you can use IDz to generate JCL that will compile, link, and debug your code. The JCL is generated from a property group. However, what do you do if you want to debug a program that has already been built by someone else, or some SCM tool like Changeman or Endeavor? Well, you can use the Debug Launch configurations to handle this. This is a nifty way of kicking a debugging session with or without access to the code. ***However, you will need to be sure you can access the SYSDEBUG, Listing, or SYSADATA file that was generated when the program was built***. SYSDEBUG is needed for COBOL or PL/I. A SYSADATA is needed for any high level assembler program. As long as you know these, the next step is to generate the debug launch configuration, and there are two options for how this is configured. If you are not generating SYSDEBUG or SYSADATA files and promoting them with your load modules, you will not be able to effectively debug these modules. We also recommend that you change your promotion and deployment strategy as well! First, let’s create a debug configuration. Within IDz (and the z/OS project’s perspective), click the **Debug** icon in the top toolbar, and select **Debug Configurations…** ![](https://www.strongback.us/wp-content/uploads/2019/03/access-debug-configs.png)Access Debug Configurations from the IDz toolbar.Next, we’ll assume we are creating a debug configuration for a batch application (you’ll see debug configuration options for IMS, CICS, DB2 launches also). Right click on **MVS Batch Application** and select **New**. ![](https://www.strongback.us/wp-content/uploads/2019/03/new-batch-debug-config.png)## JCL Generation Option ![](https://www.strongback.us/wp-content/uploads/2019/03/image.png)Debug Configuration using JCL Generation PreferencesThe debugger ultimately needs the following information to get a session started: - The load module to execute - The source to lookup (or debug information) - How to connect the debug manager back to your workstation - Any program or runtime parameters that the load module needs - You can store this in either a property group, or in the workbench preferences. This option above uses the workbench preferences. Click on the **Preferences** link to bring those up. ![](https://www.strongback.us/wp-content/uploads/2019/03/image-1.png)JCL Generation PreferencesHere, you will specify the debug option of TEST (NOTEST makes no sense if you’re not testing!). You can list a z/OS Debugger commands data set that has a text list of commands that you send to the z/OS debugger to setup the debugging environment for the module. The z/OS Debugger dataset is the location of the debugger (if needed). Use this if you need to ensure the z/OS debugger dataset is added to the STEPLIB of your JCL. You will need a default job card here. Enter a job card that is appropriate for your environment. For Source lookup, you will need to enter the source member, and either the SYSDEBUG dataset (for COBOL and PL/I), or SYSADATA and EQALANGX files for C/C++ and Assembler (you cannot debug assembler modules without the ADATA file). Click **OK** to go back to the debug configuration panel. Now you need to have a base JCL to start from, which the JCL generation will modify. This could be an existing JCL that you use to run the batch file, with some caveats. Now click on the Debug Options tab. ![](https://www.strongback.us/wp-content/uploads/2019/03/image-2.png)Debug Options Tab Here on the debug options tab, it should inherit the settings from your other preferences, but can override them for this launch configuration (such as enabling tracing, specifying LE options, or pointing to the z/OS debugger installed data set. Most importantly here is the option to override the connection information. The Debug Manager on z/OS is called by this launch configuration’s JCL (indirectly via a CEEOPTS DD statement). It must know how to communicate the debug session back to your IDz workstation. Most of the time, you may not need to configure it. However, there are times where you may have a complex firewall or VLAN setup that requires you to enter a specific user name (which the Debug Manager can map to your IP address), or your explicit IP address and port number where the debug listener is running. The **Debug Tool Compatibility** mode checkbox here would make the debugger act like Debug Tool, which may be appropriate if you are debugging some old COBOL 3 code, or you have other issues with your environment that interfere with using standard mode. ![](https://www.strongback.us/wp-content/uploads/2019/03/image-3.png)Additional JCL tab On the Additional JCL tab, you will override the source lookup and Job card from your preferences. As you can see, while the preferences apply to the whole workbench, the launch configuration allows you to override as needed. This adheres to the standard of configuration by exception. The other tabs can be glossed over. At this point, you can click Apply. You’re now ready to debug your module. ## Option 2: Using a Property Group This is our recommended approach, as you can have MANY property groups, and these can be shared amongst developers using he Import/Export features of the Property Group Manager. ![](https://www.strongback.us/wp-content/uploads/2019/03/image-4.png)On the JCL tab, change the Property Group drop down to the property group you created for your module. This could be the same property group you used if you did the compilation. Here you point to the load module you are going to debug (with the other option, you have to rely on the existing JCL to point to the correct load module). For the Property Group, you need to configure the JCL tab and Run tabs. On the Run Tab, configure the Debug section to suit your needs as shown below: ![](https://www.strongback.us/wp-content/uploads/2019/03/image-6.png)IDz Property Group – Run tab setup for debuggingWHen you use the Property Group option, the Debug Options, Additional JCL tabs become disabled as all the information is pulled from the property group. Now all you have to do is click Apply and Debug and start the debug session. Once you’ve ended the session, all you need to start it again, is to click the Debug icon, and the debug configuration name you created (shown below). ![](https://www.strongback.us/wp-content/uploads/2019/03/image-5-1024x723.png)So, as a summary, you don’t have to create a whole new load module to debug. As long as you have the matching source, and SYSDEBUG dataset (or SYSADATA, you can debug it. Even if it was optimize (OPT level 1 or higher for COBOL), you can still debug it, with some limitations. However, you need the SYSDEBUG or SYSADATA/EQALANGX files as well as the source. Make these part of your environments normal promotion and deployment routines. **Categories:** DevOps, Mainframe Devops --- ### [How to poison a blockchain, and how to prevent it.](https://www.strongback.us/2019/02/how-to-poison-a-blockchain-and-how-to-prevent-it) **Published:** February 7, 2019 **Author:** Kenny Smith **Content:** This week, the Gizmodo reported that child porn images were uploaded to the Bitcoin Satoshi Vision (BSV) core ledger through the payment processing app Money Button. Blockchain is the underlying technology behind Bitcoin, but can be used for far more than just currency trading. The Hyperledger project is an open source project sponsored by several big name companies including IBM, American Express, and Accenture. Being a project for a shared ledger, there have been multiple tools and frameworks that are being spun up around it. If you are a hacker, and have let’s say an opponent or target that used a blockchain technology, you need to know what they are using it for. What information is allowed on the chain? Once you know that, the next objective is to know how to get your payload on the chain. In the case of the story from Gizmodo, the payload was child porn. Possession of such imagery is considered a felony in all U.S. States and much of Europe. Since a blockchain is distributed, it means that anyone using that particular blockchain will then have such imagery pulled into their ledger and thus potentially implicate them in a crime. This can wreak havoc on a ledger. Those who are familiar with blockchain, know that once it’s in the ledger, its immutable. This effectively destroys the ledger, or the very least, puts the entire audience at serious legal (civil and criminal) risk. Another example of where this can be used/abused is in the case of government state secrets. Let’s take the case of the [Pentagon papers](https://en.wikipedia.org/wiki/Pentagon_Papers). If such an example of these papers were discovered today, and put on a blockchain ledger, those secrets could potentially become very public, immutable, nearly impossible to scrub, and extremely expensive to get rid of. Can you say [Wikileaks ](https://wikileaks.org/)blockchain ledger? I could name several other scenarios, but for my own sake, I’ll leave it at these two above. Such scenarios could be malicious or accidental. So, if you are responsible for a blockchain ledger, how do you prevent such a situation from happening? This means you need a filter in front of the entry point to the ledger. This needs to be something that allows you to quarantine content before it can get into the ledger permanently. Allowing unknown entities to post images and videos directly to the ledger should never be allowed. Only authorized users using MFA should be allowed. Even with that, your frameworks should further require certain antivirus or OS patches to be applied before it will allow access to the interface. Think very carefully before allowing imagery, videos, or binary attachments to the ledger. In the case where you must allow this (perhaps this part of the business of the ledger), such content should be run through filters first. Any binary attachment must be run through an antivirus filter (or multiple if possible). In the case of the BSV ledger above, you may have to run the video or imagery either through human checks or through an AI based tool that has been trained to identify and reject such content. Amazon Web Services has its Kinesis Video Streaming service, which has [parser libraries](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/what-is-kinesis-video.html) that can read and classify content based on meta data or MKV elements in a video stream. Similarly, [Amazon Sagemaker](https://console.aws.amazon.com/sagemaker/) is a tool than build, train, and deploy machine learning models, which would allow you to train a model for your filter. Interestingly, Amazon has a preview of its [managed blockchain service](https://pages.awscloud.com/AmazonManagedBlockchain-preview.html#), but its not a production service as of yet. For text based issues, where only text content is allowed on the chain, you can filter through services such as [Grammarly](https://www.grammarly.com/plagiarism-checker?utm_source=bing&matchtype=e&utm_campaign=search1plag&msclkid=54d24ccecf3f18b0c1be1092ad041bdf&utm_medium=cpc&utm_term=plagiarism+checker), or [Quetext](https://www.quetext.com/). This will help avoid plagiarism suits, or even duplicitous content. I can think of little solution to avoiding state secrets being uploaded to a ledger, except for looking for classified markings. However, if those classified markings have been stripped, you would be left to parsing the text and looking for things such as government email address domains (i.e. @something.mil or @somthing.gov). At the very least, if you are developing a blockchain based solution, you MUST think of security early in the design process. Don’t try to retrofit it. The consequences could be devastating. **Categories:** DevOps --- ### [Setting up auto start and stop for IBM CLM tools on Windows](https://www.strongback.us/2019/01/setting-up-auto-start-and-stop-for-ibm-clm-tools-on-windows) **Published:** January 14, 2019 **Author:** Kenny Smith **Content:** We’ve blogged before about starting the CLM components on Linux/Unix. Now let’s talk about staring it (and stopping it) on Windows platforms. The vast majority of the servers we deploy to are Linux. It’s just plain easy to install and configure everything via command line (certainly after many years of experience). However, Windows is (are?) still the preferred platform for many customers. The IBM documentation is nearly silent on auto start or shutdown upon system reboot. ## Server Startup Startup is pretty simple, and you may already know this. First open the Windows Task Scheduler. ![](https://www.strongback.us/wp-content/uploads/2019/01/windows-task-scheduler.png)Windows Task SchedulerCreate a basic task. Name this **CLM Startup** (or *RTC* Startup, or *DNG* Startup, etc.). Click **Next**. On the next screen for the trigger, select When Computer Starts. This means this will execute immediately after Windows boots up. Click **Next**. ![](https://www.strongback.us/wp-content/uploads/2019/01/clm-scheduled-task-computer-starts.png)Task TriggerOn the next screen, specify the action **Start a program**. Click **Next**. ![](https://www.strongback.us/wp-content/uploads/2019/01/windows-scheduled-task-start-program.png)This next screen is where you point to the server.startup.bat file. ![](https://www.strongback.us/wp-content/uploads/2019/01/clm-startup-boot.png)Finally, here is the summary screen. Once you click finish, your CLM environment should be ready to start on each reboot. No more manual starts! ![](https://www.strongback.us/wp-content/uploads/2019/01/clm-task-finish.png)CLM Start Task SummarySo, that’s fine and dandy, and shutdown should be just the same. Right? Wrong. Notice from the Trigger screen above that there is no event for shutdown? Uh Oh. You want to shut down the server gracefully. If you just allow the system to kill the task when the operating system shuts down, you can run into issues such as corruption of the database, or database indexes. ## Server Shutdown First, click the Create Task button in the task scheduler. ![](https://www.strongback.us/wp-content/uploads/2019/01/windows-scheduler-create-task.png)Create Task option in Task SchedulerOn the next screen, which will be different than the wizard above, name the new task **CLM Shutdown** (or RTC shutdown, DNG shutdown , etc.). Next, click on the Triggers tab, and the click to add a new trigger. ![](https://www.strongback.us/wp-content/uploads/2019/01/clm-shutdown-event-trigger.png)This is the key part. As the Shutdown event is not in the wizard, we will use the event ID in a custom trigger. These options can be used for calling any batch file, by the way! Specify the following options. - **Type** : On Event (Basic) - **Log** : System - **Source** : User32 - **EventID** : 1074 Click **OK**. Now, click on the **Actions** tab, and we will add a new action. For your program script, browse to the **server.shutdown.bat** file in your *JazzTeamServer\\server* directory. Click **OK** on this dialog, and **OK** on the next. Your server is now ready to start on boot and stop on shutdown without manual intervention. **Categories:** DevOps --- ### [Using Filter Pools in IBM Developer for z Systems (IDz)](https://www.strongback.us/2018/12/using-filter-pools-in-ibm-developer-for-z-systems-idz) **Published:** December 12, 2018 **Author:** Kenny Smith **Content:** ## What are Filters? Filters are used to display groups or subsets of data sets in the MVS subsystem. Filters can be setup to show all or a portion of datasets within a high level qualifier. They can also be configured to have multiple filter strings such that they can display datasets or portions of datasets from additional high level qualifiers. Once you create a filter (using the first string), right click on the filter, and click **Properties**. From the properties dialog as shown below, simply click on **New Filter String** in the Filter Strings section, and add your additional string as desired. Then click on **Apply**. ![](https://www.strongback.us/wp-content/uploads/2018/12/FilterStrings.png)Adding Additional Filter Strings. In this case two HLQ’s allow us to see all the datasets where two versions of IBM Urbancode is installed. ## Filter Proliferation Over time, you might start to see the filters in the remote systems explorer view begin to get quite long, and seemingly disorganized (they are not alphabetized). If you have 10 or more filters, especially if you have more than 20, you should consider enabling filter pools. The more you use IDz, the more filters appear to get created. As a reminder, you can Retrieve a dataset for those one-offs where you don’t need to get to the dataset very often. However, most users will end up with dozens of filters. While you can change the filter order by dragging and dropping them into a sensible order, **filter pools** make this less of a burden by putting them into a larger tree hierarchy. ## What are Filter Pools? Filter pools are devices that allow you to group and organize filters. They can be shared across z/OS LPAR connections and help cut down on visual clutter in the Remote Systems Explorer view. To turn on filter pools, you select Enable FIlter Pools from the view menu (the tiny triangle in the upper right hand corner of the view). ![](https://www.strongback.us/wp-content/uploads/2018/12/EnableFilterPoolsInIDz.png)Enable filter pools from the view menu. Once enabled, you should see at least two filter pools. One that has the name of your laptop or desktop (Dreadnought in my case), and one for each zos instance (zos.strongback.us in my case). ![](https://www.strongback.us/wp-content/uploads/2018/12/FilterPoolEnabled.png)Basic filter pools enabled. Next, to create a filter pool, right click on **MVS Files** and select **New – Filter Pool.** ![](https://www.strongback.us/wp-content/uploads/2018/12/CreateFilterPool.png) In the next dialog give a human friendly name that makes it easy to organize your filters into this pool: ![](https://www.strongback.us/wp-content/uploads/2018/12/NamedFilterPool.png)Provide a human friendly name for the filter pool. Once created, now you can drag and drop filters into the filter pool. Here is an example where I have a filter pool for several recently installed products, one for my system config datasets (proclibs, parmlibs, and TCPIP configs): ![](https://www.strongback.us/wp-content/uploads/2018/12/OrganizedByFilterPools.png)Filters have been dragged into different filter pools. So, as you can see, filter pools can make your RSE much easier to navigate and visualize. If you are not using them, perhaps these tips will get you started. \[cta id=”2593″ vid=”0″\] **Categories:** DevOps, Mainframe Devops --- ### [Saving code to an HTML file in IBM Developer for z or IBM i](https://www.strongback.us/2018/10/saving-code-to-an-html-file-in-ibm-developer-for-z-or-ibm-i) **Published:** October 22, 2018 **Author:** Kenny Smith **Content:** During some courseware authoring I discovered a poorly known (but sufficiently documented) feature in Rational Developer for IBM i (and also available in IBM Developer for System z). Both tools use the LPEX editor as the default editor for source (although IDz has dedicated editors for COBOL, JCL, PL/I, and C/C++). The LPEX editor has many commands, but one I found interesting was the command [**saveAsHtml**](https://www.ibm.com/support/knowledgecenter/SSQ2R2_14.1.0/com.ibm.lpex.doc.user/ref/rlcsahtm.htm). LPEX commands are entered in the command text area typically found at the bottom of the editor: ![](https://www.strongback.us/wp-content/uploads/2018/10/idz-command-area.png)LPEX Command AreaThe saveAsHtml command will save the file as an HTML file, but with colorized parsing of the text. Just type in **saveAsHtml** with the single parameter of **prompt**, which will prompt you for a directory to save the file. Be sure to save the file with a .html extension. Then you can open the file in any browser. The image below shows what the new web page looks like (with correct color parsing, and indentation! Now, if you are a web designer, don’t get too excited as it uses HTML4 based syntax (with long-deprecated font tags). But its certainly good enough to show to a team. ![](https://www.strongback.us/wp-content/uploads/2018/10/idz-saveashtml-result.png) Note that this will vary depending upon the palette you are using. Here is the black palette: ![](https://www.strongback.us/wp-content/uploads/2018/10/idz-saveashtml-result-black-palette.png)LPEX editor saveAsHtml with Black Palette **Categories:** DevOps, Mainframe Devops --- ### [7 Reasons why your Mainframe needs a modern source code management system](https://www.strongback.us/2018/09/7-reasons-why-your-mainframe-needs-a-modern-source-code-management-system) **Published:** September 26, 2018 **Author:** Kenny Smith **Content:** ### Break down the silos Mainframe development does not and should not be that much different from distributed development. There is a strong desire to modernize the development and operations of mainframe systems (zDevOps), to increase business agility, improve customer satisfaction, accelerate business value delivery, and to improve developer job satisfaction. One of the areas to start is by evaluating your current source code management system (SCM) for your mainframe and see if it fits with modern DevOps techniques. Here are 7 reasons why you may want to consider changing from a legacy system to a modern SCM like Git or Team Concert: #### 1: Cross Language And Platform Support Who has a mainframe that does not integrate with any other system? By that I mean no other distributed program code (Java, Python, .NET) calls any API, or touches a database on your mainframe? If so, you can skip the rest of this article. If you do, then you know that you cannot just update a DB2 database schema without notifying other teams about such changes. Mainframe systems are often considered *Systems of Record*. The applications that interface to them (web pages, web service calls, etc.) are often called *Systems of Engagement*. They need cross-team coordination. Also, the modern z/OS can run multiple languages beyond just COBOL, Assembler, and PL/I. Java is increasingly becoming a popular workload for z/OS. So is python (when run under Unix System Services). As such, a typical Java developer should really only need one SCM to deal with rather than having to learn obscure ISPF panels that have very little coordination with the use cases or workflow of a tool such as Git. Why should such a developer have to use two tools for one language (i.e. Java) just because the target is z/OS? #### 2: Branching Support For Parrallel Development Modern DevOps practices require teams to work in parrallel on the same code base to support features that need to be delivered on different dates. Code that gets deployed in an earlier release must be merged into the branch/stream for the later release upon deployment. Modern SCM’s typically use a change set model to deliver only the changed lines and columns rather than replace the entire member. They typically use a common comparison editor to visualize the difference between the source before and after the change is received. Branching also allows a team to spin off and work independently of the main team for experimental development (skunkworks), while being able to merge back into the main stream/trunk. #### 3: Common Processes Across Teams Its common for developers to migrate between teams. Your mainframe should not be a silo. While a systems of record may have a different release cadence, developers should be able to adapt quickly when moving from a mainframe team to a distributed team and vice versa. Common processes include requirements management methods, code reviews, project management, and test methods. The mainframe should not appear to be an esoteric silo unto itself. Such ivory towers prohibit new developers from moving in, and as such keep the cost of operations high, with a higher risk of team dissatisfaction. #### 4: Open Integrations With Other Products Integrating legacy SCM’s with tools such as SonarQube for code analysis, or JFrog Artifactory for binary versioning is a cost-prohibitive and difficult undertaking. It requires writing custom exits, which are difficult to test in themselves. Git or tools like IBM Rational Team Concert readily integrate with these and other third party tools through the use of common API’s. Legacy SCM’s make it extraordinarily difficult to integrate with a CICD toolchain, and as such, keeps your mainframe code in its own esoteric silo. It does NOT need to be that way. #### 5: Standard Capabilities That Any New Developer Can Understand A common concern of most mainframe shops is the pending departure of experienced developers. These developers have many years of expertise in legacy SCM tools that are often taken for granted. Any developer who has come out of college or University in the past 10 years knows how to use either Subversion, CVS, or Git. Any self taught programmer knows these as well. Thus its much easier for them to adapt to a Git based SCM that has been customized for z/OS that it is to learn a 3270 interface to a legacy SCM. If most of your COBOL development workforce is within a window of 15 years of retirement, you should be highly concerned about who will maintain your systems when they leave. #### 6: Continuous Testing A common DevOps practice is continuous testing. By that we mean using automation as much as possible to automate testing of various components and various testing types (unit, integration, UAT, performance, and security). While this can and should tie in with CICD below, it can be done upon deployment to a particular environment. This requires that the test can identify and flag issues in the specific source, and that we can compare the source between deployments. That is not easy with a legacy SCM. #### 7: Continuous Integration / Continuous Deployment If your COBOL applications are called by Web Services, or they need to have a coordinated deployment with dependent distributed applications, it becomes quite the challenge to do that in two unrelated, disparate systems. You should be able to deploy your business level applications as a whole, and on demand (and frequently). When we speak of Business Level Applications, we mean applications from the perspective of the end user. For example, if you are a financial services company, and you are making changes to an existing product which affects what the end user sees, then all parts of that “system” (the COBOL load modules, the CICS load modules, JCL, DB2 schemas, the Android application, the iPhone application, the Java web services), all should be rolled out together to ensure a consisent end user experience. Deployments should be able to be done on demand, and should be automated. If you have to run through a spreadsheet of steps to deploy your code, it is NOT continuous in any sense. A modern SCM supports being loaded and used by multiple clients, and being deployed to multiple environments concurrently. Also, ALL the code required to do this should be in the SCM repository. This includes JCL, REXX, ANT scripts, batch files, or shell scripts. Legacy SCMs do not support the latter languages, thus making it difficult to support CI/CD. **Categories:** DevOps, Mainframe Devops --- ### [Automating RTC Source Promotions from Urbancode Deploy](https://www.strongback.us/2018/08/automating-rtc-source-promotions-from-urbancode-deploy) **Published:** August 3, 2018 **Author:** Kenny Smith **Content:** In a recent project for a z/OS customer, we had to create some custom scripts to kick off a Rational Team Concert Promotion definition. This is a special type of build definition found in the RTC Enterprise Extensions, and is used for promoting change sets from one stream to another, by their attachments to work items. Typically, a developer would develop new code or fix a defect, and attach those change sets to a work item in RTC. With the Enterprise Extensions, you can “Promote a work item”, which means that the changes linked to that work item get promoted from one stream to another. While we managed to do this with some custom groovy scripts, we decided this would be an apt time to turn it into a true plugin for Urbancode Deploy. To use it, install the plugin using the normal method for installing automation plugins. Once installed, you should now see a new step in your process editor drawer under Utilities > Rational Team Concert. ![](https://www.strongback.us/wp-content/uploads/2018/08/rtc-promotion-utility-drawer.png) Drag and drop the process onto your process editor. In the example below, we have a switch step that checks to see if the given environment requires a promotion (it checks for the value of the PromoteCode variable). If the variable is “true”, it kicks off the ‘Execute Source Promotion Definitition’. ![](https://www.strongback.us/wp-content/uploads/2018/08/Promotion-process-deploy-datasets-urbancode.png) Next, edit the properties on the step. Each field has a mouse hover helper to help you understand what to fill in. So, for example, if we had a Team Concert server, and the URL to that server was **https://rtc.demo.com/ccm**, and had a promotion definition of **uat.prod.promotion** that we wanted to kick off, we would fill out the properties as below. ![](https://www.strongback.us/wp-content/uploads/2018/08/urbancode-plugin-promote-changesets.png) Note that this can issue a “Promote Preview”, which will tell if you if you have any errors before actually kicking off the promotion. We recommend you use this as part of your process first. For example, this could come at the very beginning of the process for the promote preview, and then issue the real preview once all the datasets have been deployed and other process steps completed (i.e. DB2 binds, CICS new copies, etc). The promote preview will check for the following: - Ensures that the work items are in the correct/required states prior to promotion - Checks to see if there are any gaps in the change sets (which means you may have to promote additional work items to complete the promotion) - Looks to see if the change sets are in the target stream Any warning or validation errors are written into the process step log so, if the step fails, you can find the error message as you would with any other plugin. \[callaction button\_text=”Get Pricing” button\_url=”https://www.strongback.us/contact” background\_color=”#333333″ text\_color=”#ffffff” button\_background\_color=”#32a1f0″ button\_text\_color=”#ffffff” rounded=”true”\]If you have RTC and IBM Urbancode, and would be interested in purchasing the plugin, contact our sales group. \[/callaction\] **Categories:** DevOps, Mainframe Devops --- ### [Updating the SSL/TSL Security Certificates for WebSphere Liberty Under IBM CLM Tools](https://www.strongback.us/2018/07/updating-the-ssl-tsl-security-certificates-for-websphere-liberty-under-ibm-clm-tools) **Published:** July 2, 2018 **Author:** Kenny Smith **Content:** ## Why you should change the default certificates? If you are a user of IBM Rational Team Concert, DOORs Next Generation, Quality Manager, Design Manger, or Engineering Lifecycle Manager, you likely have seen the issue with the browser stating “Your connection is not private”, and red error showing in the browser URL as ‘Not Secure’. ![](https://www.strongback.us/wp-content/uploads/2018/07/rtc-ssl-localhost.png)The RTC default SSL cert shows as localhostIf you click on the warning, you can view the certificate details, and see that the SSL certificate is issued to ‘localhost’ by ‘localhost’. This is what is called a self signed SSL certificate. A browser checks the validity of an SSL certificate based on three criteria: 1. Is the certificate issued by someone I trust (i.e. Google Trust, Thawte, Verisign, GoDaddy, etc) 2. Is the certificate issued to the same server I just accessed? (i.e. does the Issued To field of the certificate match the host name of the server I just accessed?) 3. Is the certificate still valid? (i.e. Is today’s date between the start and ending valid date range?) If any of the three above are not true, then the certificate is not trusted. When you first install RTC, RQM or any of the other CLM applications, it creates a default self-signed certificate based on the host name of “localhost”, which of course is invalid. Another reason to update your certificates, is that the default certificate store has a default password. Anyone with access to your file system can access your certificates (and by that they can either sabotage your environment, or can inject new certificates). There are three common strategies for updating the certs: 1. **Create a new self-signed certificate that matches your hostname.** This strategy should be used only for small teams that are unconcerned with using self-signed certs. If you do this, you should ensure the validity of the certificate is for a reasonably long period of time. If the validity check fails, you may not be able to access the server at all. 2. **Create a new certificate request and sign it with your company’s internal Certificate Authority.** This is common in larger institutions (especially financial services companies), however, you can set up you own internal CA with some knowledge and skills even if you are a small or medium sized business. 3. **Create a new certificate request and sign it with a known public Certificate Authority**. This method is the more common method, but requires purchasing a certificate. This certifcate can range in prices between US$80 to over $1000 depending upon the validity date range, and whether you have a wildcard cert. You also should plan on front ending the server with an HTTP server (which has its own SSL certificate store), which we elaborated on in ## Where are they located? For WebSphere Liberty, the SSL certs are stored under /server/liberty/servers/clm/resources/security/ibm-team-ssl.keystore\*. *\*Assume is /opt/IBM/JazzTeamServer on Linux/AIX, or C:\\Program Files\\IBM\\JazzTeamServer by default on Windows* This acts as both the Trust keystore (where signer certificates are located), as well as the primary keystore (where the personal certificates are stored). The default password for this keystore is **ibm-team** (this is well documented in the IBM Knowledge Center, and to reiterate, another reason to update the keystore!). ## How do you change them? Now comes the fun part. You will use the key tools found in the JRE of the installed product. This is located under /server/jre/bin If you are on Windows, you can use the graphical tool ikeyman.bat. Otherwise, you will use the command line version ikeycmd (like any good Linux/Unix admin should do). ### Windows Lauch ikeyman.bat. Navigate to the keystore (listed above) and enter the default password (**ibm-team**), if you are going to use the default keystore. You can also create a new keystore by clicking **Key Database File > New**. If you use the default keystore, be sure to change the default password by selecting **Key Database File > Change Password.** ![](https://www.strongback.us/wp-content/uploads/2018/07/ikeyman-default-certificate.png) You will notice the default certificate in the personal certificates list. If you want to use a self-signed cert, click the “New Self Signed” button, and follow the prompts. You can stop reading now, as this train will focus on the other folks who really want to make it secure. Click the drop down and select Personal Certificate Requests. ![](https://www.strongback.us/wp-content/uploads/2018/07/ikeyman-personal-certificate-request.png)Adding a personal certificate request.Click on the “New” button. In the dialog, provide the given information with the following advice: - The common name and key label generally should match. - The common name should be the fully qualified host name. - If you need to include a Subject Alternative Name, enter the alternative DNS name into the DNS name field, along with the IP address of the server. Click Ok. This will save the certificate request to the file shown in the bottom field in the image above. You will now send that certificate to your CA to have it stamped. Whether the CA is an internal CA, or a public CA, the result is the same. You should get a zip file with the stamped certificate as well as any intermediate certs. ### Import the intermediate and root certificates. In ikeyman, change the drop down to the Signer Certificate. Then click **Add**. Browse to where you downloaded the certificate file. ![](https://www.strongback.us/wp-content/uploads/2018/07/ikeyman-import-signer-certs.png)Add and browse the file with the certs to import.Click **Ok**. You should now be prompted to select which of the intermediary certs you wish to import. Generally, you should import them all. Note: you must select the them as shown below before click on on Ok. ![](https://www.strongback.us/wp-content/uploads/2018/07/ikeyman-import-select-certs.png)Select which certs in the file to import.You will be prompted to change the default label on the next dialog. Don’t. Just click **Ok**. You should now see your intermediary certs. In this case, we’re using GoDaddy certs. You can also click Populate, which will add the default root certificates for Thawte, Entrust, and Verisign. This is convenient if your server ever will have to handshake to a server stamped with those certificates. Add any additional certificates you wish the server to trust here. ![](https://www.strongback.us/wp-content/uploads/2018/07/ikeyman-godaddy-certs.png)ikeyman with GoDaddy intermediary SSL certificates.Now, change to the Personal Certificates and select **Receive**. Browse to the directory where you saved the signed cert. Click **Ok**. Do not change the label if prompted. Finally, delete the default certificate. This ensures that the server will no present the ‘localhost’ certificate. You should now have a server ready to communicate over SSL. ### Linux/AIX For you lucky users, you get to use the command line interface. Instead of ikeyman, you’ll use ikeycmd (yes, you will see ikeyman.sh, and if you can access the server graphically, then use the above instructions, otherwise, just follow along). ``` ./ikeycmd -keydb -create -db /server/liberty/servers/clm/resources/security/mykeystore.kdb -pw -type jks ``` If you prefer to just change the password, use this command ``` ./ikeycmd -keydb -changepw -db /server/liberty/servers/clm/resources/security/ibm-team-ssl.keystore -pw ibm-team -new_pw ``` Next, create a new certificate request. We recommend 2048 as a minimum size hash. The distinguished name should be in the format of **CN=*fully.qualified.host.name*, O=*organization*, OU=*organization\_unit*, L=*location*, ST=*state/province*, C=*country*.** Note that only the CN, Organization, and Country are required. ``` ./ikeycmd -certreq -create -db /server/liberty/servers/clm/resources/security/ibm-team-ssl.keystore -pw -size 2048 -dn -file -label ``` This request, you will take to your CA to have it stamped. Once you get it back, its time to import it and the intermediary and root certificates. ./ikeycmd -cert -receive -file -db **/server/liberty/servers/clm/resources/security/ibm-team-ssl.keystore -pw -format -default\_cert Finally, store the CA intermediary and root certs. ``` ./ikeycmd -cert -add -db /server/liberty/servers/clm/resources/security/ibm-team-ssl.keystore  -pw -label -format   -trust enable -file ``` ### Update the Keystore Information in Liberty You must change the server’s keystore location in the Liberty server.xml if you created a new one. Open the server.xml in /server/liberty/servers/clm/server.xml. Locate the following line: ``` ``` Change the location attribute to the correct file name (this file should be stored in the liberty resources/security folder). Next, you can either enter the actual password you created for the new keystore (not recommended), or you can encode it with the securityUtility. Navigate to /server/liberty/wlp/bin, and enter the following command ``` ./securityUtility.bat encode ``` Copy the output and enter that into the password attribute for the server.xml’s keystore element. Note for example if I used ibm-team as the password, I would get the following output: ``` .\securityUtility.bat encode ibm-team {xor}Nj0ycis6PjI= ``` ### Final thoughts: This article does not cover exchanging certificates with an HTTP Server (such as Apache or IBM HTTP Server). If you have more than 2 CLM applications, or have more than 20 users, you need an HTTP server. The IBM HTTP server uses the Global Security Kit and its command is gscapicmd, but the commands are very similar to ikeycmd. \[callaction button\_text=”Get Expert Advice” button\_url=”” background\_color=”#333333″ text\_color=”#ffffff” button\_background\_color=”#32a1f0″ button\_text\_color=”#ffffff” rounded=”true”\]If you are stuck, or need some expert advice, we can help you. Most of us have worked with these products since their inception (and one as a technical team lead at IBM that developed RTC).\[/callaction\] #### SSL Certificate References: Managing certificates with IBM GSKit [https://ibm.co/2kT9v2A ](https://ibm.co/2kT9v2A) Using the WebSphere Liberty securityUtility: [https://www.ibm.com/support/knowledgecenter/en/SSAW57\_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp\_command\_securityutil.html](https://www.ibm.com/support/knowledgecenter/en/SSAW57_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_command_securityutil.html) > [Creating Your Own SSL Certificate Authority (and Dumping Self Signed Certs)](https://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate-authority/) **Categories:** DevOps --- ### [How to Fix the Mysterious Global Configuration Management Error in jts.log or ccm.log](https://www.strongback.us/2018/06/how-to-fix-the-mysterious-global-configuration-management-error-in-jts-log-or-ccm-log) **Published:** June 12, 2018 **Author:** Kenny Smith **Content:** I recently ran across an issue, one that was low priority, but nagging like a gnat on a hot summer day. I kept seeing these entries in the log files: ``` ERROR ervice.internal.GlobalConfigurationCacheUpdateTask - [operationId=976] com.ibm.team.jfs.app.http.HttpServiceUnavailableException: Unable to discover the GC service, which might indicate that Global Configuration Management is not set up in JTS. Please have your admin verify that your GC server is running, and that it is registered with JTS. [ccm: AsynchronousTaskRunner-1 @@ 14:53] ERROR am.gc.sdk.service.internal.NotificationTimeoutTask - [operationId=144] The task to query for timed-out pending notifications failed: Unable to discover the GC service, which might indicate that Global Configuration Management is not set up in JTS. Please have your admin verify that your GC server is running, and that it is registered with JTS. ``` If you are running Rational Team Concert, Quality Manager, Design Manager, or DOORs Next Generation, you may see the following errors filling up your log. If you are not running Global Configuration Management (hint: if you are the admin of the environment and don’t know if you are running GC, then you aren’t: it requires additional setup to get it working and has a particular purpose), then these are harmless errors that can be ignored. However to make it easier to search and view the ccm.log, qm.log, dm.log, or jts.log files without sifting through all these pointless errors, you can disable a setting in the admin panel for each application you are running. To do that, go to //admin#action=com.ibm.team.repository.admin.configureAdvanced . This is the advanced properties. Of course substitute hostname and port with your own environment. Substitute the for each app you are running (i.e. ccm, jts, qm, rm, dm). You need to do this for *each* app. Search for the property “Global configuration caching”, and set these to false. Be sure to save the configuration. This should stop it from logging into your log files. ![](https://www.strongback.us/wp-content/uploads/2018/06/global-configuration-caching-false.png) ``` Reference: https://jazz.net/forum/questions/219800/crjaz1992e-the-comibmteamgcsdkserviceglobalconfigurationsdkglobalconfigurationcacheupdatetask-task-could-not-be-completed-and-is-now-unscheduled-in-diagnostics ``` **Categories:** DevOps --- ### [Securing SSL communication between Rational Team Concert and Urbancode Deploy](https://www.strongback.us/2018/06/securing-ssl-communication-between-rational-team-concert-and-urbancode-deploy) **Published:** June 4, 2018 **Author:** Kenny Smith **Content:** ## The Business Scenario We recently had a challenge where a customer needed full end-to-end SSL/TLS encryption for communcation between IBM Team Concert, and Urbancode Deploy. They are a z/OS Mainframe customer implementing these tools for continuous Integration / continuous deployment operations. Team Concert in this case, handles dependency build (compilation) of z/OS source code (COBOL, Assembler, etc). Once compiled, it packages the compiled outputs (load modules, CICS modules, DBRM, listings, and some non-compiled outputs such as REXX and JCL), and transfers this to Urbancode Deploy for deployment and configuration activities (deployment of datasets, DB2 BINDS, CICS new copies). The customer has RTC and Urbancode running on z/Linux instances on their z/OS, and communicating to the z/OS LPAR’s via hypersockets. While one may think this alone is secure enough, the are a situations where an employee may be able to view protected source code in transit. It is also an audit requirement that this be encrypted all the way through. ## The Challenge In this instance, the customer has their own certifacte authority (CA), to which all desktops and servers have the CA key in their browsers, and other trust stores. As part of our effort to automate as much as we can, we developed a plugin for Urbancode to kick off RTC promotions between streams when deploying to a production environment (this ensures that source and compiled output changes are kept in sync). When we set up communication between the Urbancode Agent, we could not get a successful SSL/TLS handshake to the RTC server. ![](https://www.strongback.us/wp-content/uploads/2018/06/RTC-UCD-SSL-Communications.png)RTC and UCD communciations (z/OS)## The Solution Something that is not documented well in the IBM Knowledge centers for RTC or UCD, is that when setting up SSL communication, the IBM JDK uses a separate trust store than its keystore. This means that the certificates you put into the configured keystore are ignored, and the JDK only looks at its default trust store. Even when attempting to override the keystores, it would not recognize the included CA certificate. The solution is found in the Knowledge Center for the IBM JDK, and this applies to the JDK for *ALL* platforms (Linux, Windows, and yes, even z/OS). The IBM JDK looks for a javax.net.ssl.trustStore system property. If this is not set, it looks for the default keystore located at /lib/security/cacerts. Thus unless you are directly overriding the system property, you must add your company CA root and intermediary certs to the /lib/security/cacerts file. ## Recommendations ### 1) Create your own Trust stores All the default SSL/TLS keystores and trust stores use a default password. Thus even if you get the handshake working correctly, you still have a gaping hole in your security matrix as anyone with the default password can manipuate your keystores. Managing access to the keystores and truststores is certainly a must, but we recommend using a separate, newly created keystore for each instance. This table below describes the default location for the keystore and trust store, as well as the default password for each (see, I told you it was not secure!) First, create a new Truststore and put it on each VM or server where you will need access to it. This can be done using ikeyman, a graphical interface found in the IBM JDK bin directory. Put a password on it that is *not the default password!* Add your CA trust certs (root and all intermediary) as well as any other trust certs you wish to add. Note that for optimal security, add *only your company CA trust certs* to ensure that only the servers you trust to communicate with it can do so. You do not have to import all known CA certs (i.e. Verisign, Thawte, Go-Daddy, Google, etc)! ### 2) Create certs for your servers and agents Create the CA certified key for each product (you can use the same key for all keystores on the same z/OS lpar). If you are using hypersockets, note that you may have two IP addresses, and two DNS names for the same LPAR or external system. You will need to add the additional DNS names into this as well. ProductKeystore Default LocationDefault Truststore Default PasswordRational Team Concert Server/opt/IBM/JazzTeamServer/server/liberty/servers/clm/resources/security/ibm-team-ssl.keystoreibm-teamUrbancode Server/opt/IBM/ibm-ucd/server/appdata/conf/encryption.keystoreJDK Trust storechangeitRTC Build Agent/usr/local/bin/buildForgeKey.pem/usr/local/bin/buildForgeCA.pemUrbancode Agent (z/os)/conf/encryption.keystoreJDK Trust storechangeit### 3) Add the certs to your trust stores Copy the certificate to the trust stores listed above (or create your own). If you choose to use the default JDK truststore (please don’t), it is found in the IBM JDK at /usr/lpp/java/J8.0\_64/lib/security/cacerts on z/OS. This trust store password is “changeit”. At the very least, you should not keep this password: you should …. *change it*! ### 4) Enable SSL communications The Rational Build Agent (BLZBFA) runs unsecured by default. You will need to configure the SSL certificate in the bfagent.conf file, and restart the agent. ``` # Note: If using SSL, create or obtain PEM keystores from engine and set the proper key password. #ssl_key_location /usr/local/bin/buildForgeKey.pem **Categories:** DevOps --- ### [11 Team Concert Behaviors You Should Use for Enterprise Extension (z/OS) Projects](https://www.strongback.us/2018/05/11-team-concert-behaviors-you-should-use-for-enterprise-extension-z-os-projects) **Published:** May 2, 2018 **Author:** Kenny Smith **Content:** We have worked with several customers in the past few years, and have come to a general consensus on the minimum operation behaviors that should be enabled in your Team Concert project. These that we have listed are in additional to any you may already have (rather than a replacement of them). These also do not include the default behaviors, for which we use the SAFe Program template ![](https://www.strongback.us/wp-content/uploads/2018/05/operational-behavior.png) most of the time for our Enterprise Extension customers and its default operational behaviors. Operational behaviors go beyond mere authorization, but rather they check for context about the environment and what you are interacting with. Behaviors can be either preconditions, or follow-up actions. For all the ones that we recommend listed below, these are found under Team Configuration -> Operational Behavior. ### Build Request Build (server) – Require a Subset in the Build – Fail the z/OS dependency build if it does not contain a buildable subset. We recommend using build subsets as much as possible, especially in environments that are just getting started with a Continuous Integration/Continuous Deployment cycle. This avoids issues where a developer triggers a long running build that blocks build activities required by other users, as well as unintented recompiles of certain modules which are not yet ready for promotion or testing. ### Source Control Save Change Set LInks and Comments (Server) – Restrict Associating to Closed Work Items: Most organizations promote and package at a work item level. As such they track status and approvals on the work items. If a work item progresses to its final status (closed, fixed, etc), and a developer associates a change set to that work item, there is a high chance that the work item will be missed when it comes time to package/promote/deploy those changes. Save Stream – Prevent Adding User Owned Component : You only have to have one failed build caused by a user-owned new component to realize how much havoc this can wreak. A user owned component should NEVER be delived to a stream. Ever. Even in a distributed environment! Modify Component – Ensure Component Names are Unique: There are situations where a component may have similar content, but for different purposes. Keeping unique names helps to avoid issues later when a developer delivers code to a wrong stream, or you start using custom Java code, which that opens a whole can of worms with duplicate names. Deliver (Server) – Require Work Items and Comments: This is usually enabled by default, but in this case we recommend that you enable the precondition for both associating a work item *and* having a comment. The reason for this is that when multiple change sets get associated to one work item, it become difficult to understand what changes are in each change set. We’ve seen issues where a developer associated a change set to the wrong work item, and it was only latter, and after much analysis that we discovered the errant association. Also, we recommend you use the SERVER version of this instead of or in addition to the client version as you can catch situations that the client precondition doesn’t enforce (e.g. SCM command line, etc.). Deliver (Server) – Restrict Delivery to Streams: This option should always be enabled for your production stream. Assuming you have a production stream that represents the production build output running in your production environment, you should only be using the Promotion definitions to move change sets into the production stream. Never let a random developer deliver code directly to production, otherwise, you will cause issues with out of date build maps, out of sync code, and more. Deliver (Client) Check Language Definition Association on Files: If a z/OS file is not associated to a language definition, it will NOT be built. Period. Thus do not let a developer deliver a new source member if they have not associated it to a language definition (which instructs the build system as to exactly how to compile the member). This is one of the new behaviors and is a welcome change! Check-in (server) – Restrict Change Set Size: – Restricts the number of changes that can be contained within a single change set. If you only enable one behavior, enable this one. This means that you can associate changes for one source member to only one change set. While you can have many changes in that one member, its limited to ONLY that member. If you have other source members that you are changing, and they need to be linked to the same work item, just put them in separate change sets linked to the work item. Here is the problem if you don’t enable this: If you put multiple changes for multiple source members in a single change set, and then want to promote only the changes for one source member and not others, you will have no way to do it. Its all or nothing, and its irreversible. Yes. You cannot back that out. They MUST all go together, and if you dont’ promote them, then any subsequent member edits will not be able to go either. We’ve seen major issues with this at a client recently. This was as painful as untangling a ball of yarn that had been played with by a litter of kittens. Actually more painful, and less cute. ### Promotions Promotion – Require Work Item States: Typically you promote from a development stream to a pilot or production stream. You only want to promote to those streams once the work for those members is complete, or at least verifiably tested, as indicated by the work item state. This helps to ensure the developers and testers do their due dilligence, and takes that stress off the release engineers and systems programmers who are responsible for kicking off the promotions and deployments. Promotion – Modify Work Item State: You need to know which work items have been promoted, and don’t want to have to manually change the status of potentially dozens of work items. Let RTC do this for you so the work item state changes to a completed or deployed status. ### Work Items Save Work Item (server) – All Children Resolved: If you are using the Scrum or SAFe template, then you are likely doing User Story based planning. Thus if you want to ensure a story is complete, you need to make sure all the child tasks are complete first. This checks them for you and save you time. While there are dozens more possible options, we limited this post to just those which have cropped up the most over the past 3 years. You own environment may dictate additional needs, and maybe even differences than what we have above. Use this as a starting point, along with the template defaults. Of course if you need assistance implementing these or have a need for a custom precondition or follow-up action, we can help there and have built those for other customers as well. **Categories:** DevOps, Mainframe Devops **Tags:** mainframe, teamconcert --- ### [Adding Compiler Feedback Information to Team Concert z/OS Dependency Builds](https://www.strongback.us/2018/04/adding-compiler-feedback-information-to-team-concert-z-os-dependency-builds) **Published:** April 26, 2018 **Author:** Kenny Smith **Content:** In Rational Team Concert’s build functionality, there is capability to show the build compilation report. This is available by a simple checkbox for Java type builds, but in z/OS dependency builds, it requires some additional configuration to get it working property. A compilaton report can show errors and warnings that occured durring the compile. It is vastly more productive to vizualize them in a consolidated report rather than sifting through translator output logs or, worse, JCL output. Here is what a typical compilation report for z/OS dependency builds looks like. ![](https://www.strongback.us/wp-content/uploads/2018/04/zos-dependency-build-compilation-report.png) Note, the **Compilation** tab. If you double click on any of the warning lines in the Compile Output window, it will navigate you directly to the line in the source member. The compilation report is dependent upon IBM Developer for z being installed on the same LPAR as the RTC Build Agent (BLZBFA started task). You will also require these items in your system definitions: ### SFELLOAD Data Set Definition This data set definiton should point to the SFELLOAD dataset where ELAXMGUX load module is located. This module is called during compilation as a program Exit. Shown below is an example. Note the data set name has the high level qualifer of FELE10, which is the default location for IBM zD&T version 12. Consult your systems programmer to confirm the location in your own environment. ![](https://www.strongback.us/wp-content/uploads/2018/04/SFELLOAD-dataset-definition.png) ### Add the Exit param On your Translator Add the EXIT(ADEXIT(ELAXMGUX)) parameter to each of your compilations. Below is an example for a COBOL compile option. ![](https://www.strongback.us/wp-content/uploads/2018/04/ELAXMGUX-compile-parameter.png) ### Add the SFELLOAD to the Tasklib of the Translator Scroll down to the Data Set Properties section, and under DD concatenations, add your SFELLOAD to the TASKLIB DD (not SYSLIB!). ![](https://www.strongback.us/wp-content/uploads/2018/04/translator-sfelload-tasklib.png) ### Add SYSXMLSD and SYSADATA allocations In the DD allocation section, if allocations for SYSXMLSD and SYSADATA are not already included in the list, add them. SYSXMLSD and SYSADATA must point to data set definitions that represent temporary files on your system. ![](https://www.strongback.us/wp-content/uploads/2018/04/SYSADATA-allocation.png)SYSADATA Allocation![](https://www.strongback.us/wp-content/uploads/2018/04/SYSXMLSD-allocation.png)SYSXMLSD Allocation### WSEDSF1-4 with the same characteristics as SYSXMLSD In addition to the SYSXMLSD dsdef, you also need 4 more sysdefs named WSEDSF1-4 with the same characteristics as SYSXMLSD. This is in the Knowledge Center documentation for PL1 but not COBOL (although they are required for both). Once you have these settings, you should now be able to run your dependency build and view compiler output on the build result. **Categories:** DevOps, Mainframe Devops **Tags:** ibmz, teamconcert --- ### [Systemd Unit file for Rational CLM and Team Concert](https://www.strongback.us/2018/03/systemd-unit-file-for-rational-clm-and-team-concert) **Published:** March 8, 2018 **Author:** Kenny Smith **Content:** Linux is a very popular platform to run the IBM CLM tools on (i.e. Quality Manger, Team Concert, DOORs NG, etc). However, out of the box, there is not a built in autostart feature for the platform. Naturally, you want this to autostart in a production environment. Here is a handy systemd unit file. First, create the unit file under /etc/systemd/service/clm.service ``` [Unit] Description = IBM CLM Server Documentation = Vist https://www.strongback.us for more helpful IBM CLM tips [Service] ExecStart = /opt/IBM/JazzTeamServer/server/server.startup ExecStop = /opt/IBM/JazzTeamServer/server/server.shutdown Type=forking LimitNOFILE=65536 TimeoutStartSec=3min [Install] WantedBy = multi-user.target ``` Next, enable the service: ``` systemctl enable clm ``` Now you can start the service with ``` systemctl start clm ``` Shut it down with sytemctl stop clm Don’t forget you should also have one for your HTTP Server and DB2 server. If you need more info on systemd unit files, see the Red Hat Documentation here: [https://access.redhat.com/documentation/en-us/red\_hat\_enterprise\_linux/7/html/system\_administrators\_guide/sect-managing\_services\_with\_systemd-unit\_files#sect-Managing\_Services\_with\_systemd-Unit\_File\_Structure](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files#sect-Managing_Services_with_systemd-Unit_File_Structure) **Categories:** DevOps **Tags:** Linux, teamconcert --- ### [FAQs for Runnnng Rational Team Concert on DB2 for z/OS Database](https://www.strongback.us/2018/02/rtc-on-db2z) **Published:** February 6, 2018 **Author:** Kenny Smith **Content:** Strongback works with many large mainframe customers, in the financial services, government, insurance, and manufacturing sectors. We’ve been involved in quite a few migrations from various SCM systems to Rational Team Concert. Most of these customers choose to run Team Concert with a DB2 backend running on z/OS (DB2z). As such, we often run into the same questions and concerns. Some of which are already explicitly addressed in the [IBM Knowledge center](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_server_installation_db2zos.html). Some is addressed in the Jazz.net deployment wiki. This post is mean to address as much of those questions and concerns as we can. We’ll update this post in the future as needed. If you choose to use DB2 on z/OS for your CLM environment, we first encourage you to go through all the following items in the IBM Knowledge Center: [![](https://www.strongback.us/wp-content/uploads/2018/02/rtc-infocenter-db2z.png)](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_server_installation_db2zos.html) [https://www.ibm.com/support/knowledgecenter/SSYMRC\_6.0.5/com.ibm.jazz.install.doc/topics/t\_rtcz\_server\_installation\_db2zos.html](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_server_installation_db2zos.html) ### If we are are a mainframe shop running Team Concert, should we use the DB2 on our mainframe or should we set up DB2 on a distributed server? You do not *have* to use DB2 on z/OS. It does not matter if your’re using RTC for your COBOL source code. Sometimes it can actually be advantagous to use a distributed server, because it keeps your mainframe DBA’s out of the process. Another reason why you wouldn’t want your DB2 on z/OS is CPU load (even though it’s using the zIIP processor). Most shops run their mainframe at 100% CPU capacity and running development workloads such as what RTC/CLM require is adding to that load, and subsequently may not have enough resources to run at optimal desired performance for the user community. However, if you already have solid SLA’s and disaster recovery mechanisms in place for DB2/z along with enough available CPU resources, and experienced DBA’s, then DB2 on z is a reasonable choice. As a background, RTC uses a database to store source code, work items, reports, build results, and more. It is an extremely complex database, and not one that any DBA should be tinkering with. In fact, you will *never* access its database directly. *Ever*. Nor *should* you. Even when we build extensions and customizations for an environment we only go through the RTC web services (REST) API, or its native Java API. These are not databases that need monitoring like your database for your in house applications. These are considered product databases. Thus, it is more of a matter of service level expectation, and manageabilty (backup and recovery, DR) rather than it is about DBA maintenance. ### Why do I have to use the script processing that comes with RTC instead of the process that we use for all other table allocations? Because there are *hundreds* of tables in RTC and the database is hyper-normalized. Doing so manually, and correctly would take weeks, and be fraught with errors. RTC creates these not through DDL scripts, but through Java which makes it very difficult to extract into DDL. These databases are managed entirely by RTC. Do not use any other method other than the repotools commands to create the tables. You have been warned. If you are running [Team Concert on z/OS Liberty instance, use these step](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_create_db_tables.html)s. If your server is running on[ Linux or Windows, use these steps](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_db_tables_remote.html). If you resist and insist on having your DBA’s manually create the databases, you are on track for a failed implementation. ### Why do I have to create a specific id for access to RTC databases? The databases will be accessed by the Team Concert server exclusively. No other user should have access to these databases directly, nor should this user have access to any other databases in your system. While this is not a technical limitation (you can use an existing user), but we HIGHLY discourage it for security and auditing purposes. Follow the steps in this link exactly: https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_setting_up_db2.html ### Why do I have to use DBADM for the database user? Having DBADM access allows the RTC server setup to proceed without failure, and this includes creating tables, views, inserting and deleting rows, managing tablespaces, running stored procedures and more. These are created progammatically through RTC’s setup scripts. The DBADM user must be able to create and drop tables, select, insert, delete, and update those tables, run statistics on the tables and also to be able to create a deadlock monitor for Jazz and have use of the user temporary table space. You must make sure you run the DB2 GRANT commands as documented also. The DB2 ID used by RTC should have DBADM priviledges, and for security, this ID should only be used for these RTC databases, with no 3270 login authority. If you do not grant DB2ADM authority, your DBA’s will have a exceedingly “fun” time manually creating tables, views, triggers, etc. Follow the steps in this link exactly: https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_setting_up_db2.html ### What size should I make the tables? It depends. There is no hard rule of thumb about this, because the database sizes can grow differently depending upon your usage and audience. Please read the *Impact of Data Repository Size* section in the following Jazz Deployment Wiki link [https://jazz.net/wiki/bin/view/Deployment/CLMSizingStrategy60#Impact\_of\_data\_repository\_size](https://jazz.net/wiki/bin/view/Deployment/CLMSizingStrategy60#Impact_of_data_repository_size) If you need help sizing the solution and coming up with a reasonable estimation (and you are not already working with us), please [contact us](https://www.strongback.us/contact). ### Why cant I easily move the database from a Test DB2 instance to PROD? Actually, you can. As of recent versions, IBM has provided JCL’s to accelerate the ability to unload and load databases. This includes specific instructions to load data back to a new or different database, which is convenient for setting up a test/staging environment that mirrors your production environment. [https://www.ibm.com/support/knowledgecenter/SSYMRC\_6.0.5/com.ibm.jazz.install.doc/topics/c\_unload\_db2z.html](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/c_unload_db2z.html) There is another method, which may or may not be easier and faster, depending upon the size of your databases. You can use the repotools commands to export the data and then import it. This is done on the Team Concert server itself using the command repotools-ccm.sh -export (and similarly repotools-jts.sh for the JTS database, and similar commands for each respective database). Keep in mind, that if you are setting up a staging environment from your production CLM databases, you will have to do a server rename on the Test/Staging server before using it. You cannot just unload/load and start the server. It will not work and is likely to corrupt your production system as the TEST environment has yet to be configured. Again, if you need help setting up a TEST/Staging RTC environment, please [contact us](https://www.strongback.us/contact). ### What portion of databases for Collaborative Lifecycle Management will we be installing ( JTS, CCM, RTC, DCC, QM, RM, DW)? I’m confused about the ‘DCC (data warehouse)’ . DCC Is the data collection component. It is used to run Extract Transform and Load (ETL) tasks. It stores data in its database (DCC) including report configurations , and transforms data to store into the data warehouse (DW). This provides the ability to do historical reporting and feeds into RTC’s built in dashboards (burn downs, burn ups, team velocity reporting, etc). See the following link to learn more about the DCC. We recommend running it, and have often found that when customers did not set it up at the beginning, would complain about the lack of reports available, only to end up setting up the DCC to get those very reports. Think ahead! Set it up early. [Learn more about the data collection component](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.rational.dcc.doc/topics/c_ovr_process_etl_rrdi.html). The other databases are described below: - **CCM** = Change and Configuration Management. This is the Team Concert database that contains your source code, work items, build definitions and results, etc. - **JTS** = Jazz Team Server. This is the core database that links all other CLM applications via Lifecycle Projects. It also stores personal dashboard information. You will have at least one of these for each CLM environment. - **DCC** = Data Collection Component. - **DW** = Data Warehouse. If you are only using Team Concert, the remaining databases may not be needed. They are described below: - **RM** = Requirements Management. This the database that backs DOORs Next Generation, the requirements management tool of CLM. - **QM** = Quality Management. This is the database that backs Rational Quality Manager, the product that handles test plans, test suites, test cases, and test execution results. - **LQE** = [Lifecycle Query Engine](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.team.jp.lqe2.doc/topics/c_lqe_arch.html). This is a database system used to track lifecycle data across multiple CLM tools. If you are only using RTC, you may not need this database. If you have RTC and any of DOORs, RQM, or design Manager, [see this link](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.team.jp.lqe2.doc/topics/c_lqe_arch.html). - **LDX =** [Link Index Provider](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.vvc.doc/topics/c_cm_linking_admin.html). Builds and maintains an index of links between artifacts in different project areas. Used when installing multiple CLM applications (RTC, DNG, RQM, etc). - **RELM** = Rational Engineering Lifecycle Manager. Rarely used in z/OS environments. Used for engineering based projects. - **GC** = [Global Configuration Management](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.rational.gcapp.doc/topics/c_gcm_node_product.html). This is most often used in a full CLM stack (RTC, DNG, RQM). ### So based on the link below I see that there is an actual Data warehouse database and than there looks to be Job that are run to load the database is this correct there is only 1 database needed and then a process that load the database? There is no “job” to load the datawarehouse per se. Rather it is part of the RTC setup (https:///jts/setup) that actually creates the tables for each application in the datawarehouse. Thus you should have 4 total databases assuming you are only using Team Concert with the data warehouse (CCM, JTS, DCC, and DW). [https://www.ibm.com/support/knowledgecenter/SSYMRC\_6.0.5/com.ibm.rational.dcc.doc/topics/c\_ovr\_process\_etl\_rrdi.html](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.rational.dcc.doc/topics/c_ovr_process_etl_rrdi.html) ### Does a special storage group need to be defined if we have SMS managed storage groups? Yes, it does. ### How is the sizing specified if the DDL is in a ‘black box’ and executed by the command provided? Also, who is going to work on determining the sizing of these databases? We have been given the following link and it starts with knowing the number of users expected. Sizing is not governed or limited by the application setup (aka internal “DDL”). See the link above, and particularly, the section on “Miscellaneous assumptions and caveats”. Our group can help with this. ### We would like to know if there are special system settings/zparms required or suggested for this product? Yes. TBSBPLOB See the link below. [https://www.ibm.com/support/knowledgecenter/en/SSYMRC\_6.0.5/com.ibm.jazz.install.doc/topics/t\_rtcz\_customizing\_jts\_properties.html](https://www.ibm.com/support/knowledgecenter/en/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_customizing_jts_properties.html) There are specific links in the knowledge center for setting up DB2 for z/OS: [https://www.ibm.com/support/knowledgecenter/en/SSYMRC\_6.0.5/com.ibm.jazz.install.doc/topics/t\_rtcz\_server\_installation\_db2zos.html](https://www.ibm.com/support/knowledgecenter/en/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_server_installation_db2zos.html) ### How often are new tables / views created in the RTC product? Tables and views are updated frequently, and updates to the schemas nearly always come with RTC updates and new versions (i.e. 6.0.4 to 6.0.5). ### On installs for other companies, do they typically install the databases in an existing sub-system or create new ones? Yes to both. Its really a matter of managability. Some use existing subsystems that have well defined SLA’s. Others create new subsystems to isolate RTC and provide specific SLA’s. While this is a customer preference, I personally prefer the latter, so as not to compete with production workloads, or be influenced by events like performance testing. It helps to isolate WLM to guarantee a minimum level of performance to RTC databases so as to avoid having developers sit and wait for their code to check in, or work items to update. Idle developers are expensive, and often vociferous about crappy performance. ### DB2 Resources DB2 for z/OS Pre requisites: [https://www.ibm.com/support/knowledgecenter/SSYMRC\_6.0.5/com.ibm.jazz.install.doc/topics/t\_rtcz\_setting\_up\_db2.html](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.5/com.ibm.jazz.install.doc/topics/t_rtcz_setting_up_db2.html) Team Concert (and Jazz based products) Planning and Design Wiki: ## Need help implementing Rational Team Concert for z/OS? If your organization is struggling with getting going, let us help. This is our bread and butter type of project. [inbound_forms id=”1853″ name=”Software Support”] **Categories:** DevOps --- ### [Powershell script to create folders based on week ending date](https://www.strongback.us/2018/01/powershell-script-to-create-folders-based-on-week-ending-date) **Published:** January 29, 2018 **Author:** Kenny Smith **Content:** We are frequently on projects subcontracted by IBM. As such, we have to submit our time and expenses for each week which ends on Friday’s in IBM’s time tracking system. Sometimes we have multiple projects going on at the same time and every Friday afternoon (or Sunday evening depending upon travel and general motivation), I spend about an hour writting these ups. I like to keep each week in its own folder, with a specific naming convention, but its always tedious and error prone to create a new folder each week (was last Friday the 25 or 26th??). Thus to simplify this (and to avoid some more productive work), I wrote a Powershell script to create these folders in bulk. Thus if I know I’m on a project for 4 weeks, I’ll just run this and create all the folders for that month, and possibly the following month. ``` ################################################ # Usage: # 1. Initialize this script by clicking the play button first. # 2. Navigate to the desired directory to create the folders # 3. Type the function name Build-DateFOlders and the parameters, Year, Month, and an integer for the number of weeks to create for that month # example: Issue the command "Build-DateFOlders 2018 1 4" will create the following folders # 2018-01-05 # 2018-01-12 # 2018-01-19 # #  Author: Kenny Smith, Strongback Consulting #  License: Creative Commons Attribution. Share, but show the love! # https://creativecommons.org/licenses/by/3.0/us/ ###################################################### function Get-NthWeekday ( [int] $yr, [int] $mo, [int] $nth, [string] $WeekDayToFind ) ##################################################################### # # PURPOSE: Get the Nth Weekday of a given month. # ###################################################################### { # Error checking if ($yr -lt 1990 -or $yr -gt 2038) {Write-Host "Year must be 1990 to 2038";throw "*** YEAR NOT BETWEEN 1990 and 2038! ***"} if ($mo -lt 1 -or $mo -gt 12) {Write-Host "Bad month! Try again."; throw "*** BAD MONTH! ***"} if ($nth -lt 1 -or $nth -gt 5) {Write-Host "Nth must be between 1 and 5"; throw "*** BAD Nth! ***" } if ( 'Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday' ` -notcontains $WeekDayToFind ) {Write-Host "Not a weekday!"; throw "*** NOT A WEEKDAY! ***"} # start from the first day of the month $TargetMonthFirstDate = New-Object System.DateTime $yr, $mo, 1 # $TargetMonthFirstWeekday $WorkingDate = $TargetMonthFirstDate # loop until we get to the $nth instance of $WeekDayToFind while ($nth) { if ($WorkingDate.DayOfWeek -eq $WeekDayToFind) {$nth = $nth-1} # this second IF is needed if the 1st falls on the $WeekDayToFind # to get the correct result. if ($nth -gt 0) { $WorkingDate = $WorkingDate.AddDays(1) } } $WorkingDate } #end function function Build-DateFOlders([int] $yr, [int] $mo, [int]$countOfWeeks){ ##################################################################### # # PURPOSE: Creates a folder for each Friday of the given month in the format yyyy-MM-dd # ###################################################################### for($i=1;$i -le $countOfWeeks;$i++){ $datestuff = Get-NthWeekday $yr $mo $i "Friday" $dirstring = $datestuff.ToString('yyyy-MM-dd') New-Item -ItemType Directory -Path ".\$dirstring" } } ``` **Categories:** DevOps --- ### [Sharing and exporting IBM Developer for z Systems settings and preferences](https://www.strongback.us/2018/01/sharing-and-exporting-ibm-developer-for-z-systems-settings-and-preferences) **Published:** January 8, 2018 **Author:** Kenny Smith **Content:** IDz, being based on Eclipse, shares much of the same capabilities to share, export, and import user preferences. There are several ways to share user based data, and in this post, we cover the most common options that can or should be shared among multiple developers using IDz. We recommend using a Wiki (or Connections, Box, or Sharepoint) site as a team area where developers can easily save and share these to. ### **Sharing Property Groups** Property group control local syntax check and how IDz generates JCL to compile, link, and debug applications. These can take a good deal of time to setup, and as such, its highly productive to share these, rather than have developers all create their own. To export, just right click within the **z/OS Property Group Manager** view and select **Export**. ![](https://www.strongback.us/wp-content/uploads/2018/01/share-property-groups.png) Select the property groups you wish to export. Enter the directory for the location and file name below to export. Be sure to load these to your central wiki site! ### Sharing z/OS Connections The most basic and easiest to understand for new users, is sharing of LPAR connections. In the Remote System Explorer view, you may have multiple connections to various z/OS LPARs. Perhaps those connections are secured by SSL certificates, or have unmemorizable host names (or God forbid, IP addresses). First, make sure that you are able to connect to the LPAR and confirm the correct host name and security needs. Then, right click on the LPAR and select **Export**. ![](https://www.strongback.us/wp-content/uploads/2018/01/Export-zos-connections.png) To Import LPAR connections, just click right click in the white space of the Remote System view and select **Import** (this option is also visible in the image above). ***Note:*** This option can be controlled and rolled out directly using Push to Client (see below). ### Sharing Code Templates Code templates are similar to Snippets. The real differences are that templates can be inserted from content assist (CTRL + SPACE), and takes variables from the editor or source code, rather than from prompts by the user. Any language can be shared by importing/exporting. The image below shows how to share COBOL templates, but the process is same for Java, JavaScript, PL/I, JCL, etc. To get to this scree, go to the workspace prefences (Window -> Preferences). Then find the language you are working on, expand the selection and click on Templates. Note, you can also filter by typing the word “Template” into the filter text in the upper right hand corner. ![](https://www.strongback.us/wp-content/uploads/2018/01/share-cobol-templates-idz-300x244.png) ### Sharing Snippets Snippets are really an Eclipse feature, and is not unique to IDz. They allow you to have boiler plate code that you can drag/drop into your editor, and even have variables that you can set to prompt you for the values when you add the snippet to the editor. The example below is what I use for a common job card statement. ![](https://www.strongback.us/wp-content/uploads/2018/01/share-snippets-idz.png) ### Sharing Workbench Preferences The workbench has other collections of settings that can be shared, such as the zLPEX Editor preferences, C/C++ Editor Preferences, BMS Editor preferences, CARMA settings (for integration with CA Endeavor), and more. Select File -> Export. Then in the next dialog, select Preferences. Click Next. In the following dialog, select the resources to export. Not sure what to export? Just select **Export All.** Chances are, you’ll want all of them anyway. ![](https://www.strongback.us/wp-content/uploads/2018/01/export-workbench-preferences-idz-216x300.png)Export workspace preferences in IBM Developer for z SystemsSelect a directory and file name to save this to. To import them, just select File -> Import, then select Preferences and then navigate to the directory where the preferences were placed. ### Using Push to Client Push to Client (P2C) is an easier way to centralize configurations and control roll outs to the product. P2C can push out almost all of the above settings to the clients, and its the only way to export the z/OS File System Mapping settings (which take some time to culitvate properly). P2C was discussed in detail in the following blog article, so click below to find out how to set up P2C: > [Implementing Push-to-Client for IBM Developer for z](https://strongback.us/2017/04/implementing-rdz-push-to-client) \[cta id=’2593′\] **Categories:** DevOps, Mainframe Devops --- ### [Why you need to front end your CLM servers with an HTTP Server](https://www.strongback.us/2017/12/why-you-need-to-front-end-your-clm-servers-with-an-http-server) **Published:** December 7, 2017 **Author:** Kenny Smith **Content:** ### Don’t run your CLM Servers without an HTTP Server All too often I run into organizations who have started with IBM Rational Team Concert and some other consultant has setup their servers without an HTTP server. Invariably they run into the same issues over and over again. Its a simple step to setup this up. The IBM HTTP Server is even included in the download packages from Passport Advantage. So, if you are just getting started with Team Concert, Quality Manager, Design Manager, or DOORs NG, please read this for the sake of your future sanity (if not for just mine). The diagram below represents what a typical deployment might look like. Perhaps you ![](https://www.strongback.us/wp-content/uploads/2017/12/clm-server-diagram.png) #### It hides the implemetation With an HTTP server, you might have 1 CLM server (such as Team Concert), or you could have a cluster of RTC servers, you might have RTC and an RQM server, or for a large environment, an RQM Cluster, an RTC cluster, a Jazz Team Server cluster and a DNG server. Either way the users access the same host name (i.e. http:/rtc.mycompany.com/), but just a different root context for each application (/ccm, /jts, /qm, etc). The less the user community knows about the infrastructure, the more secure it can be. #### It provides another layer of security When users access the standard ports (80 for HTTP, and 443 for HTTPS), you can hide or restrict access to the server ports on the VLAN. This is important as it also restricts access to the WebSphere Admin console, or Liberty Console. #### It makes moving or adding servers easier Notice we mentioned the use of a cluster above? With RTC 6.0x clustering is supported again with the use of WebSphere Liberty clustering. If you add another server to your mix, and everyone is accessing the :9443 port, guess what? That clustering won’t work! What about moving your RTC server to a larger server with a different host name? What if you outgrow the resources of a single server and need to split JTS off onto its own server? Without an HTTP server, you would run into issues that would affect the user community, and make it difficutlt to later change such a setup. #### It can provide caching, and thus improve performance RTC, Quality Manager, DOORs NG, and Design Manager all have a plethora of static resources. They are web applications, after all. All the images, cascading style sheets, and mountains of Javascript code get sent to the browser with every call to a raw WebSphere server. Every. Single. Call. That is pulling resources from your WebSphere server, which could just be cached at the HTTP server. That will reduce the load on your WebSphere servers by a noticible amount. #### It avoids authentication issues between Team Concert, Quality Manager, and other products Let’s say you have an RTC server and a Quality Management server running on different machines. Their hostnames are: rtc.mycompany.com qm.mycompany.com When you click a test result link on an RTC work item that opens up an RQM test result, you will be prompted to authenticate. Authentication does not share across these servers as they are on *different hosts*. If you had an HTTP server in front of it, and its host name was clm.mycompany.com, you would only be changing root contexts (/qm from /ccm), and thus the authentication would be seamless. #### It avoids port issues If you allow access to your server outside of your VPN or Intranet, it means you’re poking a hole in your firewall to use that port. If you have a tighter security than that (which I really hope you do), and have a firewall between your data center and your employee VLAN segments (which you should), you can further protect your CLM server and expose only the HTTP Server. #### Its makes it easier for users to type the URL On what commercial website do you know of that you have to type the port number in the URL? Go ahead..I’ll wait. Can’t think of any, can you? So why would you want to burden your users with extra keystrokes, and you with confused users? The port number 9443 is to be considered a transport HTTP port, not one that users should access directly. It tends to confuse users. Do you really want that? #### It only takes about an hour to setup an IBM HTTP Server Really. Its quick, its easy to setup. Here are the instructions: https://www.ibm.com/support/knowledgecenter/en/SSEQTJ\_9.0.0/com.ibm.websphere.ihs.doc/ihs/tihs\_archive\_intall.html #### It does not affect your IBM licensing You can use as many IBM HTTP servers in your CLM environment as you want. They are no extra charge. **Categories:** DevOps --- ### [What do I need to install on my z/OS for IDz and RTC to work?](https://www.strongback.us/2017/09/what-do-i-need-to-install-on-my-zos-for-idz-and-rtc-to-work) **Published:** September 27, 2017 **Author:** Kenny Smith **Content:** We were asked by a customer on what components need to be installed on their z/OS LPAR for their deployment IBM Developer for z Systems (IDz). They are also integrating with Rational Team Concert, which as a result, has some additional z/OS pieces to be installed. These are all SMP/e based installs. I get this request a few times a year, and for the sake of posterity, I’m posting this on the blog so the everyone can benefit. These instructions below are for IBM Developer for z System version 14.0. There is a version 14.1 that is also available, and as such the FMIDs listed below will closely match what you see in the extracted files. First, you’ll need to download the following file. Extract the file, and inside each subfolder will be a program directory (PDF) that expains how to install via SMP/e. Once each of these are installed, you run the configuration utilities to get them working on the target LPAR’s. Download IBM Developer for z Host Components (14.0) to your local PC. [http://www14.software.ibm.com/cgi-bin/weblap/lap.pl?popup=Y&li\_formnum=L-SLIS-A8YSAS&accepted\_url=http://public.dhe.ibm.com/ibmdl/export/pub/software/htp/zos/tools/aqua/idz/IDz\_Host\_SMPE-14.0.zip](http://www14.software.ibm.com/cgi-bin/weblap/lap.pl?popup=Y&li_formnum=L-SLIS-A8YSAS&accepted_url=http://public.dhe.ibm.com/ibmdl/export/pub/software/htp/zos/tools/aqua/idz/IDz_Host_SMPE-14.0.zip) Extract the zip file. There will be multiple FMID’s in this part. Each FMID will have PDF program directory in each FMID folder. The documentation directory explains how to customize the various FMID’s after SMP/e installation. ![Inline image 3](https://mail.google.com/mail/u/0/?ui=2&ik=3f3c9650cb&view=fimg&th=15ec402a4a8cc93c&attid=0.2&disp=emb&realattid=ii_15ec3fb1fcb68b5c&attbid=ANGjdJ9MrQtD1MjKawtdmOVLV4zUn-KpT3iRGs2ZrxMAHox0aN5hIyMonbLTNhmPM_gZifJrNjhQfs7-5DOe10YLW6uApY86ISjRv17PFKPrb_w2YYBoVtpbFIsnNzE&sz=w788-h496&ats=1506531978689&rm=15ec402a4a8cc93c&zw&atsh=1) Install each of these: HALG300 (The Remote z/OS Explorer, which runs the started tasks required to connect to the z/OS from IDz) HAKGE00 (IDz Host Utilities, which you appear to have already installed. These are used as convenience ISPF panels to configure the products) HHOPE00 (IBM Developer for z, which contains the critical pieces for IDz software analysis, code review, etc) HADRE00 (IBM z/OS Debugger, which is part of IDz licensing and should be installed in both locations ) Optionally, if you have these at the client site (I think NC has this) install this FMID: HVWR170 (Problem determination tools – Fault Analyzer, File Manager, etc) H09F210 contains COBOL and CICS Command Level Conversion Aid, which to my knowledge, you do not need (its used for upgrade from prior versions of COBOL or CICS). Next, there is a piece that is critical for the integration between IDz and Team Concert server for impact analysis. This is found in the RCLM_SMPE-FOR-ZOS_V6.0.4_ML.zip file, from which you should already have HRBT604, HRBA604, and HRCC604 installed. There is another FMID, HRDV604, which is described in the Team Concert program directory (5724V04.pdf). This FMID is only needed if IDz is ***not*** installed on the host. Thus in this scenario, it is not needed. Additionally, these site below is the official documentation that you need and should reference for the products: [https://www.ibm.com/support/knowledgecenter/SSQ2R2\_14.1.0/com.ibm.etools.rdz.installing.doc/topics/c\_server\_installation.html](https://www.ibm.com/support/knowledgecenter/SSQ2R2_14.1.0/com.ibm.etools.rdz.installing.doc/topics/c_server_installation.html) Lastly, if you need assistance with the configuration, or the deployment of the IDz clients, give us a call. This is one of our specialites. **Categories:** DevOps, Mainframe Devops **Tags:** IDz, rdz, RTC --- ### [Keep your IBM WebSphere and Rational products updated with this easy command line](https://www.strongback.us/2017/08/keep-your-ibm-websphere-and-rational-products-updated-with-this-easy-command-line) **Published:** August 29, 2017 **Author:** Kenny Smith **Content:** Need to keep your IBM IDE’s updated consistently? You can easily do this through automating the IBM Installation Manger’s command line interface. You can put this into a Window’s task ### Update All via Command Line This is stupid simple to do. First, make sure you have all instances of the IBM or Rational IDE products closed (this will prevent upgrade). Open a command line with Administrative priveledges. Navigate to your Installation Manager’s eclipse/tools directory, and type the following: C:\\IBM\\Installation Manager\\eclipse\\tools>**imcl -updateAll -acceptLicense** Sit back and wait. Go to lunch. Do something else. Come back an hour or so later, and it will show the following. This will update all installed packages and products. Read the caveats below. If you want to know the progress of the update, you can append -showProgress to the above statement. ### Update One Package Via Command Line Let’s say you have multiple products installed via Installation Manager. Perhaps you only want to update one and not another. Maybe you have different environments, and need to keep one in a consistent state. Being an IBM business partner and reseller, we have many packages installed, and are always installing and updating. Here’s a snapshot of my installed packages: ![](https://www.strongback.us/wp-content/uploads/2017/08/Installation-Manager-installed-packages.png) Let’s saw we only want to upgrade one package, the one named “IBM Software Delivery Platform”. Notice the installation directory? Well, if we just want to update one package, we append -installationDirectory and the parameter to the command above. C:\\IBM\\Installation Manager\\eclipse\\tools>imcl -updateAll -acceptLicense **-installationDirectory “c:\\IBM\\RDZ95”** You MUST enclose the file path in double quotes. This will upgrade all the features within that directory only. ### IMCL Upgrade Caveats: 1. **Team Concert Client / Server mismatch:** the upgrade will update every thing available from the service repository, including Team Concert plugins. Your Team Concert client should only be updated *after* your server has been updated. Otherwise, you will get a server/client mismatch and will not be able to connect to the server. 2. **Proxy settings**: If your network requires you to go through a proxy, then, you’ll need to add that to the Installation Manager first, or add it via the command line using the -preferences parameter. 3. **Upgrade by Team**: In general, you should update products together with your team at the same time. Product mismatches can cause issues amoung the team members whent he check out code that has been affected by the ugprade. This is why its recommend to run these command line tools via a central maintenance tool such as Microsoft SMMS, or IBM Big Fix (formerly Endpoint Manager). 4. **Large Rollouts**: If you have more than 10 members in your team (say a large team of 50 developers), you will not want all these developers connecting to the external repositories and downloading 1GB+ of data at the same time. It will saturate your network bandwidth and take forever to download. Instead, you can prep local repositories ahead of time and store them on your internal network using the IBM Packaging Utility. Add the parameter -repositories “” to append the local or network directory of the repository you created. See our previous article, for details on using the Packaging Utility. **References**: - [IBM Knowledge Center: Updating all installed packages by using imcl commands](https://www.ibm.com/support/knowledgecenter/en/SSDV2W_1.8.0/com.ibm.cic.commandline.doc/topics/t_imcl_updateall.html) - [How to Install IBM DevOps tools with IBM Packaging Utility and Installation Manager](https://www.strongback.us/2015/08/how-to-install-ibm-devops-tools-with-ibm-packaging-utility-and-installation-manager) **Categories:** DevOps --- ### [Supporting the Boy Scouts of America](https://www.strongback.us/2017/08/supporting-the-boy-scouts-of-america) **Published:** August 15, 2017 **Author:** Kenny Smith **Content:** This is a change in previous types of content, and this post is about one of our favorite charities and youth groups: the BSA. ![](https://www.strongback.us/wp-content/uploads/2017/08/English_SocialMedia_2-300x300.jpg) This fall as your children are starting back to school, you might have some extra curricular activities in mind for them to peruse. Sure, there is little league football, basketball, baseball and soccer, all of which promote health, sportsmanship, and team work. All of these values are those that might not be taught in school, that are also promoted by the BSA. The BSA promotes not just these values but several others that you may find equally or even more important. The values are entrenched in the Scout Law: Trustworthy, Loyal, Helpful, Friendly, Courteous, Kind, Obedient, Cheerful, Thrifty, Brave, Clean, and Reverent. Scouting also teaches about nature, conservancy, and respect for the outdoors. Scouting has educated and aided hundreds of thousands of boys become better men, and leaders in their communities. It is a program where a scout can learn about many topics that are never taught in school these days, or at least insufficiently. It also provides a great bonding time between parent and child, offering the parent an opportunity to meet new friends and provide service to their community through volunteering. If you have a son who is going into 1st through 5th grade, please consider [Cub Scouting](https://beascout.scouting.org/Why_Scouting/CubScout.aspx) this fall. If you have a son who is going into 6th through 12th grade, please consider [Boy Scouting](https://beascout.scouting.org/Why_Scouting/BoyScout.aspx). If you have a son ***or daughter***, between the ages of 14 to 21, [Venturing ](https://beascout.scouting.org/Why_Scouting/Venturing.aspx)is an excellent program that can offer adventures many may never get to see otherwise. To find out what programs are near you, please visit /. If you would like to help the program financially, please visit [Friends of Scouting](https://aplacetogive.scouting.org/magento/index.php/give-to-national-scouting.html?utm_source=scouting_top_nav). This program helps to support the local councils and the programs they implement. Thank you in advance! **Categories:** Uncategorized --- ### [The success of Agile's concept of self-organizing teams can be traced back to Austrian economics](https://www.strongback.us/2017/08/agile-and-self-organizing-teams-are-a-derivative-austrian-economics) **Published:** August 1, 2017 **Author:** Kenny Smith **Content:** > *The best architectures, requirements, and designs emerge from self-organizing teams.* This is one of the twelve principles behind the [Agile Manifesto](http://agilemanifesto.org/principles.html), and is a key step in changing the culture in an organization as it moves to Agile development and other DevOps principles. This is not a new concept however. Although it has been studied on its own in academia, the underlying psychology of it has been thoroughly detailed in the Austrian school of Economics. ### A primer on Austrian Economics If you are unfamiliar with the Austrian school, then you should know that this is a school of thought, and not a brick-and-mortar school on some real estate in Austria. The adjective “Austria” refers more to the common origin of many of the early thinkers and founders of this school of thought. This includes the economists Ludwig von Mises, Friederich A. Hayek, and Carl Menger. These thinkers, in turn, derived their opinions, and findings based on the writings of previous economists and philosophers such as Adam Smith, John Locke, and David Ricardo. You may not of heard of many of these names before, but you may have heard of their students: Milton Friedman, Arthur Laffer, Charles and David Koch, Ronald Reagan, and many many others. This school of thought is one that is often shunned by more famous economists like Paul Krugman who follow the Keyensian school of thought, after John Maynard Keynes. The Keyensian school of thought is strong in central planning, and is the school that is most modeled after by the US Federal Reserve and other central banking institutions. Now that you know the general players, lets discuss one of the key tenants in the Austrian School that is so often overlooked by the Keynesian school ### Its the knowledge problem ![](https://www.strongback.us/wp-content/uploads/2017/08/hayek-spontaneous-order-300x143.png) Hayek in particular described the local knowledge problem as the observation that the data required for rational economic planning are distributed among individual actors, and thus unavoidably exist outside the knowledge of a central authority. When the knowledge is allowed to be acted on in a distributed manner (rather than centrally planned), we observe the individual actors working within their own self interest, voluntarily, and using their own unique perspective of the world at hand. This is what he called spontaneous order. Think of it as this: a group of 100 people, in all their years of living, with different skills in different subjects of varying degrees, will have a superior ability to make aggregate decisions than would a single person deciding minutia for the 100 people. No matter how intelligent the one person is, they are no match for the collective intelligence of the 100, making decisions for themselves, based on their own knowledge. The “manager” cannot have the same quantity of local knowledge as the sum of all the individuals he manages. Professor Lynne Kiesling of Northwestern University describes the knowledge problem in excellent detail: ### Applying these lessons during an Agile transformation and to software development So, now that we have discussed the concept of the local knowledge problem from an economic view point, let’s discuss it from a software engineering view point, which is really a subset of an economic view point. Perhaps you have 100 people on your team. To be a software developer, you must have at least a certain minimum level of cognitive and reasoning ability. Most of these people have college degrees (perhaps you have a few who do not), which carries at least 4 years of knowledge from different institutions. They also have life experience and specific industry experience, which is unique to every person. The manager or director, CIO, CTO, or VP of IT who manages them, no matter how educated, or skilled, will never have the same collective knowledge as the sum of those 100 people. As such, it is counter-intuitive to micromanage these developers. Rather, it is more important they all share the same interest and goal: the success of the project. For that is a self-interest for each person as they are paid and rewarded based on their individual merit (or should be in any case). Thus, the manager would be wise to enable the teams to self-organize, and to decide which work they each are best suited to work on. This requires not just a rubber-stamp approval and lofty speeches. Rather it requires that the manager encourage and enable them to do this. Now, in some organizations, one of the road blocks to true self organizing teams is hyper specialization in skills. For example, you may only have one person who understands a server scripting language, another who is the only one who writes Java, and another who is the only one who knows and understands HTML5, and yet another who is the only COBOL developer. This is how silos develop. We see this most often as distributed vs mainframe, or Java vs .NET teams. The manager must enable and facilitate the teams to to cross-train, and learn from each other. Collaboration between individuals, across skill sets, and across roles is critical. This very issue was the subject of research conducted by Nils Brede Moe, Torgeir Dingsøyr, and Tore Dybå SINTEF ICT, of Norway (nilsm|torgeird|tored)@sintef.no, in their paper *[Understanding Self-organizing Teams in Agile Software Development](https://www.researchgate.net/profile/Tore_Dyba/publication/4328234_Understanding_Self-Organizing_Teams_in_Agile_Software_Development/links/00b4953a5c2590d60c000000/Understanding-Self-Organizing-Teams-in-Agile-Software-Development.pdf)*, which found that one of the critical barriers for self organizing teams is silos of skill sets. I have personally witnessed this with a large consulting services organization who deployed an army of developers on a project that we had been consulted to help, and none of these developers had more than a single competency in any one skill. This made for a very unproductive, slow, bureaucratic project, as well as a frustrated customer. There are many methods to help alleviate these silos. This includes: - Lunch and learns, where new ideas, or skills are proposed by members of the team - Ancillary classroom training, where a person with one skill is sent to a public class to learn a new, but complimentary skill (i.e. a web designer who knows Photoshop, goes to an HTML5 bootcamp, or a COBOL developer goes to learn eclipse based development and interactive debugging of COBOL using IBM Developer for z). - Rewarding the teams for certifications beyond their skill sets - Having team members spend 4 hours per week on exploration type activities on the project (i.e. How could containers help my deployment strategy? Would node.js work better than our current JSP based development?) Next, make your team accountable. As you gradually have the team self-organize, make them accountable for what roles and responsibilities they take on. For example, when moving from rigid requirements or even Use Case based requirements to User Story based requirements, have the team member responsible for completing a story, be the one to estimate its tasks. After all the most accurate estimate is going to be from the person doing the work, rather than by an architect who has a different skill set than the one tasked with completing the story. \[youtube width=”70%” height=”70%” autoplay=”false”\]https://www.youtube.com/watch?v=TIz8hmKR\_sg\[/youtube\] As you move towards time-boxed iterations, ensure that you are doing regular retrospectives. This may seem trivial, but this is vital to your team’s success. Other branches of your organization do this outside of software development: the marketing team does this with SWOT analysis, the accounting team uses audits, the sales team uses weekly, monthly, and quarterly quotas. If you are not learning from your mistakes, you *will* continue to make them. The retrospective is a critical asset, and by harnessing the knowledge from ALL of your team, the team is better able to deliver value in the next iteration. If only the manager writes down the lessons that he or she learned, there is a titanic loss of information. Rather, enable your team to help steer, collaborate, and provide feedback. [Collaborative lifecycle management tools](https://www.strongback.us/solutions/clm) can help facilitate this collaboration such that everyone can see the project plan, can see the defects, the tasks, the requirements, and the project plan. Their knowledge can help refine and improve the project plan such that they can self-assign tasks and requirements to themselves, and can provide their own estimates on time. #### References - [The Pretence of Knowledge](http://nobelprize.org/nobel_prizes/economics/laureates/1974/hayek-lecture.html) 1974 lecture at [NobelPrize.org](https://en.wikipedia.org/wiki/NobelPrize.org "NobelPrize.org"), F.A. Hayek - [Understanding Self-organizing Teams in Agile Software Development](https://www.researchgate.net/profile/Tore_Dyba/publication/4328234_Understanding_Self-Organizing_Teams_in_Agile_Software_Development/links/00b4953a5c2590d60c000000/Understanding-Self-Organizing-Teams-in-Agile-Software-Development.pdf), Nils Brede Moe, Torgeir Dingsøyr, Tore Dybå SINTEF ICT, Norway (nilsm|torgeird|tored)@sintef.no - [Spontaneous Order](https://fee.org/articles/spontaneous-order/), John Stossel, the Foundation for Economic Freedom **Categories:** DevOps --- ### [Understanding SAFe Work In Progress Limits](https://www.strongback.us/2017/07/understanding-safe-work-in-progress-limits) **Published:** July 26, 2017 **Author:** Kenny Smith **Content:** ## What is WIP? ![](https://www.strongback.us/wp-content/uploads/2017/07/track-300x199.jpeg) **WIP** stands for **W**ork **I**n **P**rogress. Limiting your work in progress is a concept of Scaled Agile Framework or SAFe. By limiting your WIP, you force your team to focus on completing existing tasks before starting new tasks or requirements in the project. Let’s start with an analogy: the “honey-do list”. Its Friday afternoon, and the weekend starts. Your significant other has several requests for work around the house for the weekend. Some of these are short tasks that must get done by Monday morning, (take garbage to the street), some are very intensive and require dedicated time (mowing the grass), and some may take course over the entire weekend (doing several loads of laundry). We’ve all been there and done it. We only the weekend to do these things and only have 2 days to complete these tasks (a time box). Thus you get started. One load in the washer, you mow the front grass until lunch. After lunch, you start painting that wall that looked so out of date. You are reminded about a cookout you agreed to go to, and so on, and so on. When Sunday night comes, you look at your to-do list. - You only mowed the front yard, not the back ( got distracted by painting the wall) - You’ve washed 2 loads of laundry, but only dried one load. - The wall was primed, but did not get painted. - …and 6 other tasks you started, but did not finish Thus, most of your honey-do list is unfinished, even though you’ve done a bunch of work on every task. **Bottom line:** you’ve got no customer (spouse) facing value to show for your hard work because its all unfinished. If we had limited our todo list so that we only had 3, or 4 or 5 tasks in progress at any one time, Sunday evening might have looked like this: - Yard Mowed (done) - Laundry (done) - Wall painted (not started) - Garbage taken to street (done) - 3 other items (done) - 5 other items (not started) Thus, you could show you delivered on several items during this time box. That is value that can be realized by the customer (your spouse). ### How can it help my application development team? You have several different types of people on your team: database developers, UI developers, Java developers, business analysts, testers, etc. Multi-tasking has proven to be inefficient through numerous studies\*\*. Instead of cramming every requirement into a single release, focus your team so they have a limited number of items to work on. If one member finishes his or her task early, then have them focus on helping a team mate complete their tasks. This means that your team can shift roles a bit: perhaps the tester, who is not very busy at the beginning of the iteration can help the business analyst work on finalizing requirements. In the middle of the project, the business analyst can help the tester rough out test cases. The developers can help both if they are not overloaded. This helps to ensure higher quality software delivery, with more tangible value delivered by a due date. From the perspective of your customer, if you can release a series of requirements you will have delivered value and met a deadline. They may not notice, or care that lower priority requirements were not delivered. For them, they have something tangible they can work with. This requires that you are regularly grooming your requirements (your todo list), and prioritizing them accordingly. If this sounds familiar, then it should. This is similar to [David Allen’s Getting Things Done](http://gettingthingsdone.com/) methodology, or the [Franklin Covey productivity solutions](https://www.franklincovey.com/Solutions/Productivity.html) (neither of which have anything to do with software development). Yes, the same concepts, when applied to software development deliver better productivity for your team. ### How can I visualize WIP? The best way to view this is a Kanban chart. You can create this on a team whiteboard in your office with post-it notes. This ‘war room’ type of Kanban chart works fine for teams that are wholly co-located. However, recent studies show that as little as 1/3 of agile development teams are co-located. Thus, if a team member can’t walk into the office to visualize the board, you’ll need some other method to keep them in sync. Our team works extensively on Team Concert, which has a fantastic Kanban board feature. This supports SAFe 4.0 (and 4.5 with some minor tweaks). In the example below, we have a sprint Kanban that anyone from any region in the organization can see, and interact with. All data is up to date so everyone can see the same version of the truth, not some time-delayed, let-me-poll-the-team-report. ![](https://www.strongback.us/wp-content/uploads/2017/07/WIP-limit-exceeded-kanban-view-team-concert.png) Configuring the limit is easy. On the Kanban board, just edit the view using the drop down next to the “View As Kanban Board”. Then add your WIP limit accordingly. The image below shows it configured just for “In Progress” status items. Team Concert has multiple work item types and can show these all in the same Kanban view. Thus you can visualize different layers of abstraction of the project: Just tasks for the sprint team, just Stories for the scrum master and managers, or just defects for the QA team. ![](https://www.strongback.us/wp-content/uploads/2017/07/WIP-limits-team-concert.png) Team Concert is part of an overall [Collaborative Lifecycle Management](/solutions/clm) solution. #### \*\*References [How (and Why) to Stop Multitasking](https://hbr.org/2010/05/how-and-why-to-stop-multitaski.html) [Multitasking undermines our efficiency, study suggests](http://www.apa.org/monitor/oct01/multitask.aspx) https://workplacepsychology.net/2011/04/04/multitasking-doesnt-work/ **Categories:** DevOps **Tags:** clm, devops, RTC --- ### [WebSphere App Server 7 support ends in April 2018](https://www.strongback.us/2017/07/websphere-app-server-7-support-ends-in-april-2018) **Published:** July 17, 2017 **Author:** Kenny Smith **Content:** If you are currently running IBM WebSphere Application Server (WAS) on version 7, you have until April of 2018 to upgrade. After that, IBM will no longer offer you support (other than to tell you to upgrade). However there hundreds of custom ISV solutions that have not yet been certified for new versions of the product. In some cases, the ISV product has been customized for your specific environment, which means that all that custom code must be evaluated and carefully updated as well before you can fully upgrade. #### Mitigation Planning Start evaluating your environment today and find out what applications you have in your inventory that are currently on WAS 7.0. From there, you should review which ones are third party (ISV) application to which you do not have source code for. If you have the source code for the applications, the next step is to scan the code for incompatibilities. WAS 7.0 allowed applications that were compiled with the JDK 1.3. to continue to run. You will want to update those applications and recompile them with a more recent compiler. Below is the JDK compatibility matrix for the various versions of WebSphere: WebSphere App Server VersionJava SE/JDKEnd of support6.0 1.4 Sept 20106.1 5Sept 20137.0 6 April 20188.0 6 \*8.5 6 and 79.08If you do not have source for the third party applications, you should visit your vendor’s support website or call the vendor’s support personnel to see what the support plan is for the product, and plan to upgrade the ISV software accordingly #### Contingency Planning If you are no longer able to receive troubleshooting support from IBM, you CAN receive troubleshooting support from us, Strongback Consulting. We offer retainer services for customers who are stuck on a WAS release, and cannot move or migrate, or have waited to migrate until after support had ended. If you have lost the code to your own software that your team wrote, well, we can help with that as well. Likely we will help you replace the software, or re-architect the solution using more modern frameworks that will be more robust than prior API’s. [Learn More](https://www.strongback.us/solutions/websphere-support) **Categories:** DevOps **Tags:** WebSphere --- ### [Team Concert 6.0.4: New Horizontal Clustering Features](https://www.strongback.us/2017/06/team-concert-6-0-4-new-horizontal-clustering-features) **Published:** June 23, 2017 **Author:** Kenny Smith **Content:** ### CLM Clustering is Dead! Anyone who has worked on WebSphere App server certainly should be familiar with the deployment manager and cluster typologies. One would have thought that since RTC is a Java application, that the native WAS clustering would be a perfect fit. Unfortunately, it was not. Team concert ended support for horizontal clustering on WebSphere App Server with version 5 of the product. It had been very cumbersome and problematic to maintain. One IBM product expert I spoke with said that at the time, it was much easier to just use a load balancer with operating system clusters, just as Microsoft’s cluster services. ### Long Live CLM Clustering! Likely due to customer demand, IBM has reintroduced support for Java based clustering with CLM 6.0.4. This is an entirely new type of Java clustering because it is supported only on WebSphere Liberty (not WAS traditional or ND). Under the covers, the magic that makes this happen is a MQTT broker which manages cache invalidation and coordination messages, which was the Achilles heel of the old method of clustering. The MQTT Broker is not included as a part of the solution and would need to be purchased separately. There is also an available open source broker,[ http://mosquitto.org/](http://mosquitto.org/). ### MQTT Brokering MQTT (Message Queue Telemetry Transport) is a machine to machine protocol designed for IoT applications. It is designed as a lightweight publish/subscribe messaging protocol, and is an OASIS standard. This standard is implemented by vendor products such as IBM IoT MessageSight, which is a standalone appliance separate from Team Concert / CLM. Here’s an overview of MessageSight and how it works: https://www.youtube.com/watch?v=XO2rbChOJ94&feature=youtu.be&cm\_mc\_uid=47931955274814950252047&cm\_mc\_sid\_50200000=1498234440 You might also be interested in the technical details of MQTT protocol by [Christian Götz](https://www.slideshare.net/goetzchr?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssslideview "goetzchr"): [youtube width=”100%” height=”100%” autoplay=”false”]https://www.youtube.com/watch?v=1GbYkCrbChw[/youtube] **[Getting started with MQTT – Virtual IoT Meetup presentation](//www.slideshare.net/goetzchr/getting-started-with-mqtt-virtual-iot-meetup-presentation "Getting started with MQTT - Virtual IoT Meetup presentation")** from **[Christian Götz](https://www.slideshare.net/goetzchr)** #### Link to the new features in RTC announcements: **Categories:** Uncategorized --- ### [Impediments to Agile Adoption](https://www.strongback.us/2017/05/impediments-to-agile-adoption) **Published:** May 19, 2017 **Author:** Kenny Smith **Content:** We help our customers implement software using Agile methods and a DevOps approach. These notes have been growing as we’ve worked with more and more customers. I expect to have more in the future as well, but these several items are recurring issues I see time and time again. Hopefully, even if you are not one of our customers, you’ll glean some insight that will help you with your own organization’s adoption. **Culture eats process for lunch** There are many tools out there that can help you adopt DevOps processes. These tools all center around common concepts that may be very foreign to your organization, and in some cases may be hard to accept. It is important to level-set and acclimate your organization to new concepts and vocabulary, and where needed differentiate new meanings of common words. For example, a “unit test” in the DevOps world is a piece of software code that is written by a developer to test another piece of software code. In the IT organizations of some large companies, the term “unit test” might mean that a group of developers manually review the functionality of a service, then type up a MS Word document or author an email to confirm the activity has completed. Another example might be the concept of requirements management. In an Agile or DevOps sense, requirements management is a constant activity, allowing, accepting, and encouraging change throughout the development lifecycle. A typical waterfall approach mandates big up front design, that spends hundreds of man hours on abstract design before any code is written. Addressing these common ideas early, means higher adoption rate of the tools that you will use to implement a DevOps approach. Remember, culture will eat process for lunch any day of the week. **Train your Dragons** Would you fly in an aircraft with an untrained pilot? Would you let your teenager drive a car without training? Would you send your kids to a day camp with untrained counselors? No? Then why would you expect your teams to adopt a very complex tool without training? Training is more than just a 1 week heads down session. You should have a full education plan. This means not just training the early adopters, but handling continuing education for existing employees, and on-ramp eduction for new hires. Your training plan can be supplemented by videos, lunch-and-learns, knowledge centers (aka Wiki, Sharepoint, Confluence etc), as well as in-house mentoring. If you think you can train and forget, you’re sadly mistaken. This applies to nearly any new technology. In other industries, such as Real Estate and Nursing, continuing eduction is a requirement for continued professional licensing. Think about that! **Don’t keep the C-suite in the dark, or you’ll be the compost** Speaking of training, you should ensure your executive team understands the benefits of moving towards a DevOps approach. Understand their needs and motivations, and how DevOps can address those needs. You will have better buy in if the executive committee not only mandates the change, but actively participates in it. This means they need to learn the lingo, and be the vanguard in changing the culture of the organization. **Don’t think that its not all or nothing** As they say, you can’t boil the ocean all at once. While it does help to address things in a certain order, you don’t have to address it all at the same time. For example, you can begin by addressing the culture with new requirements management tactics (User Story driven requirements vs. complex use cases), and automated unit testing by the development team. Don’t expect it all to start at once. Certain activities can be independent of others. Some need to come at the tail end (such as updating reporting). Find the area that will provide the most ROI, adopt it, then move on to the next concept that is best facilitated by the first. If you begin with automated deployment you may run into the issue of having to manage source code changes in flight that the release engineer has to cherry pick out to get a good build. In those situations, one must address the task and requirements management using timeboxing techniques (which is one of the harder concepts to grasp). Find what works best based on the culture of your organization. We recommend weighting your initiatives and features using empirical approaches such as Weighted Shortest Job First (WSJF). This helps the team focus their energies on the current challenges that will bring the most ROI. **Focus too much on tools, and not enough on culture and proces**s The very first stanza of the Agile Manifesto is “Individuals and interactions over processes and tools”. You must put the focus on individuals and their interactions if you want to affect the culture. Throwing them new, expensive tools, and assuming they will grasp the underlying concepts is a recipe for failure. You’re better off using whiteboards with swim lanes (Kanban), paper index cards for User Stories, and sticky notes (for placement in the Kanban). I’ve seen shops that use the simple techniques be more successful than than shops with matching tools. The reason? It puts the focus on the change in interactions and culture, rather than products and tools. Don’t get me wrong: tools can vastly improve the productivity. Those same shops are the ones that I implemented some IBM tools and open source techniques, and it was wildly successful. That success happened because the teams already understood the fundamentals, and they were subsequently much more productive afterwards. **Failure to account for additions to architectural runway.** The bigger the plane the more runway it needs to take off and land. Your architectural runway means your programming frameworks, development languages, servers, DR systems, and API’s. Think of it like this: how much architectural runway do you have if you have a Windows NT 4.0 server farm and running Java 1.3? Think you can do some fancy REST API’s with that? Right. You need to constantly account for these changes in each iteration. These should not be though of as a “once in a while, if we have budget issue”. Your runway is cryptically to success, and you should incrementally, and continually update and extend it. **Failure to keep stakeholders engaged throughout the process.** This is part of changing the culture. Your stakeholders should be able to see the value as its being delivered with each incremental release. That requires constant collaboration and feedback. This helps keep the development team abreast of changes and needs from the customer. Think of it like this: does a businesses’ needs stay constant throughout the year? Of course not! It changes as the marketplace changes, and as your competitors adapt. The faster you can adapt, the better equipped you are to maintain or gain market share. Thus don’t think of your IT as a separate silo from your marketing department. The marketing team is the eyes and ears of the organization. Just like you would not fly an airplane with blinders and headphones, you should constantly get feedback from your customers so you can adapt and adjust, and so they can provide you with that much needed feedback! **Categories:** DevOps **Tags:** agile --- ### [Implementing Push-to-Client for IBM Developer for z](https://www.strongback.us/2017/04/implementing-rdz-push-to-client) **Published:** April 19, 2017 **Author:** Brice Small **Content:** At a recent customer, we had the opportunity to implement RDz’ Push-to-Client (P2C) functionality. Discussions were had with the customer on the best way to distribute common settings and customizations for RDz among the user community and P2C was the winner. P2C functionality involves creating a customized workspace, exporting that workspace to USS on a selected LPAR and having the customizations pushed to a client PC when RDz is connected to the P2C LPAR. P2C may also be configured to push out product updates, but that functionality was not implemented at this customer. The following settings/customizations were distributed to users by P2C: - Eclipse preferences - General editor preferences - LPEX Editor settings - Local History preferences - Jazz Source Control file properties - Remote Systems connections - z/OS File System Mappings - Property Group definitions It was also determined that support would be needed for different settings/customizations based upon the development team the RDz user was a part of. This support was added to P2C via RACF definitions. To support this configuration, the following RACF definitions and commands were utilized: ![](https://www.strongback.us/wp-content/uploads/2017/04/Capture-300x48.png) In the above commands, *adminUser* is the RACF ID of the person performing theP2C client administration tasks; *devTeam* is the name of the application development team being created for P2C; *userid* is the ID(s) of the members of the application development team. The following line was added to **/etc/zexpl/RSE.ENV** to support the XFACILIT entry: - **\_RSE\_FEK\_SAF\_CLASS=XFACILIT** The **/etc/rexpl/pushtoclinet.properties** file specifies the options enabled for P2C. For this customer, the **config.enabled=SAF** and **primary.system=true** preferences are the only changes. The **config.enabled** parameter enables RACF control of the users of the configuration while the **primary.system** parameter enables a system for delivering P2C configurations to an RDz client. Here is the properties file: ![](https://www.strongback.us/wp-content/uploads/2017/04/2017-04-19_14-48-51-300x250.png) **Client Setup:** To support the customer’s P2C configuration, two workspaces have been created. One workspace is for default configurations that all RDz users will receive. The other workspace is for specific application development group customizations and contains customizations that only apply to a specific development team. The steps to set-up P2C are as follows: - Start with a clean workspace - Log in to the P2C remote system as the P2C administrator - Set/Create any of the following: - Eclipse preferences - RSE connections - Property Groups - z/OS File System Mappings - Software Analyzer Configurations - Export the configuration to the hosting LPAR - File Export - Select IBM z/OS Explorer Configuration Files - Export the configuration **Export Configuration Wizard:** The Export Configuration wizard allows you to select the preferences and customizations you wish to export for P2C. There are two pages to the wizard; the Global Configurations and the System Configurations. On each page, select the items you wish to export. **\*Note –** The Configuration Group entry will only be only be selectable on the initial export of a workspace as the export binds the workspace to a given P2C group. The Global Configuration page of the export wizard allows you to select the configuration options you want to be pushed to client RDz workstations. It also allows you to specify the configuration group this export belongs to. Here is an example of the Global Configuration page: ![](https://www.strongback.us/wp-content/uploads/2017/04/2017-04-19_14-58-26-300x238.png) The System Configuration page of the export wizard allows you to select the z/OS File System Mapping configurations and Property Group configuration files you want to be pushed to client RDz workstations. Here is an example of the System Configuration page: ![](https://www.strongback.us/wp-content/uploads/2017/04/2017-04-19_15-06-37-300x229.png) When an RDz user connects to the P2C LPAR, they will be prompted for the group containing the preferences and customizations to be pushed to their workspace. The user will be prompted with a dialog similar to this: ![](https://www.strongback.us/wp-content/uploads/2017/04/2017-04-19_15-11-25-300x173.png) Once the configurations and settings are applied, the user will receive the following notification: ![](https://www.strongback.us/wp-content/uploads/2017/04/2017-04-19_15-16-37-300x83.png) For more information on Push-to-Client, please see the following link: [https://www.ibm.com/support/knowledgecenter/SSBDYH\_3.0.1/com.ibm.zexpl.config.hostconfigref.doc/topics/pushtoclient\_consider.html](https://www.ibm.com/support/knowledgecenter/SSBDYH_3.0.1/com.ibm.zexpl.config.hostconfigref.doc/topics/pushtoclient_consider.html) \[cta id=”2593″ vid=”0″\] **Categories:** DevOps, Mainframe Devops --- ### [Performance Testing the Rational Build Agent](https://www.strongback.us/2017/03/performance-testing-the-rational-build-agent) **Published:** March 23, 2017 **Author:** Kenny Smith **Content:** On a recent project where we were implementing Rational Team Concert for a large z/OS shop, we were requested for performance metrics for the Rational Build Agent (BLZBFA). The amount of data on existing metics is sparse, but there is some information in the Jazz Deployment Wiki. I found a [great article](https://jazz.net/wiki/bin/view/Deployment/RTCEEWorkloadTests) on setting up the build engines and build definitons, and test data. However, this data references the JKE Banking. Based on the client’s request, we needed to use the customer’s actual data due to various things that happen during a build that JKE Banking would not reflect. As such we came up with a ANT script to call and request personal builds. Using an ANT script we can call build requests with different user ID’s, and careful time them them to replicate an anticipated load. **Why personal builds?** Because running an identical stream build request would incur build failures as they would be building into the same PDS and same USS directory, and thus we run stream builds on a dedicated build engine, and personal build on multiple dedicated build engines. To make a build engine server only personal build or only stream builds, add a property to the engine, “requestFilter” and it use the values of “personalBuild=false” (no personal builds served by the engine) or “personalBuild=true” (if the engine will just serve personal builds). Here is a sample of the ANT that we use. Notice the use of the ANT variables. For each request, we have a build properties text file that identifies a build subset, and other parameters that tell the build engine how to run the build. We carefully construct the build subsets using a healthy variety of source types that will call different compilers, precompilers, etc. Running ANT also is easier to manage than recording a performance test from a user interface. This allows us to add statements as needed to better simulate real time requests, or remove them and do a full on stress test. ``` ``` ```              Generating 5 requests for COBOL batch                                                                                                    Generate a request with a DCLGEN Copybook                                            Generate 12 requests for a COBOL DB2 Batch file ``` ```               ..... ``` To build the properties file, just run a subset personal build for the given deployment type. Then, in the build result, open the build.properties file and pull out only the properties you need for the test. The most important ones being: - team.enterprise.scm.resourcePrefix – the PDS to write to – use ANT variables to make it unique to a user’s PDS, or an individual test run - team.enterprise.scm.fetchDestination – the USS directory to write to – also use ANT variables to make it unique enough to avoid collisions with other build requests - team.enterprise.build.ant.buildableSubset – the name of the build subset - team.enterprise.build.ant.buildableSubsetSlug – a special combination of UUIDs for the build subset and build definition - team.enterprise.scm.workspaceUUID – the UUID of the repository workspace used by the build engine service ID **George Diaz’s blog:** Parallelizing Personal Dependency Builds[ ](https://jorgediazblog.wordpress.com/2013/11/21/parallelizing-personal-dependency-builds/) RTCEE Workload Tests: **Robin Yehle Bobbitts Blog:** Build engines, build agents, and all that jazz. **Categories:** DevOps **Tags:** RTCEE, teamconcert --- ### [A Rosetta Stone for IBM's Jargon and Acronyms](https://www.strongback.us/2016/08/a-rosetta-stone-for-ibms-jargon-and-acronyms) **Published:** August 16, 2016 **Author:** Kenny Smith **Content:** *This list is by no means complete (that would take weeks to compile). This list is constructed based on our past several months experience on IBM engagements and customers implementing IBM DevOps software. We will likely update this list well into the future.* **CCM** = The Change and Configuration Management application running on WebSphere Application Server that is the licensed product of Rational Team Concert. This is typically seen in the URL of a Team Concert project: https://hostname/**ccm**. **CI/CD** = Continuous Integration / Continuous Deployment – a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, and or automated deployment to a testing system, thus allowing teams to detect problems early. **DevOps =** a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes **DNG / RRC** = DOORs Next Generation (formerly Rational Requirements Composer) – an IBM web based requirements management tool that allows a team to collaboratively and iteratively create and evolve product requirements using a variety of artifact formats including user stories, use cases, glossaries, workflow diagrams, BPMN, etc. **IHS** = IBM HTTP Server – an Apache based HTTP server used to front end a WebSphere App Server, or cluster of WebSphere App Servers. **Jazz =** *IBM’s* initiative for improving collaboration across the software & systems lifecycle. Inspired by the artists who transformed musical expression, *Jazz* is an initiative to transform software and systems delivery by making it more open, collaborative, and productive **RBD** = Rational Business Developer – the commercial product that supports EGL, an extension of EGL CE **RAA** = Rational Asset Analyzer **RDp** = Rational Developer for POWER systems – IDE for AIX or iOS development of COBOL, C++, RPG on POWER hardware **RDz** = Rational Developer for System z – Development environment for zOS developers **RD&T** (formerly RDz UT) = Rational Developer and Test for Systems z – special license for zPDT that can only be sold with RDz. Connect to zOS on zPDT only. Package includes the zPDT, and zOS. **RM** = Requirements Management – the application name running on WebSphere App Server that is the licensed product DOORs Next Generation. This is typically seen in the URL of a DOORs project: https://hostname/**rm** **RQM** = Rational Quality Manager **RTC** = Rational Team Concert **Shift Left** = an approach to software testing and system testing in which testing is performed earlier in the lifecycle (i.e., moved left on the project timeline). It is the first half of the maxim “Test early and often.” **SMP/E** = System Modification Program/Extended – a tool designed to manage the installation of software products on z/OS system and to track the modifications to those products. The closest analogous programs in the distributed world are YAST for SUSe Linux, RPM for RedHat based Linux, or “Apps & Features” in Windows. **TDS** = Tivoli Directory Server – an LDAP compliant directory server, typically backed by DB2. **UCD** = Urbancode Deploy -a tool for automating application deployments through your environments. The features provided by UrbanCode Deploy are: Automated, consistent deployments and rollbacks of applications. Orchestration of changes across servers, tiers and components **UrbanCode** = Application Release Automation (ARA) software which is made up of two main components IBM UrbanCode Deploy & IBM UrbanCode Release. **WAS** = WebSphere Application Server – a Java EE 8 compliant server that runs Java EE applications. **Websphere** = the brand family of IBM middleware that includes WebSphere Application Server. Often an alias for just WebSphere Application Server but could also mean WebSphere MQ, Message Broker, Enterprise Service Bus, etc. **zPDT** = System z Personal Development Tool – a linux based system z emulator that can run different System z operating systems (zOS, VSE, zTPT). Usually only sold to ISV’s. **Categories:** DevOps **Tags:** devops, ibm --- ### [5 Tips to Accelerate Adoption of Rational Developer for System z](https://www.strongback.us/2016/07/5-tips-to-accelerate-adoption-of-rational-developer-for-system-z) **Published:** July 11, 2016 **Author:** Kenny Smith **Content:** ### Reasoning We’ve been involved in several large scale deployments of Rational Developer for System z. The product is an incredible piece of software that can drastically improve software development productivity. It also will drastically change your development organization’s culture (usually for the better). However to have the best culture change, you need to be prepared to implement the product correctly. We’ve seen it implemented poorly, and have cleaned up after the product was improperly installed or the students were insufficiently instructed. If you follow these five tips, you’ll have about a 97% chance of a successful adoption. ### 1) Automate Deployment of the client to the Desktop ### Rational Developer for System z is a large, complex tool. Most mainframe organizations (banks, insurance companies, financial institutions, governments, etc) often need to restrict what software is installed on the developer’s workstation. Fortunately, this can all be automated and scripted. Further, it can be combined with other IBM tools (such as IBM DataStudio), as well as the current fix packs in one single package using the [Packaging Utility](https://www.strongback.us/2015/08/31/how-to-install-ibm-devops-tools-with-ibm-packaging-utility-and-installation-manager). Once packaged, it can be installed using scripted methods and automated using tools such as Microsoft SMS, or IBM Endpoint Manager (now BigFix). Even before you begin the packaging, you’ll need to spend time to understand all the tools that the developers currently interact will, or will need to interact with after it is deployed. This may include any of the following: - Code validation (JCL check) - 3rd party debuggers (i.e. Compuware tools) - Source Code Management (i.e. CA Endeavor, SCLM, ChangeMan, Panvalet, Team Concert) - Problem determination tools - File Manager or VSAM related tools - Java/JZOS - CICS Explorer - Data Studio ### Take a survey by your development teams. Do NOT assume you know all the answers; we’ve seen career sysprogs surprised by the results. 2) Provide Just-In-Time Training ### Training is absolutely critical for success. An ISPF developer will be hard pressed to adopt RDz without it (and there is ZERO evidence that any ISFP developer actually has adopted it without training). As such, you need the *right* training, at the right *time*. The right training is a *minimum* of 2 days in person classroom training, adjusted and or customized for your environment. Yes, *you need to budget for this*. If you are budgeting for RDz and not budgeting for training, I recommend you not purchase the product. In fact, please don’t buy it if that is the case. Your team will fail to use it, you’ll waste money, and everyone will have a bad taste in their mouth afterwards. So now that you’ve read that, and you’ve included some budget room for training, you need to schedule it for the right time, and find the right [RDz partner](/training/rdz) who knows the product well. That is typically the week you expect your ISPF developers to begin actually using the product. You can do a week before, but never earlier than that. That means you need to have the product installed, configured (on both the host and the client) and ready to go on day 1 of training. It needs to be integrated with all the critical systems including SCM out of the gate (see #1 above). An alternative to classroom training is on-demand Computer Based Training. Our organization is currently developing this exact course with videos, interactive quizzing, and lab exercises. CBT based curricula would allow a student to revisit the course several times. Training should also be multivariate as your personnel will learn at different rates. Provide classroom training to everyone at the start, but then provide additional training for laggards, and for new hires (those people hired after the original training finished). Provide interactive lunch-and-learns hosted by your [RDz business partner](/training/rdz), or your team champions (see #3 below). 3) Cultivate Mentors ### To cultivate a product mentor in your organization, you’ll need to train them ahead of the rest of their team. Typically, this person would be involved in the initial pilot or sales demo process and have prior experience with Eclipse. These are the people who will eventually conduct lunch-and-learns post implementation, interact with the IBM support team, and attend conferences such as COMMON or IBM InterConnect or Edge. To cultivate, you need to ensure these folks schedule time in their calendars to interact with the product, read up with its integrations and go through advanced tutorials and product literature. Budget for their attendance at conferences. Provide them a Wiki or Connections site to host so they can interact with other students and share their knowledge. Most of all, make them feel appreciated and reward them for positive efforts. 4) Uninstall the terminal emulators on the desktop ### [![Rational Developer for System z host connection menu](https://www.strongback.us/wp-content/uploads/2026/07/rdz-host-menu-1.png)](https://www.strongback.us/wp-content/uploads/2026/07/rdz-host-menu.png) This is an effective motivator as exemplified by Cortez in 1520 when he sunk his ships to avoid mutiny by his men. As a result, his men were well motivated. To access it, just right click on your host lapr in the Remote Systems Explorer view. Yes, you read that correctly! You may not know this, but RDz includes a terminal emulator as part of the product. Its baked into the IDE and provides all the core functionality of the IBM PCOMM emulator (note that it does not include FTP or macro functionality). Click on Host Connection Emulator and it will bring up the emulator as shown below. [![Rational Developer for System z host terminal emulator session](https://www.strongback.us/wp-content/uploads/2026/07/rdz-host-emulator.png)](https://www.strongback.us/wp-content/uploads/2026/07/rdz-host-emulator.png) ### This GUARANTEES that the developer will have to use RDz just to get to their precious emulator. By the time they get in and are connected, they’ll just as likely go into the other RDz views rather than have to log into the emulator and navigate to their ISPF panels. 5) Adjust the Developer’s Expectations One of the most common excuses I hear is that “we have to deal with production issues fast, so I don’t have time to use it”, or “my boss expects this to be done now, and won’t wait”. This is of course a bogus excuse. RDz makes the job of the COBOL development more productive, but it does have an initial learning curve. Once past that learning curve the productivity accelerates. So how do we combat this issue? First, we need to coordinate executive sponsorship from the C-level down through middle managers. The middle managers are critical on this. They need to set the expectations to their teams that using RDz to solve critical issues is paramount to just “going with the devil that you know”. Thus, the developer should have the expectations, that they are not just the fixing the problem like putting on a bandaid, but applying proper medicine such that the problem never manifests itself again. Ensuring that the middle managers expect them to use their new DevOps tools is a key part of its successful adoption. We’re not just using a tool for the sake of technology, we’re using technology to vastly improve our business outcomes and our productivity. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** devops, ibmz, rdz --- ### [Easy way to manage a developer's prioritized daily backlog](https://www.strongback.us/2016/06/easy-way-to-manage-a-developers-prioritized-daily-backlog) **Published:** June 6, 2016 **Author:** Kenny Smith **Content:** The central tenant of any good Agile methodology is a prioritized daily task list. Even if you are not a developer, you’ll see this concept in business, such as in the Franklin-Covey time management series, or David Allen’s GTD. Its all about breaking up large tasks into achievable chunks, and timeboxing your work in progress so that you show gradual, measurable progress. If your team is beginning to adopt Scrum, SAFe, or other Agile discipline, you’ll like the features that IBM’s RTC provides to enable a smooth transition. It is a [Collaborative Lifecycle Management](/solutions/clm) solution that enables developers, managers, and stakeholder to work collaboratively, providing faster delivery, more accurate delivery, and higher quality software. The Rational Team Concert Eclipse client has a very convenient view call the “My Work” view, which presents as a prioritized daily backlog. This pulls from the team’s central sprint backlog, allowing the developer the ability to see everything he or she has on their plate for the day, the week, and the following week. It also shows any future work in the sprint, as well as future sprints’ work, as well as unplanned work in the release backlog. This short video introduces the view, and shows how to link tasks or defects to source code change sets for traceability. The backlog itself can be managed by a program or project manager, or Scrum master in the web client during a team’s weekly or bi-weekly backlog grooming session. Note here how the developer can further colorize the backlog so as to group similarly affected items (such as those with similar tags). This further enhances the developer’s productivity. For the rest of the team, when the developer makes changes to the work item (such as marking it complete), the whole team can see the change immediately. This helps to avoid the issue with having a project manager going around and tap on everyone’s shoulder to get an update. It also means that the stakeholders and executives can get a clear view of the current status at anytime of the day, without waiting on a status report. This is important for distributed teams that do not come into the office, or are located in different states (or countries). This is much better than just putting up a webcam on the whiteboard that you use to manage the backlog. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** devops, scrum --- ### [What do the various link types in Rational Team Concert mean?](https://www.strongback.us/2016/06/what-do-the-various-link-types-in-rational-team-concert-mean) **Published:** June 2, 2016 **Author:** Kenny Smith **Content:** ![](https://www.strongback.us/wp-content/uploads/2016/06/rtc-link-types-1.png)In an RTC work item, on the links tab, you’ll notice several types of links you can create. When getting started with RTC, its difficult to know what link type to create. If the project area you are using is a LifeCycle project linked to an RQM and DNG project, you’ll find even more link types that may make your head spin. ### Basic Work Item Links For Just RTC Let’s get started with the basics. These links are used only in RTC, and do not link into the other [CLM ](/solutions/clm)tools like [DNG for requirements management](/solutions/requirements-management) or RQM for test management. The first is the **Add Related** link. This is the general purpose links two work items. This linkage type has no real context. It does not tell you *why* the two are linked. Is there a dependency between the two? Is one blocking another? Parent/child? Nope – no context. This is the link type you get when you mention a work item in a comment or description area of another work item. Next is the **Add Related Artifacts** link. This one allows you to link to external content, such as Wiki’s, sharepoint content, Connections content, deployed URL’s and such. This should ONLY be used for external content, not for URL links to other work items. The one link you might rarely, if ever, use is the the **SVN Revisions** link. This is for subversion code revisions. However, your organization may have most likely converted source from subversion (SVN), to RTC. If they have not, they should as RTC source code management is far superior than SVN. ### Directional Links in RTC You’ll notice that many of the links appear in what looks like pairs. This is for a reason. These links are directional. Do you remember diagramming sentences in high school? Finally, here is where you get to use that knowledge! These linkage types provide *context* as to *why* the two are linked. For example, take the linkage pair Blocks / Depends on. These are reciprocal. ![](https://www.strongback.us/wp-content/uploads/2016/06/rtc-blocks-dependson-link-1.png) ![](https://www.strongback.us/wp-content/uploads/2016/06/rtc-duplicateof-duplicatedby-link-1.png) If you specify that Task 1 blocks Task 2, then on Task 2, we should see the link as “Depends On”. Looking at this in the following diagram helps us to understand how to read the two in a sentence: ![](https://www.strongback.us/wp-content/uploads/2016/06/rtc-link-pairs-1.png)![]()Directional relationship between RTC work item linksIn this case, task 1 “blocks” us from working on or making progress on task 2. For example, let’s say task 1 is to *Install WebSphere Liberty on Staging Server*. Task 2 is *Configure Java EE security on the Staging Server*. Obviously, we cannot edit the security configuration on the Liberty server if it has not been installed. This particular linkage type is what the built in work item query “Blocked Work Items” looks for. A project manager or Scrum master can see this view and will be able to better help the team prioritize work and remove obstacles to productivity. If you understand this pairing of link types, then the rest become a bit more obvious. ![]()The **Resolves/Resolved By** is commonly used on defects, where if you fix one defect, it effectively resolves another defect. This one is rarely used on anything but Defect work items. ![]()The **Duplicated By / Duplicate Of** pair, indicate that one task or defect is an exact duplicate of another. This type of link is common when two different people have entered the same defect (perhaps worded slightly different). In this scenario, simply choose one as the duplicate. When one defect is marked as resolved, RTC will mark the duplicate resolved as well. ![]()Lastly, we have the **parent/child link** types. These are special in that a work item can only have one parent (did you know work items were asexual?). A work item, however, can have multiple children. Child work items, in turn can have children, and so on. These also have special behavior properties in RTC, such that the RTC Project Administration (or JazzAdmin), can restrict the parent work item from being closed until all the children have also been closed. This is typically a good practice to have, especially for Stories with multiple tasks. A Story should not be closed until all the children have been completed. ### Planning Links ![]()The next group of links that are specific to RTC, are those that affect project planning. This means that work items with these link types will affect project plans and reports. Let’s start with the **Affects Plan Item** link type. This is typically used on a defect, to indicate that if affects a story or epic. Stories and Epics are *plan items,* whereas tasks and defects are *execution items*. A plan item is the when part of a requirement, as in “when is the requirement going to be implemented”. The execution items are the “how do we implement the requirement”. Plan items are measured in story points, whereas execution items are measured in hours. This link type is the reciprocal link type as **Affected By Defect** link type. This really should only be put on a story or epic to indicate that it is affected by a defect, and on the linked defect, it would have the **Affects Plan Item** link. Next is the Contributes To and Tracks link types. This are linkages between cross-project plans, and allows you to have a work item track another Plan item in another plan or project area. The Contributes To allows you to indicate that a given work item (such as a task), contributes effort to another Plan item. That plan item may be in the current project, or in another project. For example, if you have two project areas, for two very different software projects, and there is a task to install infrastructure that both projects will be running on, we can say that the task “Contributes To” the stories in both project areas. This will allow the work item to show up in project plans in both project areas. \[callaction button\_text=”Learn More” button\_url=”/training/rtc” background\_color=”#333333″ text\_color=”#ffffff” button\_background\_color=”#32a1f0″ button\_text\_color=”#ffffff” rounded=”true”\] ### Formal Training for RTC If you’ve been slogging around trying to learn RTC on your own, we recommend that you get some formal instruction on the product by a knowledgeable vendor who actually works with the product in the field. \[/callaction\] **Categories:** DevOps **Tags:** devops, teamconcert --- ### [Stop manual deployment or scripting deployments to WebSphere App Server - there is a better way](https://www.strongback.us/2016/05/stop-manual-deployment-or-scripting-deployments-to-websphere-app-server-there-is-a-better-way) **Published:** May 16, 2016 **Author:** Kenny Smith **Content:** ## Manual deployments suck Lets face it, we’ve all had the “deployment weekend” nightmare. You plan for a half day of deployment, but it ends up turning into a day and half of wasted time because you’ve either missed something, deployed the wrong version, set the wrong environment parameter, or a late defect showed up that QA did not catch in the past week.Then you go home Sunday afternoon wiped out, and have to answer to your significant other (or your kids), why you were not at the event last night, or why you had to miss the kids game, etc. Manual deployments are error prone, weak, and frankly are a thief to your personal time. ## Jython scripts work but are fragile Hand scripting deployments to WebSphere application server using Jython (or JACL) can be time consuming, and are commonly fragile. As the application changes, so do the scripts that are used to deploy them. Then, if the developer who wrote them leaves the company (and you DO need a developer to maintain them), then how long do you think it will take to get a replacement up to speed? That is a skill that is hard to recruit. ## Automate Deployment to WebSphere While you may shake your head at purchasing a commercial product to do this, ask yourself this: “How much does it cost us in labor to do manual deployments?”, or “How much does it cost us in lost revenue if we screw up a manual deployment?” There is a tool we have been working with and have been deploying at our customers. Its IBM Urbancode. Its simple to use and understand, thus there’s no long ramp up time required to learn it. This means you can distribute the responsibility to kick of the builds across all the members of your team, and they won’t have to sacrifice a weekend to run it. We love this because it allows your development and operations group to: - Reduce the amount of manual labor, resource wait-time, and rework by eliminating errors and providing self-service environments - Increase frequency of software delivery through automated, repeatable deployment processes across development, test and production - Deliver higher quality application releases with increased compliance through end-to-end transparency, auditability and reduced time to feedback Oh, and while this post is in the context of Java/WebSphere, it also works on z/OS to deploy COBOL apps, Windows for .NET apps, Linux for LAMP apps and more. It also works with AWS, Softlayer, and more. **[IBM Urbancode for WebSphere Application Server](https://www.slideshare.net/strongback/ibm-urbancode-for-websphere-application-server "IBM Urbancode for WebSphere Application Server")** from **[Strongback Consulting](https://www.slideshare.net/strongback)** [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** devops, java, WAS, WebSphere --- ### [Easy peasy cross project linking and traceability in IBM CLM (RTC, DOORs, and RQM)](https://www.strongback.us/2016/04/easy-peasy-cross-project-linking-and-traceability-in-ibm-clm-rtc-doors-and-rqm) **Published:** April 22, 2016 **Author:** Kenny Smith **Content:** For years, you’ve probably heard about “traceability”, that mysterious shangri-la that are read about in case studies. Well, obtaining traceability is not rocket science in [IBM’s CLM tools](/solutions/clm). This video below shows you how to set it up at an atomic level, meaning, between specific artifacts between the three CLM applications. In a nutshell, you need to think of traceability as WHO, WHAT, WHEN, and HOW. ### WHAT = Requirement in DOORs NG A requirement defines *what* we are going to develop. It is the definition, the description of the software feature that gets implemented. This is most commonly done using User Stories (sometimes use cases). While DOORs NG has several other artifact types, the User Story Elaboration is the glue we want to adhere to. ### WHEN/WHO = Story work item in RTC If you have the full CLM stack, you’ll likely be putting the full requirement text in the DOORs artifact. If you only have RTC, then follow our previous advice on [Writing User Stories within IBM Rational Team Concert](https://www.strongback.us/2016/03/11/writing-user-stories-within-ibm-rational-team-concert). In the case of full CLM, however, the Story merely represents *when* the requirement gets implemented, and *who* is responsible for completing it. The details of the Story work item in RTC are linked to the User Story Elaboration in DOORs. We will leave to your team’s discretion to copy the details into the body of the story work item, however, we do encourage you to copy the acceptance criteria into the acceptance area, if you have not already captured it. ### HOW = Test case in RQM Finally, the HOW is the test case that confirms *how (or if)* the story implemented the requirement. The test case depends upon good acceptance criteria. If provided, the test case and scripts can be written in short order. #### BONUS: WHERE = deployment via UrbanCode So, as a final bonus, you may be thinking “but you forgot the where part”. While Urbancode is not part of the official package, it certainly should be part of the solution. This defines *where* the code gets deployed. If you are unfamiliar with it, Urbancode is a [deployment automation](/solutions/continuous-release-deployment) tool, that can handle deployment to multiple environments. It can reduce your deployment time by as much as 95% by automating all the manual tasks required to push a product into an environment. [IBM CLM Linking And Traceability](https://vimeo.com/163015079) from [Kenny Smith](https://about.me/smithkenny) on [Vimeo](https://vimeo.com/). In a future video, I’ll demonstrate a scenario where we can link at a higher level using Requirements Collections, Sprint Plans, and Test Plans. This level of linking helps to visualize gaps in a test strategy, ensure accountability on the implementation of requirements, and identify stories that are affected by defects. \[cta id=’1419′\] **Categories:** DevOps **Tags:** clm, devops, doors, RQM, RTC --- ### [Configuring Release Numbers in Rational Team Concert](https://www.strongback.us/2016/04/configuring-release-numbers-in-rational-team-concert) **Published:** April 15, 2016 **Author:** Kenny Smith **Content:** The defect work item in Team Concert has a attribute labeled “Found In”. This field is not populated by default, and often causes confusion for new users. The intention for this field is to tell the development which release the defect was found in. Thus it’s important to understand, that RTC will certainly not know what your release numbering is when you install it. This has to be configured by the RTC project admin or release engineer. This video shows how to configure the release numbers in the project settings of Team Concert. If you have not configured a release nomenclature, it is best to do so before configuring this section. Also, if you are using [IBM Urbancode](/solutions/continuous-release-deployment), you will want to use the release names as they are deployed from Urbancode. [Release Numbering](https://vimeo.com/163026840) from [Kenny Smith](https://vimeo.com/smithkenny) on [Vimeo](https://vimeo.com/). For more information on RTC, see our [Collaborative Lifecycle Management](/solutions/clm) solutions, and [DevOps](/solutions/devops) solutions over on our website. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** CI, devops, teamconcert --- ### [Strongback Website Update: new Devops solutions](https://www.strongback.us/2016/04/strongback-website-update-new-devops-solutions) **Published:** April 7, 2016 **Author:** Kenny Smith **Content:** We have finally updated our website to address the services we’ve actually been doing over the past few years. For so long, we’ve neglected the content on the website, frankly, because we were too busy. Now, after a couple of weeks of intensive work, we finally have content that reflects what we *really* do and what want to do. Yes, we still do Enterprise Modernization, including advanced deployment and customization of HATS applications and adoption strategies for RDz and RDi. However, we’ve expanded our whole [DevOps ](/solutions/devops)approach to include service offerings such as: - [Collaborative Lifecycle Management (CLM)](/solutions/clm) - [Continuous Build and Deployment (CI)](/solutions/continuous-release-deployment) - [Continuous Testing](/solutions/continuous-testing) - [Application Performance Monitoring](/solutions/application-monitoring) We also have some rather new offerings that are purely services oriented. We now offer [extended WebSphere Application Server 6.1](/solutions/websphere-support) support for customers who cannot migrate to later editions due to third party software limitations. We also now offer remote [DevOps Software Management](/solutions/managed-devops) for customers that cannot justify hiring a full time resource just to manage their RTC, RQM, DNG, or Urbancode servers. There are other goodies in there as well that you may or may not notice. Of course, we spent some time on better URL navigation, analytics, and SEO. But it should be much easier to find out exactly what solutions we offer. In the coming weeks/months, we’ll also be adding new pages to the Industries area, as well as more case studies. In the meantime. Go ahead. Take a peek and let us know what you think! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps --- ### [InterConnect 2016: Tips for Developing and Testing IBM HATS Applications](https://www.strongback.us/2016/03/interconnect-2016-tips-for-developing-and-testing-ibm-hats-applications) **Published:** March 28, 2016 **Author:** Kenny Smith **Content:** This is from our presentation at the InterConnect 2016 conference in Las Vegas, February 2016. IBM Rational Host Access Transformation Services (HATS) can dynamically transform your terminal-based applications into rich web pages. It is highly customizable and built on Java EE technology. We discussed some lessons learned from a very (very) complex HATS engagement. We also discussed proper development strategies, and how to distribute workload across team members. We’ll introduce a novel approach to unit testing advanced customizations using JUnit, and will also talk about how to address functional testing. **[Tips for Developing and Testing IBM HATS Applications](https://www.slideshare.net/strongback/tips-for-developing-and-testing-ibm-hats-applications "Tips for Developing and Testing IBM HATS Applications")** from **[Strongback Consulting](https://www.slideshare.net/strongback)**If you would like the source code examples used in this presentation, [please contact us](https://www.strongback.us/contact). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** devops, ibm, mainframe, systemz --- ### [Creating and Sharing Work Item Queries in Rational Team Concert](https://www.strongback.us/2016/03/creating-and-sharing-work-item-queries-in-rational-team-concert) **Published:** March 15, 2016 **Author:** Kenny Smith **Content:** Rational Team Concert uses work items as the “glue” to bind various artifacts together. It links source code change sets to tasks, tasks to user stories, defects to test plans, stories to requirements. Work item queries allow you to easily create repeatable searches into the RTC system for just about any work item type and attribute that you can imagine. Queries, once created, can then be shared with colleagues, other teams, or the entire project. This video demonstration shows you the following: - Where to find work item queries - How to create and save a query - Sharing queries with individuals or teams - Work with query conditions - Full text queries - Querying on traceability links - Change column orders and column sorting [Rational Team Concert: Managing Work Item Queries](https://vimeo.com/159079859) from [Kenny Smith](https://vimeo.com/user7519232) on [Vimeo](https://vimeo.com/). Additional helpful links on work items and queries: [Work Item Tracking in RTC](https://jazz.net/products/rational-team-concert/features/wi) [IBM InfoCenter: Creating work item queries](https://jazz.net/help-dev/clm/index.jsp?re=1&topic=/com.ibm.team.concert.dotnet.doc/topics/t_creating_a_query.html&scope=null) [Quick Query Syntax for the My Work View in Quick Planner (v6)](https://jazz.net/help-dev/clm/index.jsp?re=1&topic=/com.ibm.team.apt.doc/topics/r_quick_query_syntax.html&scope=null) [Advanced User’s Guide to Querying Work Items in Rational Team Concert](https://jazz.net/library/article/1007) [callaction button_text=”Download” button_url=”https://www.strongback.us/go/10-kpis-for-development-intelligence?lp-variation-id=0″ background_color=”#333333″ text_color=”#ffffff” button_background_color=”#32a1f0″ button_text_color=”#ffffff” rounded=”true”]Discover the 10 Key performance indicators you need to be collecting to optimize your Agile development pipeline.[/callaction] **Categories:** DevOps **Tags:** rational, RTC, teamconcert --- ### [Video: Creating and using personal dashboards in IBM Team Concert](https://www.strongback.us/2016/03/video-creating-and-using-personal-dashboards-in-ibm-team-concert) **Published:** March 14, 2016 **Author:** Kenny Smith **Content:** This video was requested by a customer to show their employees how to create a personal dashboard from a project area. These videos are in the public domain by intention, and thus our ability to share it with you. In this situation, we created a custom dashboard template in the project area’s configuration. Widgets were placed in a 3 column layout, and the widgets settings are automatically created using mementos (which are predefined settings for the widget). This allows us to have a single, consistent dashboard that provides a common instrumentation for everyone to understand. We can place widgets that are backed by our team’s work item queries, specific to this project. [Creating a Personal Dashboard in Rational Team Concert](https://vimeo.com/158915504) from [Kenny Smith](https://vimeo.com/user7519232) on [Vimeo](https://vimeo.com/). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** RTC, RTCEE --- ### [Lessons in how NOT to implement IBM DevOps tools (Antipatterns)](https://www.strongback.us/2016/02/lessons-in-how-not-to-implement-ibm-devops-tools-antipatterns) **Published:** February 25, 2016 **Author:** Kenny Smith **Content:** This week we presented at the IBM InterConnect conference in Vegas. This was information compiled from multiple customer engagements over the past few years. **[Patterns and Antipatterns for Adopting IBM DevOps Ttools](http://www.slideshare.net/strongback/patterns-and-antipatterns-for-adopting-ibm-devops-ttools "Patterns and Antipatterns for Adopting IBM DevOps Ttools")** from **[Strongback Consulting](http://www.slideshare.net/strongback)** If you are looking to implement the IBM platform as your Application Lifecycle Management platform of choice, and need help or direction, please contact us. We’ll help you get it deployed right, the first time. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, devops, IBMInterConnect --- ### [What does it mean to "Shift Left"?](https://www.strongback.us/2016/02/what-does-it-mean-to-shift-left) **Published:** February 23, 2016 **Author:** Kenny Smith **Content:** If you are at **IBM InterConnect**, you’ll frequently hear the phrase “shift left”. Its meaning may go over your head at first, but here is what it means. Everyone has heard this before, but the latter in the development cycle a defect is caught, the more expensive it is to fix. In the chart above, as you move from left to right, the cost goes up. Thus, when we say “shift left”, we mean, reducing the cost of development and maintenance of software by invoking testing earlier in the development cycle. #### How do we do shift left? The farthest left we can push is to Unit testing. Unit testing is the process of a developer creating a code to test other code. It is *developer* driven, but is something that can be automated as part of the build cycle. There are numerous open source and commercial unit testing solutions out there, including JUnit, cppUnit, xmlUnit, nUnit, and zUnit. Oh… you don’t know what zUnit is? Well, that is a xUnit type framework for unit testing COBOL and PL/I on the z/OS (mainframe). Yes. I you read that correct. Mainframe unit tests. Watch the video conducted by our friend Jon Sayles for more information: Unit testing is an amazing, misunderstood and grossly undervalued type of testing. It BY FAR is the most valuable testing that you can do. It will actually *accelerate* development, not retard it, which may be contrary to your initial thought. However, unit testing may not cover every possible scenario. It certainly may not catch security, or performance testing needs, nor will it solve the overall ‘black box’, or user acceptance testing (UAT) need. This is where commercial tools such as [Rational Test Workbench](https://www.strongback.us/ibm/?svpage=Software-Rational-DevOps), and [Rational Test Virtualization Server](https://www.strongback.us/ibm/?svpage=Software-Rational-DevOps) come into play. Test Workbench can test the UI from the browser perspective and run through various scenarios with multiple data points. Service virtualization creates stubs of the dependent systems (such as MQ, or the DB2 instance) such that you can call the the system under test, without invoking the dependent systems. The stubbing features work on all systems (including mainframe) and can stub entire subsystems (MQ, DB2, CICS, etc). This lets you you truly test the software you are developing in isolation. The next pillar to shift left is automation. Automating this into your DevOps continuous deployment pipeline such that these tests are conducted before *any* manual tests are conducted means spending le$$ money on regression testing, and thus catching the defects earlier in the cycle. This is shifting left. If this sounds of interest to you, let us set up a [demo or consultation](https://www.strongback.us/contact) and show you how it can benefit your organization. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** IBMInterConnect, ShiftLeft --- ### [Our sessions at IBM InterConnect 2016](https://www.strongback.us/2016/02/our-sessions-at-ibm-interconnect-2016) **Published:** February 19, 2016 **Author:** Kenny Smith **Content:** For those of you going to IBM [InterConnect](http://www.ibm.com/cloud-computing/us/en/interconnect/) next week, we will be presenting the following sessions. ## Session Schedule NumberTitleWhereWhen2365APatterns and Antipatterns for Adopting IBM DevOps ToolsMandalay Bay SOUTH – Surf Ballroom AWed, 24-Feb 08:30 AM – 09:30 AM2381ATips for Developing and Testing IBM Host Access Transformation Services ApplicationsMandalay Bay SOUTH – Surf Ballroom AMon, 22-Feb 10:30 AM – 11:30 AM2496AThe Skills Dilemma: A Panel Discussion with Peers and IBM ExpertsMandalay Bay SOUTH – Lagoon LTue, 23-Feb 10:00 AM – 11:00 AM ### What are these sessions about? #### Patterns and Antipatterns for Adopting IBM DevOps Tools In this, we discuss our experience implementing various DevOps tools including Rational Team Concert, DOORs Next Generation, RDz, RDi, and other editors, as well as concepts regarding Agile adoption. We’ll cover what you should do, as well as examples of what not to do. #### Tips for Developing and Testing IBM Host Access Transformation Services Applications This is geared towards the audience with a general familiarity with IBM HATS. We’ll go over the general flow of designing different types of HATS apps from the simple to the complex. We’ll also cover testing strategies and introduce a Unit Testing framework we wrote to test custom HATS Java code in isolation from the host system. This unit test framework saves a HUGE amount of wasted time from regression errors and helps to promote and ensure quality deep in the system. We also cover some gotchas on performance testing. #### The Skills Dilemma: A Panel Discussion with Peers and IBM Experts Here, we’re on a panel with others members of the IBM community (business partners and IBM’ers) discussing how to get over the skills hurdle, how outsourcing is not a panacea, and how your organization can better prepare for the business challenges ahead. We look forward to seeing you next week!! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** IBMInterConnect --- ### [Anti-pattern: Using the IBM Rational Jazz Tools in Place of a Help Desk Suite](https://www.strongback.us/2015/10/anti-pattern-using-the-ibm-rational-jazz-tools-in-place-of-a-help-desk-suite) **Published:** October 20, 2015 **Author:** Kenny Smith **Content:** A common anti-pattern for the Jazz tools (RTC, RQM, and DNG) is using them in place of a true help desk application. Help desk apps are designed to handle the recording of calls to the desk, categorizing the problems, and assisting the call agent with remediating those problems. In some cases a help desk system can offer self-service functions to the end user, alleviating the load on the help desk. The Jazz tools are designed to manage software application development lifecycle, collaboratively. As such they have specific functions, and subsequent licensing that should not be exposed directly to the end user (these licenses are not cheap). Rather, a role of the help desk should be separating help desk calls from true software defects. With a help desk system, an organization wants to capture the nature of EVERY call. Using RTC to capture the contents of every call is ludicrous (and expensive). It is like using a screwdriver, when you need a hammer. RTC makes for a mediocre (at best) help desk. Help desk items tend to have multiple different types of calls: - User error (RTFM) - Inquiry (“How do I do this? Where are the manuals? When is training?”) - Facilities management questions (“The accounting department’s A/C is not working”) - Occasional wrong number - Defect in COTS (which requires remediation by the vendor of the product) - Defect in actual software that is written by the organization, and needs to be remediated - Request for enhancement (which can be further categorized) As you can see, all but the last two categories are not relevant to *any* of the Jazz tools. As such, the Jazz tools should not be used as a first line of defense for help desk. However, for these two last issues, there is an opportunity for collaboration, whereby the data entered into the help desk can go right into RTC as a defect, or task and save on data entry errors, while capturing linkage between the RTC defect and the help desk ticket. The key here is having a help desk system that is capable of doing just that. That is where the IBM Control Desk comes into play. Control Desk is a suite of components including one that integrates with the Jazz tools via OSLC. The Service Request Management feature provides full help desk management functions, including routing of tickets to appropriate queues. Here is an overview of Control Desk’s Service Management features: The Tivioli Service Request Management is a piece of Control Desk that allows integration with the Jazz tools. This video belows describes how, in the process of a help desk call, the CCR can route a ticket into RTC as a software defect. By using the OSLC interface, the CCR creates a defect in RTC, via Control Desk. The work item is linked to the ticket and vice versa. This is very helpful for the software developer, as he/she can navigate bidirectionally to understand the nature of the problem, and the collaboration that has taken place previously (without having to wade through hundreds of email chains). The cost of Control Desk makes this a highly competitive solution, and considering its features, a more complete solution than using RTC as a help desk. While you can customize RTC to act like a help desk, it will never provide sufficient features for the audience. When one considers the licensing cost, it especially makes sense. If your organization has another help desk system, it is possible to integrate the two via the OSLC bridge API, which we have worked with in several prior engagements. However, it is important to understand that one must use the right tool for the right job, not customize a tool designed for a different job, when a cheaper, and more appropriate tool is already available. For more information on RTC customization and help desk integration, [contact us](/contact), and we’ll be happy to work with your needs. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, OSLC, rational --- ### [How to Install IBM DevOps tools with IBM Packaging Utility and Installation Manager](https://www.strongback.us/2015/08/how-to-install-ibm-devops-tools-with-ibm-packaging-utility-and-installation-manager) **Published:** August 31, 2015 **Author:** Kenny Smith **Content:** IBM has an extensive catalog of desktop products, especially for application and database development. Some of those tools offer features and functions that can only be realized when combined with another product. In such cases, the products need to be installed into the same Eclipse package. This presentation shows you how to combine, deploy, and update these packages in a centralized manner. **[Creating installations-with-packaging-utility](https://www.slideshare.net/strongback/creating-installationswithpackagingutility "Creating installations-with-packaging-utility")** from **[Strongback Consulting](https://www.slideshare.net/strongback)**For more information on Tivoli Endpoint Manager, or if you need help deploying your IBM Rational DevOps tools, [contact us](/contact). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, rational --- ### [Unpacking IBM Software from Passport Advantage the easy way](https://www.strongback.us/2015/08/unpacking-ibm-software-from-passport-advantage-the-easy-way) **Published:** August 17, 2015 **Author:** Kenny Smith **Content:** Some of the IBM software can include multiple multi-gigabyte files, all of which are required for installation. IBM Rational Application Developer is good example. Using the normal windows unzip functionality can make for a bit of a tangled mess of a download directory if you’re not careful. I’ve been working with this software for over a decade and have a pretty simple way to make it go much easier. First, make sure you have Java installed. Open a command line and type java -version. If you get a proper version report, you should be good to go. Otherwise,[ install a Java JRE](http://www.oracle.com/technetwork/java/javase/downloads/index.html), and ensure you have also installed the browser plugin to make the next step go easier. Log into [Passport Advantage](http://www-01.ibm.com/software/passportadvantage/pao_customer.html) and locate the software you’ve purchased. If you can, when downloading, use the Download Director option to make sure all the software is delivered into the same directory, and downloaded as fast as possible. Download Director uses a Java task to open multiple HTTP ports back to IBM to download multiple streams simultaneously. This can mean the difference between downloading at 200Kbps vs. 1200 Kbps. Once the download has completed, open a command line and navigate to your DownloadDirector directory on your hard drive. Assuming you are using Windows, enter this command: dir /b > unpack.bat This will print the contents of the directory (mostly zip files) without any other attributes. Now, open the batch file in Notepad or [Notepad2](http://www.flos-freeware.ch/notepad2.html). Here is an example where I downloaded the [RAD 9.5 beta](https://www.ibm.com/developerworks/community/blogs/e4210f90-a515-41c9-a487-8fc7d79d7f61/entry/what_s_new_in_rational_application_developer_v9_5_beta?lang=en). ![]() Prepend jar -xvf in front of each file name. This calls the java jar command, which is much like a linux/unix tar command. In fact it uses nearly identical parameters (xvf). **x** = extract **v** = verbose (not really needed, but makes you feel like its actually doing something as the content whizzes by) **f** = force This will then extract the contents of the zip files into the correct directory structure. You can then run the installer or launchpad.exe to install the software. In the case of the RAD 9.5, the installer is located in the RAD\_SETUP directory: ![]() Once extracted, you can then delete the zips. However, I often archive the zips to a separate drive for further reference if needed. I never archive the extracted files – too much to navigate through and too fat to store. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, rational --- ### [Using JUnit to unit test IBM Rational HATS applications](https://www.strongback.us/2015/07/using-junit-to-unit-test-ibm-rational-hats-applications) **Published:** July 21, 2015 **Author:** Kenny Smith **Content:** ### Why unit testing? ### Any developer worth their salt, uses unit tests to validate that their code satisfies the task or tasks the code is supposed to do. Unit testing encourages modular development. [Junit ](https://en.wikipedia.org/wiki/JUnit)for Java was one the first and certainly the most well known. Other frameworks for other languages have popped up all over the industry for other languages (nUnit for .NET, cppUnit for C++, etc). I won’t lecture on the benefits, but will refer you to other sites for proof: [Why not just use a debugger?](http://junit.org/faq.html#best_6) [Why not just use System.out.println()?](http://junit.org/faq.html#best_6) [Why use JUnit for testing?](http://stackoverflow.com/questions/10858990/why-use-junit-for-testing) Why it’s difficult to unit test HATS Not all HATS applications require complex testing. Many (and I mean MANY) HATS applications just use some simple customizations and one of the existing out of the box templates. Very few use anything more complex than a custom page template, and rarely ever use any custom Java code. This is quite normal. IF this is your scenario, and you have no custom Java code, then skip down to the bottom of the article. However, some shops might need more customization than what is available out of the box. This is where some unit testing may be needed. HATS relies on a runtime (Telnet connection) back to a host system. With JUnit, you really do not want to have to run a test that only tests a single class while having the whole system running and connected to the host. This is similar to issues with unit testing EJB 2.x, where you could really only test in a live environment and it required a secondary framework such as Cactus to get the results out of the live environment. This can be overcome by using what’s called mocking and stubbing. By that, I mean mocking the runtime connection and stubbing the API’s results. Mockito and Powermock are excellent tools for mocking, and can be used with HATS to mock the runtime. However, there is a major hurdle in using this, it is because when running a JUnit test that uses the mocking framework, you’ll run into a NoClassFoundException issue, where the mocking framework cannot stub a return result because it cannot find the class to stub. Fear not, however, as we’ve found the solution. Keep reading. ### Introducing Mocking and Stubbing with Mockito This presentation (courtesy of Richard Paul), covers Mockito pretty well. Mockito also has EXCELLENT JavaDoc detailing the ins and outs of using the framework (it is such excellent JavaDoc, I use it as an example of how a developer should be creating Javadoc for his/her custom code). ### **[Mocking in Java with Mockito](https://www.slideshare.net/rapaul/mockito-presentation "Mocking in Java with Mockito")** from **[Richard Paul](https://www.slideshare.net/rapaul)**Mockito is excellent at creating concrete mock objects. One of the first things you may want to mock, is a specific host screen. This is detailed below. Mockito cannot, however, mock static classes. Those must be handled by PowerMock. Keep in mind, that there are several HATS API objects that are *static*, and you will have to use PowerMock to mock those items (such as the ECLPS class). ### Mocking i or z Screens When we were creating this framework, we came across a neat little constructor in the HATS API, that allows you to create a HostScreen object from an XML file. If you pass in an XML Document object to the constructor **new** HostScreen(), you will get an object you can then interact with. The HATS Screen Captures are XML files, but you must read them in, and get them into a org.w3c.dom.Document object. This little snippet above will do that for you. **protected** HostScreen buildHostScreen(String fileName) **throws** UnsupportedEncodingException, ParserConfigurationException, IOException , SAXException { //Courtesy of Strongback Consulting – new.strongback.us URL url=this.getClass().getResource(fileName); String file= URLDecoder.decode(url.getFile(), “UTF-8”); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document screencapture = builder.parse(file); HostScreen hostscreen = **new** HostScreen(screencapture); return hostscreen; } ### Overcoming a key HATS impediments (missing code) ### So, if you’ve attempted to mock and stub, you will eventually run into a NoClassFoundException on com.ibm.eNetwork.HOD. You can try and look in the HATS runtime jar files (any of them), but you will not find it. On a recent project, we were working with one of the HATS product architects and asked about this particular dilemma. As it turned out, the reference to this object is never used, and thus not ever included in the hatsruntime.jar, nor any included HATS jar files. It is a class that is part of the Host on Demand API, and only parts of that API are actually included in the HATS toolkit – only those that are actually used. By simply creating an empty class, we were finally able to get this mock to work! Just create a new package, and a new class in the package as follows: package com.ibm.eNetwork.HOD; public class ScreenHistory { //this is never used, but required to complete //a mock object } ### Now, you should be able to build your mock object. What to test If you have a Java class that does not use any HATS API (such as a convenience class, a POJO, or utility class), then you likely do not need to mock it. However, there are several types of HATS objects that require mocking. These include: - Business logic – use the snippet of code above to help you create the HostScreen object - Custom Widgets - Custom Components - Custom Screen Recognition (yes, this is a real thing you can create to handle custom screen recognition if all the other options leave you dry) - Macro Custom Actions (yep, another thing you can create custom) In general, not only can you mock these items, but you should mock the objects above. Testing them in a mock framework will prove highly fruitful. You can debug the code in isolation, without being connected to a mainframe or AS/400. You do need to gather screen captures first. This is beneficial also, because in some conditions, you might have to have different test data everytime you go to a specific screen. Mocking, allows you to use the same screen capture for multiple tests. Also, you can run through multiple scenarios in a single unit test. Just grab screen capture for each scenario. ### Guidelines Here are a few general guidelines to to help you with this process: - - “Pull up” common code into a super class, so all subclasses can reuse the same code (keep it D.R.Y.) - It may not seem like it at first, but unit testing is FASTER than debugging in a live environment. - Debugging JUnit code is even faster. - Be sure to account for multiple scenarios. - Make it part of your continuous integration plan – have Team Concert, or Jenkins run a build on every checkin of code. ### Other types of testing to be concerned with Unit testing only goes so far. It is not a replacement for full system testing, or security testing. Keep these testing types in mind also: - - Functional testing – RFT, and Selenium. RFT has the benefit of being able to run function tests against a telnet application (5250 or 3270). Reuse the same data in HATS - Performance Testing - Policy and compliance testing (ADA, screen readers, etc) - Security testing (white box, and black box) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** HATS, ibm, junit, rational --- ### [Strongback Presentations at IBM InterConnect 2015](https://www.strongback.us/2015/02/strongback-presentations-at-ibm-interconnect-2015) **Published:** February 21, 2015 **Author:** Kenny Smith **Content:** Strongback will be hosting two presentations this year. These are in the DevOps tracks, and in the Mandalay Bay side of the conference. **DAX-5162 :** C-ing is Believing: Being Smart about C/C++ Development on AIX and Linux **Session Type :** Meet the Experts **Date/Time :** **Tuesday Feb 24, 12** –**12:50 PM** (Pacific Time) **Venue :** Mandalay Bay Expo Hall **Room :** Dev Ops & CE Engagement Center **Abstract:** Finding talent for C/C++ development for UNIX systems can be a challenge. However, it does not have to be so difficult. Using Rational Developer, you can have more junior developers or cross-skilled developers do the kind of slick development that punches above their weight class. See how the productivity features of the editors far exceed what vi can do. See how static code analysis can reduce your defect cycle time to streamline code maintenance and improve the performance of your applications. **DAX-3966 :** Green Screens? Verde Screens? Internationalize and Modernize Your Green Screens with Rational HATS **Session Type :** Breakout Session **Date/Time :** **Thursday, 26-Feb, 10:30 AM-11:30 AM (Pacific Time)** **Venue :** Mandalay Bay **Room :** Islander Ballroom H **Abstract:** Rational HATS is a solution to dynamically transform 3270 or 5250 green screens into rich web applications. It is a highly extensible product written in Java EE. We will show you how to extend the product to translate field labels on the fly into multiple languages. We’ll also discuss the product’s support for different character sets. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** IBMInterConnect --- ### [Making IBM Rational HATS A Strategic Investment](https://www.strongback.us/2014/10/making-ibm-rational-hats-a-strategic-investment) **Published:** October 17, 2014 **Author:** Kenny Smith **Content:** Here is another presentation we did a the IBM Innovate conference in June 2014. Using HATS to create web services from 5250 or 3270 terminal applications is a common use case for HATS. You can also *consume* services either in the interface (i.e. RESTful or JSON), or through HATS macros or Business Logic (i.e. custom HATS Java code). HATS can also connect to relational databases using Business Logic. With the IBM i, you can also integrate with PCML (Program Call Markup Language) interfaced IBM i apps. **[Making Rational HATS a Strategic Investment](https://www.slideshare.net/strongback/making-rational-hats-a-strategic-investment "Making Rational HATS a Strategic Investment")** from **[Strongback Consulting](https://www.slideshare.net/strongback)**If you are interested in additional HATS related links and content, check out our Delicious.com links: . You can also find related content using the labels on the right hand side of this blog. If you need assistance with your current HATS environment we can help there as well. Contact us! \*First Name Last Name \*Email \*Phone Company Comments [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** HATS, ibm, mainframe, rational --- ### [13 steps you need to take to improve your web site performance](https://www.strongback.us/2014/10/13-steps-you-need-to-take-to-improve-your-web-site-performance) **Published:** October 15, 2014 **Author:** Kenny Smith **Content:** #### Consolidate your CSS #### There is no reason to have more than 3 stylesheets in your application (with a few notable exceptions). In most cases, 1 will suffice. If you have a CSS for every page, you are doing it very very wrong. CSS should be reused across multiple pages. If the page is supposed to have the same theme as another, just different content, then why have a different CSS? Refactor your CSS so that it applies across your website. This not only makes it less to download, but makes it more manageable in the long term. What many neophyte web designers do not realize, is that every single Javascript, CSS file, and image file represents a separate HTTP call. A web page has to make multiple trips to a website, and does so serially. That means the more files from the same site, the more calls it has to make, and each call adds latency to the web page. Consolidate your JavaScript #### First, read the second paragraph above. Second, look to see how you can reuse some Javascript functions. You might also delight in using a Javascript framework such as JQuery, or Dojo, which will make your Javascript writing more efficient, and allow you to reuse code that has already been written and perfected by someone else. Use a CDN to host your JavaScript frameworks #### Remember my comment about pulling down multiple files in serial? Well, its only serial if its from the same web site. If from another website, it can do so in parallel. If you are using a Javascript framework, you can pull it from a content delivery network (CDN) such as [Google’s Hosted Library](https://developers.google.com/speed/libraries/devguide). This also means less HTTP traffic on your network, and therefor less work on your servers. Keep in mind however, that this may not work well if your target audience is behind a firewall. Some firewall might prohibit access to these sites. In such situations, you could host a CDN behind your firewall, and even host your own customized Javascript libraries (or CSS libraries). Minify your static files The [YUI Compressor](http://yui.github.io/yuicompressor/) is a great utility to compress static text files such as CSS, and Javascript. It can be run on a command line. This removes redundant whitespace from these files, and optionally redundant semicolons. This can save as much as 70% in file size transfer. Now, your first objection might be “but I can’t read minified Javascript when I’m debugging!”. Well… duh! Don’t minify it in your IDE, and certainly don’t check in minified code to your SCM. Rather, make this part of your build automation, and minify it right before you package your WAR file. Add the following ANT lines into an ANT target (replace the variables accordingly). Then it gets minified on build, but yet is fully readable in your source editors and source code management systems. If you use CDN delivered Javascript frameworks, make sure you at least use the minified version in production. #### Shrink your JSP’s by moving styles into your style sheets #### This is likely self descriptive, but the smaller your JSP, the less load on your application server. Move this into your CSS file. Same logic applies to Javascript functions in your JSP’s. Move those functions into your JS files. Its easier to cache static content, than JSP’s, thus taking further load off the application server. Also, only use an tag if the image is part of the *content*. If its there for decoration, use a background-image attribute for a stylesheet. #### Combine smaller images into a single sprite Some web sites that have lots of small images that represent controls, or navigational elements. Many are less than 10px in width or height. These can be combined into a single sheet, and [referenced as sprites](http://www.w3schools.com/css/css_image_sprites.asp) in a stylesheet using the following syntax: \#home { width: 46px; height: 44px; background: url(img\_navsprites.gif) 0 0; } This can dramatically cut down on the number of HTTP calls and subsequently cut down on the total page load time. #### Shrink your images High resolution images are important, when they are part of the *content*. If they are merely decoration, such as in the case of stock images for a business web site, lose the resolution, and save some bandwidth. That image of people in business suits poised over a conference table does not need to be high definition 1920px wide. Such images can be as large as 2MB. When they load in a browser, they will typically buffer (i.e. slowly render from top to bottom). Worse, if they are as images, or in imported stylesheets, the whole site will wait until the entire image is loaded. This adds the most unneeded latency. In some cases, you might only need a portion of the image, but just dropped the entire stock image in the directory for convenience. In this situation, crop the image to only the dimensions you actually use. #### Replace images with CSS I have a huge pet peeve with creating images of words because you want to use a font that is only available in Photoshop, or because you want some effect on the text. HTML5 and CSS3 allow you to use @font-face to load the font from a stylesheet on demand. The new standards also allow you to apply effects such as skew and text shadow Also, an image is not indexable, nor is it searchable by web crawlers, thus reducing your potential SEO. Remove the images, and put in simple text, decorated with [CSS3 text effects](http://www.w3schools.com/css/css3_text_effects.asp). #### Always, always, ALWAYS use an HTTP Server – never your application server transport chain No matter the Java application server you use, it will not be as efficient at HTTP transfer as a true HTTP server. Period. The WebSphere Application Server’s HTTP transport chain is ***not*** an HTTP server. It serves up content as HTTP, but this is a raw I/O channel. Rather, it is easy to setup the IBM HTTP Server (or Apache Web Server) to front end the traffic. It offers the benefits of URL Rewriting, caching, and load balancing to back end clusters. Even with Tomcat, you should use the mod\_jk module (i.e. the AJP connector) to front end with Apache. I even recommend using an HTTP server in front of web services servers. This allows the web server to proxy information into one of possibly many servers in a WebSphere cell (if you use WAS), without having to call a specific port for a specific JVM member. This means that you can move applications around to different application servers to best meet the resource demands, without affecting the web services consumer. #### Add a caching proxy for static content When it comes to caching, the closer to the browser, the better. A caching proxy can cache images, style sheets, javascript files, and more for longer periods of time than a browser, and can intelligently cache it for multiple clients and applications. For example, if you have 50 applications in your environment and 20 of them use the same 10 images, and the same 5 Javascript libraries, then running traffic through an caching proxy means you save that much more traffic on your application server. #### Move validation logic to the browser Form validation is now highly mature in Javascript frameworks, and while you shouldn’t necessarily remove the validation from existing Java code, you are well served to add client side validation. This means less round-trips back to the server. #### Use WebSphere Dynacache or eXtreme Scale for dynamic caching If you have data that cannot be cached, and must be calculated either on a session or application level, the WebSphere dynacache and eXtreme Scale are excellent tools to improve application response time. Both can be used to cache user session data, application context data, and more. Dynacache is included with all versions of WebSphere Application Server, but eXtreme Scale is bundled only with Network Deployment version. They do require some custom API calls to implement, and they do tie you to a specific application server. However, if you’re going to need something this caliber, you’re likely going to need the most scalable app server out there… which is WebSphere App Server. #### Scan and analyze your Java based web app We could certainly go into great detail on application maintenance, but we can summarize all these steps in one category: static code analysis. If you are running Rational Application Developer (RAD), you have one of the most powerful static code analysis tools on the market. This best kept secret of RAD is extremely good at finding common anti-patterns. - 541+ provided rules - Integrated results view with click-to-source navigation - Explanations, examples, and quick fixes - Supports customer rule creation based on rule templates - Extensive context sensitive help - Produces HTML/PDF reports with violations and violation metrics - Supports configuration of rule sets for use in different scopes and environments - Run interactively or invoke from command line - Integrate with automated builds A single run with this tool can identify defects and performance bottlenecks before they occur. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** webdesign --- ### [Fighting spam and hackers with FIRE(walls): How to reduce contact form SPAM.](https://www.strongback.us/2014/09/fighting-spam-and-hackers-with-firewalls-how-to-reduce-contact-form-spam) **Published:** September 2, 2014 **Author:** Kenny Smith **Content:** We’ve been having a hell of a time with Salesforce contact form spam as of late. Its been littered with junk about cheap Air Jordans, Louis Vitton bags, and other assorted hijack links. In the course of a week, we could have as many as 300 new “leads”, all of which were spam, and that was after instituting form validation on all the contact fields. So, the next step was to find out where this spam was coming from. By adding a hidden field to the form, and tying it to the lead source, we were able to capture the IP address of every submitter. Well, most of the submitters were coming from this little village in Fuzhou China. You can find the location of such IP addresses from . If you use JSP in your site, here is the code to capture the IP for your Salesforce Web2Lead form: <% String ipaddress = request.getRemoteAddr(); %> ”> So, the next step was to block the IP. This can be done via IPTables in linux. As these addresses were found in predictable blocks, we decided to block more than just the IP addresses listed. Instead we blocked entire countries. Yep. If you are reading this, then you are likely not blocked from our web site. [This website](http://www.cyberciti.biz/faq/block-entier-country-using-iptables/) had an excellent shell script that handles all you need to block any specific country. 1. Iterates through the countries you specify 2. Gets the IP address blocks assigned to that country. 3. Adds the block range to IPTables 4. Recycles your IPTables to ensure a clean, fresh instance. This script can be run via chron job (perhaps monthly) so the list always stays current. We chose a block of 15 countries based on the fact they were the most frequent countries for spam and hack attacks. These are also 15 countries we have no intention of doing business in. #### References: [The top 9 spamming countries.](http://www.huffingtonpost.com/2012/04/24/top-spam-sending-countries_n_1446187.html) [Leading countries of origin for unsolicited spam emails as of 1st quarter 2014, by share of worldwide spam volume](http://www.statista.com/statistics/263086/countries-of-origin-of-spam/) [Linux Iptables Just Block By Country](http://www.cyberciti.biz/faq/block-entier-country-using-iptables/) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** hackers, Linux, spam --- ### [IBM Innovate 2014: How to become a Rational Developer for IBM i Power User](https://www.strongback.us/2014/06/ibm-innovate-2014-how-to-become-a-rational-developer-for-ibm-i-power-user) **Published:** June 11, 2014 **Author:** Kenny Smith **Content:** ### Moving from SEU/PDM to Rational Developer for i? This month we presented at the annual IBM Innovate Conference in Orlando several topics on the various IBM Rational tools. Rational Developer for i (RDi) is the IDE of choice for editing, verifying, analyzing, and managing RPG, COBOL, and C/C++ on the IBM i (i.e the AS/400). If you come from a SEU/PDM development environment and are looking to move to a more robust IDE, or if you wish to use the new RPG language features, you need to read through this to learn how to adopt the product. In this presentation we cover the new features of RDi 9.1, including the new debugger and code coverage tooling. We also demonstrated editing features of the LPEX editor, such as find/replace with regular expressions. We covered the screen and report designers as well. **[How to become a Rational Developer for IBM i Power User](https://www.slideshare.net/strongback/innovate-rationaldeveloperipoweruser "How to become a Rational Developer for IBM i Power User")** from **[Strongback Consulting](http://www.slideshare.net/strongback)** [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, IBMi, ibminnovate, rational --- ### [The Caffeinated Mainframer: Using Java on IBM z/OS to build enterprise Java apps](https://www.strongback.us/2014/05/the-caffeinated-mainframer-using-java-on-ibm-zos-to-build-enterprise-java-apps) **Published:** May 23, 2014 **Author:** Kenny Smith **Content:** At last year’s IBM Innovate Conference (formerly the Rational Software Developer’s Conference), we presented this deck about using Java on the z/OS mainframe. Since that time there have been a couple of major releases of the IBM Rational Developer for Enterprise product and at this year’s conference there will be extensive coverage of version 9.1 of the Rational IDE’s. These new versions were [just announced](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUSC14-019#214-188) and went live for general availability this week. If you will be developing on Java on z/OS and need to access MVS datasets, be sure to read through the presentation below, and it is a good primer on the platform. \[slideshare id=35052655&doc=thecaffeinatedmainframer-1393-140523120842-phpapp02\] [callaction button_text=”Learn More” button_url=”/solutions/devops” background_color=”#333333″ text_color=”#ffffff” button_background_color=”#32a1f0″ button_text_color=”#ffffff” rounded=”true”]Learn more about how a DevOps approach can help accellerate application delivery.[/callaction] **Categories:** DevOps, Mainframe Devops **Tags:** java, mainframe, zos IBMInnovate --- ### [CFO's: Do you bear criminal negligence in not updating your developer workstations?](https://www.strongback.us/2014/02/cfos-do-you-bear-criminal-negligence-in-not-updating-your-developer-workstations) **Published:** February 12, 2014 **Author:** Kenny Smith **Content:** Why is your company dragging its feet to update the corporate desktops or laptops? If you are a CFO, or CIO, you are not getting the most out of your application developers, software engineers, and systems administrators. In fact, you’re paying your staff to watch progress bars. You are also more likely to lose the really good employees because of it. You are wasting money. And if you are a CFO, you are guilty of neglect, shirking your fiduciary responsibility to your shareholders, owners, and/or board of directors. The first thing to know about provisioning hardware is that it is sheer idiocy to give developers the same laptops/desktops you give your sales/marketing folks. It is the failure to give them enough power to do their jobs. It is the CFO’s fiduciary responsibility to seek maximum productivity out of their developers. Allow me to explain further, The cost of a well provisioned desktop, including dual monitors, can be under $2,000 (actually under $1500 with a good volume purchasing discount). Compare this to the total cost of ownership including IT service maintenance and software licenses which can be up to $9,900 *per year* according to [a study done by Gartner](http://www.gartner.com/newsroom/id/636308). As you can see, the cost of equipment, when compared over a 3 year depreciation cycle is only fraction of the total cost of ownership. Other costs to consider, is the average turnover cost. In the United States the average annual corporate turnover rate is 13%. That is across all industries. In specific job categories (such as call centers), the rate is slightly higher. A company will spend up to 20% of a person’s salary on hiring fees just to get them in the door. This means that, for a software engineer, the amount of time the employee stays with you will be short lived. This is all the more reason to maximize the productivity of the software engineer while he or she is on staff at your organization! This is what your developers should have, and why. 1) A quad core processor CPU Developers do much more than just read email. They will typically have 5-20 applications open at a time. Each of those applications requires at least one CPU processor core to run. The more applications you have running, the more competition for those processors. A quad core Intel i7 has four cores, and with hyperthreading technology, and run a total of 8 processor threads (2 threads per core). This is four times the number of threads that the older dual core processors offered. This means less progress bars. It means more lines of code from your developers. 2) 64bit OS, Windows 7/8, or MAC OSX (or Linux Desktop) If you are on Windows XP, your company is at risk from technology, security, and financial factors. Your competitors are eating your lunch. Microsoft no longer offers support for Windows XP. No software vendor is writing new applications for the platform. It is a DEAD platform. Your IT strategy should be leading you in a way the becomes near operating system neutral. Email clients now exist for all three platforms listed above, as well as office suites. Everything else should be, or is likely to be running in a modern web browser. 3) External, larger monitor Your developers likely are working in multiple applications. They need multiple apps open at the same time, and in some cases, need to reference data in one app to code into another. There are [several studies that show ](http://www.corecommunication.ca/4-studies-which-show-that-using-a-second-monitor-can-boost-productivity/)[productivity](http://www.corecommunication.ca/4-studies-which-show-that-using-a-second-monitor-can-boost-productivity/)[ increases ](http://www.corecommunication.ca/4-studies-which-show-that-using-a-second-monitor-can-boost-productivity/)with a second monitor. These recommendations above are by no means complete, but are certainly the highest priority items most software engineers would need. Other nice-to-haves include a solid state drive, more memory (16GB), faster ports (Thunderbolt, USB3.0, eSata, DisplayPort, etc). Get the real needs from your team. As a consultant, I’ve seen more than my share of developer desktops that were underpowered, and as a result, the developer was downright discouraged, and cynical about the importance they served the organization. It is very frustrating to have a company purchase new development tools (and spend thousands per desktop in doing so), and put it on crappy hardware. Often times it will perform so poorly that the software will go unused. Then the consultant gets blamed for selling shelfware. So… stop reading, and go get a pulse on your developers. See if they have what they need. If you see them “waiting” for progress bars, on tiny little monitors, then its time for a visit from your hardware vendor. **Disclaimer**: Strongback Consulting does NOT sell hardware (software, yes). We recommend developing a positive relationship with a quality vendor who can tailor a solution to your company, and your developer’s needs, and there are plenty of vendors willing to do just that. Good luck! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Using rectangle selection style in Rational Developer for System z](https://www.strongback.us/2014/01/using-rectangle-selection-style-in-rational-developer-for-system-z) **Published:** January 27, 2014 **Author:** Kenny Smith **Content:** I came across this almost by accident when teaching RDz to a customer recently. He wanted to know if RDz can do “column editing” like another text editor he uses, to which I replied “what’s that?”. After he described it it sound like the rectangle selection within the tool, which I knew could change a selection of text to upper or lowercase. When we walked through the exercise we found the “Fill Selection” option, which turned out to be exactly what he was looking for. Needless to say this is not something you can do in a plain terminal emulator. Here is a video showing how it works: While the video shows this using C++ code, you could just as easily use it to edit a column of declarations in COBOL, or PL/I. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** C/C++, rational, rdz --- ### [Innovate 2013: Software Archaeology on the Mainframe with IBM Rational Tools](https://www.strongback.us/2013/12/innovate-2013-software-archaeology-on-the-mainframe-with-ibm-rational-tools) **Published:** December 18, 2013 **Author:** Kenny Smith **Content:** Another posting of ours from this past year’s IBM Innovate Conference, and mentioned [on the Mainframe Insights blog](https://www-304.ibm.com/connections/blogs/systemz/entry/introducing_software_archaeology_to_the_mainframe_world?lang=en_us). **[Software Archaeology with RDz and RAA](https://www.slideshare.net/strongback/software-archaeology-with-r-dz-and-raa-1753 "Software Archaeology with RDz and RAA")** from **[Strongback Consulting](http://www.slideshare.net/strongback)** [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** mainframe, rational, systemz --- ### [New JES features in Rational Developer for System z 9.0.1](https://www.strongback.us/2013/12/new-jes-features-in-rational-developer-for-system-z-9-0-1) **Published:** December 18, 2013 **Author:** Kenny Smith **Content:** #### Job Entry System [![](https://www.strongback.us/wp-content/uploads/2013/12/jes-new-features.png)](https://www.strongback.us/wp-content/uploads/2013/12/jes-new-features-1.png)The JES now shows the return code of completed jobs. This saves you significant time in tracking down which job completed, which abended, and which had other issues. You will see this in the JES filters. Also for JES, you can now resubmit directly from the context menu. Ordinarily you would just open the JCL, edit, and resubmit, or do a SJ then submit from the open JCL. This should save a couple of clicks. You will also notice that Active jobs display at the top of the filter. If you are just now hearing about version 9.0 of RDz, then you’ll be happy to hear about the new JCL Editor. This editor acts much like the Java and COBOL editors, offering features such as content assist, code formatting, and code collapsing. Enhancements to the JCL Editor in the 9.0.1 update include: - Opening file references in open, view, and browse modes. - Opening include members by using the JCLLIB statement handling of the JCL parser. - Searching data sets listed in a JCLLIB statement when locating procedures. - Displaying the open actions in the editor menu. - Hover information for INCLUDE statements. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** mainframe, rational, rdz --- ### [Best practices in rolling out Rational Developer for i, and Rational Developer for AIX and Linux](https://www.strongback.us/2013/10/best-practices-in-rolling-out-rational-developer-for-i-and-rational-developer-for-aix-and-linux) **Published:** October 23, 2013 **Author:** Kenny Smith **Content:** In june we presented on these best practices based on our expertise and experience in deployment to our clients. This is by no means a complete picture, and will certainly vary by client. However, once you read the presentation, you should have a better understanding about how best to roll out the clients. IBM i will be slightly different from AIX/Linux for example, but the key principles are the same: plan, plan some more, make the experience consistent, train your developers thoroughly, provide avenues for self learning, and mentorship, and ensure new employees can easily roll onto the solution later. We at Strongback are more interested in seeing customers adopt the software they purchase, rather than just piling on additional licenses for the sake of selling something. If you are interested in our adoption planning, training, and implementation, please contact our sales office at . **[Teaching old dogs new tricks with Rational Developer for System i](https://www.slideshare.net/strongback/teaching-old-dogs-new-tricks-pwr1214 "Teaching old dogs new tricks with Rational Developer for System i")** from **[Strongback Consulting](http://www.slideshare.net/strongback)** [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, Linux, rational --- ### [Deploying Time Sheet Tracking to SCRUM Projects in Rational TeamConcert](https://www.strongback.us/2013/09/deploying-time-sheet-tracking-to-scrum-projects-in-rational-teamconcert) **Published:** September 23, 2013 **Author:** Kenny Smith **Content:** **Rational Team Concert** gets more and more traction in the industry. It is a [collaborative application lifecycle management](/solutions/clm) product that allows a team of developers, project managers, designers, testers, analysts, executives, and stakeholders to work in unison. It works in harmony with other DevOps concepts such as: - [Continuous Release and Deployment](/solutions/continuous-release-deployment) - [Continuous Testing](/solutions/continuous-testing) - [Application Monitoring and Optimization](/solutions/application-monitoring) It is geared towards agile development, and as such is itself an agile tool able to adapt to a constantly changing industry. One feature that the RTC project team has recently baked into the project is the ability to track time (as in timesheets) on a project, and work item basis. Project managers need to track not just actual time, but often time that gets billed to a project to compare with vendor invoices. This features is enabled on the “Formal Project Management” template, which is an RTC process template geared for large companies that are migrating away from waterfall processes, but not quite ready for full on agile. The SCRUM template however, does not have the feature out of the box, but it can be deployed by following these instructions. Note, that you can do this on a project template, or if you are just getting started, you can create a project template once you make the following updates. You also need to have the Data Warehouse functions of RTC setup and installed to make this work properly. This must be done for each project area that you wish to report time on. Within the project dashboard, go to **Reports** -> **Report Resources** **Categories:** DevOps **Tags:** rational, RTC, teamconcert --- ### [Helpful commands to manage RD&T z/OS instance from the linux command line](https://www.strongback.us/2013/08/helpful-commands-to-manage-rdt-zos-instance-from-the-linux-command-line) **Published:** August 29, 2013 **Author:** Kenny Smith **Content:** If you are using the [Rational Development and Test](http://www-03.ibm.com/software/products/us/en/ratideveandtestenviforsystz/) product, you are likely in one of two camps: 1) you are a systems programmer with minimal linux expertise, or 2), you are a linux admin with nominal z/OS experience. Certainly there are people who are gurus at both, but those are rare birds indeed. You can send commands to the z/OS via a Linux command line “oprmsg“. This sends commands to the z/OS operator console, and logs output to the console log. If you are unfamiliar with the z/OS operator console, you can limp along using the console log which is a simple text file in the linux file system. I’ve found that I frequently have to enter the same few commands in a series. As such I’ve created some simple shell scripts to make it simpler. These shell scripts should be added to the /home/ibmsys1/bin directory. That way they can be called from anywhere. I did have to update the .bashrc file to ensure this folder was included in the path variable (which is what allows you to call it from anywhere). The first command activates the console for MVS commands. Name it activate.sh \#!/bin/bash \# Activate operator message console via command line oprmsg ‘vary cn(\*),activate’ tail ~/z1090/logs/log\_console\_\* The next script will show any pending system messages. Name it pending.sh. \#!/bin/bash \# Show all pending messages oprmsg ‘d r,l’ Then, we can show all active tasks. This is highly useful when doing a system shutdown. You do not want to call the awsstop task until all but the JES is running. IF you do it while CICS and VTAM are running, you are very likely to corrupt some datasets. Name this one showjobs.sh \#!/bin/bash \# Show all active jobs oprmsg ‘d j,l’ tail ~/z1090/logs/log\_console\_\* Note that the first line of a shell script should refer to the command line interpreter, which in this case is bash. Once you get the gist of this, you can add others as you see fit. For example, if you start up the RDz host daemon separately via command (rather than via the z/OS ipl process), you can add that as follows: \#!/bin/bash \# Show all active jobs oprmsg ‘s jmon’ #Start Job MOnitor oprmsg ‘s lockd’ #Start LOCK Daemon oprmsg ‘s rsed’ #Start Remote System Explorer Daemon tail ~/z1090/logs/log\_console\_\* [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** Linux, mainframe, rational --- ### [Making IBM Rational HATS a Strategic Investment](https://www.strongback.us/2013/06/making-ibm-rational-hats-a-strategic-investment-2) **Published:** June 17, 2013 **Author:** Kenny Smith **Content:** This year at the IBM Innovate conference we presented several topics. One of which was on HATS web services and RDBMS integration points with the product. In the presentation we cover details on creating a web service from a System i 5250 application using nothing but the HATS macro and web service wizards. \[slideshare id=22924090&doc=makinghatsastrategicinvestment-pwr1212-130613094949-phpapp02\] As you can see creation, of SOAP and REST web services is very easy with the product. You also see how it creates the Java code, from which you can extend and enhance the out of the box functionality. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, IBMi, rational, systemz --- ### [The 2013 Newbies Guide to Attending IBM Innovate Conference in Orlando](https://www.strongback.us/2013/05/the-2013-newbies-guide-to-attending-ibm-innovate-conference-in-orlando) **Published:** May 28, 2013 **Author:** Kenny Smith **Content:** In preparation for the [IBM Innovate](http://www-01.ibm.com/software/rational/innovate/) conference starting this June, I’ve put together some helpful advice to newcomers who’ve not been to one of the conferences before. By no means is this a complete list, nor is it an official list. Its MY list. Enjoy: ### What to bring **CLOTHING**: Well, first off, this is Florida. I live here and know the weather well. The conference rooms are on the cold side. Outside? Its HUMID! The first time you go outside after being in the AC, your glasses will fog up. So, with that said, you need bring business casual for all the sessions (Sunday – Wednesday). You can rethread an outfit for Thursday, or do what most people do and go with shorts. You need to bring a few pairs of shorts, t-shirts or short sleeve shirts for the evenings away from the conference. Next week it is expected to be highs in the high 80’s, with lows in the low 70’s, but still very humid. That said, the weather can change rapidly. Take the weather report with a grain of salt. You should bring very comfortable walking shoes, as you’ll be doing a lot of it. Bring extra socks also. Bring flip flops or sandals also. Don’t wear a business suit to the theme park event on Wednesday. You’ll think you look like a professional, but you’ll be a professional fool. Wear nice casual clothes and relax (this includes the IBM executives). People are more likely to talk to you. **EQUIPMENT:** - Bring your phone charger! An extra battery for your cell phone is good too. - An extra supply of business cards. This conference is a great opportunity to network. - An iPad or tablet is better than carrying around a clunky laptop. - An extra luggage tag for you conference bag (you’ll get one of these at registration) - A long power cord for your laptop brick if you intend to carry it around - A decent pen – the ones in the conference bags suck - Aspirin or Tylenol – you’ll understand this the morning after a night at Kimono’s - Don’t forget your phone charger (yes, I said that twice) ### What NOT to bring - A coat. Its Florida in late spring early summer. Leave it. - Books. You will not have time to read anything outside of the conference. Leave your heavy technical journals at home. Kindles or Nooks are ok, though. - Anything wool. Ok. bring a suit if you’re a sales guy/gal, but seersucker is preferable. - Tobacco – people will think it rude if you smoke, plus its bad for your health - A bad attitude – this is a great place to make new friends and meet old ones. As the saying goes, you can’t shake hands with a fist. ### Where to go - **Upon your arrival**, and after you check into your hotel, you **MUST** go to the area for the conference registration to get your bag and conference badge. You can’t go anywhere without this badge. Its open at 2pm – 7pm on Saturday, then opens early at 7am on Sunday. - **Sunday**: During the day, there are several deep-dive sessions and some [technical workshops](http://www-01.ibm.com/software/rational/innovate/agenda/workshops/). This is a great time to get your hands dirty with code and tools. There is a conference welcome reception, which usually has pretty good Hors d’œuvres, beer/wine, and sometimes a house band. Plan on an early bed time because the next few nights will be late ones! - **Monday**: The opening general session is in the morning. Great sessions throughout the day. During the day, many people network in the Dolphin hotel lobby near the fountain. This is the ‘Grand Central Station’ of the conference. The evening ushers in the opening of the pavilion where vendors will hawk their wares and services. You can get a lot of swag, free food, beer, and wine here. There are also several other side events. Kimono’s is one of the hotel restaurants that gets packed at night with lots of IBM’ers, customers, and business partners, and often stay until they close it down. - **Tuesday**: If you’ve not attempted a certification exam, you should plan on taking at least one. At the very least it will give you an idea of how well you know your product. In the evening there are more side events, such as a reception for POWER and System Z customers. Its the only night there is not anything formally scheduled, so this is a good night to make a trip over to Downtown Disney and enjoy some of the great restaurants over there. There are some great Birds-Of-A-Feather sessions in the late afternoon and early evening. - **Wednesday**: In the evening, we will go to one of the local theme parks. We’ll have the whole area to ourselves, and the theme park event is always a favorite of mine. You’ll get a chance to meet others who probably share some of the same business challenges you do, so don’t be afraid to meet and greet. After this ends, plan on meeting fellow colleagues or new friends at Downtown Disney. - **Thursday**: This is the last day of the conference and its usually over at noon. Don’t miss out on the sessions however. There are some good ones such as **Session 1393, the Caffeinated Mainframer** at 11am in Dolphin – Northern E2. After the closing of the conference, go check out some of the Walt Disney World parks. You can get some good discounts in the Innovate Concierge area. If you have a car, and want to go get some great BBQ, drive out to Winter Garden, FL to [4 Rivers BBQ](http://maps.google.com/?q=1047%20South%20Dillard%20Street%20Winter%20Garden%20FL). [http://www.4rsmokehouse.com](http://www.4rsmokehouse.com/)/. This is the best BBQ in Central Florida. If you are interested in other sight seeing, you can check out [Blue Springs State Park](http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fwww.floridastateparks.org%2Fbluespring%2F&rct=j&q=blue%20springs%20state%20park&ei=quvnTe6aM8PAtgfc-4HdCg&usg=AFQjCNEUY13Zj3ied_aqpskQEUxocN561Q&sig2=kkapDQm4iZdtO5JhCs4KWQ&cad=rja), [Kennedy Space Center](http://www.kennedyspacecenter.com/), or just go for a hike on one of the many nearby [trails](http://www.dep.state.fl.us/gwt/guide/regions/eastcentral/eastcentral_region.htm). Central Florida has many great trails, and lots of beautiful flora and fauna that is very different than the highly manicured landscape of Disney. And just in case you would like to make sure you visit one of our several sessions, here is where and when we will be presenting: NumberNameWhereWhen1753BSoftware Archaeology with Rational Developer for System z and Rational Asset Analyzer – Discovering What You’ve Forgotten, Knowing What You’ll InheritDolphin – Australia 2Tue, 4/Jun, 01:45 PM – 02:45 PM1214ATeaching Old Dogs New Tricks: Successful Steps in Rolling out Rational Developer for Power for IBM i and AIX DevelopersDolphin – Northern E1Tue, 4/Jun, 01:45 PM – 02:45 PM1212AMaking a HATS a Strategic Investment: Integration with Relational Systems and Web ServicesDolphin – Northern E1Wed, 5/Jun, 11:15 AM – 12:45 PM1393AThe Caffeinated Mainframer: Java on System z with Rational Developer for System zDolphin – Northern E2Thu, 6/Jun, 11:00 AM – 12:00 PM ### What to Know and Prepare For - **Its HOTTER than LotusSphere er… IBM Connect**. If you ever been to that conference, well this is a similar schedule but higher temps and humidity. - Lots of **walking** – sessions are spread out between 3 hotels and a session you may like might be on the other side of the conference. Wear good walking shoes. - **Wifi access** is touchy, but accessible. Don’t expect blazing speeds, but its usable. There will be conference laptop stations where you can check your mail (if web based) or other sites. - **Plan your agenda** for streams and tracks ahead of time. The target audience for these presentations differ. Some are for gearheads like myself that want to know how things work, others are for business executives who want to know strategy. Each session should have a target audience description. General audience sessions are high level strategic. Intermediate and advanced sessions are very technical. [Build your agenda ](http://innovatesmartsite.com/)before you start Monday, otherwise, you’ll be lost wandering the halls. - **Diversify your sessions** – You are probably coming for a certain set tracks or streams. Don’t be afraid to check out adjacent technologies. If you do development, check out a session on requirements management session. If you do security work, check out a session on quality management. - Lots of **eating**. You can go Sunday – Thursday afternoon without paying for a single meal. - Lots of swag, **tchotchkes**, and other give-aways to bring home. Be sure to leave room in your suitcase. - **European fashion**. You will be introduced to men’s capri pants. Yes, I’m still disturbed by it. - **Heat**. Thick long sleeve shirts and brushed cotton khaki’s will make you miserable. Synthetics like UnderArmor wick away moisture. You’ll build up quite a sweat walking between the hotels. - **Protect your conference badge**. If you lose it you are screwed. You must pay a **full** conference fee to replace it. - **NETWORK!** This is a wonderful place to meet new friends who are dealing with similar business issues that your but often in different industries, or even different countries. Bring your business cards and feel free to interact with others. We’re looking forward to the conference as we do all year. Hope to see you there! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, ibminnovate, rational --- ### [A basic-no-frills Linux Survival Guide](https://www.strongback.us/2013/02/a-basic-no-frills-linux-survival-guide) **Published:** February 8, 2013 **Author:** Kenny Smith **Content:** So you decide to take a stroll into the cool winds of the data center, only to find yourself surrounded by these towering, blinking, Linux machines. You realize you need to placate these hot breathing daemons, if only you had some shell script mojo. Well, here is a little guide to help you survive until help arrives. **[Linux 101](//www.slideshare.net/strongback/linux-101 "Linux 101")** from **[Strongback Consulting](https://www.slideshare.net/strongback)** Now, this is a no-frills guide. There are MANY other Linux guides out there. The goal of this is to keep you from making a tragic mistake. Knowing these basic commands will get you out of a pickle, but in no way does it help you master Linux. Check out the back of the guide for links to more Linux references, guides, and overall mastery. When you’re ready to learn more, and have downtime to read it, we recommend these books: ## How Linux Works ## The Linux Command Line: ### A Complete Introduction [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, redhat --- ### [Rational Development and Test boot process and helpful tips](https://www.strongback.us/2013/02/rational-development-and-test-boot-process-and-helpful-tips) **Published:** February 4, 2013 **Author:** Kenny Smith **Content:** Rational Development and Test (or [RD&T](http://www-01.ibm.com/software/rational/products/devtest/systemz/features/) for short), is a virtualized instance of a z/OS mainframe operating system running on a Linux host, on a normal Intel based CPU. We’re assuming that you might already be familiarized with it with this article. When starting the RD&T box, you should be using a linux startup script to start it. The one that is described in [RD&T configuration guide](http://www.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=SC14-7281-03) is an excellent place to start. Part of that script includes an IPL statement, which actually launches the z/OS operating system: **ipl a80 parm 0a82DC** The ipl statement contains three important pieces of information. The a80 is the device address of the sysres1 volume, which is a bootable z/OS volume. This volume is found in the directory with all the other z/OS volumes such as sbsys1, sbprd1, USER00, etc. Next, 0A82DC indicates the (4 digit) device address of the IODF volume which holds IPL configuration files is 0A82 and that the LOADxx member that will be used is LOAD**DC**. The LOADxx file contains the configuration to determine which system configuration files gets read (IEASYSxx). This member then determines which BPXPRMxx member gets started. This sequence diagram below shows you the general boot sequence for z/OS on RD&T starting with the Linux startup script. [![](https://www.strongback.us/wp-content/uploads/2013/02/zos-boot-sequence.png)](https://www.strongback.us/wp-content/uploads/2013/02/zos-boot-sequence-1.png) If you get into a situation where you cannot boot your RD&T instance, due to an invalid BPXPRMxx member, you can change your startup script to use the CS as the last two digits of the load parameter. This starts the system in a simpler configuration and does a cold start. It also clears the entire JES pool, so for those instances where your JES spool is full (due to careful neglect), this will avoid having to reinitialize your system logs. The most common reason why your system will not start is if you have edited your BPXPRMxx and did not do a syntax check: before you IPL. Once you make your changes to your member, run the following command ‘setomvs syntaxcheck=(XX)‘ where XX is your two digit load parm (such as DB). You can run this command at the master console, or you can issue it through the convenient linux command oprmsg ‘setomvs syntaxcheck=(XX)’ \*Note that nearly all master console commands can be entered using the oprmsg linux command. You just have to run a tail on the console log to see the out put. If the syntax is correct, you should see a return such as: BPXO039I SETOMVS SYNTAXCHECK COMMAND SUCCESSFUL. Another helpful tip, is to split your BPXPRMxx into multiple members. Keep the basic configurations such as NETWORK and RESOLVER statements and the bare minimum FILESYSTEM statements in one member, and the ones that you add as you customize your instance in another. Good examples of this are when you are creating additional file systems for Team Concert, or the RDz host daemon, or if you need to run multiple versions of Java (i.e. Java 7) , and as such must mount them to different directories in z/Unix. Some additional helpful links: [https://delicious.com/strongback/RD&T](https://delicious.com/strongback/rd%26T) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational, systemz --- ### [Using the Problem Determination Tools Lookup View in RDz](https://www.strongback.us/2012/12/using-the-problem-determination-tools-lookup-view-in-rdz) **Published:** December 20, 2012 **Author:** Kenny Smith **Content:** This is a view that does not get mentioned enough in the training exercises we do, so we’re mentioning it here for posterity’s sake. If you’re working with a job and trying to understand where your batch job has failed, or if you’re trying to understand an ABEND, there is a built in lookup tool in Rational Developer for System z (RDz) for that. You’ll find this by opening the view under Window – Show View – Problem Determination Tools – Lookup. In the view, you can search for a specific error message in the search bar, or you can browse the errors by category (ABENDS, Messages, Others, etc). This is much faster than looking up in a separate web site (i.e. the z/OS InfoCenter). Here is what the view looks like. Note that the right pane has two tabs: and Explanation tab that details what the message means, and a Results tab that gives the additional value/type attributes for the error message. [![](https://www.strongback.us/wp-content/uploads/2012/12/problem-determination-tools-view.jpg)](https://www.strongback.us/wp-content/uploads/2012/12/problem-determination-tools-view-1.jpg) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational, rdz, systemz --- ### [Refactoring COBOL with RDz](https://www.strongback.us/2012/09/refactoring-cobol-with-rdz) **Published:** September 26, 2012 **Author:** Kenny Smith **Content:** #### What is refactoring? Refactoring has long been a discipline of the agile development world. Wikipedia defines [refactoring ](http://en.wikipedia.org/wiki/Code_refactoring)as: > “A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior…. \[and its\] advantages include ***improved*** ***code readability*** and ***reduced complexity*** to improve the ***maintainability*** of the source code, as well as a ***more expressive internal architecture*** or object model to improve extensibility.” Refactoring, is really akin to writing literature. For example, a novel author first stubs out an outline, then writes the paragraphs in a stream of thought format. Later, the author (or an editor), can refactor (edit) the novel to improve the story’s grammar, punctuation, or to improve the delivery of the story line. Refactoring is a rather new term in the COBOL world. Java, .NET, PHP, and Python guys have been doing this for years. In the COBOL world, there are countless programs that appear to have stopped maturing at the stream of thought level. So, first let’s introduce you to a scenario where refactoring comes into place. Let’s say you just inherited another developer’s spaghetti code. That developer retired 10 years ago, and nobody’s touched the source until now, when some strange production error just came up. Sound familiar? Read on. So, now you have to manage this code that is about as manageable as a python wrapped around an alligator bathed in Tabasco sauce. With RDz, you’ve got some handy tools available. All of which will help you make your code more manageable, and readable, without hindering the operational functionality of the code. #### Extract Paragraph First, lets say you are reading your code and realize that the source file keeps repeating the same 10 lines of code over and over throughout the program. Its as if s/he got paid based on the lines of code s/he wrote. You, however just need to manage it. So you want to replace these with simple PERFORM statements, taking cues from our object oriented buddies in the distributed realm. To do this, we use the Extract Paragraph technique. Select the lines of code you want to refactor, and then right click and select from the context menu “Refactor – Extract Paragraph“. [![](https://www.strongback.us/wp-content/uploads/2012/09/rdz_extract_paragraph-1.png)](https://www.strongback.us/wp-content/uploads/2012/09/rdz_extract_paragraph-1-1.png) In the dialog, enter in the paragraph name and ending paragraph name. You can also add comments to the paragraph, and force it to do a preview.![](file:///E:/Users/KENNY~1.HEL/AppData/Local/Temp/enhtmlclip/Image.png) [![](https://www.strongback.us/wp-content/uploads/2012/09/rdz_extract_paragraph-2.png)](https://www.strongback.us/wp-content/uploads/2012/09/rdz_extract_paragraph-2-1.png) #### Remove Noise Words COBOL allows for verbosity to help readability of the code. This verbosity is called “noise words”. They do not affect the operation of the program and can be removed if desired. In your source, right click and select “Refactor – Remove Noise Words”. You can force a preview to show what the file will look like using the change explorer after the words have been removed. [![](https://www.strongback.us/wp-content/uploads/2012/09/removeNoiseWords.gif)](https://www.strongback.us/wp-content/uploads/2012/09/removeNoiseWords-1.gif) #### Rename Variable Have you ever had to work behind someone who named their variables VAR1, VAR2, VAR3….? Or, have you ever had to go back and change variable names across a system because it conflicted with another applications variables? Well, there is an easy way to do this. Double click on the variable in the editor. Then, right click and select “Rename”. In the interface, type in the new name of the variable. This will rename that variable everywhere that it is referenced in the file, and any copybooks that are referenced from the source member. This is more efficient (and accurate), than using the Find/Replace dialog. This uses the parser to find real variables, not just matching text strings with that variable name. [![](https://www.strongback.us/wp-content/uploads/2012/09/refactor-rename.jpg)](https://www.strongback.us/wp-content/uploads/2012/09/refactor-rename-1.jpg) #### Source Format [![](https://www.strongback.us/wp-content/uploads/2012/09/unformatted-cobol.jpg)](https://www.strongback.us/wp-content/uploads/2012/09/unformatted-cobol-1.jpg)Perhaps the best new tool in the RDz arsenal is the source code format tool. This feature has been available for the Java developers for many years. In fact, I used to take it for granted, until I started working with COBOL. Let’s say you inherit someone else’s spaghetti code. Its about as readable as the micro-font legalese on the back of your TV warranty manual. Here is an example of some ugly, unformatted code. As you can see, its difficult to determine where a block begins and ends. Now, you could do this in ISPF, but it involves a bunch of tedious block-move line commands. Open your source in the COBOL editor. No, not the System Z LPEX editor, the COBOL editor. Yes, there are two separate editors in RDz for editing source. One can act like ISPF, the other acts more like other Eclipse based editors. Right click on your source and select “Source – Format“. [![](https://www.strongback.us/wp-content/uploads/2012/09/source-format-cobol.jpg)](https://www.strongback.us/wp-content/uploads/2012/09/source-format-cobol-1.jpg) [![](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol.jpg)](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/09/after-format-cobol-1.jpg) Note, the keyboard shortcut (Ctrl+Shift+F). This will format your source code according to the built in rules. Here is what the source looks like after the format. Nice, huh? Now, this will not always format nicely depending upon what you have formatted. If, for example, you are trying to import code that has line numbers, or COBOL that has source from another vendor (i.e. MicroFocus), you’ll have a bit more work to do to clean it up. To get to those, go to your workbench preferences (Window – Preferences), then drill down to COBOL – Editor – Formatter. You’ll find rules for specifying how you want to handle record descriptions, procedure divisions,custom indentations, line lengths, capitalization, and more. Summary So, we’ve shown you how to change your code without changing its functionality. Refactoring can make your code significantly more readable, and more maintainable. This in turn, makes it likely that whoever inherits your code when you retire will have an easier time maintaining it. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** mainframe, rational, rdz --- ### [Mapping the CTRL key in the Host Connection Emulator of RDz](https://www.strongback.us/2012/09/mapping-the-ctrl-key-in-the-host-connection-emulator-of-rdz) **Published:** September 26, 2012 **Author:** Kenny Smith **Content:** I get this question often. Yes, you can map your control (CTRL) key on your keyboard to a specific function such as ENTER or RESET in the HCE of RDz. [![](https://www.strongback.us/wp-content/uploads/2012/09/cntl.jpg)](https://www.strongback.us/wp-content/uploads/2012/09/cntl-1.jpg) Open your workbench preferences (Window – Preferences). Go to General > Keys > Host Connection Control Keys. You can then map the keys to specific keyboard functions. Select the drop down next to the left and right control options and you can then select which function to map it to. The defaults are ENTER and RESET, but you could map it to a PF key also. \*\* NOTE, that this is for RDz version 8.5 and later. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational, rdz --- ### [Getting started with Rational Team Concert's Enterprise Extensions for System z and i](https://www.strongback.us/2012/09/getting-started-with-rational-team-concerts-enterprise-extensions-for-system-z-and-i) **Published:** September 4, 2012 **Author:** Kenny Smith **Content:** Rational Team Concert (RTC) is gaining in popularity these days, and we are certainly seeing more and more of it in our business. RTC provides several benefits and features that span development silos. Traditionally, an IT shop would have a different SCM and build system for distributed systems, more for .NET, and yet something completely different for enterprise platforms (mainframe, AS/400). We’ve blogged a lot about the build engine for RTC for the distributed systems. Now, we want to introduce you to the build system for System i/z, and how RTC handles build and promotion and deployment. #### Rational Team Concert: Using the Enterprise Extensions component promotion feature First, let’s get you started with an overview of the component promotion. A component is a piece of the application that usually results in a load module, a Java WAR file, or Java JAR file. In this case, we are talking about a load module. #### Rational Team Concert: Using the Enterprise Extensions work item package and deployment feature Next, we can talk about how atomic changes at the work item level can be deployed without deploying the whole component. Then, these next two videos go into further detail about how to promote change sets associated with work items and change requests. #### Rational Team Concert: Using Enterprise Extensions work item promotion feature Part 1 #### Rational Team Concert: Using Enterprise Extensions work item promotion feature Part 2 Now most of that material was specific to the System z mainframe, but it does share much in common with IBM i as well. These next articles show more about IBM i applications specifically. Note these will take you direct to the Jazz.net site. - [Building IBM i applications with Rational Team Concert ](https://jazz.net/library/article/769) - [ Creating a dependency build in IBM i on RTC 4.0](http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.team.build.doc/topics/t_ee_z_depbuild.html) - [Managing IBM i Build Definitions for RTC 4.0](http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.team.build.doc/topics/c_buildkit_rtci.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** IBMi, mainframe, rational, RTC, systemz, teamconcert --- ### [Fun times: Software Archaeology with Rational Developer for System Z 8.5](https://www.strongback.us/2012/08/fun-times-software-archaeology-with-rational-developer-for-system-z-8-5) **Published:** August 9, 2012 **Author:** Kenny Smith **Content:** They guys on the RDz product team have done an excellent job of getting new features into the product in the latest release of RDz. Already, the product had great support for viewing performance hierarchies, and showing dependencies of copy books. Version 8.5 really builds on the program analysis capabilities of the product with the new program control flow diagram and data elements view. I was teaching this past week, and it occurred to me just exactly what these new features add up to. If you are a System Z developer who has to manage code left over by a now retired co-worker, or manage code by someone who has not touched the source in 15 years, this amounts to an archaeological dig. Its ancient code that no one knows about, or who wrote it (if no comments are present), and has no idea what all it affects. The first part of analyzing such code is to see what it is comprised of, what copybooks it calls, and what other files it touches. ### Program Call Hierarchy [![](https://www.strongback.us/wp-content/uploads/2012/08/perform.jpg)](https://www.strongback.us/wp-content/uploads/2012/08/perform-1.jpg)This feature has been around for a while. The “Open Perform Hierarchy” gives you a visual display of the perform chain. It shows you a tree view of the various calls from the perspective of the performer, or the performee. Visually, you can also see the type of of call based on the icon. If it is part of a conditional statement, it will show a yellow flag. If its part of a loop, it will show with a blue circular arrow. What is really exciting about this, is that if you expand down further, it can show you areas of possible program fall through (displayed in red). Now, these are not certain fall through, but only possible fall through, as the code may legitimately call an abend routine. ### Program Control Flow Diagram The Control flow diagram is the newest feature, and might be your first tool you pull out of the tool bag to begin your ‘dig’. This diagram is available from the context menu of the editor “Show In > Program Control Flow”. [![](https://www.strongback.us/wp-content/uploads/2012/08/TRTMNT.png)](https://www.strongback.us/wp-content/uploads/2012/08/TRTMNT-1.png) The diagram is navigable, meaning that if you click on it, it will show that paragraph line in the editor view. This is like giving an archaeologist a blueprint of the ruins he is investigating. This diagram can also be saved off as a bitmap (as I just did with this diagram). Such a diagram can give you a great high level overview of what the program is doing. Also, any sections of code that are not used (i.e. dead code), will not have any lines connected. There are other methods of showing dead code as I’ll explain below. Needless to say, this is NOT something you can do with ISPF. ### Data Element View Next, you might want to see what data the COBOL file will affect. This too is new with RDz 8.5. Within your COBOL file, from the context menu (right click to get to it), select “Show In > Data Elements”. This gives you a spreadsheet like view of the various data variables, file descriptors, paragraphs, and mnemonics. Each column in the view is sortable, and you can control which columns are visible from the properties menu. Another cool feature of this view is the ability to filter out elements with the filter field at the top right. [![](https://www.strongback.us/wp-content/uploads/2012/08/dataelements.jpg)](https://www.strongback.us/wp-content/uploads/2012/08/dataelements-1.jpg) ### Open Declaration This feature has been around for a while, and is fairly basic. It does require that your SYSLIB concatenation in your associated property group is properly stated, but will open a variable in a paragraph to its declaration either in the current source member, or in another copybook. For you Java developers out there, a SYSLIB concatenation is analogous to a class path. This method is good for deep down analysis. ### Filter View Sometimes you just want to see sections of code, and not all the ‘fluff’. From the context menu select “Filter View”, and the select the type of data you wish to see. For example, perhaps you wish to just look at the code documentation otherwise known as the comments. This is great if its there, but if not, you can select an Outline view of the data which collapses down the paragraphs to a single line. If you are working with DB2 or CICS, perhaps you only care about the EXEC statements. Subsequently, you can filter down to just the EXEC statements. ### Find Dead Code [![](https://www.strongback.us/wp-content/uploads/2012/08/deadcode.jpg)](https://www.strongback.us/wp-content/uploads/2012/08/deadcode-1.jpg) This last one is another new RDz 8.5 feature. From the context menu, select “Source – Identify Unreachable Code”. The dead code will then be highlighted in red for you. This is a great way to cull out unused code and make your source more manageable, and more meaningful. It also can help you avoid looking at dead code, when you are just trying to find the source of a bug (hint: it won’t be in the dead code). Want to learn more about RDz? [Check out our RDz course](/solutions/training/), which can be delivered remotely to your desktop. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** mainframe, rational, systemz --- ### [Developing on the IBM i POWER7, time to change your IDE!](https://www.strongback.us/2012/07/developing-on-the-ibm-i-power7-time-to-change-your-ide) **Published:** July 19, 2012 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2012/07/seu.jpg)](https://www.strongback.us/wp-content/uploads/2012/07/seu-1.jpg) The traditional tool for development of applications on the IBM i is the SEU green screen interface. Many developers still use this for editing source members, and shrug the thought of moving to a rich IDE. What they may not know is that SEU/PDM have been “stabilized”, which is an IBM euphemism that means “We ain’t doing squat with this anymore”. In other words, if you want to do things in RPG such sorting and searching data in Data Structure Arrays, you are S.O.L. These are features included in the 7.1 compiler, but NOT supported in SEU. If you want to code these types of features, you will need to move to the Rational Developer for POWER. #### Getting started with the LPEX Editor The LPEX editor is the swiss army knife for editing multiple languages. It can emulate features of SEU, ISPF (for System z), vi and emacs (for unix). Simply change the workbench preferences for LPEX to open your source members using the SEU profile, and you’ll feel like you’re at home. #### Using the new Screen Designer Many web designers are used to using drag and drop elements to build out a web page. RPG developers can now use the Screen Designer to create or modify their 5250 screens, if they are still using such a type of interface. Note, that with features of RPG OpenAccess, they can now code in hooks into their RPG that can be called by web applications, thus giving you more options for interface modernization. #### Using the new Report Designer Reports are traditionally one of the powerful features of IBM i. You can now use similar concepts from the screen designer to create new reports. You can see more of these videos at our playlist below. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** IBMi, POWER7, rational --- ### [Enabling Code Coverage in Rational Application Developer](https://www.strongback.us/2012/07/enabling-code-coverage-in-rational-application-developer) **Published:** July 13, 2012 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2012/07/RAD-code-coverage-settings.jpg)](https://www.strongback.us/wp-content/uploads/2012/07/RAD-code-coverage-settings-1.jpg)RAD 8 Source Code Coverage ConfigurationCode coverage is the method of analyzing your source code to see what lines of code are covered by unit tests. In the case of Java, JUnit is the unit test toolset of choice. Code coverage tools came available in RAD 8, and have been improved in 8.5. Its very simple to enable this on a project. In fact you *should* enable it on all your projects to help instrument what you’ve tested. [![](https://www.strongback.us/wp-content/uploads/2012/07/code-coverage-stat.jpg)](https://www.strongback.us/wp-content/uploads/2012/07/code-coverage-stat-1.jpg)RAD8 Code Coverage IDE instrumentation[![](https://www.strongback.us/wp-content/uploads/2012/07/code-coverage-report.jpg)](https://www.strongback.us/wp-content/uploads/2012/07/code-coverage-report-1.jpg)Team Concert Code Coverage ReportTo enable the code coverage, go to your project properties, then narrow down to Code Coverage as showing in the image. You can specify the type of coverage you want. For example, you may want to be sure you cover 80% of your methods, but not care about testing declarations, or constants. You might want to only make sure you’ve tested it by block level. All of which can be controlled at a package, source, type, and method level of coverage. Once you have enabled it, you can then run a unit test on your entire source folder. This will then give you instrumentation directly in the source code. Packages that have passed the code coverage requirements will have the text of the package in green. Those that have not passed will have it in red. You can also analyze code coverage when you do a build in Rational Team Concert. This will then put the code coverage report on the build result as shown in this image. Now, you are probably thinking, “why is this important”? Simply put, if you have not sufficiently tested the appropriate amount of code, how much faith can you put in a suite of unit tests that consistently passes? You really cant. This is why code coverage is important. The greater the amount of code coverage, and the more successful the unit tests, the better quality is the code. That is not to say that it will cover all defects! No, for that you still must do performance and functional (integration) testing. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, junit, rational --- ### [10 Business Intelligence Metrics Your Application Development Teams Should Have](https://www.strongback.us/2012/07/10-business-intelligence-metrics-your-application-development-teams-should-have) **Published:** July 6, 2012 **Author:** Kenny Smith **Content:** ## Business Intelligence for Application Development Many companies are looking what kind of business intelligence they can derive to help them make better decision around application development. If you are managing an application development team, there are several metric you should be collecting and reporting on. This helps you understand how effective your team is, and how well you are meeting the expectations of your stakeholders. These metrics are not meant to be an exhaustive list, but really, a good start at proper application development. Building such business intelligence metrics is an easy feat, if you know what you need to build, and have the tools to support. Here are 10 metrics to get you started: #### Story Point Progress [![Story point progress chart in a development BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-story-points-progress.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-story-points-progress.png)This metric is probably the easiest to create, and the easiest to get horribly wrong if your tools are not integrated. Very simply, when doing a project using an agile methodology like Scrum, you should be able to determine a team’s progress as they complete story points, which in a nutshell are small descriptive paragraphs that describe some feature of a system from the perspective of a user. This bar graphs gives you a relative amount of completion based on the numbers of stories completed, vs, those in progress, vs. those remaining. This is based only on the quantity of stories, not the amount of work required per story. This is where other metrics come into play below. #### Burn Down Charts [![Sprint burndown chart in a development BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-burndown.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-burndown.png)One of the first metrics, is the Burndown chart. Very simply, it should show, over time, a gradual downward slope as open tasks (or work items) are completed. The Burndown chart is very common in Scrum methodology, as it gives the executive team a high level picture of where the project is in its lifecycle, and how fast the development is going. For example in this picture, we see an early rise in slope, as the requirements and tasks are first created. If that is all we saw, then we would know the project is in its early phases. We can tell the general velocity of the team by the downward slope. As the slope approaches vertical, the team is accelerating in their velocity. As it approaches horizontal, they are stagnating (either due to longer than estimated story points, and defects). #### Open vs. Closed Work Items [![Open versus closed work items chart in a BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-open-vs-closed.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-open-vs-closed.png)This chart, is a good first stop for a project manager. The next stop is to look at open vs. completed or closed tasks. Over time, we should see an increasing slope on closed items, and a decreasing slope on open items. Items in progress in time should show a relative plateau as the team reaches their maximum work level, then drop off as all work items are resolved. #### Open Items By Priority [![Work items open by priority chart in a BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-open-by-priority.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-open-by-priority.png) Typically, a ScrumMaster or Project/Product manager would then want to drill down to see what types of work items are getting resolved. It may be fine if the number of closed items are getting larger, but is the team resolving the most important ones, or the low priority ones? This is where the next metric comes into play – open items by priority. When looking at this chart, the number of high priority items should be lower, and have a better downward velocity than for lower priority work items. This shows that the team is working on the right work items. A high priority task may be some thing that is required for future work items, some thing that prevents other features from working, or even is simply a high priority for the stakeholders such that the completed work items meets an important need such as a regulatory compliance. #### Team Progress Report [![Iteration plan dashboard for a development team](https://www.strongback.us/wp-content/uploads/2026/07/preview-plans.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-plans.png)Another metric with meshes with the two prior is the progress report. When a team has estimated the number of minutes/hours/days for each task assigned, and you can accurately tell how many work hours are available for the team (based on holidays, vacations, etc), you can measure a projects overall progress. The progress report chart shows how much has been completed (in green), vs. where the team should be. A red bar indicates the team is behind their estimates (sometimes a sign of poor estimation). When the chart shows a lighter color green on the right it would mean that the team is ahead of schedule, as they have completed work items in less time than estimated. In order to achieve accuracy, however, the data flowing into the system must be accurate. As the saying goes, “garbage in – garbage out”. You must have an accurate report of how many hours a team member is available for the project. What is their % utilization going to be? If you expect 100% and they are actually assigned to another project for 25% of the time, you’re going to get less than accurate estimations. Also, its important to accurately estimate how long a task will take. Again, if you are getting this information by word of mouth, through spreadsheets, or email, then the accuracy of the report is going to be less than desirable. It is important that the tools that you use integrate together to give you real time, live data. Depending upon your team to give you estimates that you have to manually collect, and then making assumptions on their availability is not going to give you accurate data! #### Team Velocity [![Team velocity metric dashboard in a development BI report](https://www.strongback.us/wp-content/uploads/2026/07/preview-team-velocity.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-team-velocity.png)While I mentioned team velocity earlier, I only alluded to understanding it relative to other metrics. Providing that your project management software is integrated with bug/defect tracking and your source code system, you can report directly on the team’s actual project velocity. By that we look at the number of story points or work items closed per iteration. This metric will be affected by the number of developers and their availability for each iteration. It also is reflective of the skillset of the team. A more highly skilled team, in theory, should have a higher velocity than a less skilled team. By looking at the velocity over several iterations, you can more accurately estimate actual project completion times. This in turn gives better data to the financial stakeholders so that they can best understand what their true investment will be in the end. #### File Change Activity [![File change metrics in a development BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-file-changes.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-file-changes.png)Another way to tell how much work is going into the system is to determine what level of chaos is going on with the source code. By that I mean the amount of change and new source code. When a project is new, there is likely lots of new source code, and lots of file activity. This change creates a level of chaos. As more files change, more potential defects are introduced to the system (the corollary of this statement means that the less code, less chaos, and zero code means zero chaos – which also means zero progress). Over time, as the level of chaos settles, we should expect less file changes, and thus expect less defects. Using Test Driven Development (TDD), should also help keep regression errror under control. As a project nears completion, we should see less and less file change activity as the team focuses more on bug/defect remediation rather than new feature development. The file change activity report can give you this level of reassurance when your project starts into its final iterations. #### Build Health [![Build health status in a development BI dashboard](https://www.strongback.us/wp-content/uploads/2026/07/preview-build-health.png)](https://www.strongback.us/wp-content/uploads/2012/07/preview-build-health.png) Your application development project should be using build automation. If not, then you probably enjoy mowing your grass with scissors. I won’t go too much on a soap box on why you need build automation, but suffice it to say, it removes manual configuration errors, reduces the amount of time required to compile, package, and deploy your product, and frees up your team to do more important work. Some organization use open source tools like Cruise Control, Hudson, or Jenkins, etc. All of which can give you statistics on an individual build. You do want to know what the result of the build was for a specific point in time, but you should also be looking at build health over a history of time. One of the tenants of build automation is frequent or continuous builds. This means that when someone checks in code, an integration build script kicks off and runs unit tests to ensure that the project can be properly compiled, tested, and packaged. If over time the build health shows lots of errors this can be indicative of poor team discipline in creating unit tests to prevent regression errors from coming into the system. You may also be able to prevent a developer from delivering code to the team stream without first running a unit test, or ensuring a certain level of code coverage. #### Code Coverage Report [![Code coverage report in Rational Application Developer](https://www.strongback.us/wp-content/uploads/2026/07/code-coverage-report.jpg)](https://www.strongback.us/wp-content/uploads/2012/07/code-coverage-report-2.jpg) This report gets into the nitty gritty of the code, and helps to ensure your team is practicing TDD. Code Coverage tells you the percentage of code and classes that have been tested by a matching unit test. There are several ways you can configure code coverage, and enforce those settings to the developers. This chart shows code coverage based on the number of covered lines of code. The better the coverage, the less likely that your build health will suffer. In the build health metric above, we see lots of build failures. Those builds may be failing due to poor testing, or perhaps due to failed testing. A build health summary that is all green, yet, a project with near zero code coverage will give you a false sense of accomplishment. You need a project that has high code coverage, and great build health to have any confidence in the quality of your system. #### Kanban Report [![Kanban board of application development work items](https://www.strongback.us/wp-content/uploads/2026/07/kanban.png)](https://www.strongback.us/wp-content/uploads/2012/07/kanban.png)Not exactly a great name for a report, but as [mentioned earlier](http://blog.strongbackconsulting.com/2012/06/rational-clm-40-is-released-so-what.html), a Kanban report can help you determine what resource capacity you have available, and if you are exceeding your target limits. You need to be able to see what you’ve got from a resource utilization perspective, and answer questions such as: - Who is not fully utilized? - Do I have capacity to complete a few extra tasks? - Who is not pulling their weight? This is what Kanban is all about. It gets to the HR perspective of the project, and helps you achieve peak performance for your team. ### Summary The metrics I describe are by no means a complete list of metrics you could capture. However, they are a list of metrics you *SHOULD* capture. Most importantly, in order for these metrics to have any usefulness, they must be accurate. This is dependent upon having tools that integrate. You *cannot* do this by running around to each developer’s cubilce and getting their opinion, plotting that in an excel spreadsheet, then sending that to the CIO. By the time the CIO gets the data it is not only inaccurate, but it’s also stale. Your tooling should be able to build your reports for your automatically in real time. This requires your source code to be integrated with your build management system, your defect tracking system, and project management system. Microsoft Project, Excel, and subversion are all great standalone products (well, all except Project in my humble opinion). However, integration via ‘sneakernet’ won’t cut it to get accurate data. Proper metrics should be real time. If you have to run around the office collecting reports from individuals of disparate teams to collect in Excel, you don’t exactly have real time, nor accurate data. [Look for tools that provide full application lifecycle management](https://www.strongback.us/solutions/clm). [](https://www.strongback.us/solutions/clm) ### Calculate Your ROI by Adopting CLM This ROI tool is based on self-reported estimates of IBM customers. It will help you estimate your costs and savings measurements over 3 years and convey productivity and efficiency gains. [Launch the ROI Calculator](http://digitalcontentmarketing.sharedvue.net/sharedvue/redirect/320?svasset=41937) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, BI, rational --- ### [Taking your terminal applications to the john (on your smartphone).](https://www.strongback.us/2012/07/taking-your-terminal-applications-to-the-john-on-your-smartphone) **Published:** July 3, 2012 **Author:** Kenny Smith **Content:** ##### This deck was presented at the IBM Innovate 2012 conference in Orlando. More customers are asking how they can enable their tablet toting and smartphone wielding executives with access to their terminal applications. Three different approaches are discussed. Strongback demonstrates how to use the IBM Rational Host Access Transformation Services (HATS) toolkit to modernize applications for the mobile world, highlighting the out-of-the-box transformation services that make rapid development possible, as well as how one can customize the output. **[Innovate2012 Modernize Host Applications for Mobile Devices](http://www.slideshare.net/strongback/innovate2012-modernize-host-applications-for-mobile-devices "Innovate2012 Modernize Host Applications for Mobile Devices")** View more [PowerPoint](http://www.slideshare.net/thecroaker/death-by-powerpoint) from [Strongback Consulting](http://www.slideshare.net/strongback) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** mobile, rational, systemi, systemz --- ### [Build Smarter User Interfaces for Legacy Applications](https://www.strongback.us/2012/06/build-smarter-user-interfaces-for-legacy-applications) **Published:** June 20, 2012 **Author:** Kenny Smith **Content:** Last month we presented three sessions at the IBM Innovate Conference in Orlando. This presentation below was focused on solutions for the IBM POWER platform (AIX, Linux, and IBM i). This is geared towards those who are new to the concept of modernizing 5250 and VT100 terminal applications and shows what is available using Rational HATS. **[Build Smarter User Interfaces for Legacy Applications with IBM Rational Host Access Transformation Services](http://www.slideshare.net/strongback/build-smarter-user-interfaces-for-legacy-applications-with-ibm-rational-host-access-transformation-services "Build Smarter User Interfaces for Legacy Applications with IBM Rational Host Access Transformation Services")** View more [PowerPoint](http://www.slideshare.net/thecroaker/death-by-powerpoint) from [Strongback Consulting](http://www.slideshare.net/strongback)To see our other prsentations, you can check back here, or you can go directly to our[ Strongback Slideshare site](http://www.slideshare.net/strongback). We’ll post some more in the coming week. Stay tuned… [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps, Uncategorized **Tags:** HATS, IBMi, systemz --- ### [Rational CLM 4.0 is released! So what does it do?](https://www.strongback.us/2012/06/rational-clm-4-0-is-released-so-what-does-it-do) **Published:** June 13, 2012 **Author:** Kenny Smith **Content:** As promised from the IBM Innovate conference last week, the Rational Solution for CLM 4.0 is now live. There are several new features to be aware of. First for larger deployments, RTC now supports clustering using WebSphere App Server Network Deployment. Note, that RTC does not include WAS ND, and you will have to buy a separate license for it. However, the CLM 2012 *does* include eXtreme scale Object Grid, which is used for the Jazz shared look-aside cache. Bottom line, you now have support for deployment management, session failover, and workload management. For those who have had issues with the fixed URL issue, the 4.0 version will not support renaming the server URL. This is critical in situations where you must separate the CCM, RM, and QM context roots onto new gear once you realize its getting more usage than you realized (a better best practice is to use 3 different host names for each application, but map them to the same IP at first; this makes it easier to split it later). Another common issue is the old mergers and acquisitions, where you *have* to change the domain name. Another gotcha that got resolved is being able to share a project’s process template to another Jazz Team Server instance. Currently (in 3.0.x parlance) this can only happen on the same RTC/JTS repository. If you are doing [Kanban](http://en.wikipedia.org/wiki/Kanban), there is now a new Kanban taskboard to help you determine what resource capacity you have available, and if you are exceeding your target limits. [![](https://www.strongback.us/wp-content/uploads/2012/06/kanban.png)](https://www.strongback.us/wp-content/uploads/2012/06/kanban-1.png) For those poor souls doing waterfall (still) and working with MS Project (still), there are some new features to allow you to re-import tasks from Project into the project plan, and to export your RTC project status back into a clean MS Project file (however, the people who need to see that project plan, could see it even better using the RTC Dashboards … just saying). In the area of access control, more granular features have been added to allow you to set access at the work item level. For example, you can allow 2 team areas to view a work item, and exclude all others. You can also apply read access control at the versioned artifact level in source code. This one was important for the systems engineering space in defense contracting. Work item queries can now have variables. This allows a query to be specified differently with each execution, and therefor have to manage less queries in total. Work items can now refer to external data set providers. This allows you to set a a drop down value in a work item to a list of industry, company, or domain specific values that can change over time, rather than a fixed list of values. The external data provider must be a REST based provider. [![](https://www.strongback.us/wp-content/uploads/2012/06/history.png)](https://www.strongback.us/wp-content/uploads/2012/06/history-1.png)For SCM, in addition to the permissions listed earlier, an administrator can now permanently delete files (another issue with shops doing security level development). There is an enhanced locate change set editor to allow a developer to find where his/her change sets have flown to ( for shops doing multiple streams). A developer can also easily revert to any checked-in version from history (a feature that is a PITA now at 3.x level). Also, there are new load permissions that can be enabled to control how your files get loaded across streams and repositories. If you are a Hudson/Jenkins shop, RTC now supports these servers for build automation. You can now view build health and control builds through the RTC interface (web, eclipse, VS). For command line junkies (like us), there is a new command line interface (CLI). Subversion people will find it much easier to migrate with this (). [![](https://www.strongback.us/wp-content/uploads/2012/06/rtcexplorer.png)](https://www.strongback.us/wp-content/uploads/2012/06/rtcexplorer-1.png) Another rather fantastic new feature is the Windows Explorer integration. Now you can check and version directly from the Windows environment. This can be incredibly handy for sys admins who need to version scripts, or other developers to need simple versioning for binary files. This interface also supports locking of files.Files that have been versioned are decorated with status icons and have custom context menu options. Developers who have used TortoiseSVN will find this easy to adopt and very familiar. There are also new features for enterprise platform developers (System i/z), that we’ll discuss in more depth later. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, Automation, rational, RTC --- ### [Creating an ANT file from an existing Java project](https://www.strongback.us/2012/05/creating-an-ant-file-from-an-existing-java-project) **Published:** May 22, 2012 **Author:** Kenny Smith **Content:** Sometimes we need to more tightly control the build process within our projects. When using Eclipse or Rational Application Developer, the IDE controls how the project is compiled through the properties screens (which ultimately are written back to property files). However, what if you need to use the same build steps you use in Eclipse in an automated build system like Hudson, Jenkins, or (my favorite) Team Concert? Well, you can create an ANT file from an existing Eclipse based project easily, but not intuitively. Right click on your project and select ‘Export’. In the dialog that follows, select ‘ANT Buildfile’ file. [![Generate ANT file from project](https://www.strongback.us/wp-content/uploads/2012/05/ant1.jpg "Generate ANT file from project")](https://www.strongback.us/wp-content/uploads/2012/05/ant1-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/05/ant1-1.jpg)[](https://www.strongback.us/wp-content/uploads/2012/05/ant1-1.jpg) Then, select your target projects from the list. You can specify the name of the build file (defaults to build.xml), and the target directory of JUnit. Then, click finish. [![](https://www.strongback.us/wp-content/uploads/2012/05/ant2.jpg)](https://www.strongback.us/wp-content/uploads/2012/05/ant2-1.jpg)Now, you can open your file and edit it directly. The next step would be to replace the builders for the project. To do that, right click on your project and select ‘Builders’. Click the ‘New’ button, and select ‘ANT Builder’. Then point to the ANT file you just created. Now your project will build based off that ANT file. Depending upon what other builders are in place here, you could remove the others, but I recommend you be judicious here. Some of those builders are validators that help you the developer be productive. Keep those, as well as those that are tied to custom plugins. Your ANT file should be able to stand on its own to do a reliable compilation however. Now, you can add WAR/EAR or packaging targets, and even deployment targets as needed. This will allow the script to be used by your continuous integration system to automatically build the project. If you use a 2 phase or 2 step approach, this means your file can do step1 (compile / unit test). If that passes, a post deploy task can deliver to another stream, where it will package and deploy the application to an integration server for QA testing. **Helpful resources here:** [http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.user/gettingStarted/qs-92\_project\_builders.htm](http://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.user/gettingStarted/qs-92_project_builders.htm) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ANT, java --- ### [Diagnosing potential Linux drive failures](https://www.strongback.us/2012/05/diagnosing-potential-linux-drive-failures) **Published:** May 3, 2012 **Author:** Kenny Smith **Content:** While working on server today I came across some odd issues in some applications. While checking the logs, I found some drive errors in the warn log file (Failed SMART usage Attribute: 7 Seek\_Error\_Rate). In searching for the cause of this error, I think discovered a nifty little tool that will tell you the health of physical disk drives as reported by the SMART controller. SMART stands for Self-Monitoring, Analysis and Reporting Technology Systems, and is a technology built into most disk systems. Two switches will get you going smartctl -i smartctl -Hc The following output shows how my troublesome drive is on its way to a nearby recycling plant. Notice that the health check (Hc) shows that the drive is in pre-fail state. `websrver1:/var/log # smartctl -Hc /dev/sdhsmartctl 5.39 2009-08-08 r2872~ [x86_64-unknown-linux-gnu] (openSUSE RPM)Copyright (C) 2002-9 by Bruce Allen, http://smartmontools.sourceforge.net` === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: FAILED! Drive failure expected in less than 24 hours. SAVE ALL DATA. Failed Attributes: ID# ATTRIBUTE\_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN\_FAILED RAW\_VALUE 5 Reallocated\_Sector\_Ct 0x0033 041 041 140 **Pre-fail** Always **FAILING\_NOW** 1265 General SMART Values: Offline data collection status: (0x82) Offline data collection activity was completed without error. Auto Offline Data Collection: Enabled. Self-test execution status: ( 0) The previous self-test routine completed without error or no self-test has ever been run. Total time to complete Offline data collection: (12000) seconds. Offline data collection capabilities: (0x7b) SMART execute Offline immediate. Auto Offline data collection on/off support. Suspend Offline collection upon new command. Offline surface scan supported. Self-test supported. Conveyance Self-test supported. Selective Self-test supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x01) Error logging supported. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 140) minutes. Conveyance self-test routine recommended polling time: ( 5) minutes. SCT capabilities: (0x303f) SCT Status supported. SCT Feature Control supported. SCT Data Table supported.These tips were found on a link from [Linux Journal](http://www.linuxjournal.com/magazine/monitoring-hard-disks-smart). Hope they help you as well as they did me! Now, I just need to find a matching drive for this to replace in the RAID5 array. Hmmm… [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux --- ### [Using IBM Passport Advantage, a helpful guide for newbies](https://www.strongback.us/2012/04/using-ibm-passport-advantage-a-helpful-guide-for-newbies) **Published:** April 18, 2012 **Author:** Kenny Smith **Content:** If you are a new IBM Software customer, you will find that you obtain your software via download from the IBM Passport Advantage (PPA) web site. After your purchase has been processed, you’ll receive verification from IBM in the form of a “Proof of Entitlement” document. Use this document to access PPA. This YouTube video is very helpful in explaining the download process. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, PassportAdvantage --- ### [Sharepoint vs. IBM Connections](https://www.strongback.us/2012/03/sharepoint-vs-ibm-connections) **Published:** March 16, 2012 **Author:** Kenny Smith **Content:** I get this often, that Sharepoint does more than “Notes”. Well, no kidding, its like comparing a car to a front end loader. The actual competing product is not Lotus Notes, but rather, IBM Connections. I came across this from a friend, and it is an excellent 30 minute introduction to Connection and comparing its features to those (or the lack thereof) of Sharepoint. Enjoy [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** connections, ibm, sharepoint --- ### [Are your Java devs killing your business with data type issues?](https://www.strongback.us/2012/02/are-your-java-devs-killing-your-business-with-data-type-issues) **Published:** February 29, 2012 **Author:** Kenny Smith **Content:** So you thought you would outsource your Java development overseas and save a buck or two? Now you find out you cannot account for thousands of dollars in your general ledger and your customers are complaining that they are getting ripped off (or they are thanking you for unexpected discounts). If this sounds familiar, read this post carefully. If you are doing Java development and interacting with currency values, then you must be sure you are representing those values with the correct data type. By that, I mean using the correct Java object. As a background, Java supports the following primitive data types: - **int** - **char** - **byte** - **short** - **long** - **float** - **double** - **boolean** - **void** Integer based data types (int, short, long) do not support the 2 digit decimals that represent the fractional dollars (or euros, pesos, etc). char, boolean, void, and byte also are not appropriate as you cannot do proper math functions on them. They also are not large enough to represent certain large values (i.e. the U.S. national debt .. oh now that THAT is saying something!). That leaves float, and long, which do support decimal points. If your developers have come to that conclusion and have thus coded your general ledger using these primitives, you may now start looking for new developers as this is WRONG! Why? Simple. Just answer the following question. What does the following produce? public class HopeAndChange { public static void main() { long five = (long) 5.00; long cost = (long) 1.90; System.out.println(five-cost); } } If you say 0.10, you would be tragically wrong. It would print “4”. Why? Both float and double use binary floating point arithmetic. Many decimals cannot be represented in binary. So. What’s the solution? That is to use a compound object representing real currency. BigDecimal is a good candidate for that is it can represent very large numbers, and supports decimal values very well. Many software tools will miss this point – its not an easy one to catch. It does not generate an error. One way is to ensure that any code that does calculations has associated unit tests (i.e. JUnit). Rational Application Developer in particular has built in features that support code coverage. You can also update its Software Analyzer built in tooling to help identify standard nomenclature variables being represented by a floating point. This test above is also a good question for an interview for possible employment candidates. If they cannot accurate tell you what this produces, or especially, why it does not produce the expected results… tell them you’ll ‘let them know’. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java --- ### [Getting better tracing and debugging for Rational HATS macros.](https://www.strongback.us/2012/02/getting-better-tracing-and-debugging-for-rational-hats-macros) **Published:** February 15, 2012 **Author:** Kenny Smith **Content:** ### Question: How can I tell what is happening in my macro when it runs on the server? Sometimes, when working with Rational HATS macros, you need more information when debugging. When it runs on the server, you really don’t see much in the SystemOut.log (the WAS console file). I’ve got some suggestions for you that will help you better understand what’s happening in your macro. #### Run WAS in debug First, to help you see where the macro is, or what is happening on the screen you can enable the HOD applet to display in your local WAS environment. To do that either restart the WAS server in debug mode, or change the runtime properties file. When starting in debug mode, the HATS runtime will use the runtime-debug.properties file (located in your EAR project). This however, can mean some slow performance. It also does not give you much benefit if you don’t have any custom Java code such as Integration Objects, Business Logic, or Custom Widgets. #### Enable the HOD applet Instead, you can simply enable the HOD applet in runtime.properties (also in the EAR project). Just look for the following line: `trace.HOD.DISPLAYTERMINAL=0` Change this value to 1 to enable the host terminal when the runtime starts. This will help your debugging sessions. As soon as the application starts, you’ll see the applet start up in a separate window. You can resize it to full screen if you like. Its fully interactive – if the macro gets stuck on a screen, you can ‘push’ it along. #### Add tracing to your macro Another nifty thing you can do is add trace statements to your macro. Add the following inside the xml element in the source. Note, that you can do this using the Advanced Editor or the source view, but NOT in the host terminal, nor the visual macro editor. This is a bit of a hidden gem, and you’ll need to get your hands dirty in source code to use it. `` `` Note that the type attribute can accept a few different values. SYSOUT sends the trace to the SystemOut.log file of WAS. You can also use HODTRACE which will write the comment to the HATS tracing file, usually found in the installedApps/HATS\_EAR/logs folder of your WAS environment. The last option is USER, which allows you to send it to a user tracing facility. The last one I have not used, but plan to experiment on. If your sysadmin has disabled sysout statements on your production WAS environment, you will not see it (and that is a best practice). In a production environemtn, after you test your macros, you should instead change these to HODTRACE, or USER if you find you are able to write to another tracing facility. Currently it will not write to the java.util.logging interface but we have requested that as a feature in a future release. For the value attribute, notice that the string is in single quotes. You can also append macro variables such as $strCustId$, where strCustId is a macro variable. This allows you to see what the state of the value is at runtime in the system console. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, rational --- ### [AIX COBOL Overview with Rational Developer for Power](https://www.strongback.us/2012/02/aix-cobol-overview-with-rational-developer-for-power) **Published:** February 6, 2012 **Author:** Kenny Smith **Content:** For an environment long thought a dead end, IBM has revitalized the platform with its new COBOL tools for AIX in RDp. The UI is a wonderful replacement for vi or other text based editors, yet allows developers to build upon their vi expertise by allowing common vi commands in the LPEX editor. The COBOL Development Tools for AIX feature of RDP includes many source editing-related capabilities that target IBM TXSeries. These capabilities help you: - Access remote files, processes and shells on AIX - Identify code problems early through live syntax checking - Color tokenize and syntax check embedded CICS® and SQL statements, making it easier to read and write source code - Use content assist for embedded SQL statements - Access code templates to help write code - View code snippets, including predefined COBOL source snippets - Select and extract source into a new paragraph using a new refactoring tool Rick Sawyer did a great job showing off these features. Note that this video does not include the latest features of the 8.0.3 release. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** aix, COBOL --- ### [Increasing the JVM heap for RSA, RAD, and other Rational or Eclipse products](https://www.strongback.us/2012/01/increasing-the-jvm-heap-for-rsa-rad-and-other-rational-or-eclipse-products) **Published:** January 11, 2012 **Author:** Kenny Smith **Content:** I ran into an issue this past week where several times my Eclipse workspace ran into out of memory errors. I’m running Rational Software Architect (RSA), with several additional plugins, plus run one instance of WAS, and another instance of WebSphere Portal. Yes, I know. Yikes! That said, I have the horsepower for all these systems with a decent powered laptop (a quad-core lenovo Thinkpad w520 with 16GB of RAM). So I’ve never touched the top end of the memory on this laptop even running all this at the same time (along with multple browsers, Lotus Notes, putty, Word, and at least 2-3 other apps). So my problem was not my hardware. Rather its my JVM for RSA. I installed the 32 bit version of RSA as one of the plugins I’m using (HATS toolkit) requires the 32 bit version. You can increase the maximum heap size in the eclipse.ini settings found under x:IBMSDPeclipse.ini , assuming you installed your environment off the root drive. In this file the values that come after the vmargs statement are passed directly to the JVM. Xmx is setting for the maximum heap size. I recommend that you change both this size and the Xms setting (the starting heap size). The Xmx/Xms setting should default to to 1024/100 respectively. I’ve increased it to 1536/256. Be very careful how you set these. Make a quick back up copy before you make your changes. -vmargs -Xquickstart **-Xms256m** **-Xmx1536m** -Xmn64m -Xgcpolicy:gencon -Xscmx48m -Xshareclasses:name=IBMSDP\_%u -Xnolinenumbers -XX:MaxPermSize=128M -Xverify:none -Dosgi.requiredJavaVersion=1.5 -Dosgi.bundlefile.limit=100 You also **MUST** update the line ***-vm ‘install directory’jdkjrebinj9vmjvm.dll*** to ***-vm ‘install directory’jdkjrebinjavaw.exe*** Otherwise, it will not respect the variables and ***WILL*** crash your Eclipse instance. There is a great blog post on these various settings that I found at You may need to tweak some other settings as you go to manage performance. Don’t forget that in version 8 of the products you can dynamically reduce your memory foot print: Are you getting the most effective use of your Rational Application Developer instance? Are you using the code analysis tools? Code coverage tools? Still manually writing ANT/MAVEN scripts? Need to know how to generate JPA stubs? [Get RAD Trained](/training/rad) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational, RSA --- ### [Deploying connection information to RDz users in an enterprise](https://www.strongback.us/2011/11/deploying-connection-information-to-rdz-users-in-an-enterprise) **Published:** November 3, 2011 **Author:** Kenny Smith **Content:** When rolling out Rational Developer for System Z to a mass number of users, I’ve found there is an easy way to do this that avoids mass confusion, and frantic help desk calls. [![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAAFmCAIAAABoUCEJAAAgAElEQVR4nO2de3ATV57vu+4fU3Vrq25lM9nszO7eS/buhLmBqcoD5JrxJPFkZmsms8kw2ZlA7BCwSIInQHDCawIEgo1l2eZpkhDABmwcMMYywRgwhBnHCYGYRxAkYPJwwIZgjF+ybFlvyX3/aKl1utWn1bJl6Vh8P/UrqnV0+nRb0SfndKvP73AcAIBxth3+glfl1KlTg4OD6nVopM/KzV68dsoLuYUb6p5/cfWTz68+lrV6wdKisIr1WVxqccvwDpLM1Gdx+GDuWLQqOhI+/qw+fVauED9INYovwypCUZKW4lTxf6FZ9Yk+G5Ao4qEoAGDYQFEAmCY2ivr8Qw1f9r579Lqh5ioi+eLdo9cbvuz1+Ydi9bUD2omNooc/7zpi7rlp8Q64+AEXv69i38WLX+8q3SW8FOPSFbN4UZo+K1f2LoLZuGnxHjH3HP68K1ZfO6Cd2Ci6pvZar93f6+B77HyPnS8vLb948ettm7cJL8VIn5W7YGnRD1KNPb/4g7FI/i6C2eh18L12/5raa7H62gHtxEZRQ83VfhffPRiI99557+LFr4s3FAsvZZ3npSvmrl8+YywqEesj2I9+F2+ouRqrrx3QTswUtTr5Tlsg1q9bf/Hi14UFhcLL9Fm5BWtNP0g1Gou2zVtY8INUY/ujfzau2SHWH1NRP4NLzfti9A/0RfHkwIHidUTVsDqhaGKImaIWB98xwHcM8A/lpJPRMcCnz8o1Fu37h8eMxqKSua8X/MOjxutPPJdfVCbUH2tR/wKXmnshuY+oEBYHFE0MsVPUzrf383t37X0oJ31p7euFH+csrX39oZz0A1UH0mflGgr23JVmXHlg85zXjf+YZrz2n9Pzi3a19/NjMOpf4FJzLiT3ERXCYoeiiSFqRRsbGwsLC2WFhpqr3YP8jT7+4sWvf/T6k0trX3e5Li6tff1Hrz958eLX6bNyVxe+/09PGPKLyl7Jzr/3CcPXT84yrtl9o48n44Qx9DQNp6+/0deSowu8ml7N3+jjb5iLJwWfttnVx9/oq5/OpU7Xp3Jc6iRdsE4ff6M6i9MVn1Crn7VL8q64b9gRxQhWnmQsns6l5pip55NTHSicXh36iyYZW2TtaDhoffBAkmaDTWk4VihUPknxoBEa7B6EookhOkUbGhomTpw4fvx4Wbmh5mqnjW+18Hq9XlBU6EV/9PqTer0+fVbuqvyynzxpMK7ZPXte/n/8Lv/ylKyCtXtbLbxS1GdwWWUWvrU6i8usl5anvnWeb7XwrdVZjxhbWi31GRz3iLGlVVq5LJPLqI5U31KfwQnV+NbzxY8INeVHJA8dqPyxMZULNKvcPqcr/lg4H/LchL8o6oOKBwo2K+4V+VhitLylE/9q+Z+jvcFOGxRNDFEoKviZnp6uqOhtG3+1h7/aw9/1yq/IuNrDp8/KXbF6+4Sn8wrW7n1prmHC0wbzf88rWFMt1JfFjplcRhV/tYe/erb4EY57xNASeOts8SMcwcz6qz31GVzqyrPCjvUZXNYOYUNX/FHE+meLHwnUJw4qPeIWABhAq6KinxkZGYqKtvfz33YrR/qs3GWrtkz6o6FgTfWsV/InP5N3On1h4doahcpVWdzMerLkb4ZUjuOeq+K/PVP8MJe1XVK//jku9c0zoZoPG1qEf7/tjlRf+u72mdxzVfIjbtmyxQ5AotGkKOknTdGbVv6rTuVIn5X7xsp3f/nnvMK1NZl/yUt9Nu/k9DcK1x0Iq1k/jcsqCdv9w7zUh/Navuqsn8ZxD+e1SOunLjsdfHm6+OHJWdMmiy2o16+fxnHT9gZ3lB5XOCIUBSygSdHCwsLxBEajMVzR7/v45tvKkT4rd9HyTU9MW1247sCMl/OemJb3sX5l4fqDsmpbZxDj0snFRyuzgi+ytgp1Thc/JFaYUd98u34ql7r0tNhCy9LJQnmwRL1+6N1gofSIoqL9MeXG99/zPG8FQBvR3S6iYai5et3CX7qlHOmzche8seHJ51cXrj/4wkurn3x+9cf6lYUb6mj1GQkoClggZoq2WvgvbikHLesCrT4jAUUBC8RG0Q2H2r6+7bt0i7/YrhC0rAuKldkJKApYIDaKHjV3157rbenyU37qHJMBRQELxEZRt9d/6FzXmtprCZ98HMOAooAFYqNoUhJHRU16juP0JmmJzmiO61cBsAkUpRJfRXU6HSkpFAUB2FL05Po/CpHoE+H5uCtqNBl1ISuhKAjAkKIn1/+R55uEYEHUeCtqJr0kNs3G4DQVvclqNenFzlZaRzJOBskDQ4oey/svvr9KjGN5/zXSFuuzQjmi68Unh6TptEPlsnTS9fFXVHXDajXpAx4LNpr0Ol2g3zWTHTBILhhStGrJb/hLy8SoWvybkbXXUpwalFGy4kJLcWrwRUtxqmhmS3GxxNGEKCr2ksGSUBca7EeDOpr04tgYhiYzo66o9sVgts99XBYjOnBLcWrAPlJEaYHaChUJUtRqNuo4vYlUVDaEFYQUulSzUac3wdCkZtQVraysrKqq6unp0Vj/rqlroj0EufgJ0SlSDSU6WJUFjRKlqNhzigNd+Y0js1FHDnH1ej0MTWLioWhXV1dpaenNmze11L9njknYaKwvFEPboWSXnoSscgulA9xUhSvRRCoakDT8dlHwt1OzUSd5F4YmM/FQlOf5np6e4uLib7/9NmJ9UdHjh9a6PT63x3e5bs7xQ2sj7kgKytdnhaxU60WJArml8VQUACpxUpTn+Y6OjtzcXIvFol5fVPTwgY0Ol9fh8rad3ni5bs6hA8Vqu0kElRlIvxZVK2uBooAF4qRob2+v9l70njmmu6auqane3G/3lNSce6fys36711S9mb6TRFDiMpR4X/rzS8Dg+mKF27xBoChggXgo2t3drf1aVKRiT2nPgLtnwN3T7+4ZcL+/p5RWk/jJk+NSi/8eZqisEvGucqkAFAUswNwdXZGS8l0dFrfQi3ZY3CXlu7TtR16GjggoCliAod9FZbxdWnmj2yXE992uTaWVMT83daAoYAGGni6SsXaLac17prVbTOJGnE8AigIWYFfRhANFAQtAUSpQFLAAFKUCRQELQFEqUBSwABSlAkUBC7Ci6MRp6yemb5qQ8e6EF0omzCyfMGvPhJdMD/ylbsLcYxNebXhg/icPvHYyzqcERQELsKLoA6+dzP2ot+CTvo2fWbeds+3+0n7gK+ffrno+u+m/2Dn0tYUfjqJjJuuC1WqVzmiJPHclWBuzXJIdVhSdOG39xPTiiRnvTpy+LdCLvlwz4S91D8w9OmHe3x/IHkYvOoayLsjnlJn0WjIRqacgQ4KyJIEVRd9b9mCzjVeJ95Y9GF2LYynrgkJuBQ1A0TsCVhR9+42Hm218p5sab7/xMG3fMZ91QcVQYvQbVkOagsyoJ8bIJj0n3U2tHcA0rCi6duEkmaIOvyTWLpwUqY0xm3WBSD4kvcQ06UWjFLIrkIpyYlpAYkusr94OYBpWFM3LTmm28T0evtvNd7v5Hg/v9PPjDFPGGaacuHbB6efzslPUWxjDWRfkvahybjEig660mtzGsMII7QCmYUXRN+f8vNnG93kCYfHwbj8/zjDlnVMF4wxTplUubWq7pLb/2M66ILtuhKIgBCuKLnr5l8023ubjbV7e5uNtPt7j58cZpuQ15OY15OZ9lDvOMOU/S+Z4/Ip7j/msC2ajjrhIlIxgiQGqzCzNikZoBzANK4q+mvlYs413+ninj3f5eJef9w3x4wxT0k0L0qsXPGda+JxpYbpp4TjDlPB9kyTrAnGLJ9Slhm7zhGfqFIsVFQ22J79dhAvRMQYrima98KtmG+/1B8IzxPuH+HGGKX/YO/sPlbP/sHf2OMOURYc2amgJWRdAUsGKorMynpDFxw2HxhmmzKrVjzNMeey9lyNci44CUBSwACuKKiLe0U3I0aEoYAGmFU0sUBSwABSlAkUBC0BRKlAUsABzipaVpeXkcGVlaYk+ESgKmIAtRcvK0vjGNJ4v41szc3K4xLoKRQELsKVoTg4n+ClGZmZaok4GigIWYE9Rws/WxjRtitZnKT0e1FKcKjzqJ58WKj4vSE+5kMVxUBSwAIuKtjamiaFZ0dRU+ZQzwb/U4hb5M7yBV6opF7K4VCgKWGDUFY1qTZeysrTMTEnk5HAa9qvP4lKzslLDusqsQPcpmcYS9FU15QIUBYww6ooOY2W0VasyozyIYBvZVwrz0UQLCUdDtdRSLkBRwAjxULSrqyuq9UVJRXOCZGZmUncIdogh+wIzRkMdJZkKRTpvTXGWSyKuRaPLAEhOjMEclmQmHoryPN/T06NxlW4+TFG+tYwPukrZoz40oJVcexJj2cBbCllSFFMuxLsXHU4GwGBduJnUxElRnuc7Ojpyc3MtFkvEXeSKBjcyMzMpfSk5oE0trhc1JC83ZW9JCEu5EGdFRzLPGoomOXFStLe3N6peVAyy52xtbYykaOA+LvFCmsOIvPhUS7kQX0WHmQFQIExRJPtLLuKhaHd3d1TXoiRRKypJiyK9aSs3USXlQtwVHU4GQIHwvEdI9pdUsHhHl0SboqMC8xkApZWVmkImsSSArd9Fw8nJyWlsLBMjORUdZgZApX2haNLB1tNF4Yh3iUTidmjmMwDKKosvkewvqWBd0QTCdgZAcjfa7SJciCYDUJQKni4CLABFqUBRwAJQlAoUBSzAiqIclxMx4nxKUBSwACuKpmWWpWU28l4rl5OTltmYltmYtioYZWVpZWVpaZlxPiUoCliAFUUjdqEqikrWdOE4LrSqklJSBaI2fWWJluJUZF0ATMCKojk5OY2qaPhFNPxxv7CkCpIpogqroQWLuax69KKACRhSVOVdbY/+SRVVSKqgZaHRUBEUBSwwZhRtbW2M1IZMyrCkClqX6w7UgaKABcaMomlpmWlpq1TbCO83pUkVFKZzK/WrwTpQFLDAmFGU43IyM1fxPF9evptSi5IvTEyqgF4UjEFYVzQzc1Va2p85LofjuNbWxsayRi5iepQwgt4xdC3aBoA2WFe0tbWxvHw3x3HBn15WNTY2UtqQ3S5SSqpQn8VJsnUqOR3Mmz2qigKgEYYUJeeFSqNR6EXp/aeAwu2i8J9F1XItiLQUpyIbPWADhhTNDEMY2RoMBo7LKStbxXFa0l7HDCgKWIAVRRXhcgLPFQnD4Dg/pgtFAQuwrajUSS4n57dTsuJ2dCgKWIBpRRMLFAUsAEWpKCo6cdr6ienFEzM2T3ihdIK+YsJLVdWftH525pOnMxbI4rMzn0BRMHKgKBVFRR947WTuR72FJ/reaeovM9v2X3F8P+B7OmPBybOXyKj54MjTGQugKBg5UJQKtRd9rnji85snvlA6MXPXhJeq9n3S+nTGgk9Pf3HgyKdiLHurEIqCmMCKok1HFtAiUaekqGjdxsnNNr7ZxpvKlwgbFg//dMaCfTWHlq0sICNqRRUzAMYErWnpTXpOtsjEiBaMkWbxlTYlvBdFvvw7d+kaVhT9tG6xze4Jj0/rFifqlBQVrVmna7bx3R7eVL6k28N3e3innw+/EBUiCkVNekLMRK30YNJzOp2O7tUw2hPbMht10r8wynahaKIV/ejAUqvNs/Ldv7256fiiNUdeKzg4d/V+q83zUe1SbQ2IjxZJcjAQi/1GeKAoHEVF3y/4ebONt3j5vDXvmsqXmMqXXP3m9NMZC442nF1YlrewLO9ow9mjDWd3VX4QjaJhSakTk6XapOd0RhNpz8jEkK5VozcadaEk3NE2C0UTrehR04oem4uMXpunx+Y6alqprQFSUerklVD6BQ0oKrp19S8FM/PWvNvv4/u9vGeIfzpjwc7dH5z69ZxTv56zZPkaIaJQVEFI8Usc1EY2AA7lsxZ2NOk5ndGop4yTyfT2kasRNhCb0iMSHaS0jvz/NMJbwoa4E7mhemKhVaiMSmcib071ZMYqo66oxjVdDuzN7bK6yF700/PXnG5fa8t5bcehK0qdABMBRUU3rHi82cbb/fymt4vsft7u471DIx7oKnQqorUmvfidDY1/JRLpjGbJZSSxZEQQyQoU2qrRNoJHJCzT6SQiyloM/BWBswyebODI6icW2iKGyUpLv2k7mTHKqCuqcWW0qgrjrV6XEHaXT4h/m13BPZr9b7MrNByHrihtRkskFBXNX/qrZhvvGuLXbNjgGuJdft7H809nLNh38FMyZs9fHstelBh36k2SboTo1cRq4WNCJdPUqolHIheAkh4xeIImvTg2VpJCaCeokFCDqKd6YmalIbfiulIaT2ZsEg9Fu7q6Iq4vWrFz7Y0up9CLNl28zk1Zx01Zxz2a/an5KvdotvBS9TiK16Lilac0/YI2FBVdteTXsvj89KGnMxbs/qBxzbs1YkSnqNq1KPndDZYqKB1rRQPHUBYjWEFnNAv9otmo05sUpTAbdTqjibwI1RuJejFSVOPJjE3ioSjP8z09PeqrdG8v2fBNu/2bdrvV7rXavdyUdc9v/Nu6PV8K8fzGv0WjKKXLFNMvaIP2AOCK5dkbt2xesTxbLBEUNRTvEyNKRWXDTvL2LrEt8VamV8wVFXvO0PBSVtts1JGjSr1erySF0Ap5UE76l6qcmJaBLnEDKvLJjEnipCjP8x0dHbm5uRaLRbHa+q37vrph/+qGvW/QK4xv1+358mVjJfdo9svGynV7vow04tWgqGKWBTo0RVcvnlKy850XXsl8InPe+Gl/Lfvwc0HRZYYKMaJW1Cr5XVT2s4der5OXkyPP0Rjohg6icJOG8IZ8V1kK2TvSS+BIJxb8TCi3i2T/Q4l8MmOROCna29ur3ovyPJ+9fEPzjUGLzcs9mj235MTckhPco9m81yp5SSMkZvjtIqX0CxpQUXRP5aaDH2xsqF93umFtZ/sXgqIrCnaLMRxFlblzf2wAAvFQtLu7O+K1qEDJ4aufnGsVetG5JSfEXlTwk9KLChefonqS30VTi1u05VlQQEXRha9Nnf6XzCcy541/LtCLvpX/3uz5y8mAoiAmsHJHV4ZwLZryxn4hNFyLxh7tk9EOH60O/8Xl8NFqKApGzqgrqvF3URniHd2UN/Zru6MbezBfFLDAqCs6EqL5XTT2QFHAAkwrmligKGABKEoFigIWgKJUoChgAShKBYoCFoCiVKAoYAEoSgWKAhaAolSgKGABKEpFUdGS391X8vtxpU+N2/6H/7Pjmf+988//Wj7tX3Zl/LjihR9VZP7z7hfv3f3SvXtm/xMUBbECilJRVHRdxk+7N/yP3rd/YNn6P/t2/q+BPXfbav7Zfuhfncfvc378E/dnD3jPTRyOoqFpLuHTREeMtpkfxEyb8Ikksorh7+BBxdECilKJXy9KTlM2G42BfCiJ+sZHPDQUjStQlIqiojtWPHh5YOhSv/9Sv3/v9leEDdn2jhUPRqeowtcbioIAUJQKTdFL/f5OJ9/p5Pduf0XYkG1HrSgti4Ja4r+okt9pzAAY1o54cuQhlc+NmisQjBAoSkU5Sefyh3dtfbV866u7QjG/fOur5dteLd/66q5tr+7a9urWZQ9HqahV/F4TvoVnAhl28juNGQBllWnl6kkJw7MTghEBRakoKlq8ZNI1O9/j4rtdQ1vfWdTtHOpx8T0ufus7C8Xt4r8+Er2iVqs14Klefi068uR3GhOjUMpD3Sg9KaFKrkAwMqAoFUVFCxfqWu18n5vvc/Pr1y3rcw/1uYf63Pz69aHtwgUpw1Q0pKFmRTUlvxuBoqGDKuYNJfP90nIFghEBRakoJ+mc//PVxtzV+ZLINeauzs9ZbcxdbcxdnZ+z6tWfR6eoyUh+44PjV7WMeFEmvxuBouIryZhWMSkhNVcgGAlQlIqion995dHvnbzTN+Ty8W+sKnT6eKePd/qGluYUuLzCNv/GK7+MshcNT/5HcWmYye9GMtAV12zQ64leNCwpoeJJYqAbA6AoFUVFX5v92E0n7x0a8vqHspdv8PiHhMhevsE7FNh+bfbjwx7oAiADilJRVHTui2laAoqCWAFFqeAxesACUJQKFAUsAEWpQFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUChQFLABFqdAUfXNb47PrLqrHm9saoSiICVCUCk3RZ9ea/5q3XT2eXWuORlEiGQKB2aiLel6XtmR/YAwBRalQFS06tyx/5zf9Plosy9/5bNG5KBUVp3yShdwIpl4i31eSAEWp0BU9/WZR+Tf9PpfH53L73G6fy+1zefwut9/l9rnc/hVFu6YWno5WUXE6ZqhMrx+BZlA0SYCiVGiKTjWeXLXu/W/6ffnbGlduOrYof/+cZRWzFpTYXV67y2d3+late/9Z48loFTWaiWx+YroTpXnSklnU8nR+YlPS2pTd9Xodpl0zDhSlQu1F8z/OK678pt/Xb/cqRl5x5dT8T6JXlMi4GcgTREuJopLOj5ZgQXl39LPsA0WpUHvR1Q0Fm6uFXjR/W2PO2x8uXXMwO6fqL0vLZy0o6R3wFLy7b2re34ehKJHOTy1nl/xdsgVFRSPvDtgFilKhKpp7bO22/d/0+7qs7k6ru9Pq7rK6u8SNfvfarfun5h4bjqKCoyYxhR8UBVCUDlXRVYc3bD/wTb/vlsXd0evusLg7hI3ewMuN22unrjo8LEUleaQj5f7TrGjk3QG7QFEqVEVXHthUVreprO7tsoObyureLqt7u7xuU1ndprKDmwIbdVNX1g5TUcliD+q5/9QVDaYVlN8uipgBELAFFKVCU3TexoapK2rk8Sbx74qaeRsbolEUACpQlIqWZ3TnbWyYumzf1GX7pi7fp6IlFAXDBopSUVF03saGqcsqpy7bE/xX2AiEuqtQFEQFFKWCmS6ABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUhlVRdsA0AYUpTKqigKgEShKBQNdwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUChQFLABFqagr2nRkgWJAURBboCgVdUXbb1zw+4fcHh8Zl+vmRLQUioKogKJU1BVtMNzbYLjX6/P5/H6n2yvEtw0rmuvmnDq8KEpFifUd1NdvGOZSTEj2N4aBolRUFG0w3Dvk7xMsPXt4udfnt7u8dpe37fTGbxtWXK575UTdkigVJfPo0iRVe08VKDqGgaJUaIrWr7jHfT7Taz0sRP3Ke84eXu7x+gfsXjEaDiwdpqJqOg3bNCg6hoGiVFR60ZqFd7vPZ9YsvHv/wru91/L3L7rb7fVb7V4xPqxZPvxelMx6HRr8hgbDwWVfiHXNJDXDX5v0nM5oCpRB1rEFFKWifi1aOe+uynl3uTz+ynl3nT283OXx9w54xDhcvTJKRcOvRCXeilqSa0AoaC3UJJdBFNsPW3oCjAmgKBWaomcPL+/v7/+m5Sun2+90+88eXu50+7uCiy8JcaAydzi9KLk+ErEiaFBdyng4vKbZqJP0lhoH0oBFoCgVRUXPHl7eYLi3P3hH1+7y213+Wxa3LEy784c30DWLq6JJlzOTVVNZ+ExEMJe+hhoYG0BRKoqKkvdyhY1Bp/9mj1sWlbsKhqeobDU0qUw006iL+RLrlULRsQoUpULrRetX3iPeznWfz6xfcY/N6bve5SKjYufa4SpKrKNNjmBVBrrhNUPXtirLHIKxARSlonItun/R3fsX3u0+n7l/4T8OOHzXbrtksXP7+mgUBYAKFKWi5Y5uv933XYczPEpLNkJREBOgKBV1Rc9fajt/qW3r1k20gKIgJkBRKpiMBlgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVrIwGWACKUsHKaIAFoCgVDHQBC0BRKlAUsAAUpQJFAQtAUSpQFLAAFKUCRQELQFEqUBSwABSlQlP0qeyKlw1Hjje1vmw48lR2BRQFowoUpaLeiw5DTigKhgEUpRJHRTWvjAbuPKAoFUVFG+sLhXgqu0LcpkU0impZGQ3ciUBRKoqKfli3bs+n16vPtD+VXdHQYm1qd1zo9QrRbOPJ+PCQcirdEayMBu5EoCgVRUUPfrCp+kz79S7nU9kV17uc17tD6a3bup1t3c62bldbt+t6t6vug03D7EWVV0YLvmcMDIolueglQ2TJOmjBFV4ku4S1DNgFilJRVLSqauuhL7s6+txPZVfc7nPf7nN3BOM2ER197qp9W4dzLRphZTTCVuqKL7J10IKthHYJbxmwCxSloqho2fs7G1qslkHvU9kVFpu3b5AMT9+gR3xZVrEz6l50eCujyVYeVVv6RTwKbk+NGaAoFUVFN+/Y09TutLt9T2VX2F1+u9svLI5md/kdLp/D5Qtsu32bd+wZxkA36pXRQtXEXbUoCi/HDFCUiqKi67eZLvR67S5BUZ/d5XMEw06G27d+q2k416LRrowmloVWa4qkqFrL4RsgwUBRKoqKFm7+QIinsivEbVoMS9FoV0YLVtLp9Rp7UbWWoShzQFEqeLoIsAAUpQJFAQtAUSp4jB6wABSlgslogAWgKBUoClgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVFUW/P3ny7IzfNxeukJU3F644O+P33588CUVBrICiVGiKfn/y5Nn0337/pz+eTf8taWlz4YozQvlzv1WxNGIGQNUJJpiAcscBRanQFP2usvzMM7+x57xlz1155pnfmLNnfldZbs6eeeaZ3wwGC7+rLI9SUWkqIuqMaxVFYW9yAkWpqAx0mwtXnP5dmm3RksFFi9tmTT/zu8fbZk23LVw8uGDxmd+lhQ+Ao1FUPSsCFL3jgKJU1G8XXZ69uOmxVNvL82wvzbO9NHfwpXm2l+Y2PfaLy7MXq/ipSVHSUcUkgPJp2XpTeIIy5PhLFqAolY9FIaIAAAzaSURBVIh3dJsm6dpTHh+Yqh+Yqh94Vn8r5fGmSTp1P6NUVDEJYFhWBPlbiu+CsQoUpRJZ0Qcean/oF/1Ppg88mT7wZHr7Q79oeuChGClKS9WnksWPkvcE/egYB4pSiTjQ/ey+n/Wn/YmMU/dNjMFAV+xEVZIAqucHRI6/JAKKUlFR9PLsxZ/9+P8JWn494cFTP/rp1xMe7E/7kzXtv0/9+Kfqlmq5oxvUSz1Vn3p+QOT4SxKgKBWaoq3bq0798P6AkD+8//Lsxa3bqy7PXkwWtm6vilJRys+iKkkA5W8FW5HfLkKOv7ENFKWi8ujCqR/e3/azyYKfZNd66of3t/5s0qkf3h/lowsAUIGiVNQfAJT5SVqKBwBBDIGiVPAYPWABKEoFigIWgKJUoChgAShKBYoCFoCiVKAoYAEoSgWKAhaAolSgKGABKEoFigIWgKJUoChgAShKRVHRpiMLaAFFwWgARanQFHV7fEIMz1UoCqICilJRVPTkoUVOt9fl9rncXlJXMS7XzVG3lK4oMTkFU1BAEChKRVHRE3WL7S7vpj1NuVv+fvJwSNfghu/bhhXNdXNOHl4UnaJmo47MjmA2GjEjG1itViiqgqKiDQfeGLB7bQ7vgMP7Sd0SUdf5hv0z//q+w+VtO73x24YVl+te+eTgEs2KIksCoAJFqSgqenz/m1a7d9OepnXln350YKmoq83htdm9NkcoPjrwhlZFVQwlBr9EKgad0RQoV8iSgqnayQUUpaKo6JHqt3oHPL0DHsuA58Oa5aKuhpLGFW8fW1RUN3d1zUvL91oHvR/WLI9CUWWpiCQpZqOOSIkS2BQLTXrSYHTIyQQUpaKoaO3e3C6rW9DycPVKUdfesDhS/dZIe9Gw3lGeuVNSGEy0iy40uYCiVBQVrd5tuGVxd1jcHRZ3bWVIV1kv2mV11+7NHem1aGRFQzWEnpjaH4MxCxSloqho5a6Cmz0BLavfzxd1JUMoNL1v0Kxo2EougTu6soGumJA+6CjpsNmo0+n1OjIJIPKJJQNQlIqiohU711zvcglRWR7SVdaL3uxxV+4qiEJRqzRnn6SblBWZ9JxOr9dJ7yEF3lC6awRFxzZQlIqioju2r2/tdG3a01S085NdhK7hUbFzTXSKaoVqGm4UJSVQlIqioiXbir/rcH7X4bza4SR1feud4wsKD2a9VdV623nttvPabdfO0vVxVRSXoUkKFKWiqOjWrZvEIHUl/xU2SkqK46WoMBqGoMkJFKUScTIaqatijI6i4M4CilLBfFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUinZFr1y5AkXBKAFFqWhU9MqVKydOnNBuKRQFUQFFqWhRtLOz80SQzs7O4SraVDp//vzSJtl/m5aDhvnzDQdb4vZlACwCRaloUfTKlStiL6qxI6UoajAYZDY2lc6fD0UBFKWi/Vr09OnTWuRUV7S0VOpoU+n80tJSKHrHA0WpqCja2dlJ9pnnzp0Tt69cuaI+4qUperClqTQ02G05aBBKgoq2HDTMD1DaFHgdGhqLFUPVwsbNYGySvIpyHCL+kejvcxICRRFQlGmSXdERQBvoyn5luXLlyvnz58mX6r/B0Ae61sD4tulg8Ko0WB42qhVeCKPhFrG6tFqcgaKjBBSlonItKrt/e/bsWdpbUSoauI9LvBA2m0rFi0vSw5aDBkNpqUHUsqlUfguYbEG2EWOg6CgBRanE+Y5uUJuWgxLlwm8XkYK1HDRIbwwRd5XmlzZB0SQAilKJ4++iyQAUHSWgKBWNiopPF0FRKDoaQFEqeEY3KqDoKAFFqWCmS1RA0VECilLBfNGogKKjBBSlAkWjAoqOElCUChSNCig6SkBRKqKifdZ+c+vgkS+dH1yIQZg+H6y75I1JU0yF8IEn/DSSL6AoFVFRc5v9wnW3ddDtcnlGHgMDg34/73S6kyyEDzzhp5F8AUWpiIoevuTqt3sGHS6b3Tny6OqxeP38wKAjyUL4wBN+GskXUJSKqOgHF5wOl2dg0BmT6Oy2eHx8v82RZCF84Ak/jeQLKEpFpmj/oDMmcbvb4vbxVpsjySJwuyjRp5F8AUWpyBW1OWMSt7ssbi9vHXAkWQQUTfRpJF9AUSqkonaXx2pzxiQ6uiwuL9834CCiNpMLkVnjkL47NkL4wBN+GskXUJSKRFGnp8/mjEnc6rI4vbxlwEFEbSaXkn/BIS0ceYxSs8ohfODxOdYdFVCUCqnooNNjGXDGJNo7LQ4P39vvICLgkrRw5DFKzSqH8IHH51h3VEBRKhJFHZ7eAWdM4manxe7he/odRNTO5FLyLogvL+XpuMkFl3r6HT01L3K6orNChZqiyRzHccG3+h09FwIlHMfNrAk1NVOfwpHoa6WHG5UQPvA4HOhOCyhKhVTU5vD09jtjEjdvW+xuvsfqIKJ2ZsinF6sCJS9WBf4NVtAVnbU6esxFk7mUPHOgcKbJ0RNWONl4KdisUBiPCCgal2PdUQFFqcRX0TCXTC9yooHSClV6bqZJ0FIQmCiU1ISiyRBQlIpM0Z5+Z0zi+9uWQTffbXUQEXBJUhhUNKzCpTwdN9Pk6A4qKtQXFJXWVGp21EL4wONzrDsqoCgVUtEBh6fb6oxJ3Oiw2Fx8V5+DiNoZXEreeVnJi3sD/wovucn5l7r6HF3niyYThTOqHWGFYlOK2+EbsQnhA49VawgxoCgVUtF+u6fL6oxJXO+wDLj4zj4HEbUziJs7k/JrV+u4SfmXOvscp/NTOF3R6b7aGVzKjMzATaAZ1cEdzxdNCuyUsvq82JS47dgr/N6aWUuUh2/EJoQPPFatIcSAolRkinb2OWMSbbcs/U7+tsURTdTO4FJyz0e1S7xD+MATfhrJF1CUChSNKqDoKAUUpUIqah303O5zxiRab1msTr7D4ogmal/gUnLPR7VLvEP4wBN+GskXUJSKTNEOizMmca3d0ufgb/U6kiyEDzzhp5F8AUWpkFO6u/o9t/ugqFpA0VEKKEqFTIxyrs3daXX3DXpGHp2WwUE3b7G5kywCj9En+jSSL6AoFTK92OfX7Ee+dMUkWxTSiyGiCihKBUk6owJJOkcJKEoFikYFFB0loCgVKBoVUHSUgKJUoGhUQNFRItkVRcQ3Ev19TkKgKAKKMk3yKjpi4jbQLRBmsKQUmBP1LQAMA0WpxPFa1KQfXUFHu30wikBRKlAUsAAUpZIIRU16LqXAFBj56k1Wc2BTNExSIaSdWI/j9KZQm3p5KkBT3L5YIFZAUSoJUpQL37Sa9EG9iFJzQQpRNWCftFAiNnrRsQkUpZKwXtQsK6RVsJr0nN4kaBnqHwOF1KbAGAOKUmFe0aCaUDSpgaJUWFU0WBoyUzbQFQs12g6BmQaKUknE76KavBJvAoW6ztDtIuWe06QXd4CiYwwoSoXJZ3Sh0x0HFKUCRQELQFEqUBSwABSlwqSi4I4DilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCiVUVW0DQBtQFEqo6ooABqBolQw0AUsAEWpQFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJSKRkWPbxl/fMt4KApGCShKRYuix7eMH/L3Dfn7tFsKRUFUQFEqERU9vmX8kLt9yN0+5Lk55GnXaCklSafCag7mgpTYrZcmy6iCBCtjBihKRV3R41vGD9kv+x3NfkfzkL3Zb7/st1/WYiktj25KiswZIbEmFL3TgaJUVBQ9vmW83/qpED7rp37rCb/1hPAyoqU0RfV6qaMmPafXx04kKDpWgaJUaIoe3zLe11Xr76r1dR3wd9UGt2v9XQeEf9UtpWejDy71YLVareaCFKEkKJJ87bOwVSJCazERteSHCH9JWWoNMAMUpUJT9MPN93/43v3HNt9/bPN4780d3ps7vO07fO07jr13/4ebAzEsRa0hRwVDpetEyNc+I4xWWMfFpJf6pqJo+FJrgCGgKJWIt4uOvXO/r22D9/oGb9sGX9uGY++omalF0aCZYcpRF1YKLt8i70LD+1HVXlS21BpgCShKJaKiRzb9xHs1T4wjm34yUkUFR00FwatSdUUDRpvF6tJqUkK1pDWVlloDLAFFqURU9NCG/0sqemjDf4xYUenKv9SBbtAjc0FKil6fImpFLvsrR7YkcLANxaXWAENAUSoRFT249t9JRQ+u/fcYKGo1F0iUC79dRDpoLkiRDmjJsa5cN+I9ydhWaak1wAxQlEpERQ8U3kcqeqDovuEqmkDw6wvrQFEqUBSwABSlouUZ3f3G+2ryx9Xkj9tvHKfFTygKogWKUsFkNMACUJQKFAUsAEWpQFHAAlCUChQFLMABABjn/wNZweGNmUIpYwAAAABJRU5ErkJggg==)](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAAFmCAIAAABoUCEJAAAgAElEQVR4nO2de3ATV57vu+4fU3Vrq25lM9nszO7eS/buhLmBqcoD5JrxJPFkZmsms8kw2ZlA7BCwSIInQHDCawIEgo1l2eZpkhDABmwcMMYywRgwhBnHCYGYRxAkYPJwwIZgjF+ybFlvyX3/aKl1utWn1bJl6Vh8P/UrqnV0+nRb0SfndKvP73AcAIBxth3+glfl1KlTg4OD6nVopM/KzV68dsoLuYUb6p5/cfWTz68+lrV6wdKisIr1WVxqccvwDpLM1Gdx+GDuWLQqOhI+/qw+fVauED9INYovwypCUZKW4lTxf6FZ9Yk+G5Ao4qEoAGDYQFEAmCY2ivr8Qw1f9r579Lqh5ioi+eLdo9cbvuz1+Ydi9bUD2omNooc/7zpi7rlp8Q64+AEXv69i38WLX+8q3SW8FOPSFbN4UZo+K1f2LoLZuGnxHjH3HP68K1ZfO6Cd2Ci6pvZar93f6+B77HyPnS8vLb948ettm7cJL8VIn5W7YGnRD1KNPb/4g7FI/i6C2eh18L12/5raa7H62gHtxEZRQ83VfhffPRiI99557+LFr4s3FAsvZZ3npSvmrl8+YywqEesj2I9+F2+ouRqrrx3QTswUtTr5Tlsg1q9bf/Hi14UFhcLL9Fm5BWtNP0g1Gou2zVtY8INUY/ujfzau2SHWH1NRP4NLzfti9A/0RfHkwIHidUTVsDqhaGKImaIWB98xwHcM8A/lpJPRMcCnz8o1Fu37h8eMxqKSua8X/MOjxutPPJdfVCbUH2tR/wKXmnshuY+oEBYHFE0MsVPUzrf383t37X0oJ31p7euFH+csrX39oZz0A1UH0mflGgr23JVmXHlg85zXjf+YZrz2n9Pzi3a19/NjMOpf4FJzLiT3ERXCYoeiiSFqRRsbGwsLC2WFhpqr3YP8jT7+4sWvf/T6k0trX3e5Li6tff1Hrz958eLX6bNyVxe+/09PGPKLyl7Jzr/3CcPXT84yrtl9o48n44Qx9DQNp6+/0deSowu8ml7N3+jjb5iLJwWfttnVx9/oq5/OpU7Xp3Jc6iRdsE4ff6M6i9MVn1Crn7VL8q64b9gRxQhWnmQsns6l5pip55NTHSicXh36iyYZW2TtaDhoffBAkmaDTWk4VihUPknxoBEa7B6EookhOkUbGhomTpw4fvx4Wbmh5mqnjW+18Hq9XlBU6EV/9PqTer0+fVbuqvyynzxpMK7ZPXte/n/8Lv/ylKyCtXtbLbxS1GdwWWUWvrU6i8usl5anvnWeb7XwrdVZjxhbWi31GRz3iLGlVVq5LJPLqI5U31KfwQnV+NbzxY8INeVHJA8dqPyxMZULNKvcPqcr/lg4H/LchL8o6oOKBwo2K+4V+VhitLylE/9q+Z+jvcFOGxRNDFEoKviZnp6uqOhtG3+1h7/aw9/1yq/IuNrDp8/KXbF6+4Sn8wrW7n1prmHC0wbzf88rWFMt1JfFjplcRhV/tYe/erb4EY57xNASeOts8SMcwcz6qz31GVzqyrPCjvUZXNYOYUNX/FHE+meLHwnUJw4qPeIWABhAq6KinxkZGYqKtvfz33YrR/qs3GWrtkz6o6FgTfWsV/InP5N3On1h4doahcpVWdzMerLkb4ZUjuOeq+K/PVP8MJe1XVK//jku9c0zoZoPG1qEf7/tjlRf+u72mdxzVfIjbtmyxQ5AotGkKOknTdGbVv6rTuVIn5X7xsp3f/nnvMK1NZl/yUt9Nu/k9DcK1x0Iq1k/jcsqCdv9w7zUh/Navuqsn8ZxD+e1SOunLjsdfHm6+OHJWdMmiy2o16+fxnHT9gZ3lB5XOCIUBSygSdHCwsLxBEajMVzR7/v45tvKkT4rd9HyTU9MW1247sCMl/OemJb3sX5l4fqDsmpbZxDj0snFRyuzgi+ytgp1Thc/JFaYUd98u34ql7r0tNhCy9LJQnmwRL1+6N1gofSIoqL9MeXG99/zPG8FQBvR3S6iYai5et3CX7qlHOmzche8seHJ51cXrj/4wkurn3x+9cf6lYUb6mj1GQkoClggZoq2WvgvbikHLesCrT4jAUUBC8RG0Q2H2r6+7bt0i7/YrhC0rAuKldkJKApYIDaKHjV3157rbenyU37qHJMBRQELxEZRt9d/6FzXmtprCZ98HMOAooAFYqNoUhJHRU16juP0JmmJzmiO61cBsAkUpRJfRXU6HSkpFAUB2FL05Po/CpHoE+H5uCtqNBl1ISuhKAjAkKIn1/+R55uEYEHUeCtqJr0kNs3G4DQVvclqNenFzlZaRzJOBskDQ4oey/svvr9KjGN5/zXSFuuzQjmi68Unh6TptEPlsnTS9fFXVHXDajXpAx4LNpr0Ol2g3zWTHTBILhhStGrJb/hLy8SoWvybkbXXUpwalFGy4kJLcWrwRUtxqmhmS3GxxNGEKCr2ksGSUBca7EeDOpr04tgYhiYzo66o9sVgts99XBYjOnBLcWrAPlJEaYHaChUJUtRqNuo4vYlUVDaEFYQUulSzUac3wdCkZtQVraysrKqq6unp0Vj/rqlroj0EufgJ0SlSDSU6WJUFjRKlqNhzigNd+Y0js1FHDnH1ej0MTWLioWhXV1dpaenNmze11L9njknYaKwvFEPboWSXnoSscgulA9xUhSvRRCoakDT8dlHwt1OzUSd5F4YmM/FQlOf5np6e4uLib7/9NmJ9UdHjh9a6PT63x3e5bs7xQ2sj7kgKytdnhaxU60WJArml8VQUACpxUpTn+Y6OjtzcXIvFol5fVPTwgY0Ol9fh8rad3ni5bs6hA8Vqu0kElRlIvxZVK2uBooAF4qRob2+v9l70njmmu6auqane3G/3lNSce6fys36711S9mb6TRFDiMpR4X/rzS8Dg+mKF27xBoChggXgo2t3drf1aVKRiT2nPgLtnwN3T7+4ZcL+/p5RWk/jJk+NSi/8eZqisEvGucqkAFAUswNwdXZGS8l0dFrfQi3ZY3CXlu7TtR16GjggoCliAod9FZbxdWnmj2yXE992uTaWVMT83daAoYAGGni6SsXaLac17prVbTOJGnE8AigIWYFfRhANFAQtAUSpQFLAAFKUCRQELQFEqUBSwABSlAkUBC7Ci6MRp6yemb5qQ8e6EF0omzCyfMGvPhJdMD/ylbsLcYxNebXhg/icPvHYyzqcERQELsKLoA6+dzP2ot+CTvo2fWbeds+3+0n7gK+ffrno+u+m/2Dn0tYUfjqJjJuuC1WqVzmiJPHclWBuzXJIdVhSdOG39xPTiiRnvTpy+LdCLvlwz4S91D8w9OmHe3x/IHkYvOoayLsjnlJn0WjIRqacgQ4KyJIEVRd9b9mCzjVeJ95Y9GF2LYynrgkJuBQ1A0TsCVhR9+42Hm218p5sab7/xMG3fMZ91QcVQYvQbVkOagsyoJ8bIJj0n3U2tHcA0rCi6duEkmaIOvyTWLpwUqY0xm3WBSD4kvcQ06UWjFLIrkIpyYlpAYkusr94OYBpWFM3LTmm28T0evtvNd7v5Hg/v9PPjDFPGGaacuHbB6efzslPUWxjDWRfkvahybjEig660mtzGsMII7QCmYUXRN+f8vNnG93kCYfHwbj8/zjDlnVMF4wxTplUubWq7pLb/2M66ILtuhKIgBCuKLnr5l8023ubjbV7e5uNtPt7j58cZpuQ15OY15OZ9lDvOMOU/S+Z4/Ip7j/msC2ajjrhIlIxgiQGqzCzNikZoBzANK4q+mvlYs413+ninj3f5eJef9w3x4wxT0k0L0qsXPGda+JxpYbpp4TjDlPB9kyTrAnGLJ9Slhm7zhGfqFIsVFQ22J79dhAvRMQYrima98KtmG+/1B8IzxPuH+HGGKX/YO/sPlbP/sHf2OMOURYc2amgJWRdAUsGKorMynpDFxw2HxhmmzKrVjzNMeey9lyNci44CUBSwACuKKiLe0U3I0aEoYAGmFU0sUBSwABSlAkUBC0BRKlAUsABzipaVpeXkcGVlaYk+ESgKmIAtRcvK0vjGNJ4v41szc3K4xLoKRQELsKVoTg4n+ClGZmZaok4GigIWYE9Rws/WxjRtitZnKT0e1FKcKjzqJ58WKj4vSE+5kMVxUBSwAIuKtjamiaFZ0dRU+ZQzwb/U4hb5M7yBV6opF7K4VCgKWGDUFY1qTZeysrTMTEnk5HAa9qvP4lKzslLDusqsQPcpmcYS9FU15QIUBYww6ooOY2W0VasyozyIYBvZVwrz0UQLCUdDtdRSLkBRwAjxULSrqyuq9UVJRXOCZGZmUncIdogh+wIzRkMdJZkKRTpvTXGWSyKuRaPLAEhOjMEclmQmHoryPN/T06NxlW4+TFG+tYwPukrZoz40oJVcexJj2cBbCllSFFMuxLsXHU4GwGBduJnUxElRnuc7Ojpyc3MtFkvEXeSKBjcyMzMpfSk5oE0trhc1JC83ZW9JCEu5EGdFRzLPGoomOXFStLe3N6peVAyy52xtbYykaOA+LvFCmsOIvPhUS7kQX0WHmQFQIExRJPtLLuKhaHd3d1TXoiRRKypJiyK9aSs3USXlQtwVHU4GQIHwvEdI9pdUsHhHl0SboqMC8xkApZWVmkImsSSArd9Fw8nJyWlsLBMjORUdZgZApX2haNLB1tNF4Yh3iUTidmjmMwDKKosvkewvqWBd0QTCdgZAcjfa7SJciCYDUJQKni4CLABFqUBRwAJQlAoUBSzAiqIclxMx4nxKUBSwACuKpmWWpWU28l4rl5OTltmYltmYtioYZWVpZWVpaZlxPiUoCliAFUUjdqEqikrWdOE4LrSqklJSBaI2fWWJluJUZF0ATMCKojk5OY2qaPhFNPxxv7CkCpIpogqroQWLuax69KKACRhSVOVdbY/+SRVVSKqgZaHRUBEUBSwwZhRtbW2M1IZMyrCkClqX6w7UgaKABcaMomlpmWlpq1TbCO83pUkVFKZzK/WrwTpQFLDAmFGU43IyM1fxPF9evptSi5IvTEyqgF4UjEFYVzQzc1Va2p85LofjuNbWxsayRi5iepQwgt4xdC3aBoA2WFe0tbWxvHw3x3HBn15WNTY2UtqQ3S5SSqpQn8VJsnUqOR3Mmz2qigKgEYYUJeeFSqNR6EXp/aeAwu2i8J9F1XItiLQUpyIbPWADhhTNDEMY2RoMBo7LKStbxXFa0l7HDCgKWIAVRRXhcgLPFQnD4Dg/pgtFAQuwrajUSS4n57dTsuJ2dCgKWIBpRRMLFAUsAEWpKCo6cdr6ienFEzM2T3ihdIK+YsJLVdWftH525pOnMxbI4rMzn0BRMHKgKBVFRR947WTuR72FJ/reaeovM9v2X3F8P+B7OmPBybOXyKj54MjTGQugKBg5UJQKtRd9rnji85snvlA6MXPXhJeq9n3S+nTGgk9Pf3HgyKdiLHurEIqCmMCKok1HFtAiUaekqGjdxsnNNr7ZxpvKlwgbFg//dMaCfTWHlq0sICNqRRUzAMYErWnpTXpOtsjEiBaMkWbxlTYlvBdFvvw7d+kaVhT9tG6xze4Jj0/rFifqlBQVrVmna7bx3R7eVL6k28N3e3innw+/EBUiCkVNekLMRK30YNJzOp2O7tUw2hPbMht10r8wynahaKIV/ejAUqvNs/Ldv7256fiiNUdeKzg4d/V+q83zUe1SbQ2IjxZJcjAQi/1GeKAoHEVF3y/4ebONt3j5vDXvmsqXmMqXXP3m9NMZC442nF1YlrewLO9ow9mjDWd3VX4QjaJhSakTk6XapOd0RhNpz8jEkK5VozcadaEk3NE2C0UTrehR04oem4uMXpunx+Y6alqprQFSUerklVD6BQ0oKrp19S8FM/PWvNvv4/u9vGeIfzpjwc7dH5z69ZxTv56zZPkaIaJQVEFI8Usc1EY2AA7lsxZ2NOk5ndGop4yTyfT2kasRNhCb0iMSHaS0jvz/NMJbwoa4E7mhemKhVaiMSmcib071ZMYqo66oxjVdDuzN7bK6yF700/PXnG5fa8t5bcehK0qdABMBRUU3rHi82cbb/fymt4vsft7u471DIx7oKnQqorUmvfidDY1/JRLpjGbJZSSxZEQQyQoU2qrRNoJHJCzT6SQiyloM/BWBswyebODI6icW2iKGyUpLv2k7mTHKqCuqcWW0qgrjrV6XEHaXT4h/m13BPZr9b7MrNByHrihtRkskFBXNX/qrZhvvGuLXbNjgGuJdft7H809nLNh38FMyZs9fHstelBh36k2SboTo1cRq4WNCJdPUqolHIheAkh4xeIImvTg2VpJCaCeokFCDqKd6YmalIbfiulIaT2ZsEg9Fu7q6Iq4vWrFz7Y0up9CLNl28zk1Zx01Zxz2a/an5KvdotvBS9TiK16Lilac0/YI2FBVdteTXsvj89KGnMxbs/qBxzbs1YkSnqNq1KPndDZYqKB1rRQPHUBYjWEFnNAv9otmo05sUpTAbdTqjibwI1RuJejFSVOPJjE3ioSjP8z09PeqrdG8v2fBNu/2bdrvV7rXavdyUdc9v/Nu6PV8K8fzGv0WjKKXLFNMvaIP2AOCK5dkbt2xesTxbLBEUNRTvEyNKRWXDTvL2LrEt8VamV8wVFXvO0PBSVtts1JGjSr1erySF0Ap5UE76l6qcmJaBLnEDKvLJjEnipCjP8x0dHbm5uRaLRbHa+q37vrph/+qGvW/QK4xv1+358mVjJfdo9svGynV7vow04tWgqGKWBTo0RVcvnlKy850XXsl8InPe+Gl/Lfvwc0HRZYYKMaJW1Cr5XVT2s4der5OXkyPP0Rjohg6icJOG8IZ8V1kK2TvSS+BIJxb8TCi3i2T/Q4l8MmOROCna29ur3ovyPJ+9fEPzjUGLzcs9mj235MTckhPco9m81yp5SSMkZvjtIqX0CxpQUXRP5aaDH2xsqF93umFtZ/sXgqIrCnaLMRxFlblzf2wAAvFQtLu7O+K1qEDJ4aufnGsVetG5JSfEXlTwk9KLChefonqS30VTi1u05VlQQEXRha9Nnf6XzCcy541/LtCLvpX/3uz5y8mAoiAmsHJHV4ZwLZryxn4hNFyLxh7tk9EOH60O/8Xl8NFqKApGzqgrqvF3URniHd2UN/Zru6MbezBfFLDAqCs6EqL5XTT2QFHAAkwrmligKGABKEoFigIWgKJUoChgAShKBYoCFoCiVKAoYAEoSgWKAhaAolSgKGABKEpFUdGS391X8vtxpU+N2/6H/7Pjmf+988//Wj7tX3Zl/LjihR9VZP7z7hfv3f3SvXtm/xMUBbECilJRVHRdxk+7N/yP3rd/YNn6P/t2/q+BPXfbav7Zfuhfncfvc378E/dnD3jPTRyOoqFpLuHTREeMtpkfxEyb8Ikksorh7+BBxdECilKJXy9KTlM2G42BfCiJ+sZHPDQUjStQlIqiojtWPHh5YOhSv/9Sv3/v9leEDdn2jhUPRqeowtcbioIAUJQKTdFL/f5OJ9/p5Pduf0XYkG1HrSgti4Ja4r+okt9pzAAY1o54cuQhlc+NmisQjBAoSkU5Sefyh3dtfbV866u7QjG/fOur5dteLd/66q5tr+7a9urWZQ9HqahV/F4TvoVnAhl28juNGQBllWnl6kkJw7MTghEBRakoKlq8ZNI1O9/j4rtdQ1vfWdTtHOpx8T0ufus7C8Xt4r8+Er2iVqs14Klefi068uR3GhOjUMpD3Sg9KaFKrkAwMqAoFUVFCxfqWu18n5vvc/Pr1y3rcw/1uYf63Pz69aHtwgUpw1Q0pKFmRTUlvxuBoqGDKuYNJfP90nIFghEBRakoJ+mc//PVxtzV+ZLINeauzs9ZbcxdbcxdnZ+z6tWfR6eoyUh+44PjV7WMeFEmvxuBouIryZhWMSkhNVcgGAlQlIqion995dHvnbzTN+Ty8W+sKnT6eKePd/qGluYUuLzCNv/GK7+MshcNT/5HcWmYye9GMtAV12zQ64leNCwpoeJJYqAbA6AoFUVFX5v92E0n7x0a8vqHspdv8PiHhMhevsE7FNh+bfbjwx7oAiADilJRVHTui2laAoqCWAFFqeAxesACUJQKFAUsAEWpQFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUChQFLABFqdAUfXNb47PrLqrHm9saoSiICVCUCk3RZ9ea/5q3XT2eXWuORlEiGQKB2aiLel6XtmR/YAwBRalQFS06tyx/5zf9Plosy9/5bNG5KBUVp3yShdwIpl4i31eSAEWp0BU9/WZR+Tf9PpfH53L73G6fy+1zefwut9/l9rnc/hVFu6YWno5WUXE6ZqhMrx+BZlA0SYCiVGiKTjWeXLXu/W/6ffnbGlduOrYof/+cZRWzFpTYXV67y2d3+late/9Z48loFTWaiWx+YroTpXnSklnU8nR+YlPS2pTd9Xodpl0zDhSlQu1F8z/OK678pt/Xb/cqRl5x5dT8T6JXlMi4GcgTREuJopLOj5ZgQXl39LPsA0WpUHvR1Q0Fm6uFXjR/W2PO2x8uXXMwO6fqL0vLZy0o6R3wFLy7b2re34ehKJHOTy1nl/xdsgVFRSPvDtgFilKhKpp7bO22/d/0+7qs7k6ru9Pq7rK6u8SNfvfarfun5h4bjqKCoyYxhR8UBVCUDlXRVYc3bD/wTb/vlsXd0evusLg7hI3ewMuN22unrjo8LEUleaQj5f7TrGjk3QG7QFEqVEVXHthUVreprO7tsoObyureLqt7u7xuU1ndprKDmwIbdVNX1g5TUcliD+q5/9QVDaYVlN8uipgBELAFFKVCU3TexoapK2rk8Sbx74qaeRsbolEUACpQlIqWZ3TnbWyYumzf1GX7pi7fp6IlFAXDBopSUVF03saGqcsqpy7bE/xX2AiEuqtQFEQFFKWCmS6ABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUhlVRdsA0AYUpTKqigKgEShKBQNdwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUChQFLABFqagr2nRkgWJAURBboCgVdUXbb1zw+4fcHh8Zl+vmRLQUioKogKJU1BVtMNzbYLjX6/P5/H6n2yvEtw0rmuvmnDq8KEpFifUd1NdvGOZSTEj2N4aBolRUFG0w3Dvk7xMsPXt4udfnt7u8dpe37fTGbxtWXK575UTdkigVJfPo0iRVe08VKDqGgaJUaIrWr7jHfT7Taz0sRP3Ke84eXu7x+gfsXjEaDiwdpqJqOg3bNCg6hoGiVFR60ZqFd7vPZ9YsvHv/wru91/L3L7rb7fVb7V4xPqxZPvxelMx6HRr8hgbDwWVfiHXNJDXDX5v0nM5oCpRB1rEFFKWifi1aOe+uynl3uTz+ynl3nT283OXx9w54xDhcvTJKRcOvRCXeilqSa0AoaC3UJJdBFNsPW3oCjAmgKBWaomcPL+/v7/+m5Sun2+90+88eXu50+7uCiy8JcaAydzi9KLk+ErEiaFBdyng4vKbZqJP0lhoH0oBFoCgVRUXPHl7eYLi3P3hH1+7y213+Wxa3LEy784c30DWLq6JJlzOTVVNZ+ExEMJe+hhoYG0BRKoqKkvdyhY1Bp/9mj1sWlbsKhqeobDU0qUw006iL+RLrlULRsQoUpULrRetX3iPeznWfz6xfcY/N6bve5SKjYufa4SpKrKNNjmBVBrrhNUPXtirLHIKxARSlonItun/R3fsX3u0+n7l/4T8OOHzXbrtksXP7+mgUBYAKFKWi5Y5uv933XYczPEpLNkJREBOgKBV1Rc9fajt/qW3r1k20gKIgJkBRKpiMBlgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVrIwGWACKUsHKaIAFoCgVDHQBC0BRKlAUsAAUpQJFAQtAUSpQFLAAFKUCRQELQFEqUBSwABSlQlP0qeyKlw1Hjje1vmw48lR2BRQFowoUpaLeiw5DTigKhgEUpRJHRTWvjAbuPKAoFUVFG+sLhXgqu0LcpkU0impZGQ3ciUBRKoqKfli3bs+n16vPtD+VXdHQYm1qd1zo9QrRbOPJ+PCQcirdEayMBu5EoCgVRUUPfrCp+kz79S7nU9kV17uc17tD6a3bup1t3c62bldbt+t6t6vug03D7EWVV0YLvmcMDIolueglQ2TJOmjBFV4ku4S1DNgFilJRVLSqauuhL7s6+txPZVfc7nPf7nN3BOM2ER197qp9W4dzLRphZTTCVuqKL7J10IKthHYJbxmwCxSloqho2fs7G1qslkHvU9kVFpu3b5AMT9+gR3xZVrEz6l50eCujyVYeVVv6RTwKbk+NGaAoFUVFN+/Y09TutLt9T2VX2F1+u9svLI5md/kdLp/D5Qtsu32bd+wZxkA36pXRQtXEXbUoCi/HDFCUiqKi67eZLvR67S5BUZ/d5XMEw06G27d+q2k416LRrowmloVWa4qkqFrL4RsgwUBRKoqKFm7+QIinsivEbVoMS9FoV0YLVtLp9Rp7UbWWoShzQFEqeLoIsAAUpQJFAQtAUSp4jB6wABSlgslogAWgKBUoClgAilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCgVFUW/P3ny7IzfNxeukJU3F644O+P33588CUVBrICiVGiKfn/y5Nn0337/pz+eTf8taWlz4YozQvlzv1WxNGIGQNUJJpiAcscBRanQFP2usvzMM7+x57xlz1155pnfmLNnfldZbs6eeeaZ3wwGC7+rLI9SUWkqIuqMaxVFYW9yAkWpqAx0mwtXnP5dmm3RksFFi9tmTT/zu8fbZk23LVw8uGDxmd+lhQ+Ao1FUPSsCFL3jgKJU1G8XXZ69uOmxVNvL82wvzbO9NHfwpXm2l+Y2PfaLy7MXq/ipSVHSUcUkgPJp2XpTeIIy5PhLFqAolY9FIaIAAAzaSURBVIh3dJsm6dpTHh+Yqh+Yqh94Vn8r5fGmSTp1P6NUVDEJYFhWBPlbiu+CsQoUpRJZ0Qcean/oF/1Ppg88mT7wZHr7Q79oeuChGClKS9WnksWPkvcE/egYB4pSiTjQ/ey+n/Wn/YmMU/dNjMFAV+xEVZIAqucHRI6/JAKKUlFR9PLsxZ/9+P8JWn494cFTP/rp1xMe7E/7kzXtv0/9+Kfqlmq5oxvUSz1Vn3p+QOT4SxKgKBWaoq3bq0798P6AkD+8//Lsxa3bqy7PXkwWtm6vilJRys+iKkkA5W8FW5HfLkKOv7ENFKWi8ujCqR/e3/azyYKfZNd66of3t/5s0qkf3h/lowsAUIGiVNQfAJT5SVqKBwBBDIGiVPAYPWABKEoFigIWgKJUoChgAShKBYoCFoCiVKAoYAEoSgWKAhaAolSgKGABKEoFigIWgKJUoChgAShKRVHRpiMLaAFFwWgARanQFHV7fEIMz1UoCqICilJRVPTkoUVOt9fl9rncXlJXMS7XzVG3lK4oMTkFU1BAEChKRVHRE3WL7S7vpj1NuVv+fvJwSNfghu/bhhXNdXNOHl4UnaJmo47MjmA2GjEjG1itViiqgqKiDQfeGLB7bQ7vgMP7Sd0SUdf5hv0z//q+w+VtO73x24YVl+te+eTgEs2KIksCoAJFqSgqenz/m1a7d9OepnXln350YKmoq83htdm9NkcoPjrwhlZFVQwlBr9EKgad0RQoV8iSgqnayQUUpaKo6JHqt3oHPL0DHsuA58Oa5aKuhpLGFW8fW1RUN3d1zUvL91oHvR/WLI9CUWWpiCQpZqOOSIkS2BQLTXrSYHTIyQQUpaKoaO3e3C6rW9DycPVKUdfesDhS/dZIe9Gw3lGeuVNSGEy0iy40uYCiVBQVrd5tuGVxd1jcHRZ3bWVIV1kv2mV11+7NHem1aGRFQzWEnpjaH4MxCxSloqho5a6Cmz0BLavfzxd1JUMoNL1v0Kxo2EougTu6soGumJA+6CjpsNmo0+n1OjIJIPKJJQNQlIqiohU711zvcglRWR7SVdaL3uxxV+4qiEJRqzRnn6SblBWZ9JxOr9dJ7yEF3lC6awRFxzZQlIqioju2r2/tdG3a01S085NdhK7hUbFzTXSKaoVqGm4UJSVQlIqioiXbir/rcH7X4bza4SR1feud4wsKD2a9VdV623nttvPabdfO0vVxVRSXoUkKFKWiqOjWrZvEIHUl/xU2SkqK46WoMBqGoMkJFKUScTIaqatijI6i4M4CilLBfFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJQKFAUsAEWpQFHAAlCUinZFr1y5AkXBKAFFqWhU9MqVKydOnNBuKRQFUQFFqWhRtLOz80SQzs7O4SraVDp//vzSJtl/m5aDhvnzDQdb4vZlACwCRaloUfTKlStiL6qxI6UoajAYZDY2lc6fD0UBFKWi/Vr09OnTWuRUV7S0VOpoU+n80tJSKHrHA0WpqCja2dlJ9pnnzp0Tt69cuaI+4qUperClqTQ02G05aBBKgoq2HDTMD1DaFHgdGhqLFUPVwsbNYGySvIpyHCL+kejvcxICRRFQlGmSXdERQBvoyn5luXLlyvnz58mX6r/B0Ae61sD4tulg8Ko0WB42qhVeCKPhFrG6tFqcgaKjBBSlonItKrt/e/bsWdpbUSoauI9LvBA2m0rFi0vSw5aDBkNpqUHUsqlUfguYbEG2EWOg6CgBRanE+Y5uUJuWgxLlwm8XkYK1HDRIbwwRd5XmlzZB0SQAilKJ4++iyQAUHSWgKBWNiopPF0FRKDoaQFEqeEY3KqDoKAFFqWCmS1RA0VECilLBfNGogKKjBBSlAkWjAoqOElCUChSNCig6SkBRKqKifdZ+c+vgkS+dH1yIQZg+H6y75I1JU0yF8IEn/DSSL6AoFVFRc5v9wnW3ddDtcnlGHgMDg34/73S6kyyEDzzhp5F8AUWpiIoevuTqt3sGHS6b3Tny6OqxeP38wKAjyUL4wBN+GskXUJSKqOgHF5wOl2dg0BmT6Oy2eHx8v82RZCF84Ak/jeQLKEpFpmj/oDMmcbvb4vbxVpsjySJwuyjRp5F8AUWpyBW1OWMSt7ssbi9vHXAkWQQUTfRpJF9AUSqkonaXx2pzxiQ6uiwuL9834CCiNpMLkVnjkL47NkL4wBN+GskXUJSKRFGnp8/mjEnc6rI4vbxlwEFEbSaXkn/BIS0ceYxSs8ohfODxOdYdFVCUCqnooNNjGXDGJNo7LQ4P39vvICLgkrRw5DFKzSqH8IHH51h3VEBRKhJFHZ7eAWdM4manxe7he/odRNTO5FLyLogvL+XpuMkFl3r6HT01L3K6orNChZqiyRzHccG3+h09FwIlHMfNrAk1NVOfwpHoa6WHG5UQPvA4HOhOCyhKhVTU5vD09jtjEjdvW+xuvsfqIKJ2ZsinF6sCJS9WBf4NVtAVnbU6esxFk7mUPHOgcKbJ0RNWONl4KdisUBiPCCgal2PdUQFFqcRX0TCXTC9yooHSClV6bqZJ0FIQmCiU1ISiyRBQlIpM0Z5+Z0zi+9uWQTffbXUQEXBJUhhUNKzCpTwdN9Pk6A4qKtQXFJXWVGp21EL4wONzrDsqoCgVUtEBh6fb6oxJ3Oiw2Fx8V5+DiNoZXEreeVnJi3sD/wovucn5l7r6HF3niyYThTOqHWGFYlOK2+EbsQnhA49VawgxoCgVUtF+u6fL6oxJXO+wDLj4zj4HEbUziJs7k/JrV+u4SfmXOvscp/NTOF3R6b7aGVzKjMzATaAZ1cEdzxdNCuyUsvq82JS47dgr/N6aWUuUh2/EJoQPPFatIcSAolRkinb2OWMSbbcs/U7+tsURTdTO4FJyz0e1S7xD+MATfhrJF1CUChSNKqDoKAUUpUIqah303O5zxiRab1msTr7D4ogmal/gUnLPR7VLvEP4wBN+GskXUJSKTNEOizMmca3d0ufgb/U6kiyEDzzhp5F8AUWpkFO6u/o9t/ugqFpA0VEKKEqFTIxyrs3daXX3DXpGHp2WwUE3b7G5kywCj9En+jSSL6AoFTK92OfX7Ee+dMUkWxTSiyGiCihKBUk6owJJOkcJKEoFikYFFB0loCgVKBoVUHSUgKJUoGhUQNFRItkVRcQ3Ev19TkKgKAKKMk3yKjpi4jbQLRBmsKQUmBP1LQAMA0WpxPFa1KQfXUFHu30wikBRKlAUsAAUpZIIRU16LqXAFBj56k1Wc2BTNExSIaSdWI/j9KZQm3p5KkBT3L5YIFZAUSoJUpQL37Sa9EG9iFJzQQpRNWCftFAiNnrRsQkUpZKwXtQsK6RVsJr0nN4kaBnqHwOF1KbAGAOKUmFe0aCaUDSpgaJUWFU0WBoyUzbQFQs12g6BmQaKUknE76KavBJvAoW6ztDtIuWe06QXd4CiYwwoSoXJZ3Sh0x0HFKUCRQELQFEqUBSwABSlwqSi4I4DilKBooAFoCgVKApYAIpSgaKABaAoFSgKWACKUoGigAWgKBUoClgAilKBooAFoCiVUVW0DQBtQFEqo6ooABqBolQw0AUsAEWpQFHAAlCUChQFLABFqUBRwAJQlAoUBSwARalAUcACUJSKRkWPbxl/fMt4KApGCShKRYuix7eMH/L3Dfn7tFsKRUFUQFEqERU9vmX8kLt9yN0+5Lk55GnXaCklSafCag7mgpTYrZcmy6iCBCtjBihKRV3R41vGD9kv+x3NfkfzkL3Zb7/st1/WYiktj25KiswZIbEmFL3TgaJUVBQ9vmW83/qpED7rp37rCb/1hPAyoqU0RfV6qaMmPafXx04kKDpWgaJUaIoe3zLe11Xr76r1dR3wd9UGt2v9XQeEf9UtpWejDy71YLVareaCFKEkKJJ87bOwVSJCazERteSHCH9JWWoNMAMUpUJT9MPN93/43v3HNt9/bPN4780d3ps7vO07fO07jr13/4ebAzEsRa0hRwVDpetEyNc+I4xWWMfFpJf6pqJo+FJrgCGgKJWIt4uOvXO/r22D9/oGb9sGX9uGY++omalF0aCZYcpRF1YKLt8i70LD+1HVXlS21BpgCShKJaKiRzb9xHs1T4wjm34yUkUFR00FwatSdUUDRpvF6tJqUkK1pDWVlloDLAFFqURU9NCG/0sqemjDf4xYUenKv9SBbtAjc0FKil6fImpFLvsrR7YkcLANxaXWAENAUSoRFT249t9JRQ+u/fcYKGo1F0iUC79dRDpoLkiRDmjJsa5cN+I9ydhWaak1wAxQlEpERQ8U3kcqeqDovuEqmkDw6wvrQFEqUBSwABSlouUZ3f3G+2ryx9Xkj9tvHKfFTygKogWKUsFkNMACUJQKFAUsAEWpQFHAAlCUChQFLMABABjn/wNZweGNmUIpYwAAAABJRU5ErkJggg==)Export RDz Connection InformationUsually the connection to mainframe will have many settings and parameters, that are unique to that environment, and even giving a user step by step instructions is usually not enough to quell the number of help desk calls when mainframers are making their first connection. The easy way is to have one z/OS admin create the connection settings, specifying the host name (always should be fully qualified, and NOT just an IP address), the SSL certificate info, daemon connection type, and port information. Then right click on the connection, and select ‘export’. Save this to a network share, or email it to the target team members. This ensures they enter the user does not fat-finger the SSL connection information when they enter it, and helps to cut down on the number of help desk calls. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** mainframe, rational --- ### [Now available: Rational Developer for System z Training](https://www.strongback.us/2011/10/now-available-rational-developer-for-system-z-training) **Published:** October 21, 2011 **Author:** Kenny Smith **Content:** We’ve been pretty silent on the blog over the past three months, but for good reason. We’ve been heads down working hard over the summer to build a curriculum based on our partnership with Island Training Solutions. We’ve now perfected and delivered our course to over 1000 developers worldwide. The training is delivered remotely. Your developers can sit at their computers, and log into our remote virtual machine desktops. An instructor will be able to walk you through all the lab exercises on the remote VM. You do not need to have RDz installed on your desktop – the remote VM has all that your developers need. Our instructor will alternate between lab and lecture. Each module is between 10-45 minutes in length, and is about 70% lab. Your developers will get real, hands-on experience using the tool so they can get busy using the product immediately. Our new course offers a one-day hands on, lab intensive on RDz. The course is highly modular, which allows us to tailor the curriculum to suit the needs of your mainframe developers. The one day course includes the following modules: - RDz Workbench Basics - z/OS Connections - Dataset management - Dataset members - Basic COBOL & PL/1 Editing - Compare, Replace, & Merge editor - ISPF Profile Editing - z/OS Projects - Working Offline - z/OS Job Entry System - Generating JCL (Compiling) - Syntax Check - TSO Shell & Emulation - Debugging Batch Applications - Debugging CICS Online Applications - Managing DB2 z/OS Data We also have other modules that we offer either in replacement of those above, or in an additional half day class. Those modules include: - z/Unix Subsystem - Advanced Editing - BMS Editor - HLASM editor - CICS Explorer - CICS Web Services - DB2 Stored Procedures The one day course is an excellent boot camp to get your COBOL developers started using the new RDz toolset. We also offer RDz installation and consulting services as well. If you are interested, please contact our sales group at [sales@new.strongback.us.](mailto:sales@new.strongback.us) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** mainframe, rational --- ### [An introduction to Collaborative Quality Management](https://www.strongback.us/2011/08/an-introduction-to-collaborative-quality-management) **Published:** August 30, 2011 **Author:** Kenny Smith **Content:** **[Collaborative Quality Management](http://www.slideshare.net/strongback/collaborative-quality-management "Collaborative Quality Management")** View more [presentations](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, quality, rational, ShiftLeft --- ### [IBM Releases Rational HATS 8](https://www.strongback.us/2011/08/ibm-releases-rational-hats-8) **Published:** August 25, 2011 **Author:** Kenny Smith **Content:** ### Dojo, REST, iPads, oh my! So, the release many of us at Strongback (as well as a few customers) have been waiting for was released. HATS version 8 brings a whole bunch of new features. Some of which we’ve had direct input on (thank us for getting proper screen shots of VT100 screens). We were even quoted in the announcement material that went out from IBM regarding JAX-RS or RESTful web services. The most obvious update is the Dojo features. Up until this release we had been hacking at it (and pretty well I might add). This release makes it just so simple to add Dojo widgets to your transformations. The JAX-RS web services is another interface we had been calling for and they are downright cool. You can wrap up a HATS macro, writing it more like you would if you were doing CRUD operations. Then you can deliver the results in JSON format. This makes it much easier to manipulate the data in your Javascript calls, rather than serializing and deserializing the XML data. The support for iPad, is a great marketing enhancement, but truthfully, was a minor upgrade as the tool already supported iPhone very well, and the Apple Safari browser was already well supported (but not officially). There are lots of new features, and rather than bore you with a text based rant, we offer you our presentation on Slideshare, with lots of pretty images. Also mentioned is a update to Host Integration Solution, which is a package that includes HATS, Host-On-Demand, IBM Personal Communcations, and IBM Communications Server. PCOMM is now included in the package. If you have a need for concurrent user pricing, HIS offers this and could be a more cost effective method of licensing over authorized user and server based pricing. **[Rational HATS and HIS v8 Overview](http://www.slideshare.net/strongback/rational-hats-and-his-v8-overview "Rational HATS and HIS v8 Overview")** View more [presentations](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback) Of the most exciting features, is that this version of HATS requires an eclipse 3.5 compatible Rational IDE. The previous version would not install under RAD 8, which prevented you from using Team Concert 3.0x. HATS was one of the last shoes to drop to support this new standard, and those customers can now proceed with their RTC 3.0x upgrade plans. Overall, this upgrade should be very smooth. I took an existing customer application which used heavily customized web services, and easily upgraded it with minimal changes to the source code. I was also able to quickly turn the same macro behind the JAX-WS web service and create a JAX-RS web service, and both worked fantastically. The underlying RAD8 environment performs much better. We’ll post more blog entries in the coming months on HATS 8 and its various features. Stay tuned. Finally, we’ll leave you with a link to the technical specifications, for those of you who want to look at total compatibility. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** HATS, ibm, rational --- ### [IBM Rational enterprise modernization acronyms](https://www.strongback.us/2011/07/ibm-rational-enterprise-modernization-acronyms) **Published:** July 28, 2011 **Author:** Kenny Smith **Content:** I frequently get asked what all the acronyms mean with the products under the Rational EM umbrella. They are confusing, and in some cases there may be one acronym that refers to two or more products (RSA for example). So.. to help alleviate the confusion, I’ve compiled a simple list of common acronyms. This relates to the enterprise modernization tool space only, so its not a complete list of all the Rational acronyms… but its a start. **HOD** = Host On Demand – Web browser delivered terminal emulator **PCOMM** = Personal Communications – fat client terminal emulator**HACP** = Host Access Client Package – package of HOD and PCOMM **HATS** = Host Access Transformation Services – Software that transforms 5250 and 3270 terminal emulation applications into web services and or web pages **HIS** = Host Integration Solution – package of HIS, HATS, and IBM Communications Server **EGL** = Enterprise Generation Language = 4th generation computer language built by IBM. Generates COBOL, or Java and Javascript asseets from a common language **EGL CE** = Enterprise Generation Language Community Edition – the free version of EGL supported by IBM which supports the development of JavaScript and Java based rich Internet application **EDT =** EGL Development Tools – is the Eclipse foundation project for EGL. **RBD** = Rational Business Developer – the commercial product that supports EGL, an extension of EGL CE **zPDT** = System z Personal Development Tool – a linux based system z emulator that can run different System z operating systems (zOS, VSE, zTPT). Usually only sold to ISV’s. **RDz** = Rational Developer for System z – Development environment for zOS developers **RDz UT** = Rational Developer for System z Unit Test – special license for zPDT that can only be sold with RDz. Connect to zOS on zPDT only. Package includes the zPDT, and zOS. **RDp** = Rational Developer for POWER systems – IDE for AIX or iOS development of COBOL, C++, RPG on POWER hardware **RAM** = Rational Asset Manager **RAA** = Rational Asset Analyzer **RDiSOA** = Rational Developer for i for SOA construction = A package of RDp and RBD [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational --- ### [Lotus Quickr Connector 8.5 64bit support NOW available!](https://www.strongback.us/2011/07/lotus-quickr-connector-8-5-64bit-support-now-available) **Published:** July 1, 2011 **Author:** Kenny Smith **Content:** This is one we’ve been waiting on for quite a while! If you have 64bit Windows, you’ll now be able to use the explorer again to navigate your Quickr sites! Pull down the latest from Fix Central. Its labeled HF7. If you already have an IBM login ID for PPA, just click the link below. [http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~Lotus&product=ibm/Lotus/Lotus+Quickr+Connectors&release=8.5&platform=Windows&function=all](http://www-933.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm~Lotus&product=ibm/Lotus/Lotus+Quickr+Connectors&release=8.5&platform=Windows&function=all) This patch includes the following fixes: - Windows 7 64-bit support, including Windows 64-bit Explorer Connector - Microsoft Office 2010 64-bit Connectors - Microsoft Outlook 2010 64-bit Connector - Corrected a problem in HF6 where MS Word can crash opening Quickr-D attachments directly through the Office Connector [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Quickr --- ### [Requirements Management in a CLM World](https://www.strongback.us/2011/06/requirements-management-in-a-clm-world) **Published:** June 28, 2011 **Author:** Kenny Smith **Content:** From our recent webinar series, this video discusses the importance of proper requirements management, and leveraging agile methods in a collaborative lifecycle managment solution. [Requirements Management in a CLM World](http://vimeo.com/25717955). If you are challenged with managing requirements in your IT organization, we can help. Give us a call. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** clm, Requirements --- ### [Firefox 5 - fly in the ointment for Rational Requirements Composer](https://www.strongback.us/2011/06/firefox-5-fly-in-the-ointment-for-rational-requirements-composer) **Published:** June 28, 2011 **Author:** Kenny Smith **Content:** I was recently editing some requirements, and this was the day that FF 5 rolled out, which was only 2 months after Firefox 4 rolled out. For those unaware of the controversy, Mozilla has announced that they will be rolling out new releases every 2 months. Yes, *2 months*. Those in software development can appreciate such an agressive iteration plan, but I don’t see how any vendor can keep up with their plugins. Firefox came to fame just for its ease of use with plugins. However, this aggressive release schedule is one to doom many of our favorite plugins. Which leads us to RRC. A TON of work went into creating the plugins for Internet Explorer and Firefox for Rational Requirements Composer. RRC rolled out release 3.0.1 just a few days before Firefox 5 rolled out. The plugin was golden on FF4, but FF5 will not load the plugin. This plugin is needed to edit the UI storyboards, BPM diagrams, and UI sketches in RRC. This is NOT the fault of IBM. Rather Mozilla is leaving behind many vendors to count on Firefox for support in other non-Windows platforms such as Mac and Linux. [Mozilla has even stated](http://www.pcpro.co.uk/news/enterprise/368290/mozilla-forget-businesses-we-re-here-for-regular-users) that they only care about “regular user”, not the enterprise. I’m guessing this will give further rise to Google Chrome as a potential contender in the enterprise space. That said, there is a fix in the works with RRCto address the Firefox issue as shown here: [https://jazz.net/jazz03/web/projects/Rational%20Requirements%20Composer#action=com.ibm.team.workitem.viewWorkItem&id=44201](https://jazz.net/jazz03/web/projects/Rational%20Requirements%20Composer#action=com.ibm.team.workitem.viewWorkItem&id=44201) I’m hoping this allows it to work with FF6 as well. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational, Requirements --- ### [MS Sharepoint vs. IBM Lotus Connections](https://www.strongback.us/2011/06/ms-sharepoint-vs-ibm-lotus-connections) **Published:** June 27, 2011 **Author:** Kenny Smith **Content:** So you think Microsoft Sharepoint will do everything you need to do? Think that Lotus is behind the curve? Spend a few minutes comparing the two. IBM does collaboration better. Period. So. Microsoft still has great marketing, right? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** collaboration, connections --- ### [Collaborative lifecycle management introduction series](https://www.strongback.us/2011/06/collaborative-lifecycle-management-introduction-series) **Published:** June 20, 2011 **Author:** Kenny Smith **Content:** For those that missed last Wednesday’s webinar, we are providing it here on the blog below. This coming Wednesday, June 22, we’ll continue our series talking about requirements management in collaborative lifecycle management environment. - Define and deliver the right solution by modeling your business processes, development, and management of use of cases and the gathering and prioritizing of enhancement requests - Better understand and communicate the real business needs behind your system or application - Manage your requirements more effectively - Use and manage use cases to better describe system functionality - Organize and prioritize enhancements and other change requests [Introduction to collaborative lifecycle management](http://vimeo.com/25367645) from [Kenny Smith](http://vimeo.com/user7519232) on [Vimeo](http://vimeo.com/). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** agile, clm --- ### [What every System i Developer Needs to Know (IBM Innovate 2011)](https://www.strongback.us/2011/06/what-every-system-i-developer-needs-to-know-ibm-innovate-2011) **Published:** June 16, 2011 **Author:** Kenny Smith **Content:** This was our presentation last week at the IBM Innovate conference. In this we talk about the recent advances in System i (aka iSeries, as400), and the tools that support this operating system including Rational Developer for Power systems. There are some interesting points on the new compiler features. We also cover some new features of the RPG language that can only be understood in RDp (ADTS or PDM/SEU will not support this). Enjoy! **[IBM Innovate 2011- What every System i Developer Needs to Know](http://www.slideshare.net/strongback/ibm-innovate-2011-what-every-system-i-developer-needs-to-know "IBM Innovate 2011- What every System i Developer Needs to Know")** View more [presentations](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibminnovate, iSeries --- ### [Cross-site scripting (XSS) vulnerabiltiy in WebSphere App Server 7.0.0.11 and 7.0.0.13](https://www.strongback.us/2011/06/cross-site-scripting-xss-vulnerabiltiy-in-websphere-app-server-7-0-0-11-and-7-0-0-13) **Published:** June 16, 2011 **Author:** Kenny Smith **Content:** If you are running WAS 7, be sure and check your fix packs today. We recommend you patch them to the latest of 7.0.0.17 or 7.0.0.15 at the latest. There is a cross-site scripting vulnerability you need to be aware of, as reported by Core Security Technologies > Core Security Technologies Advisory – The administrative console of IBM WebSphere Application Server is vulnerable to Cross-Site Request Forgery (CSRF) attacks, which can be exploited by remote attackers to force a logged-in administrator to perform unwanted actions on the IBM WebSphere administrative console, by enticing him to visit a malicious web page. Versions 7.0.0.11 and 7.0.0.13 are confirmed vulnerable. [Core Security Technologies, Francisco Falcon](http://packetstormsecurity.org/files/102340) The IBM fix list shows that WAS 7.0.0.15 corrects this issue (APAR PK77505) http://www-01.ibm.com/support/docview.wss?uid=swg27014463&wv=1 If you are totally, blissfully oblivious to XSS attacks, you should watch this video.

Now that you’ve seen that, ask yourself, “could the software my organization is writing be hacked like that?” Rational AppScan is a great solution for black box testing your web sites. We’ve used it before, and recommend it to customers.

I think IBM was not eating their own dogfood (so to speak) before. Nice to see the Rational team smack the WebSphere team every now and again.

[©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** JavaEE, WebSphere, XSS --- ### [IBM Innovate - Enterprise Modernization Keynote](https://www.strongback.us/2011/06/ibm-innovate-enterprise-modernization-keynote) **Published:** June 10, 2011 **Author:** Kenny Smith **Content:** For those that are looking for strategies to modernize your legacy systems, this keynote sums up the strategies available rather nicely. That said, these are not one size fits all solutions, and they are not monolithic ones by any means. A well tailored plan, based on your environment, and business needs is best. Watch [live streaming video](http://www.livestream.com/?utm_source=lsplayer&utm_medium=embed&utm_campaign=footerlinks "live streaming video") from [ibmrational](http://www.livestream.com/ibmrational?utm_source=lsplayer&utm_medium=embed&utm_campaign=footerlinks "Watch ibmrational at livestream.com") at livestream.com [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibminnovate, systemi, systemz --- ### [Themes at IBMInnovate: Methodologies](https://www.strongback.us/2011/06/themes-at-ibminnovate-methodologies) **Published:** June 7, 2011 **Author:** Kenny Smith **Content:** So we are ready to embark on day 3 of the conference and several themes are emerging. Some are the direct themes that IBM intentionally pushes. Others are those that are present by either lack of action or lack of attention. **Methodology** Most notably, I am hearing nothing about Rational Unified Process. Even after IBM pushed the process template of OpenUP in RTC, I have heard no one really mention it. I certainly am hearing nothing about the formal RUP process, which was the first major agile process. What I am hearing more about is Lean, XP, and Scrum. It certainly shows in the toolsets. Team Concert is especially focused on Scrum, and even the RTC development team runs Scrum not OpenUP. While in the recent RTC 3.0 release, IBM introduced the traditional method that allows shops to import/export into MS Project (a habit as dangerous and effective as taking up smoking in my humble opinion), I don’t hear too much focus on it. Certainly the partners and knowledge force around RTC is not pushing it. That said, there may be some that gladly working with it, but at this conference Scrum rules. **Others** Ok, a short blog entry today because I have to go get some breakfast while it is still available. Some other themes that I see are integration across with the toolset with Jazz and OSLC. I also see the steam running out of ClearCase and Clearcase in favor of RTC. This was Rational’s bread and butter for many years. They are switching trains, and the Jazz train is picking up a LOT of steam. More to come throughout the week… [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibminnovate --- ### [A Newbie's Guide to attending IBM Innovate](https://www.strongback.us/2011/06/a-newbies-guide-to-attending-ibm-innovate) **Published:** June 2, 2011 **Author:** Kenny Smith **Content:** In preparation for the [IBM Innovate](http://www-01.ibm.com/software/rational/innovate/) conference starting this June, I’ve put together some helpful advice to newcomers who’ve not been to one of the conferences before. By no means is this a complete list, nor is it an official list. Its MY list. Enjoy: ### What to bring **CLOTHING**: Well, first off, this is Florida. I live here and know the weather well. The first time you go outside after being in the AC, your glasses will fog up. The conference rooms are on the cold side. Outside? Its HUMID! So, with that said, you need bring business casual for all the sessions (Sunday – Wednesday). You can rethread an outfit for Thursday, or do what most people do and go with shorts. You need to bring a few pairs of shorts, t-shirts or short sleeve shirts for the evenings away from the conference. Next week it is expected to be highs in the low 90’s, with lows in the low 70’s, but still very humid. That said, the weather can change, and we’ve already hit 97 here just few weeks ago. Take the weather report with a grain of salt. You should bring very comfortable walking shoes, as you’ll be doing a lot of it. Bring extra socks also. Bring flip flops or sandals also. Don’t wear a business suit to the theme park event on Wednesday. You’ll think you look like a professional, but you’ll be a professional fool. Wear nice casual clothes and relax (this includes the IBM executives). People are more likely to talk to you. **EQUIPMENT:** - Bring your phone charger! An extra battery for your cell phone is good too. - An extra supply of business cards. This conference is a great opportunity to network. - An iPad or tablet is better than carrying around a clunky laptop. - An extra luggage tag for you conference bag (you’ll get one of these at registration) - A long power cord for your laptop brick if you intend to carry it around - A decent pen – the ones in the conference bags suck - Aspirin or Tylenol – you’ll understand this the morning after a night at Kimono’s - Don’t forget your phone charger (yes, I said that twice) ### What NOT to bring - A coat. Its Florida in late spring early summer. Leave it. - Books. You will not have time to read anything outside of the conference. Leave your heavy technical journals at home. - Anything wool. Ok. bring a suit if you’re a sales guy/gal, but seersucker is preferrable - Tobacco – people will think it rude if you smoke, plus its bad for your health - A bad attitude – this is a great place to make new friends and meet old ones. As the saying goes, you can’t shake hands with a fist. ### Where to go - **Upon your arrival**, and after you check into your hotel, you MUST go to the area for the conference registration to get your bag and conference badge. You can’t go anywhere without this badge. Its open at 2pm – 7pm on Saturday, then opens early at 7am on Sunday. - **Sunday**: During the day, there are several deep-dive sessions and some [technical workshops](http://www-01.ibm.com/software/rational/innovate/agenda/workshops/). This is a great time to get your hands dirty with code and tools. There is a conference welcome reception, which usually has pretty good Hors d’œuvres, beer/wine, and sometimes a house band. Plan on an early bed time because the next few nights will be late ones! - **Monday**: The opening general session is in the morning. Great sessions throughout the day. During the day, many people network in the Dolphin hotel lobby near the fountain. This is the ‘Grand Central Station’ of the conference. The evening ushers in the opening of the pavilion where vendors will hawk their wares and services. You can get a lot of swag, free food, beer, and wine here. There are also several other side events. Kimono’s is one of the hotel restaurants that gets packed at night with lots of IBM’ers, customers, and business partners, and often stay until they close it down. - **Tuesday**: If you’ve not attempted a certification exam, you should plan on taking at least one. At the very least it will give you an idea of how well you know your product. In the evening there are more side events, such as a reception for POWER and System Z customers. Its the only night there is not anything formally scheduled, so this is a good night to make a trip over to Downtown Disney and enjoy some of the great restaurants over there. There are some great Birds-Of-A-Feather sessions in the late afternoon and early evening. - **Wednesday**: In the evening, we will go to one of the local theme parks. We’ll have the whole area to ourselves, and the theme park event is always a favorite of mine. You’ll get a chance to meet others who probably share some of the same business challenges you do, so don’t be afraid to meet and greet. After this ends, plan on meeting fellow colleagues or new friends at Downtown Disney. - **Thursday**: The closing general session is usually poorly attended. Use this to knock out your last certification exam, if you have not already. After the closing of the conference, go check out some of the Walt Disney World parks. You can get some good discounts in the Innovate Concierge area. If you have a car, and want to go get some great BBQ, drive up I4 to Winter Park, FL to 4 Rivers BBQ. http://www.4rsmokehouse.com/. This is the best BBQ in Central Florida. If you are interested in other sight seeing, you can check out [Blue Springs State Park](http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fwww.floridastateparks.org%2Fbluespring%2F&rct=j&q=blue%20springs%20state%20park&ei=quvnTe6aM8PAtgfc-4HdCg&usg=AFQjCNEUY13Zj3ied_aqpskQEUxocN561Q&sig2=kkapDQm4iZdtO5JhCs4KWQ&cad=rja), [Kennedy Space Center](http://www.kennedyspacecenter.com/), or just go for a hike on one of the many nearby [trails](http://www.dep.state.fl.us/gwt/guide/regions/eastcentral/eastcentral_region.htm). Central Florida has many great trails, and lots of beautiful flora and fauna that is very different than the highly manicured landscape of Disney. ### What to Know and Prepare For - **Its HOTTER than LotusSphere**. If you ever been to that conference, well this is a similar schedule but higher temps and humidity. - Lots of **walking** – sessions are spread out between 3 hotels and a session you may like might be on the other side of the conference. Wear good walking shoes. - **Wifi access** is touchy, but accessible. Don’t expect blazing speeds, but its usable. There will be conference laptop stations where you can check your mail (if web based) or other sites. - **Plan your agenda** for streams and tracks ahead of time. The target audience for these presentations differ. Some are for gearheads like myself that want to know how things work, others are for business executives who want to know strategy. Each session should have a target audience description. General audience sessions are high level strategic. Intermediate and advanced sessions are very technical. [Build your agenda ](http://portal.innovate11.alliancetech.com/)before you start Monday, otherwise, you’ll be lost wandering the halls. - **Diversify your sessions** – You are probably coming for a certain set tracks or streams. Don’t be afraid to check out adjacent technologies. If you do development, check out a session on requirements management session. If you do security work, check out a session on quality management. - Lots of **eating**. You can go Sunday – Thursday afternoon without paying for a single meal. - Lots of swag, **tchotchkes**, and other give-aways to bring home. Be sure to leave room in your suitcase. - **European fashion**. You will be introduced to men’s capri pants. Yes, I’m still disturbed by it. - **Heat**. Thick long sleeve shirts and brushed cotton khaki’s will make you miserable. Synthetics like UnderArmor wick away moisture. You’ll build up quite a sweat walking between the hotels. - **Protect your conference badge**. If you lose it you are screwed. You must pay a full conference fee to replace it. - **NETWORK!** This is a wonderful place to meet new friends who are dealing with similar business issues that your but often in different industries, or even different countries. Bring your business cards and feel free to interact with others. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibminnovate, rational --- ### [Cathy the PM meets Ted the Developer](https://www.strongback.us/2011/06/cathy-the-pm-meets-ted-the-developer) **Published:** June 1, 2011 **Author:** Kenny Smith **Content:** Just saw this on Facebook, and thought I would share. Maybe I’m corny, but I like this. Speaking of POWER systems and Rational Software…. ### Join Us at Innovate! ***Why Every IBM*** ***System i Developer Should Use IBM Rational Developer for Power Systems*** [![](https://www-950.ibm.com/events/wwe/innovate/innovate2011cms.nsf/SpeakerGraphic.gif?OpenImageResource)](https://www-950.ibm.com/events/wwe/innovate/innovate2011cms.nsf/SpeakerGraphic.gif?OpenImageResource) Monday, June 6, 2011 **4:15 p.m. – 5:45 p.m.** Location: Oceanic 4 – Dolphin Speaker(s): Kenny Smith, Strongback Consulting; Matthew Hardin, Strongback Consulting; Mike Fulton, IBM; Tim Rowe, IBM Feel free to catch up with us afterwards! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibminnovate, POWER7 --- ### [Announcing the next version of LotusLive!](https://www.strongback.us/2011/05/announcing-the-next-version-of-lotuslive) **Published:** May 9, 2011 **Author:** Kenny Smith **Content:** IBM is announcing the latest version of LotusLive services. These services are scheduled to go live the weekend of May 7-8. Here is what’s new: ***LotusLive Engage & LotusLive Connections*** **Communities** Like before, you can create Communities which include only members of your organization or you can invite guests from outside of your organization. However, with our newest enhancements for LotusLive Communities, you gain additional control for restricting the sharing of content (i.e. files, folders, Activities) with members of an internal community or a community that includes both internal and external participants. In addition to additional control over content sharing, the following functions have also been added for Community owners. • A new dashboard experience that reflects the current Community name versus the organization’s name. • A visual indicator for Community files that are restricted to internal members only. • The ability to create sub-communities which include their own tags, image, membership, Files, Folders, Discussion Forums, Activities, & Bookmarks. • Add multiple discussion forums to a community manage forums. • Explicit guest invitation process during the sharing/access control setup of a Community. For more details about Communities, see [Communities Help](https://apps.lotuslive.com/communities/help/doc/en/cframe.html) in LotusLive. **Meetings** • Host Presenters can record a LotusLive Engage meeting, including both the web and audio conference. They can then download the recording to replay and/or to share with others. • Host Presenters can now audiocast their LotusLive Engage meeting. With audiocast, the presenters audio is broadcast over the network so that attendees can listen to the meeting on their computers. • You can now password protect your meeting. For more details about Meetings, see the [Meetings Help](https://www.conferenceservers.com/docs/user/?brand=LLENGAGE_EN-US). **Activities** • Activities or sections within an activity can be exported to a spreadsheet. • You can assign a To Do to a member of the community who is not yet a member of the community activity. When you assign the To Do, the person is automatically added to the activity. • The Recent Updates view has moved to its own tab. Click the Recent Updates tab to see what has been going on in your activities. For more details about Activities, see [Activities Help](https://apps.lotuslive.com/activities/help/doc/en/aframe.html) in LotusLive. **Files** • Collections have been renamed Folders. • You can now see if a file is shared outside of your organization. • Files and Folders created from now on allow readers to see who else that content is shared with. In the past, this information was only available to users with author access to the content. • For more details about Files, see [Files Help](https://apps.lotuslive.com/files/filer2/help/en/tocHelp.html) in LotusLive. ***LotusLive iNotes*** Support for internet mail protocols and printing of calendars has been added. • Added support for IMAP, POP, and SMTP protocols, including instructions on how to set up various email clients to use the service. • Added ability to print calendars. For more details about LotusLive iNotes®, see [ LotusLive iNotes Help](https://img-usw.mail.lotuslive.com/iNotes_help/doc/en-us/frame.html) in LotusLive ***LotusLive Notes*** **LotusLive Notes for BlackBerry** • A company can subscribe to the LotusLive Notes BlackBerry Service to enable users to access LotusLive Notes mail and personal information management features through BlackBerry devices. • The LotusLive Notes Blackberry service provides a Mobile Device Manager web portal that administrators and users can use to manage Blackberry devices. For more information, see [Configuring and managing the LotusLive Notes BlackBerry service.](http://www-10.lotus.com/ldd/bhwiki.nsf/dx/Configuring_and_managing_the_LotusLive_Notes_BlackBerry_service_LLN) **LotusLive Notes Mail improvements** • Company administrators can set a size limit on incoming mail messages so that messages that exceed the limit are rejected. • Company administrators can delete sent or received messages that have been stored in mail files longer than a specified number of days. • Company administrators can report instances of SPAM mail to IBM® in a service-only environment. For more information, see [Configuring mail settings](http://www-10.lotus.com/ldd/bhwiki.nsf/dx/Configuring_mail_settings_LLN) and [Reporting spam to IBM in a service-only environment.](http://www-10.lotus.com/ldd/bhwiki.nsf/dx/Reporting_spam_to_IBM_in_a_serviceonly_environment_LLN) **LotusLive Notes Traveler** • Android devices are now supported for use with the LotusLive Notes Traveler service. • Mail encryption is supported for Windows Mobile, Nokia, Apple (Traveler Companion), and Android devices. **LotusLive Notes Hybrid environment** • Virus scanning is now performed on mail files that are transferred to the service in a hybrid environment. • Improvements have been made to the process of provisioning users with mail file transfer in a hybrid environment. • The ability to convert a LotusLive Notes user to an on-premises user is now supported for a hybrid environment. ***Integrated Applications*** A new integrated application is available from IBM business partner, Fresh TL: [TeamPoint](http://www.lotus.com/ldd/bhwiki.nsf/xpViewCategories.xsp?lookupName=TeamPoint). TeamPoint tracks and manages the creation of your controlled documents, helping you remain compliant with employment law, health and safety regulations and standards. For more information about this new [integrated application](http://www-10.lotus.com/ldd/bhwiki.nsf/xpViewCategories.xsp?lookupName=IntegratedApps), see TeamPoint in the LotusLive wiki. ***What’s new for administrators*** Improvements and updates have been made to the administrator interface. Performance upgrades are also included in this release. **Updates and new features** • Administrator help has been added. Click **Help > Administrator Help** in the navigation bar to access information • A new role has been added called **user account assistant**. A user account assistant can reset any user’s password and resend expired invitations. • Administrators can now simultaneously reset passwords for all users. • System announcements: company administrators can create announcements that display on the Dashboard page of every user in their company. For more details about administering LotusLive, see [LotusLive Administration Help](https://apps.lotuslive.com/manage/help/en/topics/frame.html) in LotusLive. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [What to do when ANT SCP task hangs unexpectedly & automating Javadoc](https://www.strongback.us/2011/04/what-to-do-when-ant-scp-task-hangs-unexpectedly-automating-javadoc) **Published:** April 19, 2011 **Author:** Kenny Smith **Content:** I had this issue with a project earlier within an ANT build script I have for Team Concert. In this project I generate JavaDoc with the ANT task and then I use to move the generated HTML, CSS, and other artifacts over to the target documentation server. The scp task is a secure copy task. This is a unix/linux function that can copy files to/from hosts over secure shell (SSH). To use this function, you have to pull down another library, the [Java Secure Channel (jsch)](http://www.jcraft.com/jsch/), and place this in the ANT\_HOME/lib directory. If you are running this on Team Concert build engine, the directory is under JAZZHOME/buildsystem/buildengine/eclipse/plugins/org.apache.ant\_1.7.0 .v200803061910. This particular issue manifests itself in that the build engine will never finish the build. It simply appears to ‘hang’. The problem is with the combination of ANT 1.7 and Jsch 1.3 and above. RTC 2.0.x uses ANT 1.7. I had downloaded the latest release of Jsch. After hours of troubleshooting, I was searching and[ discovered this little gem](http://www.symphonious.net/2007/10/23/ant-scpssh-task-hangs-or-never-disconnects/) on the internet. It appears that Jsch requires a buffer flush, which ANT 1.7 and below never sends. Pulling down and replacing with [ Jsch-0.1.29.jar](http://sourceforge.net/project/downloading.php?group_id=64920&use_mirror=easynews&filename=jsch-0.1.29.jar&96256293) solved the problem. Now, as part of our automated build, we put Javadoc on a central server with every build and are putting as much of our real system documentation in the source code as we can. This makes for truly up to the second, accurate documentation. On some days that documentation may change and be updated a couple of dozen times, but it always matches what is on our integration servers. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ANT, java, RTC --- ### [Rational Developer for i for SOA Construction 8 now available](https://www.strongback.us/2011/04/rational-developer-for-i-for-soa-construction-8-now-available) **Published:** April 19, 2011 **Author:** Kenny Smith **Content:** This last week IBM announced that RDiSOA 8 is now available. Current customers have already been able to download the individual parts for some time. Now, they should see the full package available from Passport Advantage. RDiSOA Combines RPG and COBOL Development Tools for i with Rational Business Developer. It also combines the value propositions of higher developer productivity with the strategic value of leveraging existing IBM i business logic assets in modern solutions using EGL, SOA, and Java. This is also a common package for HATS and Web development (entry price point for IBM I modernization solution). - Accelerate delivery of Web 2.0 and SOA solutions that leverage existing IBM i assets - Deliver innovative, modern solutions with minimal developer retraining - More effectively manage the impact of technology changes - Lower recruitment barriers and training costs and improve skills by providing a common development environment across platforms and technologies - Reduce skill silos and achieve new levels of flexibility and responsiveness - Simplify and accelerate code development and maintenance **Note:** This offering also includes the HATS toolkit. HATS toolkit stand-alone is a free download Inclusion in RDi for SOA is a ‘convenience’ only. This does not include licensing to the HATS runtime, and, HATS toolkit 8 will not be available in Eclipse 3.6-compatible version until later this year. When it is available, you will want to upgrade to HATS 8. Trust me on that one! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, rational, SOA --- ### [Talk about cool! Dunk your server rack in a pot... and save 95% in cooling costs.](https://www.strongback.us/2011/04/talk-about-cool-dunk-your-server-rack-in-a-pot-and-save-95-in-cooling-costs) **Published:** April 13, 2011 **Author:** Kenny Smith **Content:** These videos blow me away. As expensive as it is to maintain air cooled server racks in large data centers, everyone is looking for a solution. Well just as air cooled Volkswagon beetles gave way to water cooled, so now (similarly) is the data center. These guys use a non-electrically conducting mineral oil to cool the servers. 1200x better thermal dissipation than air. Hard to believe, but this is pretty cool (pun intended). Imagine us consultants actually getting to work in data center that is normal room temperature without having to dress like an eskimo! From their website: http://www.grcooling.com/?page\_id=655 [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Resolving installation error with RDP into existing package groups.](https://www.strongback.us/2011/04/resolving-installation-error-with-rdp-into-existing-package-groups) **Published:** April 8, 2011 **Author:** Kenny Smith **Content:** This little gem of an error came up today. While installing Rational Developer for Power, I got a message that the the product was not compatible with the package group I was installing into. In this case I tried installing into multiple existing package groups including one with Rational Business Developer, and another with Rational Application Developer. `In installation context "com.ibm.sdp.eclipse.ide":Software being installed: com.ibm.assembly.rdpower.main 2.0.1.20101130_1111 (SE.1.com.ibm.assembly.rdpower.main 2.0.1.20101130_1111)Missing requirement: SE.1.com.ibm.iseries.javaweb 8.0.1.v20101122_2106 requires 'SE.1.com.ibm.etools.webtools.core.feature [7.0.0,8.0.0)' but it could not be foundCannot satisfy dependency:From: com.ibm.assembly.rdpower.main 2.0.1.20101130_1111 (SE.1.com.ibm.assembly.rdpower.main 2.0.1.20101130_1111)To: SE.1.com.ibm.iseries.javaweb [8.0.1,9.0.0)` [![](https://www.strongback.us/wp-content/uploads/2011/04/rdp8installerror.jpg)](https://www.strongback.us/wp-content/uploads/2011/04/rdp8installerror-1.jpg)This is an issue, and at the moment there is not an IBM support ticket open that I know of. The culprit is the “IBM i Web Services and Java Tools” selection. Deselect this option, and try again. That should resolve the issue. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational, RDi, RDP --- ### [Using Rational Team Concert on the mainframe to promote dependency builds](https://www.strongback.us/2011/03/using-rational-team-concert-on-the-mainframe-to-promote-dependency-builds) **Published:** March 30, 2011 **Author:** Kenny Smith **Content:** Team Concert can handle complex dependency builds on the IBM mainframe. If you have a long deployment tasks that are highly manual, and error prone, using the RTC build agents on z/OS could save you bookoos of time and money. This video from Thom Haynes at IBM’s user experience team shows you how: #### Setting up Dependency Builds for RTC on z/OS #### Promoting Dependency Builds for RTC on z/OS [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** mainframe, rational, RTC, systemz --- ### [Jazz based CLM Beta 3 products now are available](https://www.strongback.us/2011/03/jazz-based-clm-beta-3-products-now-are-available) **Published:** March 30, 2011 **Author:** Kenny Smith **Content:** For those interested, the Jazz team announced Beta 3 for all three Rational CLM products including: - Team Concert - Quality Manager - Requirements Composer [![](https://www.strongback.us/wp-content/uploads/2011/03/links.png)](https://www.strongback.us/wp-content/uploads/2011/03/links.png) While each of these three are worthy in their own spotlight, when put together, the whole is worth more than the sum of its parts. Its interesting to note that the Jazz team REALLY eats their own dog food. They run on a continual beta, meaning they develop the tools *using* the tools. With RTC running continuous builds, they are always the the latest release, with complete traceability from requirements to source code, to build, to test result. The image on the left here demonstrates cross relationships between work items owned by different products. Those who read this blog know I am a big advocate of RTC as it can radically change (for the positive) a development team from being reactive and stifled of innovation to productive, creative, and responsive to the customer or stakeholder needs. This latest group of betas (which I am downloading as I write this) has even deeper integration with each other. So much so, that its offered as a single download for all three products. For more details check out the latest blog entry at: [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, rational --- ### [Agile Sketching with Rational Software Architect](https://www.strongback.us/2011/03/agile-sketching-with-rational-software-architect) **Published:** March 25, 2011 **Author:** Kenny Smith **Content:** Rational Application Developer’s bigger brother is Software Architect. I’ve been using it for years for all sorts of development and modeling. In v8 of the product, Rational is introducing a new agile sketching feature. This demo shows how the product can help you flesh out general architecture in a non-intimidating, simple format, yet be able to convert those sketches over to a full strength UML model. Take a look: iframe> [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** rational --- ### [Deploying to WAS or Tomcat using the RTC build engine](https://www.strongback.us/2011/03/deploying-to-was-or-tomcat-using-the-rtc-build-engine) **Published:** March 3, 2011 **Author:** Kenny Smith **Content:** The build engine capability of Rational Team Concert is capable of doing anything you want to do with Apache ANT, Maven, or even a shell script via the command line option. On top of that it adds its own calls to so that you can get instrumentation on the status and history of your builds from the RTC interface. Builds can be automated so you have full continuous integration, which can help improve the overall quality of your project. Build definitions are associated with an RTC project, and will call either ANT, Maven, CL, JCL, or command line scripts. A full build definition of any web app should also include a deployment target. You can deploy to just about any application server if you know the right calls. In the case of WebSphere App Server, you need to know a little about wsadmin scripting. The wsadmin interface is in the bin directory. It is the interactive scripting interface. This scripting interfaces uses your choice of Jython or JACL languages. Both of which are Java implementation of Python and TCL respectively. If you are writing a new script, start with Jython as it is the more powerful of the two, and JACL has been deprecated (but is still supported on WAS 7). You can send interactive commands in wsadmin, or you can feed wsadmin with a script file using the -f command switch. From a command line, if you were to call a deployment script to automate the deployment of a Java EE app, your call may look like this: C:IBMWebSphereAppServerprofilesAppSrv01binwsadmin.bat -f deploy.py -lang jython -user wasadmin -password waspassword -host localhost -port 8880 -connTYPE SOAP Now, the various command params are available in the WAS InfoCenters, so I won’t cover those in detail. Suffice it to say, the above is a fairly close approximation to what you may see in a dev or prod environment. Now, what you need to do is to put that into an ANT call: Notice, we are passing in all the key parameters as ANT variables. Also, notice that we are storing the wsadmin command result in a property called ‘deploystatus’. We will use that to confirm deployment of our application. This is a nice generic element. Next we want to inspect the property to ensure our deployment was a success. This all assumes that you’ve done a compile, a unit test, a war/ear, etc on the project before it gets to this target. If deployment succesds, and wsadmin exits normally, it will return a code 86 (at least on Linux it does). By checking to make sure we have that as our code, we can confirm that it has succeeded. The deploy.py script can be as complex as you need it. You can deploy and map your modules to your web servers, distribute across clusters, set custom JVM args and more. But the meat and potatoes of the script is in two lines of code: AdminApp.install(earfile, [‘-verbose’, ‘-appname’, *appname*, ‘-server’, *server*]) AdminConfig.save() That is it! I’ve highlighted the variables I pass into it, and I’ve excluded some other options, but if you don’t need anything fancy, you could hard code this into your script, or you could feed the parameters from the RTC build definition properties, to the jython script. Do so is a very convenient way of passing in the wsadmin user credentials. This allows you to pass in one set of credentials for a dev build definition, but force the user to manually enter credentials for a production definition. Deploying to Apache Tomcat is fairly similar. In the case of Tomcat, we don’t need a specific jython script, but we do need to include the task def from the catalina-tasks.xml found in the bin directory of Tomcat. One last thing to note, for continuous integration, you will need also to remove the applications if they are already installed before you install them, or you can call the appropriate update API’s. Otherwise the installs will fail stating the application is already deployed. I would put all that in the list above, but then I don’t want to give away all my secrets do I? In closing, you should now be able to do some simple deployments with your build engines. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational, RTC, teamconcert, Tomcat, WebSphere --- ### [LotusSphere 2011 Opening General Session Replay](https://www.strongback.us/2011/02/lotussphere-2011-opening-general-session-replay) **Published:** February 10, 2011 **Author:** Kenny Smith **Content:** Normally, I skip out on the opening general session of any conference, as well I did for LotusSphere this year (as well as the rest of the conference for that matter). Usually, they are filled with ooey-gooey marketing speak, and this technophile just does not care for such drivel. I want to see results and answers, or at least, a good business case. I watched in on the OGS for LotusSphere via LiveStream. Kevin Spacey was the keynote speaker, and I have to admit, I was happily entertained by his speech. Usually technical conference make a sport out of who can get who, especially any former Star Trek actor or actress. This one was different. Mr. Spacey has a real history in business with [Trigger Street ](http://www.triggerstreet.com/gyrobase/index) productions, which uses social media to its advantage. He spoke very well about how social media and social software can enable and empower a business to excel. I won’t drivel on more myself, but I think you’ll be entertained by the opening here. Oh.. and there are some damn good product demos on where IBM is going with enterprise collaboration software. Advance about 10 minutes to get to Mr. Spacey, or just enjoy the opening band. Enjoy. ### LotusSphere 2011 Opening General Session Watch [live streaming video](http://www.livestream.com/?utm_source=lsplayer&utm_medium=embed&utm_campaign=footerlinks "live streaming video") from [ibmsoftware](http://www.livestream.com/ibmsoftware?utm_source=lsplayer&utm_medium=embed&utm_campaign=footerlinks "Watch ibmsoftware at livestream.com") at livestream.com [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus, LotusSphere --- ### [COBOL or C++ on IBM POWER? Still coding by hand?](https://www.strongback.us/2011/02/cobol-or-c-on-ibm-power-still-coding-by-hand) **Published:** February 2, 2011 **Author:** Kenny Smith **Content:** If you have COBOL applications on AIX and are not taking advantage of Rational’s compilers and the new Developer for POWER, you are not taking full advantage of the system, and could be compromising the performance of your application. Here is a great over view of the new C++ and COBOL features in Rational Developer for Power. The productivity features go above and beyond the C++ toolkit for Eclipse. Don’t discount that! Time is money, and if you can get a job done faster, that performs better, why are you still hand coding and analyzing it all? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** POWER7, rational --- ### [A customer case study on Rational HATS](https://www.strongback.us/2011/01/a-customer-case-study-on-rational-hats) **Published:** January 19, 2011 **Author:** Kenny Smith **Content:** IBM just released a nice video customer case study for one of our customers. This was filmed at the Innovate conference back in June. They are a System Z shop, and are using HATS to transform some of their legacy applications. [slideshare id=23576926&doc=hats-overview-2013-130627093914-phpapp02] Their mainframe background is great testimonial to the everlasting power of the mainframe. Linux on Z is a serious data center footprint saver. IBM invented virtualization with the mainframe, and that leadership continues. Customers with older applications need not send their cobol apps to the dustbin. Reuse those applications and build on years of business logic investment. And doesn’t the site of the RV’s just make you want to go wander the country? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, rational --- ### [Common Apache CXF Error with WebSphere App server 6.1 and WSFP](https://www.strongback.us/2011/01/common-apache-cxf-error-with-websphere-app-server-6-1-and-wsfp) **Published:** January 18, 2011 **Author:** Kenny Smith **Content:** **Symptom** : After you have installed the web services feature pack for WAS 6.1, you try to install an application running Apache CXF. While the application compiles fine, it simply will not start, and the SystemOut.log (or console) shows the following error message: \[1/10/11 14:45:31:410 EEST\] 00000019 WASAxis2Compo E WSWS7007E: The xxxxx.war application module cannot be loaded correctly because of the following error: javax.xml.ws.WebServiceException: Validation error: This is a Provider that does not specify a valid Provider interface. Implementation class: org.apache.cxf.js.rhino.DOMPayloadProvider at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:178) at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79) at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:125) **First, the cause of the problem:** WAS with the Web Services Feature Pack installed tries to scan ALL of the code for JAX-WS annotations, including those jars in your WEB-INF/lib directory. It bombs out on the cxf-rt-frontend-js-2.1.jar. Most of the time this jar is not needed. **Now, the solution:** If you are only using the CXF-2.x.jar, then you need to remove it and add back in ALL the jars in the modules directory of CXF ***except*** cxf-rt-frontend-js-2.1.jar. Then, recompile and redeploy to WAS. It should start up fine. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** apache, CXF, WAS --- ### [Happy New Year! .. . . . . . . where did everyone go?](https://www.strongback.us/2011/01/happy-new-year-where-did-everyone-go) **Published:** January 18, 2011 **Author:** Kenny Smith **Content:** Ok, so I’m a bit late saying this, but Happy New Year to all. Guess I missed the party. Yes, its been almost 2 months since our last posting. We’ve neglected you, and we feel like bad hosts. Last month and the beginning of this month was very hectic for us. Nonetheless, we’ll start backup very shortly with some more informative posts to help you make the most of your software investment. This year we want to provide information that is hard to find elsewhere based on our experience. There are those that say “experience is the best teacher”. Well, we think that is half right. Actually ***someone else’s experience*** is the best teacher… if you are willing to read or listen. So this year we are focusing on a handful of key topics. Some of the areas we are going to focus on this year include: - Java EE 6 and WebSphere App Server 8 - Lotus Quickr 8.5 for Domino - Rational Development tools 8 (including RAD, RSA, RFT, RBD, etc) - HATS 8.0 (which is currently in closed beta with select partners including us) - Rational Team Concert - Virtualization best practices with VMWare and XEN - Linux administration best practices - WebSphere Portal 7 - Spring 3.0 - Collaborative Application Lifecycle Mangement - Lotus Notes/Domino and project Vulcan (version 9 perhaps?) No, that is not an all inclusive list. Well post information on other topics as we see fit, but these are the areas that we see the most demand for information in. Stay tuned, and keep the comments coming. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Reducing RAD 8 memory footprint](https://www.strongback.us/2010/11/reducing-rad-8-memory-footprint) **Published:** November 23, 2010 **Author:** Kenny Smith **Content:** Rational Application Developer has always been a bit of a hog on memory. I noticed this neat little feature today. This is available in RAD version 8. It essentially does an immediate garbage collection and reduces the memory footprint of RAD. If your system starts thrashing to your hard drive and you don’t want to restart, just click ‘Help – Performance – Reduce Memory Now’. [![](https://www.strongback.us/wp-content/uploads/2010/11/reduceMemory.png)](https://www.strongback.us/wp-content/uploads/2010/11/reduceMemory-1.png) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RAD, rational --- ### [Setting up the Jazz build engine: Resolving issue with getNextRequest](https://www.strongback.us/2010/11/setting-up-the-jazz-build-engine-resolving-issue-with-getnextrequest) **Published:** November 5, 2010 **Author:** Kenny Smith **Content:** I received this error while setting up the engine. [Jazz build engine] CRRTC3527E: Operation blocked by process: ‘Control The Build Lifecycle’ failed. Permission denied. You don’t have permission to perform the following actions: Retrieve the Next Build Request (getNextRequest) The solution is to add the Jazz user ID to your project. Open the UI and navigate to the project configuration. Add your build user ID as a user in the project. It does not have to be an administrator. The build ID MUST be assigned a build license not a developer or contributor license. If you are using RTC Express-C, there is only one build license you can issue. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC --- ### [Webcast: A better way to develop Enterprise Applications - Nov 4th](https://www.strongback.us/2010/11/webcast-a-better-way-to-develop-enterprise-applications-nov-4th) **Published:** November 2, 2010 **Author:** Kenny Smith **Content:** Imagine if your mainframe and distributed development environments were seamlessly integrated, platform choice was removed from the development stage and you could develop across platforms at the same time. No more project delays due to synchronization problems. Increased flexibility. All skill sets could be leveraged without additional training. Planning and reporting would be much easier. Incompatible systems and processes can be overcome when you use modern development techniques that enable developers in different locations, or on different platforms, to work together collaboratively using unified processes. Join us for this complimentary webcast and learn how modern applications that span multiple architectures can be developed and coordinated across multiple teams using standard, unified processes. In this webcast, we’ll discuss how to create a development environment that can improve productivity by up to 30 percent through exploitation of new IBM technology, using open standard languages such as Java, C/C++ and COBOL. This environment also lets you test your enterprise applications on alternate servers, thereby removing development cycles from production machines. Because skills in enterprise application development are so valuable, using a standard open-source development environment is extremely productive and enables faster and more agile development across platforms. No matter which technologies you use for development in multiple locations, this collaborative software enables you to still make workload-optimization choices at deployment time. We will review and demonstrate how you can work smarter, extend existing technology and develop new applications faster — without worrying which platform they are running on. In this session, you’ll learn how the latest IBM technology can help you: - Improve quality and reduce development time by using unified development tooling - Streamline the development process with dynamic syntax checking, end-to-end debugging and simple integrated access to other tools - Reduce administration, improve flexibility and increase productivity by using agile development techniques on all platforms - Quickly bring terminal-based applications to the Web Register now for this webcast by logging onto **Speaker**: Jeffrey Miller, Senior Systems Engineer, Strategy, IBM Software Group **Broadcast date:** November 4, 2010, 11 a.m., EDT **Developed for:** IT enterprise managers, enterprise architects, application architects and solution architects **Technical level:** Basic – intermediate This webcast will also be available for replay after the event. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** agile, rational --- ### [Comparing Rational Team Concert to Subversion](https://www.strongback.us/2010/10/comparing-rational-team-concert-to-subversion) **Published:** October 21, 2010 **Author:** Kenny Smith **Content:** I get lots of questions about why RTC over subversion. If you are only interested in source code management, and none of the other features, you still have a compelling reason to use RTC over SVN. Here are few examples (courtesy of jazz.net). #### Storing source code changes: Rational Team Concert v. Subversion #### Sharing work: Rational Team Concert SCM v. Subversion #### Associating changes: Rational Team Concert v. Subversion + Jira > So, can you suspend your code in your SCM tool? Can you share your partial code without delivering it, and not leaving the IDE? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC, subversion --- ### [Choosing secure passwords](https://www.strongback.us/2010/10/choosing-secure-passwords) **Published:** October 19, 2010 **Author:** Kenny Smith **Content:** ##### Do you have secure passwords? (from lifehacker) **Categories:** Uncategorized **Tags:** security --- ### [5 ..no.. 6 Steps for Avoiding SPAM break outs in your environment](https://www.strongback.us/2010/10/5-no-6-steps-for-avoiding-spam-break-outs-in-your-environment) **Published:** October 7, 2010 **Author:** Kenny Smith **Content:** In light of a recent issue I had at a client site, I want to share some simple tips that will greatly help you reduce both the amount of SPAM your receive as well as the amount of SPAM you *send* through your Lotus Domino systems. Yes, I said SEND. One of the largest culprits today is the use of botnets to deliver unwanted, unsolicited email. A botnet is a virus that infects multiple computers and acts using a grid or cloud technology. There are many ‘zombies’ and several command and control server. The most common one at the moment (October, 2010) is the RUSTOCK botnet (as shown in the picture below). [![](https://www.strongback.us/wp-content/uploads/2010/10/pie_top10-month.png)](https://www.strongback.us/wp-content/uploads/2010/10/pie_top10-month.png) This botnet is pretty sophisticated. I won’t go into the details of how you remove it from your clients. However, having an infection will cause you to get listed on a DNS blacklist site such as [CBL](http://cbl.abuseat.org/), or [spamhaus](http://www.spamhaus.org/). You will need to have the problem addressed before you delist your site, otherwise, you’ll end up just getting relisted. Getting relisted multiple times may end up getting you permanently listed. This means your users will not be able to send email to some recipients. In some cases this can result in loss of revenue, loss of reputation, and loss of potential customers. All this said, here is my key advice: ### Lock down your firewall – prohibit outbound SMTP traffic to port 25 or 465 from the general population. This will prevent your potentially infected users from sending spam directly to the Internet. Port 25 is basic SMTP, whilst 465 is secure SMTP. Both should be secured to only allow your key relay host (or smart host), or your dedicated SMTP, or antispam gateway to relay mail directly to Internet hosts. ### Implement DNS blacklist filters Lotus Domino has MANY features to help you combat SPAM. Using common DNS blacklist filtering sites is a great way to prohibit common spam ISP server from delivering to your domain. That said, in light of the increase in SPAM bots, this setting is having a decreasing effect. This will primarily affect inbound SMTP hosts from delivering mail. ### Move mobile users to Lotus Traveler If you have iPhone, iPad, iPod touch, Android, Windows Mobile, or Symbian users, they are probably using IMAP, POP3 and SMTP to send through your system. This is the least effective method, if you are using the latest version of Lotus Domino. ALL Lotus Notes clients are entitled to the new [Lotus Traveler server.](http://www-01.ibm.com/software/lotus/products/notes/traveler.html) It is very easy to implement and is included in your licensing (i.e. you should already own it). All it takes to implement it is to install it. You can install it on Linux (Novel Suse being my preference), and save yourself a Windows server license as well. This is a product that acts like a Blackberry Enterprise Server would but for other mobile devices as listed above. You get enterprise level synchronization with email, calendar, and contacts, plus remote wipe capabilities. Try that with POP3! ### Prohibit POP3, IMAP, and SMTP based clients Now that you have eliminated mobile users from needing POP3 or IMAP, now you can draw your aim to those Outlook, Eudora, Windows Mail, and Entourage usersh who just want to use a different client. If they barf on you when you try to install Lotus Notes, just fire up their web browser and give them iNotes. It has become a fabulous client, and has similar usability patterns as Outlook, without all the virus vulnerabilities. Oh, and if you have Linux/Mac users, Lotus has supported and off the shelf clients for those platforms as well. Yes, the Mac client works great, and so does the Linux (Ubuntu and Suse) clients. Eliminating Outlook will especially ensure you don’t run across viruses that exploit the various Microsoft MAPI and Visual Basic vulnerabilities also. ### Institute a dedicated anti-spam appliance And use it as the principal routing inbound and outbound. In other words, make it the SMTP smart host, where your Domino server routes all outbound SMTP traffic to. Set the appliance IP address as the MX record for the domain (this means all inbound SMTP traffic flows through it. This ensures that content is filtered before it reaches your users, and it ensures that any SPAM from spam bots inside your network are filtered out before it reaches the Internet. Some good appliances out there are [Lotus Protector](http://www-01.ibm.com/software/lotus/products/protector/mailsecurity/) and Barracuda. Lotus Protector has the best integration with Lotus Notes (gee… imagine that). ### Lastly, DON’T LET YOUR MARKETING DEPARTMENT SPAM YOUR CUSTOMERS! Sigh. Yes this is the temptation of all marketing departments. Truth be told less than 1% of unsolicited email sent ever reaches its destination. It will especially be low because it is sure to get your domain added to DNS blacklists and SPAM filters. You need to get your marketing departments to use opt-in email marketing tools. There are several on the market. We use [iContact](http://www.icontact.com/?cobrand=644814), but there are others such as Constant Contact. You cannot use these for purchased lists. Rather you can use your own lists, and allow users to sign up to your lists using sign up forms. In other words, you have to *earn* their email addresses. For more information about setting up an opt-in email system visit: [http://www.icontact.com/](http://www.icontact.com/?cobrand=644814) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus, spam --- ### [WebSphere Technical Journal available for the Kindle](https://www.strongback.us/2010/09/websphere-technical-journal-available-for-the-kindle) **Published:** September 27, 2010 **Author:** Kenny Smith **Content:** I have a Kindle and am quite fond of it. I find it easy to devour books and my reading has certainly picked up since I got it for my birthday this summer. I’ve put several IBM [Redbooks ](http://www.redbooks.ibm.com/)on it for reference whenever I go to a client site. Its nice to be able to pull it up on a separate device, but not have to lug around a book. That said, I’m not terribly fond of reading PDF’s on the Kindle. The page does not scale like a native Kindle format, and navigation is also not the same. I’m hoping that the Redbooks will soon be offered in Kindle format, but in the interim, I’ve discovered that the [WebSphere Technical Journal is available in Kindle format. Check it out!](http://www.ibm.com/developerworks/websphere/techjournal/togo.html#tj-kin) Very handy if you crave some technical reading during a flight, or train ride. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WebSphere --- ### [Scanning Web Services with IBM Rational AppScan Standard](https://www.strongback.us/2010/09/scanning-web-services-with-ibm-rational-appscan-standard) **Published:** September 21, 2010 **Author:** Kenny Smith **Content:** Web services can be hacked and information exploited against your company. If your organization has made the move towards a services oriented architecture, then security testing of your web services should be part of your repertoire. This YouTube video shows how AppScan can do exactly that with customizable reporting. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ibm, rational, web services --- ### [Installing Lotus Quickr 8.5 on OpenSuse 11.3 Linux under VMWare](https://www.strongback.us/2010/09/installing-lotus-quickr-8-5-on-opensuse-11-3-linux-under-vmware) **Published:** September 16, 2010 **Author:** Kenny Smith **Content:** This will be a bit of a long blog entry, but this is a demonstration of getting Lotus Quickr 8.5 for Domino up and running on Linux. Lotus recently released this version, and those of us in the community have long awaited a Linux version. Many of our customers who use Quickr are small companies and budget is a concern. A small shop of 10-20 people can get Quickr for less than $800. When you have to fork over money to Microsoft for an OS, it more than doubles the cost. You can install on Linux and avoid additional OS costs or optionally pay for support later when you *need* it. Linux also is often a more stable and secure platform. I’ve never had a ‘Blue Screen of Death’ on Linux. I am a fan of OpenSuse for most of my development/test/demo environments for IBM software. WebSphere App Server, Team Concert, Quality Manager, Domino, all run perfectly out of the box with only an occasional warning message that the OS is not *officially* supported (which is fine for a demo environment). For a production environment I recommend going with a full SUSE Linux Enterprise Server (SLES) license. For this experiment, I’ll use [OpenSuse 11.3](http://www.opensuse.org/en/). I’m installing this into a VMWare environment. I created a 30GB virtual disk drive, and most of the basics. For the desktop environment, I chose XFCE rather than Gnome or KDE. XFCE is requires less system resources to run, and less binaries in the file system. Since I’ll be managing the server primarily via Domino Administrator, a browser, and putty, I don’t need all the visual bling of the other two desktop environments. After you install and get to the XFCE desktop, you should disable the firewall for the time being (or at least open up the proper ports). Do this in YaST. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq13.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq13.png) Once Linux is up and running, next stop is to download Lotus Domino and Quickr. Domino of course must be installed first as Quickr for Domino runs on top of …. yes … Domino. Go to [Passport Advantage](http://www-01.ibm.com/software/howtobuy/passportadvantage/) (customers) or IBM [Partnerworld](http://ibm.com/partnerworld) (business partners) to download. Note: you do not need to install Java before downloading with OpenSuse 11.3. OpenJDK will launch the Download Director applet fine without it. Once downloaded, you will have two files: - CZM8JML.tar - lotus\_domino852\_xlinux\_en.tar - lotus\_domino851FP3\_linux\_x86.tar - lotus\_domino851\_xlinux\_CZ5WREN.tar Untar Domino with the command tar -xvf lotus\_domino852\_xlinux\_en.tar. Then cd into the directory linux/domino/ **UPDATED**: I originally wrote this using the Domino 8.5.2, but as [LotusRockStar ](http://www.lotusrockstar.com/blog/robblog.nsf)pointed out in the comments below, Quickr will ***not*** run on Domino 8.5.2. You must use Domino 8.5.1, fix pack 3. Untar Domino with the command tar -xvf lotus\_domino851\_xlinux\_CZ5WREN.tar. Then cd into the directory linux/domino/ Now switch to root an run the install (su to switch to root). You must first create the user and group for the Domino server to run under. Issue the two following commands (the latter to set the password). groupadd notes useradd -g notes notes passwd notes You can also create the accounts in Yast under ‘Users and Groups’. Yast is similar to Control Panel in Windows. Set the password before you go much further also. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq7.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq7.png) Next, you must increase the file handler limit. ulimit -n 20000 Now, we can install the server. Run the install executable with ./install (note the ./) [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq1.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq1.png) This will launch the graphical installer (yes, you can install graphically on Linux .. don’t be afraid). Click ‘Next’ in the next window, and then read and accept the license agreement. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq2.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq2.png) You don’t need to worry about partitioning, so click next. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq3.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq3.png) Install the binaries in the default directory (/opt/ibm/lotus). This is analogous to the program files directory on Windoze. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq4.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq4.png) Then, click ‘Next’ again. The data directory is where all the information we will create is stored. These will be our blogs, wiki’s, and team spaces. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq6.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq6.png) Accept the default user and group names. This is the user that will be executing the binaries. You do NOT want to change this to root. It will cause you nothing but grief later if you do. On the next screen, select ‘Remote Server Setup’. The option for Remote Server Setup is available on all Linux/Unix variants and is used with the Windows based Remote Server Setup tool that comes with the Domino Administrator client. On the next screen select “Enterprise Server”. No, you do not need to purchase a separate Domino Enterprise server license, but you will need the features under Enterprise. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq9.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq9.png) Select Next on the next few screens. You’ll get a pop up that says this system is not supported. Don’t worry, it will continue installing. Just don’t put in a PMR if you need support. Remember, this is a demo. You’ll then see the progress bar as it installs the binaries and base files. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq10.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq10.png) Once Domino is installed, you should see the following message: [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq11.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq11.png) Now you need to setup the server. You will connect with the Remove Server Setup tool in Windows. Enter the hostname or IP address of the server in the first box. I’m not going to detail the remote server setup here, but if anyone requests it, I can update this blog entry later. For now, its safe to assume I’ve setup the server as an additional server in my Domino domain. Once you have set the server up, you’ll want to shut the Remote server setup down when prompted. Next install the fixpack. Unless you put the fixpack in another diretory you’ll be extracting it into the same Domino directory as the installation. Move it to its own folder. Untar the fixpack as you did the server tar file: tar -xvf lotus_domino851FP3_linux_x86.tar Now, run the fixpack installation with ./install Follow through the prompts accordingly. Nothing to really note about it, but you do need to install the fixpack *before* you install Quickr. You will now need to make some changes to the Domino directory. You must enable the Domino servlet engine: 1. From IBM Lotus Notes or the Lotus Domino Administrator, open the Lotus Domino directory (names.nsf) on the server. 2. Open the server document in Edit mode. 3. Click **Internet Protocols** -> **Domino Web Engine**. 4. Under **Java Servlets**, select **Domino Servlet Manager** in the **Java servlet support** field. 5. **Save & Close** the document. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq15.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq15.png) While you are in the server, create a Web Single Sign On configuration document. We are going to enable form based authentication. Click on ‘Create Web .. SSO Configuration’. On the Web SSO document, create Domino LTPA keys. Set the domain to your DNS domain (i.e. strongbackconsulting.com). On the Web SSO document, leave the ‘Organization’ field blank. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq16.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq16.png) Set the Session Authentication to ‘Multiple Servers SSO’. NOTE: Single Server is NOT supported for Quickr (school of hard knocks talking here). Now, its time to install the Quickr binaries on top of Domino. First untar the Quickr binaries: tar -xvf CZM8JML.tar Then CD to the server directory and run the install with ./install Note that you’ll need to expand the terminal to full screen first. This install will be text based only. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq12.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq12.png) For the installation, you need to know who your Quickr admin is going to be. You’ll set a preliminary ID for that person and with a default password. We will change the directory settings later. During the install, accept the default settings for the program and data directories as well as the Domino user and group names (notes). On the user admin screen enter your admin name. Note you need to use TAB and ENTER to accept and edit the values. [![Installing Lotus Quickr 8.5 on OpenSUSE Linux under VMware](https://www.strongback.us/wp-content/uploads/2026/07/lq14.png)](https://www.strongback.us/wp-content/uploads/2010/09/lq14.png) Once you’ve answered the basic questionnaire you should see the screen above. Press TAB to start installing all the binaries. Finally, you should be aware that Domino will not automagically start unless you create your own init script. This is the one note where Windows beats Linux. [Follow my advice on my previous blog entry on how to do that. ](http://blog.strongbackconsulting.com/2009/02/auto-starting-websphere-app-server-or.html) Another post-install task to do is to set the default homepage to “/LotusQuickr/lotusquicker/main.nsf” Start your server, and your QuickrD is ready to run. I’ll cover setup and features in another blog post, but for now you should have the basics installed on Linux. Hopefully you have a good business partner that you get your software from. They should be able to help you if you get in a pinch. If they can’t… well.. perhaps you should do business with [someone else](/ibm/syndication.jsp?svpage=software_collab_ocs&sid=f87a168b06864e2974b2575e66ef2973)? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, Lotus, opensuse, Quickr, vmware --- ### [Have you played with the free Lotus Domino Designer?](https://www.strongback.us/2010/09/have-you-played-with-the-free-lotus-domino-designer) **Published:** September 8, 2010 **Author:** Kenny Smith **Content:** Earlier this year IBM announced that their development environment for Lotus Notes, the Lotus Domino Designer is now free for download. Although it does require a fee to connect to a Domino server, it costs nothing to run local homemade applications. The rapid application development ability of Lotus Notes (yes, it is a development platform), has long been IBM’s best kept secret. They do a very good job of keeping it secret, along with the FUD marketing of Microsoft and Google. I have created countless apps in Lotus Notes, from CRM apps, employee Intranets, corporate web sites, team sites, sys admin apps, and more. I do development in about a dozen languages, and Notes is by far the fastest development environment out there. Many who follow this blog are already Lotus gurus and evangelists, so I know I’m preaching to the choir for many on this, but this post is for the neophyte – the uninitiated to the realm of Domino apps. Download a copy at . Then get started developing an application. Visit the [LND App Dev Wiki](http://www-10.lotus.com/ldd/ddwiki.nsf) to help you get started and create a home grown app. Or, walk on over to OpenNTF.org and pull down some pre-built open source templates. Many of these are great right out of the box, but they are also great for dissecting and learning from the inside out. Another good resource is the [XPages tutorial](http://www.ibm.com/developerworks/lotus/tutorials/ls-ddxpages/?S_TACT=105AGX37). XPages brings in Java Server Faces like development. If you have experience with JSF, this should help you feel at ease. I’ve shared other [helpful links here.](http://www.delicious.com/klenny/lotus%20) If you are a neophyte, I do hope you give it a whirl and try out one of the tutorials. I think you will be quite impressed with its abilities and speed at which you can develop a high quality application. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus --- ### [Lotus Domino 8.5.2 SMTP Issue causes spike in CPU utilization](https://www.strongback.us/2010/08/lotus-domino-8-5-2-smtp-issue-causes-spike-in-cpu-utilization) **Published:** August 31, 2010 **Author:** Kenny Smith **Content:** Lotus Domino 8.5.2 was released after much development and testing. IBM appears to be going very slowly through the iteration numbers since 8.5.0. Many thanks to all the early adopters who install it at first download! As such, those early adopters are also the first to discover bugs that can really only be captured in a true production environment. There is one known bug out there, and I would caution against upgrading to 8.5.2 until the hotfix is available or possibly until Fix Pack 1 is available in Q4. The hot fix should be available on September 8th. The issue is that SMTP will spike the CPU utilization, and has been shown on AIX, AIX 64bit, Linux, Windows, Windows 64bit, and i5/OS. Here is the current IBM technote: [http://www-01.ibm.com/support/docview.wss?uid=swg21445280&myns=swglotus&mynp=OCSSKTMJ&mync=R](http://www-01.ibm.com/support/docview.wss?uid=swg21445280&myns=swglotus&mynp=OCSSKTMJ&mync=R) And here are a few other blog posts about the issue: [http://connections.vss-inc.com/blogs/askgreenstein/entry/domino\_8\_5\_2\_smtp\_bug?lang=en\_us](http://connections.vss-inc.com/blogs/askgreenstein/entry/domino_8_5_2_smtp_bug?lang=en_us) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus --- ### [7 Lucky tips you should know about Rational Functional Tester (RFT)](https://www.strongback.us/2010/08/7-lucky-tips-you-should-know-about-rational-functional-tester-rft) **Published:** August 27, 2010 **Author:** Kenny Smith **Content:** #### 1 – Get all the latest fix packs after you install You should be prepared to update RFT at least once per quarter. Web browsers are always being patched, and RFT integrates tightly into the browsers. For example, if you download the latest edition of RFT and you have Firefox 3.6, you will not be able to test with it because you have not updated to the latest fix pack. Update to the latest fix pack as soon as you install it. To update the environment, go to the IBM Installation Manger and click the big “Update” button. #### 2- Turn off UAC, or use virtualization If you are on Windows 7 or Windows Vista, I recommend you turn off User Access Control. You can get by with UAC, but its honestly a complete PITA to deal with it. If UAC is a corporate requirement for your desktop environment, then install RFT into a Windows virtual machine with UAC turned off. VMware has product call VMWare View that is great for test labs. You could also use a test environment inside a VMWare workstation virtual machine on your local system if your organization is not yet ready to stand up a virtual environment. Keep in mind you can also run RFT on a Linux operating system. This is an ideal environment for testing Firefox, JDK based applications, Eclipse Rich Client apps, and terminal based apps. #### 3 – Enable Environments for Testing After you install, you MUST enable your environments for testing. This simple step is the difference between having a critical tool and having expensive shelf-ware. You need to have Administrator rights on the computer you are trying to enable. This will fail if you don’t (see [technote 21320037](http://www-01.ibm.com/support/docview.wss?uid=swg21320037)). As part of this enablement you should also go ahead and disable the next-generation plugin for the browser. It is somewhat safe to assume that you will be running a JDK above 1.60\_18, or you probably will be. This issue is really a Sun/Oracle issue because Oracle changed some identifiers in the JDK to replace the SUN name with Oracle. This wreaked havoc with Eclipse based environments (beyond just RFT). Here is the IBM [technote](http://www-01.ibm.com/support/docview.wss?uid=swg21426579). Follow closely before continuing. [![Enabling Rational Functional Tester recording](https://www.strongback.us/wp-content/uploads/2026/07/RFT_enable.jpg)](https://www.strongback.us/wp-content/uploads/2010/08/RFT_enable.jpg)Enabling Environments for Testing#### 4 – Test your environments before testing Click ‘Configure – Enable Environments for Testing’. In the next screen, you will need to enable any browsers you intend to test with as well as the associated JDK’s. I recently had an issue at a client where clicking on ‘View Results’ in the browser would crash the browser, and the browser always failed the enablement test. In that instance there were several JDK’s installed, and by removing the ones not needed and installing the latest JDK, we were able to resolve the issue. #### 5 – Test the environments *before* creating any scripts [![Rational Functional Tester test environment configuration](https://www.strongback.us/wp-content/uploads/2026/07/RFT-testEnv.jpg)](https://www.strongback.us/wp-content/uploads/2010/08/RFT-testEnv.jpg) In the same ‘Enable Environments’ dialog, go ahead and perform all the tests on all the UI’s you will be testing with. Highlight each browser and each JDK, and click the ‘Test’ button. A successful test on a JDK should like the image shown here. When you test your browser, you will typically get an alert about script execution. Allow it to run and view the results. A successful browser test should look like the next image. If it fails, try disabling the browser and re-enabling the browser. [![Browser-based test running in Rational Functional Tester](https://www.strongback.us/wp-content/uploads/2026/07/RFT-browserTest.jpg)](https://www.strongback.us/wp-content/uploads/2010/08/RFT-browserTest.jpg) #### 6 – Go through the built in tutorials RFT has some excellent built in tutorials on the product. Click on ‘Help – Tutorials’ to view them. They come with the product. Navigate to the ‘Tutorials’ link. Go get a big cup of coffee, turn off your phone, turn on instant messaging, and go through some healthy tutorials. You will be much more productive with the tool afterwards. #### 7 – Participate in the forums As part of your learning, participating in user [forums ](http://www.ibm.com/developerworks/forums/forum.jspa?forumID=322)is enormously valuable. The communities are always eager to help. As you become more adept at the product, be sure to help some others who are also getting started. Lastly, I’ll leave you with a healthy list of links to help you get started. This del.icio.us link covers them all, and will include more in the future: - - [/solutions/continuous-testing](/solutions/continuous-testing) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational, RFT --- ### [Setting up an SSL Reverse Proxy in Apache on Linux](https://www.strongback.us/2010/08/setting-up-an-ssl-reverse-proxy-in-apache-on-linux) **Published:** August 25, 2010 **Author:** Kenny Smith **Content:** This one I’m writing so I don’t forget it. It is highly valuable info and spent a few hours wrangling with Linux to figure it out. This is a great way to proxy an Ajax web service so you avoid any cross domain scripting issues. Note, that if you also have WebSphere App Server, you could use the Web 2.0 Feature Pack and the Ajax Proxy Servlet which is included with it. These instructions assume either you are not using it and have some other implementation. The instructions below will also work with IBM HTTP Server since its based on Apache. Let’s say you have a web service that you have secured in SSL. Now you want to call that web service with an Ajax call (i.e. Dojo, JQuery, etc), and from either a static HTTP page, or a JSP that is may or may NOT be secured (i.e. HTTPS). Let’s say the web service URL is https://webservice.strongbackconsulting.com/mywebservice and the web page the audience is viewing is http://portal.strongbackwidgets.co.uk/myorders.htm On Apache, set up SSL. If the SSL modules have not been installed you can call one of the following commands to do most of the heavy lifting for you. yum install mod\_ssl (for Fedora, Red Hat) yast -i apache2-worker (for Suse, OpenSuse) Then in your httpd.conf files enter the following stanzas: ServerName portal.strongbackwidgets.co.uk SSLEnable SSLServerCert selfSigned SSLProxyEngine on SSLEngine on SSLCAProxyCertificateFile /etc/pki/tls/certs/localhost.crt SSLCAProxyCertificatePath /etc/pki/tls/certs SSLProxyEngine on Order deny,allow Allow from all RewriteEngine on ProxyPass /mywebservice/ https://webservice.strongbackconsulting.com/mywebservice ProxyPassReverse /mywebservice/ https://webservice.strongbackconsulting.com/mywebservice RewriteRule ^/mywebservice$ /mywebservice/ \[R\] Note that you need the SSLProxyEngine statement for both the \*:80 and \*:443 virtual hosts. That way the user can be in either HTTP or HTTPS. The SSLCAProxyCertificatePath should suffice. You will need to create your certificate file if it does not already exist. It should already be there if you are using Fedora or OpenSuse. The directories for SSLCAProxyCertificatePath and SSLCAProxyCertificateFile above are explicit to Fedora Linux. On OpenSuse, the default directory is /etc/apache2/ssl/. Lastly, are you automating the deployment of your applications to your servers? This is a core discipline of [DevOps](https://www.strongback.us/solutions/devops), [Continuous Integration and Deployment](https://www.strongback.us/solutions/continuous-release-deployment) should be a part of your overall solution. There’s a few tricks that will make it easy to deploy to Tomcat with Maven, for example. However, if you have custom variables that are environment dependent, or have to deploy multiple components across many severs for a single business application, you’ll need a more robust tool like [Urbancode](/solutions/continuous-release-deployment?product=Urbancode). \[cta id=’1245′\] **Categories:** Uncategorized **Tags:** ajax, apache, dojo, jquery, proxy --- ### [Solving the dreaded winmail.dat issue in Lotus Notes](https://www.strongback.us/2010/08/solving-the-dreaded-winmail-dat-issue-in-lotus-notes) **Published:** August 20, 2010 **Author:** Kenny Smith **Content:** So your users are getting these “winmail.dat” attachments in Lotus Notes and can’t open them, nor can they see any special formatting that the sender had added (and the sender is ALWAYS from Outlook). Quick solution: 1. Make sure you are on the latest fix pack of Lotus Domino. That should be 6.5.6, 7.0.3, 8.0.2, or 8.5.x. 2. Open Lotus Domino Administrator and issue the following commands (copy and paste one at a time): Set config TNEFKeepAttachment=1 set config TNEFEnableConversion=1 tell router update config The problem is that Outlook is tunneling rich text formatted information in an attachment through the Internet using a proprietary format (concocted by Microsoft), rather than MIME (an Internet standard). It (wrongly) assumes the recipient is also using Outlook. Microsoft opened up the format so other vendors could read the content, and IBM and other vendors have included that ability in later patches. You should not have this problem at all on Domino 8.5x, but will have to issue these commands on older versions of the server. This and several other little “gotchas” can be easily resolved if you know where to go. If your organization does not have a dedicated Domino admin, it may benefit from having someone come in and help on an ad-hoc basis. Just [contact us](/contact) for more info. If you need help upgrading we (Strongback Consulting) offer upgrade services on all platforms (System i, Unix, Windows, Linux). Also, if you are not on the latest and greatest of Notes/Domino, there are some features you are missing out on. Mainly the newest social features built into the product. SlashdotMedia has a great article on how email is going more social and not just inbox-centric. If you are still using a version of Lotus Notes/Domino earlier than version 8, you are about 5 years left in the dust on technology. [The product has changed considerably in version 9 with the IBM Notes Social Edition.](/ibm/?svpage=software_collab&sid=9ce11de47e04bd6308e0ca2cf9b8e214) \[callaction button\_text=”Read the whitepaper” button\_url=”https://www.strongback.us/go/whitepaper-moving-to-the-cloud-the-time-for-information-governance-is-now” background\_color=”#333333″ text\_color=”#ffffff” button\_background\_color=”#32a1f0″ button\_text\_color=”#ffffff” rounded=”true”\]Moving to the Cloud? The Time for Information Governance is Now. Find out how you can manage protect your data and privacy, while realizing the convenience of cloud Xaas. \[/callaction\] **Categories:** Uncategorized **Tags:** domino, Lotus Notes, Outlook --- ### [IBM Rational Cafe's have moved!](https://www.strongback.us/2010/08/ibm-rational-cafes-have-moved) **Published:** August 19, 2010 **Author:** Kenny Smith **Content:** If you (like me) used the Cafe’s (such as the HATS Hotspot), you should be aware that IBM has moved those over to Developerworks. Its is fitting, as that is where the forums are for all the other products. If you work on System z or i, these are great forums to visit to post questions or comments. There are solid business partners (us included) that frequent those sites and post answers to questions and advice. You’ll also find 3rd level help desk support teams visiting those sites as well, this might be faster and if you are savvy enough to navigate through the IBM support matrix and know that your question is beyond the capabilities of a level 1 support team. - EGL Forum: . - RPG Forum: - C/C++ Forum: . - COBOL Forum: - HATS Forum: . - RDp Forum: . - RDz Forum: . - RDz UT: . [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, rational --- ### [IBM Rational Demo hosts iSeriesD and ZServeros now require SSL](https://www.strongback.us/2010/07/ibm-rational-demo-hosts-iseriesd-and-zserveros-now-require-ssl) **Published:** July 29, 2010 **Author:** Kenny Smith **Content:** For anyone who has taken a HATS class (including those offered by our company), you may find problems accessing the demo servers if you run back through your lab exercises. The reason is that IBM now requires SSL on these connections. I found this on the main site: > 28 Jul 2010: If you are using a Terminal Emulator to connect to the system,SSL is now required. [SSL Setup instructions for IBM Personal Communications](http://iseriesd.demos.ibm.com/certs/DemoCentralTn5250SSL.pdf) Follow the instructions in the HATS online help to enable SSL. If you already have the certificate from the telnet host, here is a summary of what you do next (from the HATS help system): > To create a keystore file to use with HATS that includes the certificate file you extracted from the Telnet server’s keystore file, take the following steps: > > 1. Copy the certificate extracted from the Telnet server’s keystore file to your HATS development system. > 2. Click Start > All Programs > IBM Rational® SDP profile > IBM Rational HATS 7.5 > Certificate Management (where IBM Rational SDP profile is the Rational SDP product profile you have installed. > 3. Click Key Database File and select New…. > 4. For the Key database type, select PKCS12. Give the file a name with an extension of .p12 and a location, and click OK. > 5. Type in a password, confirm it, and click OK. > 6. Under Key database content, select Signer Certificates from the drop-down list and click Add…. > 7. For Data type select Binary DER data. If the certificate is in ASCII format, select Base64-encoded ASCII data. > 8. Browse to find and select the certificate you extracted from the Telnet server’s keystore file and click OK. > 9. Enter a label for the certificate and click OK. > 10. Exit the Certificate Management tool. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, ibm, rational --- ### [Redirecting your IHS root context to your WebSphere app Server app](https://www.strongback.us/2010/07/redirecting-your-ihs-root-context-to-your-websphere-app-server-app) **Published:** July 29, 2010 **Author:** Kenny Smith **Content:** When you install WAS, you’ll probably also be installing IBM HTTP Server (you should if you use web apps). However, you may want that HTTP server to automagically navigate to your preferred WAS java app. Otherwise, if your users navigate to the default hostname (http://www.myhostname.com), they’ll see the ugly IBM HTTP Server welcome page with links to nothing else. Let’s say you want them to instead go to http://www.myhostname.com/MyApp, but don’t really want to have to give them the URL with the root context. First, make sure the application is up and running on WAS. Also, make sure you’ve mapped the web module to the IHS server in the admin console. Now, go to the htdocs directory under your HTTP server install root (c:IBMHTTPServerhtdocs). Create a file called .htaccess (yes a period before the name). Add the following to the file: `Redirect 301 / http://www.myhostname.com/MyApp` You can also type the following on a Windows command line to do it all in one shot: `C:IBMHTTPServerhtdocs> echo "Redirect 301 / http://www.myhostname.com/MyApp" > .htaccsss` Next, open your httpd.conf file located in the ‘conf’ directory under IHS. Edit the ‘AllowOverride’ line from ‘None’ to ‘All’. This assumes that you are only using IHS to front end your WAS server. If IHS is hosting more that just WAS apps, you’ll need to do some more homework on this. `# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit #AllowOverride All` This is called a permanent redirection, and any web crawlers will automatically update their search engines. It is faster than embedding an http redirect in the index.html, and more reliable. Now, restart IHS, and voila! Your default host name now refers you directly to your installed WAS app. If you find you need to do more with IHS than that, here’s a few links to help you out: - - - [http://codex.wordpress.org/Using\_Permalinks](http://codex.wordpress.org/Using_Permalinks) [callaction button_text=”Learn More” button_url=”/solutions/websphere-support” background_color=”#333333″ text_color=”#ffffff” button_background_color=”#32a1f0″ button_text_color=”#ffffff” rounded=”true”]Do you have the resources to manage your own WebSphere environment? Need some mentoring assistance to get you up to speed? [/callaction] **Categories:** Uncategorized **Tags:** apache, ihs, WebSphere --- ### [DB2 CommonStore - Some sage advice for eDiscovery and email archving](https://www.strongback.us/2010/07/db2-commonstore-some-sage-advice-for-ediscovery-and-email-archving) **Published:** July 27, 2010 **Author:** Kenny Smith **Content:** I have a customer who is archiving data using IBM DB2 CommonStore for Lotus Domino, and have recently upgraded their environment. There are some things to know as you may not easily be able to glean advice from the IBM support portal. #### Analysis and Planning Setting up a corporate email archiving solution can be a much larger undertaking then you think. There are storage, legal, regulatory, communal, and of course cost concerns. All of these will factor into the total price. Before you commit to setting up an archive system of ANY kind, sit back and ask yourself the following questions: - What is the maximum time I’m willing to keep emails? - What is the minimum time I’m required to keep emails? (think regulatory compliance) - Can I depend on my users to abide by our archiving standards? (hint: no, you cannot) - What is the risk of not being able to find key emails if we are sued? - What is the legal risk of keeping email? - What is the cost of keeping email for 1 year, 3 years, 7 years? (think storage costs) - How can I keep a user from deleting email younger than our retention period? If you only want to reduce your storage costs, then most likely the email platform you are using already has archiving features available to you. Lotus Domino has a decent archiving system that lets you centralize a policy and offload archived emails to local desktops or to remote desktop servers. Exchange and GroupWise have similar features. Google Apps has a very rudimentary system of archiving. If you don’t forsee your organization ever having to perform what is called an ‘eDiscovery’ for a litigation, then this may be the most economical solution. However, many industries are required to retain any communication with customers for a specified amount of time (SEC in particular). SOX only requires you to define a time period and stick with it. HIPPA has privacy and security concerns you need to address, as well as long term retention demands. Bottom line, you need to define a policy *first*. This should be both an archiving policy and an email acceptable usage policy. Consider also archiving of instant messaging data as well. That too is admissible as evidence, and I promise you your employees are using instant messaging whether you “allow” it in your organization or not! Its best to allow it so you can collect it. Collecting it means controlling it. DB2 CommonStore & InfoSphere Content Collector Both of these products are considered high end email collection tools. CommonStore has been around for a few years and is the elder brother of the two. InfoSphere was acquired by IBM along with a whole portfolio of products. CommonStore has three flavors: one for Domino, one for Exchange, and one for SAP. InfoSphere has one flavor. If you have a choice between CommonStore, and InfoSphere, go with InfoSphere. The price is the same, but its easier to configure, and there are less tentacles into the Domino server. The largest inconvenience I see with CSLD is that it requires custom updates to the Notes mail templates, which need to be upgraded with each CSLD patch, and also must be reconciled with new mail templates with each Domino release. PITA. InfoSphere Content Collector however, can crawl both Domino and Exchange systems, which is ideal if you have a mixed environment. ICC is definitely the more flexible of the two. Both however require a content mangement backend. Namely, you need either DB2 Content Manager (CommonStore only) or Filenet P8 (both products). CommonStore can also crawl a Tivoli Storage Manager archive, and Content Manger onDemand, but (pardon the pun), demand for the latter two archiving styles is waning. #### eMail Search vs. eDiscovery Manager First off, if you have purchased eMail Search, you should have found that this has been discontinued, and you have been upgraded to using the InfoSphere eDiscovery Manager in your Passport Advantage center. You will want to rip out eMail search as soon as you can and get running on eDM. eDM is a very slick Web2.0 type interface that is MUCH easier to use than eMail Search. The online help is superb, and it is much easier to configure. The product runs on top of WebSphere App Server. You will want to run this on a separate server. Avoid the tempation to just stack it on top of CommonStore which in turn is on top of Content Manager, which also is on top of WebSphere App Server and DB2 Enterprise. The tool can crawl both CommonStore and InfoSphere Content Collector stores for several email back ends. #### CommonStore Setup Follow the documentation to the letter and read it carefully without distractions. There is a lot to configure. One thing I will add to the documentation, is that when you are setting up your item types in Content Manager, set up attributes for the CC and BCC fields. If you take the default route, you’ll find out later that these were not part of the defaults. Also take care to patch the system to the latest releases of DB2, WebSphere App Server, Content Manager, and CSLD. There are several interim fixes for CSLD. If installing new, install DB2 9.5, CM 8.4.2 with the latest fixpack. Install WebSphere App Server 7.0.0.11 (the latest build as of this blog post). If you are using Commonstore, you will not find any InfoCenter on it. You’ll have to use the published PDFs. I’ve included both of those below for convenience as well as a few links to get you going. - [CSLD Admin & Programmer’s guide](http://publibfp.boulder.ibm.com/epubs/pdf/h1267426.pdf) - [Fast Text Indexer ](http://www-01.ibm.com/support/docview.wss?uid=swg27011294&aid=1)documentation - [Fast Text Indexer](http://www-01.ibm.com/support/docview.wss?uid=swg27016311&aid=1) troubleshooting document - [RSS feed for Commonstore technotes](http://www.ibm.com/systems/support/myfeed/xmlfeeder.wss?feeder.requid=feeder.create_public_feed&feeder.feedtype=RSS&feeder.maxfeed=50&OC=SS6QFT&feeder.subdefkey=swgimgmt&feeder.channel.title=CommonStore&feeder.channel.descr=The%20latest%20updates%20about%20CommonStore) from IBM - [IBM Support Portal site for CSLD](http://www-947.ibm.com/support/entry/portal/Overview/Software/Information_Management/CommonStore_for_Lotus_Domino) - [Email Archiving and Compliance](https://www.strongback.us/solutions/email-archiving-compliance.jsp) solutions by my company There is not much of a community or forum for Commonstore like there is for many other products, but feel free to post questions here and we’ll see what we can do to answer them. You may find posts in the Lotus forums on IBM developerworks, but I’ve found them riddled with innaccurcies or the posts were terribly old. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** commonstore, db2, ediscovery --- ### [Blogging is akin to asynchronous mentorship](https://www.strongback.us/2010/07/blogging-is-akin-to-asynchronous-mentorship) **Published:** July 15, 2010 **Author:** Kenny Smith **Content:** What sparked this blog entry was a couple of blog entries by [Ivar Jacobson](http://blog.ivarjacobson.com/). For those who do not know, he is one of the three amigos that founded Rational Software, along with Jim Rumbaugh and Grady Booch. He had a couple of posts on [Rational Unified Process](http://blog.ivarjacobson.com/tag/rational-unified-process/) and how it came about, and what he thinks about his intellectual offspring today. I was interested, intrigued, and was *educated* by his post. In today’s oft disconnected world, it becomes more challenging to create and maintain relationships, particularly those that are mentoring relationships. Rarely do we go out searching for mentors. Yet, we need mentors no matter what our age or expertise. There is always something to be learned, and always someone who knows more than you about something. Today I discovered the concept that one can be a mentor without knowing it. I spent many years in volunteer organizations being a mentor, and being mentored. I always new my mentor, and always those that I mentor and still know them all. Ivar has become a mentor to me. He knows me not. I didn’t ask for it, I just took his advice. He offered it freely on the web. I would (safely) doubt that he has never read my blog, and certainly does not know me from Adam. Yet, I learned from him two things. First, his thoughts about templates and how they detract from the core of Objectory (now RUP), and the fact that blogging is and could be equivalent to asynchronous mentorship. So, my advice (a.k.a. my mentorship) to you is to filter the blogs you read to only those you feel add value to you. Whether that be in the form of adding technical skills, financial acumen, hobby expertise, or just all around life skills – read only those that are *worth* reading. If you blog yourself, take the time to write something of value, something that will improve someone’s productivity, lifestyle, recreational enjoyment, etc. If you use your blog to vent about troubles in your life, remember that there are enough complaints in the world to spare. Not many people will care so much to read your negativity, and will most likely not return to read another. I will leave this post with a list of blogs that I think you will either enjoy and/or learn from. These encompass technologies, hobbies, and art. Its by no means a complete list, but one of many that I find valuable and listed in no particular order: - - - - - - - - - - Enjoy 🙂 [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** blogging, mentoring --- ### [Hangup installing Rational HOD on Microsoft IIS - missing MIME types](https://www.strongback.us/2010/07/hangup-installing-rational-hod-on-microsoft-iis-missing-mime-types) **Published:** July 9, 2010 **Author:** Kenny Smith **Content:** I was installing the latest round of Host On Demand (HOD), and could not for the life of me figure out why the emulators would not load. I’m installing it for a customer and while, it works perfect on Linux with Apache, it craps out on Windows with IIS. Turns out that IF you use Microsoft IIS, you have set up the MIME types manually. Right click on the server in the ISS Admin panel. Go to the HTTP Header tab and at the bottom click on MIME types. You’ll find that M$ has conveniently omitted any. You need to add the following mime types (file extensions) for Host On-Demand: .style – application/octet-stream .props – application/octet-stream .properties – application/octet-stream .cf – application/octet-stream .obj – application/octet-stream .df – application/octet-stream .ndx – application/octet-stream .hodpdt – application/octet-stream .mac – application/octet-stream .pfb – application/octet-stream .ttf – application/octet-stream .inx – application/octet-stream .gtt – application/octet-stream .p12 – application/octet-stream .fnt – application/octet-stream .jnlp – application/octet-stream All of this also documented on the [IBM Support Portal](http://www-01.ibm.com/support/docview.wss?uid=swg21423830). By the way, you can save yourself (or your company) a couple of grand by simply installing this stack on Linux. You’ll be surprised how easy it is. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HostOnDemand, Microsoft, rational --- ### [IBM Rational HATS with Dojo: How to spice up your green screens](https://www.strongback.us/2010/07/ibm-rational-hats-with-dojo-how-to-spice-up-your-green-screens) **Published:** July 2, 2010 **Author:** Kenny Smith **Content:** Some have contacted me that they have been unable to find my presentation on the conference web site. I would have sworn I posted it (more than once), but the conference organizer website was considerably different than last year, and not necessarily better. That said, for those who would like to view all the ooey gooey goodness of Dojo and HATS, here it is in all its glory. If you find it helpful, or have suggestions for improvement be sure and leave a comment. **[IBM Innovate 2010 – POWER-1068A](http://www.slideshare.net/strongback/pwr-1068-a "Pwr 1068 a")**View more [presentations](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, IBMi, ibminnovate, iSeries, mainframe, rational, systemz --- ### [WebSphere App Server CL start/stop script for System i](https://www.strongback.us/2010/06/websphere-app-server-cl-startstop-script-for-system-i) **Published:** June 14, 2010 **Author:** Kenny Smith **Content:** WebSphere App Server on the i/OS does not come with a feature to automatically start and stop, and sometimes its best to use a CL command to stop it. I frequently see users doing an ENDSBS(WAS7), which wreaks havoc with the JVM. Please don’t just end the subsystem. When you do this, the JVM drops all logging and can leave some config files corrupted. This then requires extra clean up time when the system is restarted, which can cause your CPU to work overtime. There is a script in the InfoCenter, but after a recent call with support, we decided to use one that utilizes QSHELL rather than SBMJOB technique outlined in the InfoCenter. #### WAS CL Startup Script 100 PGM 200 CHGJOB LOG(4 00 \*SECLVL) LOGCLPGM(\*YES) 300 STRSBS SBSD(QWAS7/QWAS7) 400 MONMSG CPF0000 500 DLYJOB DLY(30) 600 700 QSH + 800 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 900 nd/profiles/dmgr01/bin/startServer’) 1000 DLYJOB DLY(30) 1100 1200 QSH + 1300 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 1400 nd/profiles/hats/bin/startServer nodeagent’) 1500 DLYJOB DLY(30) 1600 1700 QSH + 1800 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 1900 nd/profiles/hats/bin/startServer HATS9081′) 2000 DLYJOB DLY(30) 2100 2200 QSH + 2300 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 2400 nd/profiles/hats/bin/startServer HATS9082′) 2500 DLYJOB DLY(30) 2600 2700 QSH + 2800 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 2900 nd/profiles/hats/bin/startServer HATS9083′) \* \* \* \* E N D O F S O U R C E \* \* \* \* #### WAS CL Shutdown Script 100 PGM 200 CHGJOB LOG(4 00 \*SECLVL) LOGCLPGM(\*YES) 300 QSH + 400 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 500 nd/profiles/hats/bin/stopServer HATS9081′) 600 DLYJOB DLY(30) 700 800 QSH + 900 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 1000 nd/profiles/hats/bin/stopServer HATS9082′) 1100 DLYJOB DLY(30) 1200 1300 QSH + 1400 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 1500 nd/profiles/hats/bin/stopServer HATS9083′) 1600 DLYJOB DLY(30) 1700 1800 QSH + 1900 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 2000 nd/profiles/hats/bin/stopServer nodeagent’) 2100 DLYJOB DLY(30) 2200 2300 QSH + 2400 CMD(‘/qibm/userdata/websphere/appserver/v7/+ 2500 nd/profiles/dmgr01/bin/stopServer’) 2600 DLYJOB DLY(30) 2700 2800 ENDSBS SBS(QWAS7) OPTION(\*CNTRLD) DELAY(30) 2900 monmsg cpf0000 \* \* \* \* E N D O F S O U R C E \* \* \* \* Note that above there is a delay job. This is set at 30 seconds, but 5 minutes is more appropriate depending upon the speed of your system and workload being performed. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** IBMi, iSeries, systemi, WAS, WebSphere --- ### [10 reasons to patch your Lotus Domino 8.5.1 Server to Fix Pack 3](https://www.strongback.us/2010/06/10-reasons-to-patch-your-lotus-domino-8-5-1-server-to-fix-pack-3) **Published:** June 2, 2010 **Author:** Kenny Smith **Content:** Lotus Domino and Notes fix pack 3 for 8.5.1 was released 3 days ago and already you should be considering patching your environment for these 10 reasons. Here are 8 fixes that apply to the server, followed by two that apply to the clients that you should not miss out on. The server fix pack only takes about 20 minutes maximum to apply. You can roll out your client fixes via SmartUpgrade. The client fixes are in my opinion not as high of a priority as the server fixes listed below. If your clients are experiencing the two issues I’ve highlighted you could roll those out using Domino explicit policies. #### Domino 8.5.1 fix pack 3 server fixes SPR# ADEE84REF5Fixed a defect that affects attachments during archive operations, causing attachment corruption. This regression was introduced in 8.5.1SPR# CAOA83W73YFix for two memory leaks in the backend classes exposed by customer using xpages.SPR# CSCT836HFL View.getDocumentByKey and getAllDocumentsByKey fails on a very busy View, with a “the collection has become invalid” error. This fix will allow collection retrieval under all commonly occurring conditions and is primarily for the server, but will pertain to both client and server. This regression was introduced in 8.5.1. (Technote #[1424178](http://www.ibm.com/support/docview.wss?uid=swg21424178))SPR# DADS7VJRSQ When registering users via the admin client and adding the new user to groups, the registration server will crash. With this fix applied to the registration server, the admin client will successfully register the user without the registration server crashing. (Technote #1428766) SPR# KLYH7ZPNC2 Fixed IBM Lotus Domino **LDAP buffer overflow vulnerability.** (Technote #[1420749](http://www.ibm.com/support/docview.wss?uid=swg21420749)). If your Domino server sits open to the Internet – THIS IS A MUST APPLY FIX! Do not dance around with security vulnerabilities. SPR# WBKK7GNJY8 Fix for Cluster Replicator crash which could happen under low memory conditions. (Technote #[1314039](http://www.ibm.com/support/docview.wss?uid=swg21314039))SPR# JSHN7YSRPZ Fixed a problem where the Out of Office Service was responding to an incorrect address. The Out of Office Service was enabled for a user and they responded to a message from a sender in a different Notes domain. The user then received a message from another sender in the same Notes domain as the user. When that second message was responded to, the Notes domain of the first sender was appended to the address, which resulted in an invalid address and ultimately a delivery failure. (Technote #[1431077](http://www.ibm.com/support/docview.wss?uid=swg21431077))SPR# OIHZ7R3KFK With a Notes 8.0.2 server set to use the Out of Office Service and after upgrading to 8.5, some users are using the Out of Office agent instead of the service. This occurs for all users who have the Out of Office service enabled at the time of the load convert to the new mail template. This regression was introduced in 8.5.1. (Technote #[1425342](http://www.ibm.com/support/docview.wss?uid=swg21425342))#### Lotus Notes 8.5.1 fix pack 3 client fixes SPR# MHUZ7W5LDD When the desktop policy “Enable ‘Synchronize Contacts’ on the replicator” is enabled, the setting is not honored well on replication page. This fix will make the setting honored well on the replication page. SPR# JPAI82QP5S Fixed a regression which prevents Smart Upgrade from successfully launching a .bat or .cmd file. The workaround would be to launch “cmd.exe” and put the .bat or .cmd file in the Optional Arguments in the Smart Upgrade Kit. This regression was introduced in 8.0.2. The full list of fixes is available on the [Notes/Domino fix list site](http://www-10.lotus.com/ldd/r5fixlist.nsf/0/6e7beeca5a13cfaf8525771c0062a54b), where you can peruse all the fixes, not just the ones I’ve highlighted. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus, Lotus Notes --- ### [What's New in Rational HATS 7.5.1?](https://www.strongback.us/2010/05/whats-new-in-rational-hats-7-5-1) **Published:** May 27, 2010 **Author:** Kenny Smith **Content:** Now that the latest is out in the wild, I’d like to show off some of the new features. This release includes a few new very high priority features that customers and business partners have been asking for. There are more features in the works (which I am well aware of but cannot disclose due to our NDA), that will come out in the next version (named either HATS 7.6 or HATS 8.0). ### Upgrading to 7.5.1 This release is available via Passport Advantage, or if you already have 7.5.0.x installed, you can upgrade directly using Installation Manager. Keep in mind that the first time you load up your workspace after performing the upgrade, it WILL upgrade all your projects in your workspace automatically without prompting. ### New features The first new feature is the inclusion of some new templates to make the UI look more like 2010 than 2001. This was a complaint many of us partners had – that although the tool could port a green screen to the internet with relative ease, it still looked dated for the web. The two new templates are ‘Finance’, and ‘Industry’. The later is shown here below. [![](https://www.strongback.us/wp-content/uploads/2010/05/751interface.jpg)](https://www.strongback.us/wp-content/uploads/2010/05/751interface-1.jpg) [![](https://www.strongback.us/wp-content/uploads/2010/05/hats-iphone.png)](https://www.strongback.us/wp-content/uploads/2010/05/hats-iphone-1.png) HATS has for some time supported mobile applications. These were specifically for the Windows Mobile IE, and not very pretty on other mobile platforms such as iPhone or Blackberry. The new iPhone support produces a slick UI. Most companies that want to have this functionality are also only going to want to surface applications behind their corporate firewall. This will require an AT&T service with a dedicated drop behind the firewall, or at least a VPN client for the iPhone so the iPhone users will be browsing from within the firewall. Those with Blackberry Enterprise Servers already have this functionality without any special VPN or dedicated lines. Creating an app targeted at the iPhone is as simple as selecting the “Optimize Options for Mobile Devices” on the project creation wizard. Also new is client side AJAX support for pulling screen refreshes dynamically. Previously this was done using the “Asynchronous Applet”, which is now deprecated. The applet was a signed Java applet that ran in the browser and refreshed the HTML automatically upon host screen refresh. This was useful in cases where a timer would update the green screen without user input, and those changes needed to be refreshed on the web browser. The caveat was that Java applet usage is widely disabled in browsers, and the applet ran on random TCP/IP ports, giving network administrators headaches trying to track down the source of what they thought might be port scanning tool, or network hack. Now all this can be handled over common HTTP (port 80/443) traffic, with only minor additional traffic headaches. Many sites use Ajax now, and corporate fire walled sites increasingly so. This AJAX feature also handles that troublesome issue of when the user closed the browser, the host connection would stay alive. Now it kills the back end connection (which is configurable). For those using macros to combine heterogeneous screen data, you can now pull non-text plane data such as information from the color, field, or DBCS planes. In otherwords, you can pull in a global variable such as “CYAN” from the color plane rather than just the text array. Field attributes can also be pulled in as extracts or global variables. WebSphere Portal users now can have single sign on with JSR 168 HATS portlets. This was a nagging issue that forced many customers to stick with the IBM API portlets so they could manage SSO. A new inline calendar widget provides a much improved feature that often was lost when popup dialog boxes were blocked in the browser. This inline widget uses CSS and DIV elements to dynamically open and close the calendar picker, even with popups disabled. [![](https://www.strongback.us/wp-content/uploads/2010/05/inlinecalendar.jpg)](https://www.strongback.us/wp-content/uploads/2010/05/inlinecalendar-1.jpg) The Web Services signature is also much improved. No more extraneous properties – only the ones you need – mainly the prompts, extracts, and chaining properties (if any). This will make web services creation much simpler. If you are interested in seeing more, I’ll be two not one, but TWO presentations at [IBM Innovate](http://www-01.ibm.com/software/rational/innovate/) this year. The conference starts June 6th. App Developers get $100 discount w promo code MACT . This is a great conference for developers, testers, and IT architects. Hope to see you there! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, ibminnovate, rational --- ### [First year's batch of Linux distro's released](https://www.strongback.us/2010/05/first-years-batch-of-linux-distros-released) **Published:** May 25, 2010 **Author:** Kenny Smith **Content:** Just a few weeks ago Ubuntu launched Ubuntu 10.4 codenamed Lucid Lynx. Now, the Fedora team has launched [Fedora 13](http://docs.fedoraproject.org/en-US/Fedora/13/html/Release_Notes/index.html). If you run and experiment with Red Hat type software, [Fedora ](http://docs.fedoraproject.org/en-US/Fedora/13/html/Release_Notes/index.html)a is a good platform to play around with. It is the experimental playground of Red Hat and most of the guts of Red Hat are in Fedora. Fedora is just a bit more ‘cutting edge’. WebSphere App Server runs on it nicely with a few tricks I’ve mentioned before. This one is a fast distro. Don’t let the number 13 scare you (after all 13 is a good luck number in some cultures). This is the distro we run for some of our internal web sites. Next on deck in the release cycle is OpenSUSE, scheduled to be released in [July](http://en.opensuse.org/Roadmap). OpenSuse is my favorite server based distro. What works in the enterprise version (SLES) will probably work in OpenSuse. In version 11.2 I have Lotus Domino 8.5.1 with no patches, a Rational Team Concert server, along with the RTC build engine. I’ve not done a single special patch other than regular software updates from the standard repositories. I think this is the ideal version if you want to run a lean, agile, collaborative ALM environment (i.e. Team Concert), or if you need a quick and easy test environment setup. Many of the [IBM Rational](https://www.strongback.us/rational.tiles) desktop development and testing tools run on OpenSuse Linux also. Functional Tester is a good candidate here. One recommendation that I have is that if you run production, test, and development environments, some configurations are very operating system specific. For example, DB2 on Linux is a different creature than DB2 on Windows. Don’t mix and match here. You can get away with it ONLY if you keep everything either all 64 bit, or all 32 bit. Dont’ expect to backup a 64 bit DB2/Linux database and restore on a 32 bit DB2/Windows server. It ain’t happening. My preferred desktop distro is Ubuntu, although I have several software packages that are Windoze only . The latest version of Ubuntu is truly a great great great platform. It is a good candidate for replacement of enterprise desktops in places like customer service centers, where there is limited commercial software needed other than a web browser and email client. This version runs Lotus Notes 8.5.1 like a dream, and is supported by IBM out of the box. If you are on an Exchange environment you can run the native application Evolution and connect to your back end Exchange server. Firefox is the default browser, and an excellent one at that. For office productivity there is Open Office, which is also included. I am a BIG advocate of Open Office. As a business owner, I use Open Office exclusively. Yes, I can read/write/create MS Office file types and have only an occasional issue with Powerpoint files (mainly if they are too large). [This tour of Ubuntu](http://www.ubuntu.com/products/whatisubuntu/1004features) is a good layman’s overview. Ubuntu 10.4 is their long term support version, and receives support for 3 full years on the desktop, and 5 years on the server (for paid subscriptions of course). I have a few other Linux distributions to mention. First is Mandriva. Now I’ve only installed and played around with it once, but did not care much for their enhancements. That said, there is quite a following out there. [Puppy Linux](http://www.puppylinux.org/main/index.php?file=Overview%20and%20Getting%20Started.htm) is a neat little distrubution that is great to install on a USB thumb drive and boot up an otherwise dead, old pc. It runs entirely from RAM, and thus is surprisingly fast. It uses several packages from the Ubuntu stream, so expect a release sometime later this year. I’ve managed to save some data from old drives using this distro. This is not a server class distro. [Slackware 13.1](http://www.slackware.com/releasenotes/13.1.php) was released yesterday. This is the Linux expert’s distro is not for the uninitiated. It must be compiled from source prior to using. That said, it makes for a great firewall, proxy server, or HTTP server, as well as a hacker’s desktop. Once up and running, its fast, secure, and well.. fast. On the pure Unix side, OpenBSD (which is not Linux), released their [latest ](http://www.openbsd.org/)on 5/19. BSD is the time tested standard for Internet servers. Yahoo runs BSD for their Internet site. At one point, Microsoft’s Hotmail ran BSD (*not Windows*). My apologies to any other distro’s I’ve not mentioned. The ones above are the big players in this space and the ones I work with the most (or ever as the case may be). Anyone have any favorites that I’ve left off? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** fedora, Linux, opensuse, ubuntu, unix --- ### [Rational Team Concert for Visual Studio 2010 - Coming Soon.](https://www.strongback.us/2010/05/rational-team-concert-for-visual-studio-2010-coming-soon) **Published:** May 7, 2010 **Author:** Kenny Smith **Content:** The Jazz team [announced ](http://jazz.net/blog/index.php/2010/05/05/rational-team-concert-introduces-support-for-microsoft-visual-studio-2010/)that RTC will support VS2010 in RTC version 2.0.0.2 iFix3, which is currently at milestone 1 build. This includes full client support on Windows 7. This build is primarily for developers that work with VS – if you don’t work with VS, then you can/should ignore the build. The interim fixes appear to be coming out every 45 days or so, so expect a full release of this iFix by the end of May. In case you didn’t know, the RTC product development team uses RTC as its own build environment. Talk about eating your own dog food! As all the Jazz products are developed in the open, anyone can check on the status of an iteration, or submit work items as defects, bugs, or requests for enhancements. The RTC project plans are found at [http://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.apt.viewPlan&page=viewModel&id=\_1SrHYFOUEd-uhOvgaO8mvA](http://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.apt.viewPlan&page=viewModel&id=_1SrHYFOUEd-uhOvgaO8mvA). RTC already supports the previous version of Visual Studio (2005 and 2008). If you are not familiar with the interaction of Team Concert and Visual Studio, here are some videos on getting started with the product. #### Getting Started with Rational Team Concert and Microsoft Visual Studio – Part 1 #### Getting Started with Rational Team Concert and Microsoft Visual Studio – Part 2 #### Getting Started with Rational Team Concert and Microsoft Visual Studio – Part 3 [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Microsoft, rational, RTC, teamconcert, VisualStudio --- ### [IE 6 Falls even lower in the market share - IE 6 Shame List grows](https://www.strongback.us/2010/05/ie-6-falls-even-lower-in-the-market-share-ie-6-shame-list-grows) **Published:** May 4, 2010 **Author:** Kenny Smith **Content:** [Netmarketshare](http://www.netmarketshare.com/browser-market-share.aspx?qprid=2), a site that analyzes Internet technology trends, posts that IE6 is down to 17.58% in April. Firefox 3.6 nearly matches that, and Firefox 3.5 adds another 5.8%. If you are not building your Internet or Intranet sites to match the features of modern browsers, you are missing out. If your development shop is STILL coding only to IE6, then you are committing an act of suicide because if these applications no longer work in other browsers, you are eventually going to have to refactor them. Unless you’ve been living under a rock, you should know that IE7 has also been surpassed, and IE8 which has been out since Mar 19, 2009. Microsoft is even being quite public about their intent for Internet Explorer 9 and support of HTML5, the open h.264 video codec, and CSS3. A fact which is very welcome news. Internet Explorer 6 was formally given a [funeral ](http://ie6funeral.com/)back in March to help spread the word that it is DEAD, that it hinders future web innovation, that it was broken from the start, and that EVERYONE, large enterprises included should move off it to something newer. Some organizations are going so far as to officially embrace Firefox as the standard (which is the case with our company). [Google ](http://mashable.com/2010/01/29/google-ie6/)also announced they have ceased support of the browser, and other major vendors are following suit. If you are a large enterprise (which comprises the bulk of the laggards), what is your policy for web browser support? Have you made efforts to migrate off? Have you inventoried your public and private web pages for possible breakage when moving? If not, you should. If you have a public web page that is only supported in IE6, and breaks in others, go back and look at the chart linked above. You are not just hindering sales, you are hurting your brand when someone comes to your site with any other browser and sees a broken UI. It reflects poorly on the company’s image. It shows that the company is not staying up with the times. Protect your brand and personal reputation by acting now. Otherwise, you might start seeing your name on the [IE 6 Shame List](http://www.ie6shame.com/). Check out the responses by the posters. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** IE6, IE7, web standards --- ### [Licensing model changes for Rational POWER7 Products](https://www.strongback.us/2010/04/licensing-model-changes-for-rational-power7-products) **Published:** April 30, 2010 **Author:** Kenny Smith **Content:** If you have any of the following products, when you move to the next release, you will experience a change in how you obtain your licenses. - Rational Developer for System i 7.5 (now re-branded as Developer for POWER systems) - Rational Developer for System z 7.6 Previously the license file as a java .jar file obtained via IBM Passport Advantage, along with your software downloads. Now with the new version, you will still download the software from Passport, but the license file will come from the [Rational License Center](https://licensing.subscribenet.com/). This is the centralized location for managing authorized user and floating user licenses. For more info go to Rational Team Concert for i is now rebranded as Rational Team Concert for POWER systems. Your existing licensing will migrate to this product 1:1 without issue. If you are still using WDSC, you may or may not be aware that this product is considered “stabilized” and will not mature further. It supports IBM i compilers for V5R4. You will not be able to take advantages of the newer processor features on V6R1, nor that on V7R1 for POWER7. There is not a replacement or entitlement product for WDSC Standard Edition. However, if you have WDSC Advanced Edition, you are entitled to the following for each current license you have: · 1 license RDi (Rational Developer for IBM i) · 1 license RBD (Rational Business Developer) · 1 license for the HATS for 5250 Applications toolkit · 1 license for RAD (Rational Application Developer) Note: (RDi and RBD are RDi SOA) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** AS/400, POWER7, rational, systemi --- ### [Rational Team Concert gives you a lucky number 7](https://www.strongback.us/2010/04/rational-team-concert-gives-you-a-lucky-number-7) **Published:** April 27, 2010 **Author:** Kenny Smith **Content:** IBM is offering a special this month on Rational Team Concert, whereby you can get 7 additional free developer client access licenses for free. They have also dropped the server prices by about half for Express, Standard, and Enterprise. This means, that with the Express edition server, you an enable your entire team for under $4K. For more information see the link below, or [email ](mailto:sales@strongbackconsulting.com)us. [http://jazz.net/blog/index.php/2010/04/27/add-seven-free-developers-to-rational-team-concert/](http://www.blogger.com/%20http://jazz.net/blog/index.php/2010/04/27/add-seven-free-developers-to-rational-team-concert/) Note that this offer does NOT apply to RTC for POWER or System Z. Servers are not discounted, nor are there additional clients available at this time. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, rational, RTC --- ### [What's new in Rational Software for POWER Systems presentation](https://www.strongback.us/2010/04/whats-new-in-rational-software-for-power-systems-presentation) **Published:** April 23, 2010 **Author:** Kenny Smith **Content:** For those who missed our webinar last week on the updated tools from Rational, I’m posting the presentation here (thanks to Slideshare). If you want the audio… well.. .you’ll just have to give one of us a call here at the office and we’ll reenact it. O.K.? **[What’s New in Rational Software for POWER Systems](http://www.slideshare.net/strongback/rational-software-for-power-systems "What's New in Rational Software for POWER Systems")**View more [presentations](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback). The updated development environment allows you do COBOL, RPG, or C/C++ for any of the 3 operating systems on the POWER server. Lots of productivity features. As I mentioned before, you do have a POWER7 system, you will not be able to take advantage of the updated processor features or language features with PDM/SEU. You will need to migrate to using an actual GUI for your RPG code (i.e. Rational Developer for POWER). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, HATS, ibm, iSeries, POWER7, rational --- ### [10 HTML tags you've probably forgotten or don't know](https://www.strongback.us/2010/04/10-html-tags-youve-probably-forgotten-or-dont-know) **Published:** April 22, 2010 **Author:** Kenny Smith **Content:** We all do it. We get into a funk when designing applications, or we just take what we are given by our wizardy-like design interfaces. As such we get stuck in the same rut of using the same old design elements and styles and forget that there are a plethora of HTML/XHTML tags that we either have totally ignored, or just plain forgotten. We’ll here is a reminder and where you might be able to use them. 1 – ACRONYMThis is is useful for abbreviating an acronym but giving the user an easy mouse-over popup to explain this to a user. Being that I work primarily with IBM software, I have a minefield of acronyms I have to deal with and some may have multiple meanings. I use this technique a lot with HATS (which is used for dynamically converting mainframe or as/400 green screen apps into web pages), to give acronyms a popup, which can really improve usability and reduce training time for such applications. This tag is nearly identical to the ABBR tag. The attributes and events are identical and can be used interchangeably – just be sure to close the tag with the same one of course. Heck, I even used both tags in this definition!2 – DLDL is ‘Definition List’, and is use for defining a list of terms. the DT and DD tags are nested in between. It is more appropriate for say a list of “10 HTML tags you’ve probably forgotten or don’t know”, than using an ordered or unordered list (UL/LI or OL/LI). The elements are separately styleable. Think name/value pairs. 2 – DTJust as mentioned above, this is nested in DL tags and is paired with the DD tag. This is the first part of the definition or the ‘name’ part. 3 – DDYou guess it – this is the ‘Data Definition’ part or the value part.4 – BLOCKQUOTEThis by default in most browsers will indent and italicize the text. It is also easier than adding a div with a separate class attribute. This type of element is ideal for quoting persons in a conversation, or text from a referenced article. A similar tag is the Q tag, or ‘quote’ tag. This will insert quotation marks around your text, but otherwise offers you similar styling. 5 – CITEThis type of element is used for citing a reference. Don’t confuse it with the BLOCKQUOTE element. Here is an example of usage of the two elements: ``` 80% of development costs are spent identifying and fixing defects. U.S. Commerce Department's National Institute of Science and Technology (NIST) ``` 6 – CODEThis element has traditionally been used to style computer code. By default the browser renders it with a mono spaced font, which can be overiden with a style sheet.7 – PREIf you need to ensure indentations, and spacing, be sure to nest your CODE tag between a PRE tag, which PREserves white space in the browser rendering. It does not however allow you to paste in HTML code and render the brackets as you see it in your editor. You will still need to encode those brackets. The same applies to the CODE tag. 8 – LABELThis tag should be used with the INPUT tag, and defines a caption or label for a text input field. When used with the next element you can almost entirely break away from traditional table based layouts.9 – FIELDSETThe FIELDSET element is used to logically group elements together within a FORM. It also draws a box around the group. It also needs a LEGEND element to define the group, which is usually the first child element. The following is an example of using FIELDSET, LEGEND, LABEL, and INPUT altogether: Your Info: Name: Name: Email: Name: Date of birth: 10 – FONTThis is a trick one. If you have forgotten this tag, give yourself a pat on the back. If you are still using it, give yourself a good kick. This tag has been deprecated and should NEVER be used today! Some tools still spit out the FONT tag, along with several other deprecated tags such as I, B, S, and CENTER. These tags override any and all Cascading Style Sheet elements, and cannot be properly styled themselves. You would better served by surrounding the affected text with a STYLE tag, or a SPAN tag with a style attribute. Note too that depending upon the text, you could use and separate your elements with CITE, BLOCKQUOTE, SPAN, P, H1-H6, VAR, CODE, STRONG, or EM elements, which are more easily styled using an external style sheet. Take a look at the source above to see how the examples were written. The list above is a DL, with nested DT and DD tags. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** html --- ### [LotusLive: Wicked cool integration with SalesForce.com, Skype, eSignature](https://www.strongback.us/2010/04/lotuslive-wicked-cool-integration-with-salesforce-com-skype-esignature) **Published:** April 16, 2010 **Author:** Kenny Smith **Content:** I picked up on this from a twitter post. LotusLive, which is IBM’s cloud email and collaboration offering, just got some new integrations with Salesforce.com, Skype, and Silanis e-Sign. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** cloud, Lotus, lotuslive, salesforce.com, skype --- ### [#LotusKnows Lotus Domino 6.5 support ends in two weeks (April 30)](https://www.strongback.us/2010/04/lotusknows-lotus-domino-6-5-support-ends-in-two-weeks-april-30) **Published:** April 16, 2010 **Author:** Kenny Smith **Content:** As a reminder, Lotus Notes and Domino support for version 6.5 will end on April 30th, which is two weeks from today. If you have a product issue and need support, you should enter your PMR now before time runs out. After that you will have to upgrade your environment to a supported version in order to obtain support from IBM. If your software maintenance has lapsed, you can renew for a much reduced cost than buying new software. In fact, depending upon your usage patterns, it might be good to buy new, but different licenses. For example, if you are on 5 old 6.5 servers and its aged equipment, you could consolidate those servers onto new equipment – say down to 2 servers and save license renewal costs for those other 3 servers. If you were running on Windows, you could move your servers to AIX on a POWER7 and REALLY consolidate your environment, thus saving even more (power costs, software maintenance licensing, and hardware maintenance costs). Here are 3 new features since 6.5 that are reasons alone to upgrade your environment: - **DAOS** – IBM has seen up to 40% reduction in storage space using DAOS features of 8.5. I have personally witnessed a minimum of 17% on a small customer, up to 32% disk storage reduction on larger customers. - **Policies** – use centralized configuration to manage your company’s desktop user Notes client. This feature can control desktop, security, mail, archiving, and setup of Lotus Notes clients, saving valuable administrator time. - **MUCH improved Lotus Notes clients** – the desktop client has many new mail and calendaring features including support for iCalendar, prining of calendars, mail threads, and overall usability - **Support for Mobile Clients** – iNotes web access now has an ultra-lite mode that supports mobile clients. The UI looks great on iPhone and Blackbery browsers. Also, there is now a push based server called Lotus Traveler that can do store-forward, push based messaging to iPhones, Symbian, and Windows mobile devices similar to how a Blackberry Enterprise server works Ok, so I can’t count today. That’s four reasons. If you need more, check out this article on IBM Developerworks [http://www-10.lotus.com/ldd/nd85forum.nsf/0/a2725372ae9549eb85257458006074cb?OpenDocument&ExpandSection=2#\_Section2](http://www-10.lotus.com/ldd/nd85forum.nsf/0/a2725372ae9549eb85257458006074cb?OpenDocument&ExpandSection=2#_Section2) If you are under software maintenance and have not upgraded, then ask the powers that be “why not”? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus --- ### [IBM Rational Releases HATS 7.5.1, Developer for POWER 7.6, and new AIX Compilers](https://www.strongback.us/2010/04/ibm-rational-releases-hats-7-5-1-developer-for-power-7-6-and-new-aix-compilers) **Published:** April 13, 2010 **Author:** Kenny Smith **Content:** Today, IBM has released several products geared towards development on IBM POWER systems (notably, the POWER7). IBM is targetting customers running on Sun hardware and especially Oracle applications. Now customer will be able to migrate from Solaris/SPARC to POWER/AIX with new compilers and development tools for C/C++ and COBOL. New compilers (priced separatly or packacked with RDp) are available for Fortran, C/C++, COBOL and RPG. Here’s a summary of the announcements: ## Rational Developer for POWER Systems 7.6 - C/C++ development tools for AIX - COBOL development tools for AIX - RPG and COBOL development tools for IBM i The C/C++ development tools have lots of new features: - Remote access to files, processes, and shells - Rich editor support (content assist, outline view, color tokenizing,…) - Integrated build support with error feedback - Remote debugging of C/C++ code - Debug core files for postmortem analysis - Call and type hierarchy views - Language aware searching COBOL on AIX has long been a neglected area. IBM returns to this arena with a vengeance as competitors have been dominant in this space for a long time. The COBOL tools feature: - Eclipse based Edit, Compile, Debug - Remote or Local Projects - Rich edit support (outline view, content assist, syntax checking, color tokenizing, and more) - Integrated build support with error feedback - Remote debug - Exploiting of IBM i & z skills Finally the i development tools, for which the product has the largest base of current users have several significant features: - Lightweight, modern, development tools for RPG, COBOL, CL, and DDS - Integrated file access, search, edit, compile and debug - Rich editing features such as outline view, content assist, formatting, color tokenizing - Visualize program structure with Application Diagram debug batch, interactive, and Web applications and Web services with a common visual debugger - Visual DDS design tools: Screen and Report Designer All of the features above integrate with Rational Team Concert for Power, which is also being focused on in this launch. With this release of POWER7 and i/OS 7.1, the PDM/SEU tools have NOT been rolled forward. This means you will ***NOT*** be able to take advantage of the new processor features unless you are using RDp. ***PDM/SEU remain at their 6.1 revision level and will not advance***! IBM is offering a 10% discount by purchasing Rational Developer for POWER with the new Rational compilers. The two main products are the **COBOL Development Studio for AIX**, and **C/C++ Development Studio for AIX.** ## IBM Rational Compilers - These new sets of compilers are designed to take advantage of the new processor features. There are over 100 new optimizations introduced in the last 5 years. - Compilers perform in-depth code analysis - Generates code that exploits the best features on all POWER systems (5/6/7) - Support multicore parallel development using OpenMP (open-multiprocessing) API meaning automatic parallelization by the compilers For AIX, the new compilers include: - XL C/C++ for AIX 11.1 - XL C for AIX 11.1 - XL Fortran for AIX 13.1 - PL/I for AIX 2 - COBOL for AIX 3.1 To take advantage of your new processors, you’ll need to upgrade or purchase these compilers. Simply recompiling your existing applications with the new compilers. The COBOL compilers are Oracle Tuxedo Oracle DB certified. Also, the HATS development team has issued a new point release to address some hot topics in the user community: ## HATS 7.5.1 - New support for the Safari on the Apple iPhone and iPod touch - Added support for rich client to deploy within Lotus Notes 8.5.1 - Ajax to support automatic refresh and disconnect (no more applet needed) - Simplified, customizable web services definitions - Single-sign on to WebSphere Portal with JSR168 portlets to credential vault Planned GA will be May 26th for HATS 7.5.1 ## Want more information? Come and hear more this Friday April 16th at 11AM! We’ll give a brief demo and talk more about what’s in store. [![](https://www.strongback.us/wp-content/uploads/2010/04/button_registerNow.gif)](https://www1.gotomeeting.com/register/659195241) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, HATS, ibm, iSeries --- ### [GoToWebinar gets school in Lotus and iCalendar](https://www.strongback.us/2010/04/gotowebinar-gets-school-in-lotus-and-icalendar) **Published:** April 12, 2010 **Author:** Kenny Smith **Content:** I’ve been using GoToMeeting for a few months, and started using GoToWebinar for, you guessed it, some webinars for Strongback Consulting. Well, in the process of setting up my latest webinar, I’ve come across some institutional bigotry with the company. No, I’m not talking about black or white, catholic or protestant, muslim or jew or christian. I’m talking Microsoft vs. Lotus. In the email notifications sections, where you specify how you would like to follow up with registrants, you have the option to send them an [iCalendar ](http://en.wikipedia.org/wiki/ICalendar)invite. However, their corporate institutional bias, assumes you are using MS Outlook. Now, being an employee of an IBM Business Partner, and a Lotus geek, I was irritated because I can’t change the link description! [![](https://www.strongback.us/wp-content/uploads/2010/04/GTW-Outlook.png)](https://www.strongback.us/wp-content/uploads/2010/04/GTW-Outlook-1.png) So, I emailed their customer service department and complained. Here is the response I received: > Dear Kenny, > Thank you for contacting Global Customer Support and for using GoToWebinar > > Your suggestion is certainly a valid and well thought recommendation for a product or service enhancement. We have taken the opportunity to record your feedback and thank you for contacting us. > > Outlook uses a file type .ics for calendar appointments. When clicking “Add to Outlook claendar”, the .ics file is downloaded and opened into Outlook. though I have not worked directly with Lotus Notes much myself, my research shows that Lotus Notes uses a .nsf file type. > > Have you tried using the same link to add the event to your Lotus Notes calendar successfully? > > Not all users even have an e-mail service with a calendar. To avoid confusion, the link states what application the appointment is intended for. > > Again, your feedback has been recorded and is appreciated. > > If you have any additional questions or need further clarification regarding this matter, please feel free to reply directly to this email. For any other product inquiries or technical assistance, please visit us at our Support Centers listed at the bottom of this email. Our Support Centers include Self Help files and our Global Customer Support Contact Information. > > Thank you again for your interest in GoToWebinar I wrote them back to thank them for following up (something I did not expect, based on my rant), and tried to educate them on Lotus. > Thank you for responding to me. It is a bit embarrasing to show a client a link like this, especially in many cases, I’m trying to sell them Lotus Notes to replace Outlook and Exchange. > > The attachment .ICS is an Internet standard format for calendar. It is not specific to Outlook. It is used to accept calendar invites from Internet senders. Lotus Notes has supported this format for the past several years, and works without issue. The extension you mentioned (.NSF) for Lotus Notes is the actual mail file, similar to how Outlook has a .PST or .OST to store its mail in. I certainly hope they make the change, because there is not just Lotus Notes, but other email clients that support this format including Google Apps, Novell Groupwise, and some open source clients like Evolution. Heck, there is even Entourage which is Microsoft’s client for Mac. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** GoToMeeting, Lotus, Notes --- ### [What does Rational software offer for POWER customers?](https://www.strongback.us/2010/04/what-does-rational-software-offer-for-power-customers) **Published:** April 7, 2010 **Author:** Kenny Smith **Content:** We’ll be answering this question and more on April 16th at 11AM. This is webinar that is geared towards those participating the POWER7 launch events. We’ll cover: - Leverage graphical tools to increase quality and time to market within smaller teams - Team collaboration features to improve your development process workflow - Expose host business processes as Web Services - New features in compilers that can reduce your workload - Automate compliance and documentation with a secure, single native repository - Automate manual, error-prone business processes [To register for this webinar, click here. ](https://www.strongback.us/app/events/index) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, AS/400, ibm, POWER7, rational --- ### [Starting a Jazz based server on boot in linux with init.d](https://www.strongback.us/2010/04/starting-a-jazz-based-server-on-boot-in-linux-with-init-d) **Published:** April 7, 2010 **Author:** Kenny Smith **Content:** There are several Jazz based products that run on Linux, namely Rational Team Concert, Quality Manager, and Requirements Composer. When you install these products, either through extracting a zip file, or using the Installation Manager approach, you do not get the option to start on boot. You will have to manually configure this. IBM released a [technote ](http://ow.ly/1vfMi)yesterday along with some scripts to use. I have previously posted on Team Concert, but this note gives some special consideration to Requirements Composer as it requires Xvfb. X virtual framebuffer is an X11 server that performs all graphical operations in memory, not showing any screen output. From the point of view of the client, it acts exactly like any other server, serving requests and sending events and errors as appropriate. However, no output is shown. This virtual server does not require the computer it is running on to even have a screen or any input device. Only a network layer is necessary. Once you save the files, you need to activate them (the article does not address this!). To do so issue chkconfig –add rrc\_start.sh as root or otherwise authorized user. This ensures the server will start under the normal run levels. This command works on Suse Linux. BTW, Team Concert and its build engine work great on both OpenSuse 11.2, as well as Fedora 11 Linux. We are running these in production. The technote gives instructions specific for Red Hat Linux 5, but does not mention how to activate the scripts for auto start. See also my post on [auto-starting the Java Build Engine (jbe) on linux for Team Concert](http://blog.strongbackconsulting.com/2009/12/team-concert-build-engine-init-script.html). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, rational, RQM, RRC, RTC --- ### [Featuring the feature pack for Web 2.0](https://www.strongback.us/2010/04/featuring-the-feature-pack-for-web-2-0) **Published:** April 5, 2010 **Author:** Kenny Smith **Content:** If you have not used the Web 2.0 feature pack for WebSphere App Server, you might be missing out on a free and valuable tool. This feature pack is for WebSphere App Server 6.1 and 7.0. ### Web 2.0 Feature Pack Overview In RAD / RSA, there you have built in support for the Dojo toolkit, which means you can drag and drop Dojo enabled widgets from the palette onto your JSP. For less experienced programmers, this is a blessing as it stubs out the required JavaScript for you in both the HTML element, and the header (such as effective path to dojo.js, the required dojo stylesheets, and the dojo.require statements). Also included are some IBM provided widgets, which are only available in RAD/RSA. These include the FeedView, FeedViewEntry, FeedViewEditor widgets which are for reading, and manipulating ATOM feeds. The are instrumentation widgets for building gauges to display tabular data. ![](https://www.strongback.us/wp-content/uploads/2010/04/figure4.jpg) The IBM widgets require the Feature pack for Web 2.0. This feature pack includes an Ajax proxy servlet and server-side libraries. The Ajax proxy servlet allows you to pull data via JavaScript from outside of the local domain – a feat that is prohibited by most browsers (thankfully). The JSON4J library allows a developer to create simple data models to be delivered to the browser in JSON format, which is easier to manipulate in JavaScript than is XML. With XML you have to parse the text. With JSON, you get true JavaScript objects. If you already have RAD or RSA, be sure to update to the latest build. You want support for Dojo Toolkit 1.4, which is included in [version 7.5.5.1](http://www-01.ibm.com/support/docview.wss?uid=swg27014208) of the software development platform. This is the latest release as of this writing. ### Tips To use the AJAX proxy, you must first enable the project facet on your project settings. This is under the ‘Project Facets – Web 2.0″. Once enabled, you’ll then have to configure the proxy-config.xml file, located under WEB-INF. This is a white list of authorized locations that your application can pull from. While you could allow all sites f using the AJAX proxy, you should restrict this to ONLY sites you know you are developing for. Giving wide open access has many risks. First, even if you are allowing your users to list their own feed settings, you have the risk of users being lured into pulling data from malicious sites. Such site could present your users with a phishing attack, or cross-site scripting attack. Because the data would be coming from the original host, the browser is more likely to allow such attack, and worse, your server will be enabling it! Be sure and lock down this file to only domains or IP address ranges you know to be secure. I also recommend using OpenDNS as your primary DNS provider to further prevent such attacks. ### Resources IBM developerworks has some great articles on the toolkit. [Using IBM Rational Application Developer Version 7.5 to develop a Web 2.0 page that references a session bean](http://www.ibm.com/developerworks/rational/library/08/1118_endres/) [A look at the WebSphere Application Server Feature Pack for Web 2.0](http://www.ibm.com/developerworks/websphere/techjournal/0802_haverlock/0802_haverlock.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** dojo, WAS7, WebSphere --- ### [Rational On-Demand Support](https://www.strongback.us/2010/04/rational-on-demand-support) **Published:** April 2, 2010 **Author:** Kenny Smith **Content:** This helpful 14 minute video discusses: **Rational or Telelogic Downloads & License Keys** - Where do you go to download software? - Who do you call when you can’t find downloads or upgrades? - Where do you go for license keys? - Who do call when you can’t find license keys? **Order and Site Management** - How to move entitlements or orders from one site to another? - How do you change site contacts? **Customer Support** - How do you get support? - Who do you call to get support because of a missing entitlement? - Who do you call when you can’t get support because you don’t have an ICN? - Who do you call when you can’t open an electronic ticket via SR? The Camtasia Studio video content presented here requires a more recent version of the Adobe Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by [downloading here](http://www.adobe.com/go/getflashplayer). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational --- ### [New track at Rational Conference on Power Systems](https://www.strongback.us/2010/04/new-track-at-rational-conference-on-power-systems) **Published:** April 2, 2010 **Author:** Kenny Smith **Content:** This year, IBM has launched the “Power Your Innovation” track at Innovate 2010 (t.c.f.k.a Rational Software Conference). This all-new track will feature: - a program of skill-building sessions - customers presentations - hands-on technical workshops - an impressive lineup of speakers and panel participants (especially that Kenny Smith guy). Mark your calendars and make plans to be part of this track. Come and learn how Rational application development solutions can help you increase productivity and agility, reduce cost and cycle time, and maximize ROI on new POWER7 systems running AIX, i, or Linux operating environments. If you have not registered yet, you can register for Innovate 2010 with promo code “PWRT” and save $100.[ Register today](http://www-01.ibm.com/software/rational/innovate/register.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibminnovate, POWER7, rational, rsdc --- ### [What is the status of IBM product XYZ?](https://www.strongback.us/2010/03/what-is-the-status-of-ibm-product-xyz) **Published:** March 19, 2010 **Author:** Kenny Smith **Content:** If you like me, often want to know what the current status is of a particular product, check out this link and bookmark it for later. It gives you the product lifecycle dates of various Rational products and associated versions of those products. The site answers the questions: - When did a product version get released? - What is the latest version? - When does support for my version expire? [Rational product support lifecycle](http://www-01.ibm.com/software/rational/support/lifecycle/) [WebSphere Support Lifecycle](http://www-01.ibm.com/software/websphere/support/lifecycle/) [Lotus Product Support Lifecycle](http://www-01.ibm.com/software/lotus/support/lifecycle/) I don’t see similar links for any of the Information Managment or Tivoli brands. If you find them, feel free to post as a response, and I’ll update this post. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, Lotus, rational, WebSphere --- ### [Migrating from Rational ClearCase LT to Rational Team Concert](https://www.strongback.us/2010/03/migrating-from-rational-clearcase-lt-to-rational-team-concert) **Published:** March 15, 2010 **Author:** Kenny Smith **Content:** Last year, IBM announced it was withdrawing Rational ClearCase LT from marketing , meaning end of the road for the product. For a few years, IBM had positioned CCLT (with disappointing results) as a competitor to Subversion (which it really wasn’t). To be fair, CCLT does thinks Subversion does not – such as distributed storage, automated branching and merging. It also required a (near) full time admin to understand it. Subversion was simply easier to install and configure for most teams, and only that 1% of customers really needed the advanced features. Yes, I’ve used CCLT. I’ve installed it, upgraded it, migrated, and otherwise wrestled with it. It certainly had its place. Its bigger brother is certainly more powerful, and for large distributed development teams, it fills a niche very well. Many customers however, just did not need or use some of the advanced features. Now they have to figure out what to migrate to, and there are three good options: 1. Upgrade to full ClearCase – This is a good option if a customer is already used to UCM, they like the standalone client for their development, perhaps they are not using an Eclipse or Visual Studio based client, and they would like dynamic views. This option has a very fairly easy upgrade path, but with some additional licensing costs. The system administration is near identical save for the addition of managing dynamic views. 2. Migrate to Subversion – This is an option for customers who really just want to downsize. Perhaps they are very small shops with only a few developers and CC was overkill. The disadvantage is that you lose automated branching and merging, but also lose the licensing costs. 3. Migrate to Rational Team Concert – RTC has been out for a while, and if you search for RTC on the interwebs, you’ll probably come right back to this blog 🙂 For small teams, RTC Express-C is free for up to 10 developers. You can import a UCM stream directly into RTC using the ClearCase History Import tool. This IMHO, is the best route, as you now add all the awesomeness of RTC into the mix. You still get developer sandboxes, and can manage different team streams. Now you also get work item tracking (defects, tasks, enhancements, stories), automated builds, traceability, agile iteration planning, and dashboards. RTC express-c is dead simple to setup. Team Concert Standard, and Team Concert for Power Systems requires a bit of planning however. This is the strategic direction that IBM is going. I should say, a fourth option is to just be stubborn and stay on ClearCase LT. That means your other tools will be held back from evolving also. I recommend that you research your application lifecyle management. Do you have a process methodology? Do you want to move to looking at your application development from a holistic approach? Do you want to begin incorporating test management early in the development lifecycle? Are you contemplating automation for your environment (build automation, test automation, audit automation, etc)? If any of these apply, then I recommend you take option 3 above. The Jazz team had [very nice article about importing in ClearCase](http://jazz.net/library/article/50) Base and UCM histories (see the link). The importer creates work items that contain useful information about the Base or UCM ClearCase label type as a result of bringing over this change for a back reference into ClearCase. ### Calculate Your ROI by Adopting CLM This ROI tool is based on self-reported estimates of IBM customers. It will help you estimate your costs and savings measurements over 3 years and convey productivity and efficiency gains. [Launch the ROI Calculator](http://digitalcontentmarketing.sharedvue.net/sharedvue/redirect/320?svasset=41937) If an RTC implementation/migration is of interest to you, [give us a shout](/contact), and we can help you set up a road map from pilot to production usage. We offer[ full implementation services for RTC](/solutions/clm), including deployment, licensing, training, and mentoring. We also offer DevOps as a service ([SaaS based RTC](/solutions/managed-devops)). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** agile, clearcase, RTC, subversion, teamconcert --- ### [Important HOT fix for Lotus Domino error ("The collection has become invalid.")](https://www.strongback.us/2010/03/important-hot-fix-for-lotus-domino-error-the-collection-has-become-invalid) **Published:** March 13, 2010 **Author:** Kenny Smith **Content:** Several [bloggers ](http://www.bleedyellow.com/blogs/erik/entry/8_5_1_fail_your_code_may_just_break19?lang=en_us)had posted issues with an error message in their logs on Domino 7.0.4, 7.0.4.1, 8.0.2.2, 8.0.2.3, 8.0.2.4, 8.5.0.1, 8.5.1, and 8.5.1 FP1. This error will show in your log file as **“The collection has become invalid.”** It is caused by a fix to another SPR where in your LotusScript or Java code, you are looping through a view, using GetDocumentbyKey(key). The original fix was designed to prevent an infinite loop, which it did by limiting the number of iterations to a fixed number, and then returning an error afterward. This in effect, broke many applications, and required immediate remediation to get critical applications working. Organizations with thousands of lines of this code, faced huge issues! A [hot fix was released yesterday](http://www-01.ibm.com/support/docview.wss?uid=swg21424178) (March 12) to address this problem. Now the algorithm still ensures that only a limited number of attempts is made to update a view. However, instead of returning the error message when the view is unable to be brought up to date, the code will return the most recent contents of the view. This allows existing applications to work as they always have, with no modification. If you are running any of the above versions of Domino, you should submit a PMR to get the hotfix. [Click here to open a service request with IBM Support](http://www.ibm.com/software/support/probsub.html). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Linking defects to related defects and tasks in RTC](https://www.strongback.us/2010/03/linking-defects-to-related-defects-and-tasks-in-rtc) **Published:** March 11, 2010 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2010/03/linkToWorkItem.jpg)](https://www.strongback.us/wp-content/uploads/2010/03/linkToWorkItem-1.jpg) As you begin working with RTC and work items, you’ll find you have similar work items – they have similar titles, or affect the same artifact, etc. You can link work items to others so that as you or the assignee start to work on these items, the owner is aware that whatever he/she does with that artifact will have effect with similar items. In such a case the work item owner can just take ownership of the similar entries, or if these are perhaps new defects, the orginal task owner can take ownership of the defects. In the Work Items view, right click on the defect, and select ‘Link to Work Item’. Then you’ll be prompted to select the type of linkage. [![](https://www.strongback.us/wp-content/uploads/2010/03/linktype.jpg)](https://www.strongback.us/wp-content/uploads/2010/03/linktype-1.jpg) In this case I had two defects (requests from the customer for different fonts and colors), that I linked back to the parent task. This linkage will then be visible from the original task, as well as from the defect. This is visible on the ‘links’ tab. [![](https://www.strongback.us/wp-content/uploads/2010/03/relatedlinks.jpg)](https://www.strongback.us/wp-content/uploads/2010/03/relatedlinks-1.jpg) [![](https://www.strongback.us/wp-content/uploads/2010/03/insertLink.jpg)](https://www.strongback.us/wp-content/uploads/2010/03/insertLink-1.jpg) Another useful way to link items, it to insert a work item link from the discussion area in a related work item. While adding discussion text, right click and select ‘Insert Work Item Link’. Having linkages between work items, helps to build better knowledge about the system under construction. It also helps people who are new to a project to get ramped up much faster, and are less likely to repeat certain regression type errors. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC, teamconcert --- ### [Using VI or VIM for Linux - making your editor a much richer experience](https://www.strongback.us/2010/03/using-vi-or-vim-for-linux-making-your-editor-a-much-richer-experience) **Published:** March 4, 2010 **Author:** Kenny Smith **Content:** Vi is to the Linux/Unix world as ‘edit’ is to MS-DOS. If you use Vi, you are probably aware of vim, which a more robust tool, but very similar. I won’t dive into the whole history – goto [Wikipedia ](http://en.wikipedia.org/wiki/Vim_%28text_editor%29)for that. Unless you have specifically installed Vim on Ubuntu or modified the .vimrc file on OpenSuse, you will probably get the basic text interface to the text file you are editing. All the text will be one color and there are no line numbers. [![](https://www.strongback.us/wp-content/uploads/2010/03/vim.jpg)](https://www.strongback.us/wp-content/uploads/2010/03/vim-1.jpg) Adding this .vimrc text file to your home directory will light up the editor like a Christmas tree. You’ll be able to edit html, jsp, xml, properties files and more have a rich UI (for a text editor that is), that will really help you better manage your text files. For ubuntu, be sure and run “apt-get install vim” to get the latest version of it. It won’t work until you do! \*NOTE: I am linking to this file from my own website, as the original author no longer has the site available (http://www.stripey.com/vim/). I do give proper credit, however to Mr. Smyler, as you have certainly made life easier! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, Linux, vim --- ### [Planning and tracking work items in Rational Team Concert](https://www.strongback.us/2010/03/planning-and-tracking-work-items-in-rational-team-concert) **Published:** March 3, 2010 **Author:** Kenny Smith **Content:** Team Concert is such a cool flexible tool, and there are so many features that its easy to miss, yet its easy to get started with. It just ‘grows’ as your environment needs. I learned a few things from this video and and just have to share. I really like that you can edit code directly from source control, save it to a stream, associate it with a work item, and then submit it to a build all within the web interface. The ability to do resource leveling using drag and drop between sprints is also wickedly cool. One view to see the work load of your entire team like a Gantt chart, but without the evil side effects like you have in MS Project. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC --- ### [Common installation issues/fixes with Rational Team Concert for Power Systems](https://www.strongback.us/2010/03/common-installation-issuesfixes-with-rational-team-concert-for-power-systems) **Published:** March 2, 2010 **Author:** Kenny Smith **Content:** If you are installing the new Rational Team Concert for Power Systems (RTCp), which is the follow on to RTCi, there are a few common installation issues you might run into. First, be sure and check all the [system requirements](http://www-01.ibm.com/software/rational/products/rtcp/standard/sysreq/?S_CMP=rnav) for the product. RTCp server can be installed on i/OS, AIX, and Windows. I highly recommend that you install on a WebSphere App Server 7.0 server. Make sure you have the latest cumulative PTF (or at least the minimum). If you have multiple WAS server instances and versions, you should try to consolidate those as much as possible and try to keep the number of JVM’s down. A WAS server can run multiple apps – you don’t need a server instance for every app. I’ve seen a dozen servers run one app a piece before – terrible (and expensive) waste of resources. When consolidating, consider using the built in application server as it is a little bit lighter than a full WAS JVM and appropriate for lightweight .war files with no distributed caching or EJBs. For i/OS V5R4 you’ll need to confirm the following is installed first. - IBM Toolbox for Java (5722-JC1) - IBM J2SE 5.0 32-bit JVM (5722-JVM) or IBM J2SE 6.0 32-bit JVM - WebSphere Application Server – Express V7.0 or WebSphere Application Server – Express V6.1 (5722-WE2) - WebSphere Application Server V6.1 (5733-W61) or WebSphere Application Server V7.0 (5733-W70) For V6.1 you need - IBM Toolbox for Java (5761-JC1) - IBM J2SE 5.0 32-bit JVM (5761-JVM) or IBM J2SE 6.0 32-bit JVM - WebSphere Application Server – Express V7.0 or WebSphere Application Server – Express V6.1 (5722-WE2) - WebSphere Application Server V6.1 (5733-W61) or WebSphere Application Server V7.0 (5733-W70) If you do not have capacity to run RTCp on the i/OS, you can run it on an AIX partition, or a Windows server. The build toolkit for i/OS MUST run on the i. Keep in mind you can run build toolkits on every operating system (except z/OS), and control them from the RTCp server. If you get an immediate failure when issueing the restore licensed program command, your i is probably not using English as the default language. If so, you’ll need to specify the LNG parameter on the RSTLICPGM command: RSTLICPGM LICPGM(5724Z01) DEV(\*SAVF) LNG(2924) SAVF(QGPL/B5724Z01) This is because there are no language packs for RTCp currently. When connecting to RTCp, make sure you have upgraded or installed the RTC 2.0 client. The RTCi 1.0 client will no longer work. The client versions must match up to the major/minor release levels, and preferably to the fix pack level. If I run into other similar issues, I’ll be sure and post them. The biggest issue out there is that the RTCp 2.0 InfoCenter is no where to be found, so you’ll have to base your documentation on the WAS InfoCenter, the RTC 2.0 InfoCenter (for Windows and Linux), and the i/OS InfoCenter. UPDATE: The RTCp infocenter is at . Thanks to Kushal Mun for helping to find it. Its not exactly well linked. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC, teamconcert --- ### [I've got a golden ticket...to IBM Innovate in June](https://www.strongback.us/2010/02/ive-got-a-golden-ticket-to-ibm-innovate-in-june) **Published:** February 26, 2010 **Author:** Kenny Smith **Content:** Now, I am excited. I just got confirmed as a speaker at the Rational conference this June, now dubbed “IBM Innovate”. This makes my fourth straight year of this conference, and my second year presenting. I submitted 3 abstracts, but this is the one that got accepted. Here is my session abstract: **Session:** PWR-1068A: Spicing up your green screens with HATS and Dojo **When:** Wed, 9/Jun, 01:45 PM – 02:45 PM **Where:** Swan – Europe 11 **Current abstract:** Learn to take your green sceen apps to Web 2.0 with HATS and the Dojo Tookit. IBM Rational HATS comes with many default templates making it easy to deploy a solution for green screens very quickly. However we’ll show you how you can take advantage of the underlying Rational Application Developer and the Dojo Toolkit feature to really make your applications shine. The toolkit also gives you the ability to add features to your application that is easier to implement than writing custom components, while being cross-browser compliant. When we submit our abstracts, what you see above is all we have to submit. The actual presentation gets submitted much later. In fact, few people even start on this until they know they’ve been confirmed to speak. In case you are curious, here is the subjects of my other two abstracts that did not get approved: - Automate RPG deployment with iANT and RTCi - Regression Testing Terminal Based Systems If anyone is really interested, and would like a webinar type of presentation, I might just do one on these if I get enough interest. For now, I’m going to focus on getting my approved abstract all ‘purty’. With that, let me ask you: - Are you going to Innovate? (cool double entendre isn’t it?) - Are you using Dojo now? - What other JavaScript kits are you using? - What other neat GUI tricks would you like to see more of? I’ll take your suggestions and put these into my presentation and we’ll see you at [Innovate](http://www-01.ibm.com/software/rational/innovate/). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, innovate, rsdc --- ### [Looking for a few good men (or women as the case may be)](https://www.strongback.us/2010/02/looking-for-a-few-good-men-or-women-as-the-case-may-be) **Published:** February 17, 2010 **Author:** Kenny Smith **Content:** No, I’m not in the dating marking. Actually we are looking for some help as Strongback is growing these days. I’m posting here since I get much more traffic than the web site. Eventually, we’ll have a careers section. Here are the positions we are considering: Account Executive Experienced sales executive skilled in the ways and means of IBM land, particularly IBM software. Prior experience in VMWare and Novell software is a definite plus. This person must be able to generate leads, manage client relationships, cultivate customer loyalty, and identify cross-sell opportunities. Ideal candidate will be able to close software deals without technical sales support. Candidate will be responsible for a large territory, and also responsible for coordinating outbound marketing tactics. Location: Orlando QA Consultant We need an experienced QA engineer who has a history as a consultant. Experience with Rational products such as Functional Tester and Performance Tester are a must. Candidate will work with customers to implement IBM Rational software, and mentor customers on creating automated tests and creating test plans. Rational Quality Manager experience is highly desired, but not required (expect to learn it otherwise). Candidate is expected to travel, specifically in the SouthEastern US and Puerto Rico. Location: Central Florida (Orlando, Tampa, Daytona) Virtualization/Middleware Consultant Expertise in all of VMware portfolio. Experience with IBM WebSphere middleware a huge plus. Candidate must possess technical certifications in VMWare. Candidate can expect significant travel, specifically in the SouthEastern US and Puerto Rico. Location: Atlanta, Orlando Send your questions and resumes to [hello@strongbackconsulting.com](mailto://hello@strongbackconsulting.com). \*NOTE: All candidates are subject to a criminal background check as required due to our relationships with our vendors. Strongback is an equal opportunity employer and does NOT discriminate with regard to race, religion, ethnicity, sexual preference, or national origin. Strongback does, however have a strong policy against smoking. We neither hire nor retain smokers. Employees who smoke are subject to immediate termination. Former smokers are subject to reduced benefits. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** jobs --- ### [POWER7 PVU licensing changes (or lack thereof)](https://www.strongback.us/2010/02/power7-pvu-licensing-changes-or-lack-thereof) **Published:** February 14, 2010 **Author:** Kenny Smith **Content:** Last week, [IBM announced the new POWER7](http://www-03.ibm.com/systems/power/news/announcement/20100209_annc.html) architecture chip. I won’t get into the details about the processor technology, but suffice it to say, its packs a punch. The real question, is how does it affect software licensing? These processors come in 4, 6, and 8 core versions, meaning that on an 8 way system, you could have as much as 64 processor cores in operation. IBM’s software licensing is based on either authorized user, floating user, concurrent user, or processor value unit (PVU for short). The PVU scale varies based on the processor and the processor version. For example, POWER 5 is typically rated at 100 PVU’s per processor core. POWER6 bumps up to 120PVU’s per core. Surprisingly POWER7 is generously rated at no more than 120 PVU’s per core on the higher level machines, and 100 PVU’s on the lower 750/755 series. This means if you are upgrading from POWER6 to a POWER7 your software licensing costs may not change at all. If you were planning on moving from POWER5 to POWER6, you can instead bump up to POWER7 with approximately the same licensing cost difference but substantial performance gains – or reduce your licensing costs and obtain the same performance. [![](https://www.strongback.us/wp-content/uploads/2010/02/PVUtable.png)](https://www.strongback.us/wp-content/uploads/2010/02/PVUtable.png) The entire chart on how to calculate your PVU is shown below. Keep in mind that if you have 8 cores, you could have your system partitioned via LPAR or a [POWERVM](ftp://ftp.software.ibm.com/common/ssi/pm/sp/n/pod03015usen/POD03015USEN.PDF), and utilize only 2 cores for example for that one virtual system. There were a TON of other announcements last week. I’ll post those separately as time allows. Keep an eye out for Rational Developer for POWER Systems, Rational Team Concert for POWER Systems, and the new Rational Compilers for POWER Systems. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** POWER7, pvu --- ### [HATS Webinar on Feb 19th](https://www.strongback.us/2010/02/hats-webinar-on-feb-19th) **Published:** February 12, 2010 **Author:** Kenny Smith **Content:** Strongback is offering a webinar on Rational Host Access Transformation Services on Friday February 19th at 11AM. If you have been considering or have used the product in the past, please join us on this webcast. [CLICK HERE TO REGISTER](https://www.strongback.us/app/events/index) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Lotus Symphony 3.0 beta now available](https://www.strongback.us/2010/02/lotus-symphony-3-0-beta-now-available) **Published:** February 4, 2010 **Author:** Kenny Smith **Content:** This posted on [EdBrill.com](http://edbrill.com/) just moments ago: > Key new features in Symphony 3.0: > > - VB Macros support > - ODF 1.2 support for improved file interoperability > - embedded audio/video allows users to add media directly to slides, documents and sheets > - autotext support to create “chunks” of text that are used frequently and quickly inserted > - digital signatures > - redline support — shows edits made to document > - usability enhancements > > I know some are asking, “What happened to Symphony 2.0?” The answer is, since this new release is aligned with the OpenOffice 3.x codebase, we chose to move the version number up to alignment. Symphony 3.0 is going to be exciting and further help liberate IT organizations from paying high Microsoft taxes — get started now by downloading the beta and providing feedback. I have the 1.0 version, and have consistently preferred the OpenOffice 3.0 over Symphony as OO was more robust, performed better, and had a better features. I’m anxious for this to go GA. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes, symphony --- ### [Crazy Error: VMware Infrastructure Web Service at "http://localhost:8222/sdk" is not responding](https://www.strongback.us/2010/02/crazy-error-vmware-infrastructure-web-service-at-httplocalhost8222sdk-is-not-responding) **Published:** February 3, 2010 **Author:** Kenny Smith **Content:** This morning, I had to add some patches to my VMWare server (yes, I need to move over to ESX), and needed to reboot. Upon bootup, when trying to get into the Virtual Infrastructure management console, I was presented with the ominus error message “The VMware Infrastructure Web Service at “http://localhost:8222/sdk” is not responding (Connection Refused).”. Not sure what it was, and assuming it was a kernel problem (which I did install multiple kernel patches on my Suse machine, I downloaded the latest release of VMware server and installed it. The vmware-config.pl script ran into a couple of errors as well. The Internets came up with a few results: [http://www.stknetwork.com/index.php?option=com\_content&view=article&id=77:vmwareserver-error-sdk&catid=41:configuration-examples-misc&Itemid=76](http://www.stknetwork.com/index.php?option=com_content&view=article&id=77:vmwareserver-error-sdk&catid=41:configuration-examples-misc&Itemid=76) However, these are all related to VMWare server running on Vista 64. Mine is a 64 bit OpenSuse Linux machine. The solution to the Windows problem was to add a localhost entry to the hosts file. Well, I had a host file and had no problem with it previously. I then tried to telnet to localhost:8222 and it bombed, but telnet to 127.0.0.1:8222 worked fine. I double checked, and lo and behold, I no longer had the localhost:127.0.0.1 entry. Once I added that, I reran the vmware-config.pl and restarted vmware, and voila! it worked! SO – lesson is, make sure you have the above entry in your /etc/hosts file! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, vmware --- ### [Error in HATS toolkit after applying RAD 7.5.5 fix pack](https://www.strongback.us/2010/01/error-in-hats-toolkit-after-applying-rad-7-5-5-fix-pack) **Published:** January 29, 2010 **Author:** Kenny Smith **Content:** This blog entry popped up on my radar tonight. If you have a HATS project and are suddenly getting and extra ‘Web Content” folder. This, fix will correct the problem. Thanks to Gerald Mitchell for the post. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [So, what is the 'Facebook for the Enterprise'?](https://www.strongback.us/2010/01/so-what-is-the-facebook-for-the-enterprise) **Published:** January 25, 2010 **Author:** Kenny Smith **Content:** Its also the fastest growing product in IBM’s history. Hmm… Watch to find out. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm --- ### [Domino 8.5 fixpack 1 Heap Overflow via DOS attack](https://www.strongback.us/2010/01/domino-8-5-fixpack-1-heap-overflow-via-dos-attack) **Published:** January 24, 2010 **Author:** Kenny Smith **Content:** Just saw this issue pop up on my crawlers. No indication if this is specific to a particular operating system. [Secunia](http://secunia.com/advisories/38275/2/), vulnerability intelligence provider, rates this as a moderately critical issue. It is currently unpatched. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Beta 3 of WebSphere Portal 7 Now Available](https://www.strongback.us/2010/01/beta-3-of-websphere-portal-7-now-available) **Published:** January 20, 2010 **Author:** Kenny Smith **Content:** I just saw that [IBM released beta 3 of Portal 7](https://www.ibm.com/developerworks/forums/thread.jspa?threadID=315917) this week. I didn’t see it on my [\#ls10](http://twitter.com/#search?q=%23ls10) radar on twitter, so I guess I’m not following enough Portal geeks out there. New features in Beta 3 include: - Tagging allows users (and entire user communities) to classify, organize and structure content autonomously. It can add valuable meta-information and even lightweight semantics and allows non-expert users to develop folksonomies that categorize content available in the system. - Rating allows users to vote for the popularity of portal content and helps other users to quickly identify hot items - Virtual resources based security concepts to control which and how users and groups can tag and rate - Full xmlaccess support for tagging and rating - Powerful APIs to create, delete, update and query tags and ratings - Lotus Web Content Management enhancements including: content model simplified by merging Sites and Site Areas, enhanced workflow model providing support for Bi-directional workflow traversal, and taxonomy driven option selection element - Extend and integrate Lotus Web Content Management with external applications via Java Messaging (JMS) Also IBM is announcing a Portal Hypervisor edition for use with WebSphere Cloudburst. This is a preconfigured image that can be deployed onto VMware ESX/ESXi and VSphere. I don’t see in the documentation that it is available for PowerVM, but you can bet that is in the works as there are a LOT of AIX installs out there. Then they have a new beta for WebSphere Portlet factory. Portlet Factory beta’s new features include: - New visual application development features with palette based drag and drop design capabilities - Enhanced Web 2.0 support enabling creation of even richer and more interactive applications - Expanded theme support for generating visually compelling user interfaces out-of-the-box including page tabs, paging button and links - New transformation capabilities providing the ability to easily manipulate, filter and merge data from multiple back-end systems - New remote deployment feature for hassle-free application deployment to remote systems - Improved Web service and improved application and memory performance enabling creation of faster and more scalable applications Now Portlet factory, is a tool that you can use to build not only portlets, but also plain old java web apps. Its name is a bit of a disguise for some of its hidden gems. I’ve deployed web apps to tomcat with this tool before. Now, its no substitute for a pure ground-up high performance app, but if you need an application with lots of features and you need it quick, this is a real productivity tool. Of course, it shines in developing portlets because doing a portlet has quite a bit more complexity that a Java EE web app. I’m dowloading the latest beta now. I still have not had a time to review the last beta, so I guess this is good timing! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, portlet factory --- ### [IBM Rational Products and WIndows 7 Support: UPDATED](https://www.strongback.us/2010/01/ibm-rational-products-and-windows-7-support-updated) **Published:** January 19, 2010 **Author:** Kenny Smith **Content:** ## \*\*\* UPDATED 4/2/2010\*\*\* new support for Rational Functional Tester, Rational Performance Tester, Rational Service Tester, Rational Quality Manager, ClearCase and ClearQuest The following is from the [IBM Support site.](http://www-01.ibm.com/support/docview.wss?rs=727&uid=swg21415399) ![](https://www.strongback.us/wp-content/uploads/2010/01/c.gif)For those preparing to deploy or run the SDP on Windows 7. Note that some products are also supported on a linux desktop environment. # Microsoft Windows 7 support for Rational products ![](https://www.strongback.us/wp-content/uploads/2010/01/c.gif) **News****Abstract**The Detailed System Requirements Documents for all IBM Rational Products should be reviewed for Operating System and Environment support. This document serves to notify you which Rational Products Support Microsoft Windows 7 as of its release. **Content**![](https://www.strongback.us/wp-content/uploads/2010/01/d_bold.gif)**[Change History](http://www-01.ibm.com/support/docview.wss?rs=727&uid=swg21415399#hist)** **Microsoft released Windows 7 in October 2009.** Where Windows 7 is mentioned below, the business release versions included (unless otherwise stated) are: - Windows 7 Professional - Windows 7 Enterprise Details can be found on the Microsoft Web site: [HERE](http://windows.microsoft.com/en-US/windows7/products/home?os=winxp) --- IBM Rational intends to provide client-side support for the following versions of Windows 7. - Windows 7 Professional 32 and 64 bit - Windows 7 Enterprise 32 and 64 bit - Windows 7 Ultimate 32 and 64 bit **Note:** - Server components may not be supported on Windows 7 - Refer to the product specific platform support pages and Technotes for Windows 7 support restrictions or limitations. --- - **Rational products currently supporting Windows 7** - **IBM Rational Application Developer** Supported introduced in version: 7.5.5 Details and Limitations: [1407577](http://www.ibm.com/support/docview.wss?uid=swg21407577) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Asset Manager** Supported introduced in version: 7.2.0.1 Details and Limitations: [1382926](http://ibm.com/support/docview.wss?rs=727&uid=swg21382926) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Change** Supported introduced in version: 5.2.0.2 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational ClearCase** Supported introduced in version: 7.1.1 Details and Limitations: [1404683](http://www.ibm.com/support/docview.wss?rs=984&uid=swg21404683) Product updates page: [Available iFixes and Fix Packs for ClearCase Family 7.x](http://www-01.ibm.com/support/docview.wss?rs=984&uid=swg21265307) - **IBM Rational** **ClearQuest** Supported introduced in version: 7.1.1 Details and Limitations : [1415926](http://ibm.com/support/docview.wss?rs=988&uid=swg21415926) Product updates page: [Latest iFixes and Fix Packs for ClearQuest 7.x](http://ibm.com/support/docview.wss?rs=988&uid=swg21306624) - **IBM Rational Doors Web Access** Supported introduced in version: 1.3 (Browser client supports IE8) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Focal Point** Supported introduced in version: 6.4.1 (Browser client supports IE8) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Functional Tester** Supported introduced in version: 8.1.1 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Host Access Client Package** Supported introduced in version: 7.0 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Host On-Demand** Supported introduced in version: 11.0 release. (Packaged with HACP V7) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Performance Tester** Supported introduced in version: 8.1.1 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Personal Communications (PCOMM)** Supported introduced in version: 6.0 (Packaged with HACP V7) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational ProjectConsole** Supported introduced in version: 7.0.3 and 7.0.1.7 Details and Limitations: [1411053](http://ibm.com/support/docview.wss?rs=727&uid=swg21411053) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Publishing Engine** Supported introduced in version: 1.1.1 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Quality Manager 2.0.0.1** Supported introduced in version: 2.0.0.1 (Browser client supports IE8) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Service Tester for SOA** Supported introduced in version: 8.1.1 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational SoDA** Supported introduced in version: 7.0.3 and 7.0.1.7 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Software Architect** Supported introduced in version: 7.5.5 Details and Limitations: [1407577](http://www.ibm.com/support/docview.wss?uid=swg21407577) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Synergy** Supported introduced in version: 7.1.0.1 [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational Team Concert** Supported introduced in version: 2.0.0.2 Details and Limitations: [7015704](http://ibm.com/support/docview.wss?rs=727&uid=swg27015704) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) - **IBM Rational** **Test RealTime** Supported introduced in version: 7.5.0.3 Details and Limitations: [4025388](http://ibm.com/support/docview.wss?rs=727&uid=swg24025388) [Full Product Downloads & Upgrades](http://ibm.com/software/rational/support/upgrades/full-product.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational, windows7 --- ### [LotusSphere 2010 - Blogging from the sidelines](https://www.strongback.us/2010/01/lotussphere-2010-blogging-from-the-sidelines) **Published:** January 18, 2010 **Author:** Kenny Smith **Content:** This year, I am sadly missing LotusSphere, IBM’s annual collaboration conference due to some prior commitments. Sigh. I am, however, very intently, watching the blogosphere and the twittersphere for updates, and it appears Lotus is making a LOT of new strides and releasing a dizzying array of new features for their software portfolio. Among those, and just since the opening session and business partner day yesterday are: - Announcement of [Project Vulcan](http://www.edbrill.com/ebrill/edbrill.nsf/dx/lotusphere-2010-ibm-project-vulcan) – a social and business analytics project involving [Lotus Notes,](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/domino/features.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase) [Quickr](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/quickr/features.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase), [Connections ](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/connections/features.html~~~G%2100151CEA68CD%214UaqsHzk4KMe/6lnvg%3D%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase)and new software from IBM focused on Continuity, Convergence, Innovation & New Opportunities. - Announcement of Lotus Quickr 8.5 with key features of running on Domino 8.5.1 - An expansion of the LotusLive offering. One major advantage of the LotusLive Notes offering — it is designed specifically with hybrid (on-premises + cloud) environments in mind. - IBM announced Lotus Notes Traveler Companion, which is IBM’s first-ever application available on the Apple iPhone App Store. - IBM will be producing a Lotus Traveler server for running on Linux environments (currently only available on Windoze). - Lotus Notes Traveler client for Google Android coming in 2H10 - Lotus Notes and Domino will be moving to a closed distribution model – meaning that only partners that are capable of properly implementing and servicing the product will be able to sell it (Strongback Consulting is already there and has over 14+ years of expertise in Notes/Domino) - IBM and partners will be reselling the RIM Blackberry components that support [Quickr](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/quickr/features.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase) and Connections – this means getting your [Lotus Quickr](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/quickr/features.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase) wikis, blogs, and documents natively on your Crackberry. - [Sametime ](https://www.strongback.us/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/sametime/standard/index.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase)8.5 is now delivered in a Collaboration Server and Meeting server edition as well as a new Proxy Server edition. You can keep up with the events and happenings of LotusSphere by looking for the [\#LS10](http://twitter.com/#search?q=%23ls10) hashtag on Twitter. Look at my twitter widget on the right hand side of this blog for my retweets. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Connections, Lotus Notes, LotusSphere --- ### [Making the installation of SNAPPS Templates much Quickr](https://www.strongback.us/2010/01/making-the-installation-of-snapps-templates-much-quickr) **Published:** January 13, 2010 **Author:** Kenny Smith **Content:** For anyone using [Lotus Quickr](http://www/lotus.tiles?n-state=http://www.live.lotus.webcollage.net/www.ibm.com/software/lotus/products/quickr/features.html~~~G%2100102AE067CF%21KYeb3Q843NNzo%252bUWR3I%3D~~~~@http://www.live.lotus.webcollage.net/server/strongbackconsulting/lotus-showcase) (formerly Quickplace), the guys at [SNAPPS ](http://templates.snapps.com/)have created some freely available templates for use. Whenever I install Quickr for a customer I often install these templates with the base installation as a bonus. After you’ve installed something repeatedly, you often think ‘hey.. I could script that!’. And so I did. You don’t have the full flexibility of scripting in a Domino environment, but there are quite few things that you can do in a batch/shell script by calling the specific items in the Domino program directory. Now, this part is really just for upgrading or registering the newly created SNAPPS templates. My step just speeds up the command line portion of it and allows you to run a single batch file instead of 16+ commands. This is for Windows only, but a shell script is just a AWK away. If you have more fancy things to add to the script, please leave a comment. Follow all the [instructions](http://templates.snapps.com/QDownloads.nsf/Files/Prerequisite%20files-8.1.0.9%20-%208.2.0.0-IBMLotusQuickrTemplatesDoc.pdf/$File/IBMLotusQuickrTemplatesDoc.pdf?OpenElement) from the SNAPPS team for the initial download and setup of the QEngine and QContacts applications, and copying the other templates into your LotusQuickr directory. Then, copy the following into a batch file and insert into your Domino program directory. Then at step 3 of installing a single template, execute the batch file. This will install and register all the SNAPPS templates. `REM #################################################REM Install and/or upgrade the SNAPPS TemplatesREM Copyright 2010, Strongback ConsultingREM www.strongbackconsulting.comREMREM Obtain the SNAPPS templates via http://templates.snapps.comREM #################################################echo ### REGISTERING qactivities ####nqptool upgrade -f -p qactivitiesnqptool register -install -p qactivities` echo ### REGISTERING qannounce #### nqptool upgrade -f -p qannounce nqptool register -install -p qannounce echo ### REGISTERING qcontacts #### nqptool upgrade -f -p qcontacts nqptool register -install -p qcontacts echo ### REGISTERING qideas #### nqptool upgrade -f -p qideas nqptool register -install -p qideas echo ### REGISTERING qissues #### nqptool upgrade -f -p qissues nqptool register -install -p qissues echo ### REGISTERING qmeeting #### nqptool upgrade -f -p qmeeting nqptool register -install -p qmeeting echo ### REGISTERING qphotos #### nqptool upgrade -f -p qphotos nqptool register -install -p qphotos echo ### REGISTERING qpresent #### nqptool upgrade -f -p qpresent nqptool register -install -p qpresent echo ### REGISTERING qsite #### nqptool upgrade -f -p qsite nqptool register -install -p qsite echo ### REGISTERING qsurvey #### nqptool upgrade -f -p qsurvey nqptool register -install -p qsurvey echo ### REGISTERING qproject #### nqptool upgrade -f -p qproject nqptool register -install -p qproject echo ----- Registration Complete ------ pause Then you can use the Domino Admin console to add owners to all the places at once. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Quickr --- ### [IBM announces a new support portal](https://www.strongback.us/2010/01/ibm-announces-a-new-support-portal) **Published:** January 12, 2010 **Author:** Kenny Smith **Content:** For those (like me) tired of digging through dozens of different URL’s to find the right product support site for the right IBM product, fear no more. IBM has announced the new support portal open for business as of yesterday. > As part of the IBM CIO transformation initiative, IBM has developed a best in class online technical Support Portal that helps differentiate IBM products in the marketplace. It is a no charge, value add to our clients and IBM Business Partners. > > The portal is a unified, centralized view of all technical support tools and information for all IBM software, systems and services. Clients can tailor the pages to suit their needs, focus on the products they care about and organize the pages to reflect the way they work. The portal simplifies their online technical support experience, reduces the time it takes to find the information they need to solve problems, and alerts them to information that can help them avoid problems. The new support portal is available at . Learn how to use it at with this [video](http://www-947.ibm.com/support/entry/spe/education/using_the_ibm_support_portal/using_the_ibm_support_portal_new_viewlet_swf.html). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Java EE 6 released](https://www.strongback.us/2010/01/java-ee-6-released) **Published:** January 7, 2010 **Author:** Kenny Smith **Content:** After several years of development and LOTS of community involvement, Sun has announced the release of Java Enterprise Edition 6 or Java EE 6 for short. Please, please don’t call it J2EE anymore! There is a [good article on the Sun Developer site](http://java.sun.com/developer/media/deepdivejavaee6glassfishv3.jsp) on the new features of Glassfish v3 and JEE6. Another good presentation based overview of the new [features are here](https://www.sun.com/offers/details/java_ee6_glassfish.xml). Now, your next question will be “When will IBM have Java EE 6 in WebSphere?” Well, based on prior experience, look for IBM to release a feature pack for Java EE6 later this year, and possibly have a point release of WAS and WAS ND sometime early next year (perhaps named WebSphere 7.1 if prior numbering proves anything). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, jee6, WAS, WAS7, WebSphere --- ### [Properties based configuration in WebSphere App Server 7](https://www.strongback.us/2010/01/properties-based-configuration-in-websphere-app-server-7) **Published:** January 7, 2010 **Author:** Kenny Smith **Content:** One of the new features WebSphere Application Server 7 is its properties file based configuration. Since version 5 WAS has had a scripting interface called wsadmin (it was an xml interface in prior versions), which is accessed from the WAS\_HOME/bin directory as wsadmin.bat or wsadmin.sh. This scripting interface allows live interaction with the server, or you can feed it a script to run several commands at once. In prior versions of WAS, some of these scripts could be very complex if you needed to update several configurations, and subsequently could take on an application development lifecycle of its own. WAS 7 makes this much easier by referencing parameters to be changed by a simple properties file. To demonstrate, we’ll update a JDBC property on our test WAS environment. We start by extracting the current configuration. First, start wsadmin in a new shell window. `wsadmin.bat -lang jython` wsadmin> AdminTask.extractConfigProperties('-propertiesFileName server1.props -configData Server=se`rver1')` This will extract the entire current server properties to a text based properties file in your WAS profile bin directory. Open it up and take a look at it. I recommend using [Notepad2 ](http://www.flos-freeware.ch/notepad2.html)for readability if you are on Windows. [![](https://www.strongback.us/wp-content/uploads/2010/01/wasproperties-jvm.png)](https://www.strongback.us/wp-content/uploads/2010/01/wasproperties-jvm-1.png) Notice that it is broken into sections. To get only a particular section, just substitute the resource name for the configData argument in the extractConfigProperties argument above. In this example, I want to turn verbose garbage collection on. I simply change this value to ‘true’ and save the properties file. I’m choosing this value because turning on verbose gc makes troubleshooting JVM heap dumps easier to troubleshoot. I use this with the [IBM Support Assistant](http://www-01.ibm.com/software/support/isa/) (which is free) to help troubleshoot problematic environments. Its a good idea to validate your new properties before you apply them. To do this we issue AdminTask.validateConfigProperties(‘-propertiesFileName server1.props’) at the wsadmin prompt. If valid the prompt will return ‘true’. Next, we apply the properties with AdminTask.applyConfigProperties(‘-propertiesFileName server1.props’). If successful, the command should return two single quotes (”). Finally save the configuration with AdminConfig.save(). To confirm that our new setting has been applied, open the administration console and go to the JVM settings for your server. These are found in under ‘Servers – Server Types – WebSphere Application Servers’ on the left navigation bar. Then go to ‘Java and Process Management’ under the ‘Server Infrastructure’ heading. On the next screen click ‘Java Virtual Machine’. Your configuration should look like the image shown. [![](https://www.strongback.us/wp-content/uploads/2010/01/verbosegc.png)](https://www.strongback.us/wp-content/uploads/2010/01/verbosegc-1.png) If you have trouble with the commands you can get help by using the help interface, for example: AdminTask.help(‘extractConfigProperties’) or AdminTask.help(‘applyConfigProperties’). If you are really lost (and just not familiar with wsadmin), call Help.help() to get started. Of course you can always [call our office](https://www.strongback.us/app/contact/index) to get some support too. As you can see the benefits of the new properties based configuration is easier scripting, and therefore easier automation for your environment. Its a simpler configuration and one that more easily be adapted for disparate environments. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WAS7, WebSphere, wsadmin --- ### [147% ROI upgrading to Lotus Domino 8.5.1](https://www.strongback.us/2009/12/147-roi-upgrading-to-lotus-domino-8-5-1) **Published:** December 30, 2009 **Author:** Kenny Smith **Content:** Ed Brill posted this earlier today http://www.edbrill.com/ebrill/edbrill.nsf/dx/147-roi-for-upgrading-to-notesdomino-8.5-forrester-webcast > Forrester Research’s Ted Schadler and Jon Erickson spoke with numerous Lotus customers who had completed the upgrade, and calculated the economic benefits in aggregate. The result: An astounding 147% ROI for upgrading to Notes/Domino 8.5, with a payback period of only one year. This is a fantastic point here. The new features of Domino in the latest release are quite significant. DAOS alone can save you 47% of your storage space while still providing brick level back up and recovery. Try doing that on Microsoft Exchange! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [WebSphere Portal 7 - Open Beta](https://www.strongback.us/2009/12/websphere-portal-7-open-beta) **Published:** December 23, 2009 **Author:** Kenny Smith **Content:** IBM is working on the next release of WebSphere Portal and is gathering information from the community on how to improve the overall experience. If you have Portal or are considering using Portal, you might be interested in seeing what is coming in the new year with Portal : - Enhanced theme support enables addition of blogs, library and wiki templates to portal pages using page builder - Expanded virtualization support for VMWare and multiple profiles - Page builder enhancements; catalog search, tab navigation widget, style and layout features, inline assembly - Administration enhancements: xml based configuration of sub policies, People finder and person card enhancements - Lotus Web Content Management enhancements including: Collaborative content management with Projects. Create, edit, preview and syndicate multiple changes together using a Project; publish in a single operation - Lotus Web Content Management content authoring usability enhancements including favorites, localized authoring templates, folders, a new rich text editor, additional enhancements… - Lotus Web Content Management enhanced ECM integration support - Lotus Web Content Management support for WebSphere Application Server Resource Environment Provider, additional administration improvements Please visit [IBM WebSphere Portal and Lotus Web Content Management Beta Forum](http://www.ibm.com/developerworks/forums/forum.jspa?forumID=1127) for additional enhancements and specific release details. This is a significant version with far more features and changes in performance due to its native WebSphere Application Server 7 foundation. There is a significant focus on virtualization with this release and as such the Beta is available in VMWare vdisk format, which I am downloading as I write this. I’ll post in the coming weeks my feedback. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal --- ### [Spring Framework 3.0 Released](https://www.strongback.us/2009/12/spring-framework-3-0-released) **Published:** December 23, 2009 **Author:** Kenny Smith **Content:** Spring Framework is a Java API framework that has captured the hearts of many developers. The latest release from SpringSource, the company who sponsors the project announced the latest release. Key features include: Spring expression language (SpEL), Extended support for annotation-based components, standardized dependency injection annotations, declaration model validation based on constraint annotations, comprehensive REST support, rich native Portland 2.0 support and more. The latest release is compatible with Java EE 6, in terms of runtime environment, supports JPA 2.0 final, JSR 303 validation mode, and eve the newly introduced @ManagedBean (JSR-250 v1.1) annotation for component scanning. [Read Juergen Hoeller’s Blog](http://blog.springsource.com/2009/12/16/spring-framework-3-0-goes-ga/?mkt_tok=3RkMMJWWfF9wsRous6rfLqzsmxzEJ8n77%2BUpUbHr08Yy0EZ5VunJEUWy34oB) for all the details about the Spring 3 release. There is also a great [presentation ](http://www.infoq.com/presentations/Whats-New-in-Spring-3.0)on InfoQ on the new features. Unless you’ve been living under a rock, you should also know that the term “J2EE” should be eliminated from your vocabulary. That is because the “2” was a reference to Java 1.2. Java is now at version 6 and earlier this month Sun has announced that [Java Enterprise Edition 6](http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview.html) is now gold. So.. make that “Java EE 6.” Lots of reading material for the holidays! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, spring --- ### [Rational Team Concert 2.0.0.2 released](https://www.strongback.us/2009/12/rational-team-concert-2-0-0-2-released) **Published:** December 19, 2009 **Author:** Kenny Smith **Content:** The most recent [milestone](https://jazz.net/downloads/rational-team-concert/releases/2.0.0.2?p=news) for RTC snuck out the door last night. Most notable is support for the Eclipse 3.5 client. Another new feature is work item templates. These can be created from an existing set of work items, and then be used to create new work items. template creation wizard also lets you to define attribute variables which can be assigned values each time you instantiate the template. [![](https://jazz.net/downloads/pages/rational-team-concert/2.0.0.2/2.0.0.2/images/capture-template-1.png)](https://jazz.net/downloads/pages/rational-team-concert/2.0.0.2/2.0.0.2/images/capture-template-1.png) You can also check in, edit, and delete documents now using the Web UI. File locks can now also be managed using the Web UI. There is now a command line interface to check in/out and edit files (for us command line junkies). Another favorite is an updated Scrum template for Agile planning. The prior one was overly complex for new teams just getting started with Agile. More details on the updated and new features can be found on the ‘[New and Noteworthy](https://jazz.net/downloads/rational-team-concert/releases/2.0.0.2?p=news)‘ page. [Download the latest release here. ](https://jazz.net/downloads/rational-team-concert/releases/2.0.0.2?p=featured) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC --- ### [RSC = Innovate](https://www.strongback.us/2009/12/rsc-innovate) **Published:** December 19, 2009 **Author:** Kenny Smith **Content:** I guess it was just a matter of time before it happened, but I like the change. IBM has rebranded their Rational Software Conference to the [‘Innovate Conference](https://www-950.ibm.com/events/rational/rsc2010EMS/)“. After having merged the WebSphere Technical Exchange and SOA conference into “Impact”, it only makes sense to rebrand the Rational Conference. Tivoli is the “Pulse” conference. This might open the attendance up to newcomers who otherwise have not heard of Rational Software. So, I’ve got one paper submitted. On to create at least two more. Hopefully one will get approved and I’ll get my golden ticket! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** rational --- ### [Microsoft Snake Oil](https://www.strongback.us/2009/12/microsoft-snake-oil) **Published:** December 14, 2009 **Author:** Kenny Smith **Content:** Ed Brill once mentioned [this guy](http://migratenotes.wordpress.com/) on his blog and I go back and check it every once in a while. He’s been blogging about his company’s move from Notes to Exchange and the effects its had. There are some real eye-opening comments for both IBM and Microsoft fans. His last post was back in August, but it brought to light the flexibility that Notes/Domino has in its programming and architecture. Domino has hands down the best rooms/reservations system, which is increasingly critical to large enterprises. Small businesses don’t worry about it so much as they may only have a single conference room, if at all. > We’re down to 75 apps. All mail is finally off the system. Apps still send outgoing emails, but we have no more incoming emails. Room reservations are finally gone. I expect some people will be surprised that they stayed on Notes so long… the truth is, Exchange couldn’t compete with the flexibility of the Notes reservations system. We had a customized system that would allow people to order different table/chair configurations for conference rooms. The only way we got off of Notes for meeting reservations was to force it via management…. just telling people that they were losing functionality and had to deal with it. Now, imagine telling your SVP of Sales to ‘just deal with it’, after moving to Exchange. Yeah, that will go over well. So, the moral of the story is to do your due diligence before you migrate off your email system to a competitor. No matter what Microsoft says, there is NO migration tool for custom Lotus Notes apps! I’ve used their tool. The only thing it is good for is moving standardized, Lotus provided templates such as the discussion room, and document library template. If you have a custom CRM application, or help desk app, or any other custom coded Lotus Notes application, Microsoft (or one of their partners), will gleefully run this tool which will give you a general relative score of how complex the application is. They will then say “Oh we can migrate that – its just Notes. Here is our services proposal. No problem.” Be sure and ask for a chaser if you drink that snake oil. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [IBM Moving to a Closed Software Distribution Model](https://www.strongback.us/2009/12/ibm-moving-to-a-closed-software-distribution-model) **Published:** December 14, 2009 **Author:** Kenny Smith **Content:** For all IBM customers: I’d like to be sure you are aware that there are some pending changes to IBM’s partnering strategy that will affect you moving forward. In February 2009, IBM Software Group announced to its Business Partners the next step in its channel strategy. This announcement was in response to requests from IBM’s valued clients. This strategy will provide you with more targeted IBM solutions, faster deployments, and reduced implementation risk. In January 2010, this new strategy will go live after nearly a year of careful planning and preparations with Business Partners. IBM will implement this strategy through a new value model that covers the entire IBM Software Group portfolio. IBM Software Group will organize its software portfolio of offerings into two categories: - Open products can be acquired through all IBM Business Partners. Due to their rapid time-to-value and high degree of consumability, you will be able to purchase these solutions from any IBM Business Partner. - Authorized products can only be acquired through those IBM Business Partners who have been authorized by IBM. Authorized IBM Business Partners will have demonstrated advanced skills through certifications and approved solutions. Authorization will help ensure that you get the right solution, reduce the risk inherent in any deployment, and increase your return on investment. These changes will apply to both new license sales, as well as to your annual subscription and support renewals. The new Business Partner requirements will take affect January 25, 2010 (start date may vary slightly by region). There is no impact to any business partner transactions in 2009. However, after January 25, 2010 you will only be able to purchase Authorized products from authorized IBM Business Partners. Authorized software will fall into one of 11 different categories as shown in the image below. [![](https://www.strongback.us/wp-content/uploads/2009/12/gts_ragroups_530x223.jpg)](https://www.strongback.us/wp-content/uploads/2009/12/gts_ragroups_530x223.jpg) Strongback Consulting will be authorized to sell in the Rational, Lotus Portal, and WebSphere Core product groups. This meets our strategy of delivering solutions for Enterprise Modernization, Enterprise Architecture, Collaboration, and Middleware. As 2010 progresses, we may add additional product categories as deemed appropriate. But for now, our focus will be on delivering our deep expertise on the IBM products in the categories mentioned above. Such products include: - WebSphere Extended Deployment - WebSphere Virtual Enterprise - WebSphere Network Deployment - Lotus Notes and Domino - Lotus Connections - Lotus Quickr - WebSphere Portal - WebSphere Portlet Factory - Rational Host Access Transformation Services (HATS) - Rational Business Developer and EGL - Rational Software Architect and Application Developer - Rational Team Concert - Rational Quality Manager - Rational Functional Tester - Rational Performance Tester - Rational Requirements Composer - Rational Requisite Pro - Rational AppScan IBM has produced an [FAQ ](ftp://ftp.strongbackconsulting.com/client_faq.pdf)for you the client. Of course, feel free to contact us here at Strongback if you have any concerns. We’ll be happy to help! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm --- ### [A comment about craftsmanship](https://www.strongback.us/2009/12/a-comment-about-craftsmanship) **Published:** December 7, 2009 **Author:** Kenny Smith **Content:** In today’s world we often measure the worth of an item by its retail price or discounted status at a store while rarely contemplating the quality of the work, how long it may last, or even how much pleasure will obtain from the object. Certainly we have our budgets to maintain, but there are times were it is best to do without altogether rather than to accept less than acceptable substance. Being someone who focuses on delivering quality services, and quality products to my customers, I too understand that budgets must be met. I have turned down business when I knew there was not enough time or resources to complete the tasks at hand. Your product is also a statement of your reputation, which when parted from you continues to speak in your behalf long after you have completed the project. Today I was looking through some old Internet bookmarks and cleaning up my virtual workspace, and came across a site I had not visited in some time, but was was referred to me by a IBM guy who plays guitar. I now play guitar (when time permits), and in case you have not gathered from the design of this website am also an avid wood worker. Ervin Somogyi is a luthier in California who embodies the concept of craftsmanship. This video is in its own right a quality production, but his guitars are beyond compare. I hope you enjoy this video and will think about your own concept of value and craftsmanship in the process. I myself am in awe. I think I might be saving up for one of his masterpieces after seeing this. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** craftsmanship --- ### [HATS Fixpack 7.5.0.2 Released](https://www.strongback.us/2009/12/hats-fixpack-7-5-0-2-released) **Published:** December 3, 2009 **Author:** Kenny Smith **Content:** Another fixpack released. To update, use the IBM Installation Manger to upgrade. You no longer are required to use the old Eclipse style of update. Installation Manager is much faster and cleaner. http://www-01.ibm.com/support/docview.wss?rs=203&context=SSXKAY&dc=D400&uid=swg24024964&loc=en\_US&cs=UTF-8〈=en Check out the[ release notes here](http://download.boulder.ibm.com/ibmdl/pub/software/awdtools/hats/v75/7502/documents/readme/service.html#InstallMaint). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Domino 8.5.1 service not starting on Windows](https://www.strongback.us/2009/12/domino-8-5-1-service-not-starting-on-windows) **Published:** December 2, 2009 **Author:** Kenny Smith **Content:** I had a recent event where after a fix pack, the Domino server would not start using Windows service. I could start it using the Domino console, but that would not work as the server would shut down as soon as logged out. I kept getting a cryptic error 2351 (0x92). The simple solution was to remove the Windows service and add it back. To do this run the following commands from the Lotus Domino program directory: `> ntsvinst -d> ntsvinst -c` That should correct the problem and allow you start and stop it as a service. Make sure you do this during a maintenance window! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [Team Concert Build Engine init script](https://www.strongback.us/2009/12/team-concert-build-engine-init-script) **Published:** December 2, 2009 **Author:** Kenny Smith **Content:** Currently the Rational Team Concert build engine does not include an init.d script for those running build engines on Linux. This is analogous to Windows services and allow the jbe to run automagically at startup. Instead, you must rely on system administrators having the knowledge of how to write these from scratch. Currently there is a work item proposed for future iterations of Team Concert, but until then, you can suffice to use the one provided here. Look at the end of the script for other instructions. **UPDATE: February 2013** – I got tired of several issues with the previous script and have updated the script accordingly. This script adheres to the Linux Standard Base (LSB) format. It is also available on our website for download at .This is handy since you don’t have to worry about Linux / Unix delimiters. Once you download it, place it in the /etc/init.d directory. Then you must update the supplied variables in the second comment section. You also will need to create your encrypted password using the syntax `jbe -createPasswordFile pass.txt.` Finally, you can set it to auto start using the syntax **chkconfig jbe on**. After that, just run **jbe start** to get it going. `` ``` ``` ` ` Once you drop the above code into the file /etc/init.d/jbe, run the following command as root: `chkconfig --add jbe` [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, RTC --- ### [Ubuntu 9.10 Available](https://www.strongback.us/2009/11/ubuntu-9-10-available) **Published:** November 18, 2009 **Author:** Kenny Smith **Content:** It really amazes me just how simple it is to upgrade Ubuntu Linux. Can you imagine if Windows was really this simple. Everything worked fine after my upgrade BTW. Granted, I am not using this particular installation as much as my other machines. Still. Very nice. [![](https://www.strongback.us/wp-content/uploads/2009/11/ubuntuUpgrade.png)](https://www.strongback.us/wp-content/uploads/2009/11/ubuntuUpgrade-1.png) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, ubuntu --- ### [Upgrading Lotus Domino R5 to R8.5.1](https://www.strongback.us/2009/11/upgrading-lotus-domino-r5-to-r8-5-1) **Published:** November 18, 2009 **Author:** Kenny Smith **Content:** I’ve just recently completed a server upgrade for a customer where they had a single R5 server and were ready to upgrade. Yes, R5. That version has been out of maintenance now since September 2005. The upgrade was a success, but I’d like to throw out a gotcha or two. In this case we added two new servers to the Domain, and used AdminP to move the mail users over to the new servers. The old server was just as dated as the Domino server was and it needed replacing also. We ran into errors moving mail users during the ‘Replace Mail File’ fields (step 5 of 13) in the AdminP process. We had already upgraded the design[![](https://www.strongback.us/wp-content/uploads/2009/11/adminserveracl.png)](https://www.strongback.us/wp-content/uploads/2009/11/adminserveracl-1.png) of the Domino directory and the the Administration Requests databases, and changed the ACL’s to make one of the cluster mates the administration server of both databases. Changing the administration requests database ACL back to have the original mail server as the administration server solved the problem and adminp mail move requests were able to complete normally again. The change in database design was not an issue at all, and it is quite amazing that both are backwards compatible all the way to R5 (although officially, I think it goes all the way back to R4). Other things to consider if you are upgrading from R5, is that the concept of moving a non-mail database, does not exist back then. You will need to notify users of the new replica location. In R7 you can simply move a database, and it will leave a pointer that will update client bookmarks. R5 does not have this luxury so prepare accordingly. Also, its best to create replicas of the mail files first before you actually run the AdminP mail move process. This gives you an opportunity to ensure the latest ODS for the databases and to enable them for LZ1 compression and DAOS. Don’t forget to add to your new server config document “create\_R85\_databases”, otherwise, you will not be able to enable databases for DAOS. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [Security flaw in IBM HTTP Server](https://www.strongback.us/2009/10/security-flaw-in-ibm-http-server) **Published:** October 15, 2009 **Author:** Kenny Smith **Content:** If you are running IHS, there is a much needed fixpack you should install. Several vulnerabilities have been found that allow an attacker to exploit the system or cause a denial of service attack. These vulnerabilities affect the following versions: IBM HTTP Server version 6.0.2 IBM HTTP Server version 6.1 IBM HTTP Server version 7.0 To correct the vulnerabilities, apply Interim Fix PK91361 : [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** ihs, WAS --- ### [Monitoring the status of builds in Team Concert](https://www.strongback.us/2009/10/monitoring-the-status-of-builds-in-team-concert) **Published:** October 7, 2009 **Author:** Kenny Smith **Content:** No matter what version of Team Concert you are using, the following tips will apply. You can monitor the status of each step in your automated build using the following two ANT elements: [startBuildActivity](http://publib.boulder.ibm.com/infocenter/rtc/v1r0m1/topic/com.ibm.team.build.doc/topics/r_startbuildactivity.html), and [completeBuildActivity](http://publib.boulder.ibm.com/infocenter/rtc/v1r0m1/topic/com.ibm.team.build.doc/topics/r_completebuildactivity.html). [![](https://www.strongback.us/wp-content/uploads/2009/10/jbetargets.png)](https://www.strongback.us/wp-content/uploads/2009/10/jbetargets-1.png) These two should be treated like bookmarks to an atomic grouping of ANT tasks. For example, in your build file, you may have the following targets: setupenv, compile, test, deploy. The first sets up the environment ensuring you have the correct permissions, file sets, jars, and checks out the latest from the team stream into a local workspace. The second task compiles using the ecj-3.4.2.jar tools. The third runs JUnit tests (and perhaps functional tests as well). The last one deploys the application. You should bookend each target with startBuildActivity, and completeBuildActivity. That is put these just inside the target itself, with all the meat of the target between the start and complete activity elements. This will tell the Jazz Build Engine to notify the Jazz Team server that it is starting on that particular task. Once the task is complete, the completeBuildActivity says “hey.. I’m done with this”. That way, you can more easily tell where in your build the process fails without having to dig through your log files.[![](https://www.strongback.us/wp-content/uploads/2009/10/jbe-buildstatus.png)](https://www.strongback.us/wp-content/uploads/2009/10/jbe-buildstatus-1.png) In the Eclipse/RAD/RSA/RBD client you can then see the total status as the build is progressing. You can refresh from the button on the bar in the view and you will see it change status. For this application I did, it will say “Fetching files” or “Compiling Application”, etc. Once complete, you can also check the status of each task on the “Activities” tab of the build. This tab will also show you exactly how long each step took. This may be helpful if you need to trim down the amount of time it takes to run a build. [![](https://www.strongback.us/wp-content/uploads/2009/10/jbe-activitiestab.png)](https://www.strongback.us/wp-content/uploads/2009/10/jbe-activitiestab-1.png) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** jazz, RTC --- ### [The trouble with hosted solutions](https://www.strongback.us/2009/10/the-trouble-with-hosted-solutions) **Published:** October 6, 2009 **Author:** Kenny Smith **Content:** If you prefer a hosted, cloud based messaging (email) solution for convenience, you need to be aware of the dangers of some of the offerings out there: *“Yesterday, it was revealed that* [*10,000+ Hotmail accounts were compromised*](http://mashable.com/2009/10/05/hotmail-accounts-exposed/) *and all of the usernames and passwords of these accounts were posted online. It was a major security and scam issue, but it was thought to only affect Hotmail users.”* If you want something secure, check out [LotusLive iNotes](https://www.lotuslive.com/styles/tours/iNotesVideo.html), a SECURE, stable platform based on the long running Lotus Domino server platform. It includes built in virus/spam controls. Built in instant messaging, charts, web forms, surveys, meetings, and more. All starting at around $3/month per user. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** inotes --- ### [IBM Announces the launch of Lotus Notes/Domino 8.5.1](https://www.strongback.us/2009/10/ibm-announces-the-launch-of-lotus-notesdomino-8-5-1) **Published:** October 6, 2009 **Author:** Kenny Smith **Content:** I am listening to the webcast on the release of Lotus Notes/Domino 8.5.1. Lots of new features in the release. For one, it has 4 times the fixes of any standard maintenance release. [IBM has today announced the launch of long awaited Notes 8.5.1.](http://www.ibm.com/software/lotus/notesanddomino/nd85.html) One of the major themes for this point release is on application development. The Domino Designer has undergone a MAJOR revamp and is now all under the Eclipse environment. The [Domino Designer client is now FREE](http://www.edbrill.com/ebrill/edbrill.nsf/dx/announcing-notesdomino-8.5.1-part-1-free-domino-designer), a product that used to cost around $500 USD per seat. This will greatly advance the product and help new users become acquainted with the platform such as college students as well as power users already familiar with the Notes environment. There is now a new link for developers which should be available soon: [http://developer.lotus.com](http://developer.lotus.com/). This release is further evidence of the benefits of eclipse. Peformance has been greatly improved, some in order of 75% improvement. There are several new features the biggest of which being the editor for LotusScript. There new features for extensibility which take advantage of the Eclipse extensibility plugin architecture. The LotusScript editor is the biggest feature improvement and one long requested by the Domino development community. New class browser for custom classes, script libary browser, hyperlinking between script libraries, line numbers, syntax highlighting and content assist. XPages continues to improve. There are performance and scalability enhancements, an updated version of Dojo (1.3.2) which allows interoperability with IE8, and security enhancements for Active Content filtering. Xpages can now be built to run on the Notes client. This means that the designer can develop for both clients at the same time. XPage applications can therefore be run offline and with the exact same security model as the client. Having the same programming model for both the Notes client and web is a HUGE productivity improvement, whereby prevously both models shared many elements, but the web client always required more work after the core application was built. IBM is also changing the licensing models for the clients. Domino Designer is now free. The client access model is being replaced so there will be only two CAL types: Enterprise and Messaging. Mesaging CALs include access to mail, calendar, Lotus Symphony, Lotus Travleer for mobie clients, Quickr Entry, and Lotus Sametime Entry. Enterprise CALs add access to Lotus Mobile Connect as well as custom developed Lotus Notes applications. Again, the Domino Designer is now free. On the Domino Server, there is now support for SPNEGO authentication. DAOS has been enhanced to be smart about replication, meaning it will not replicate “known” attachments – those attachments to which it already has a copy, thus greatly reducing network traffic in DAOS enabled environments. On the mobile side, Lotus Notes Traveler now supports Apple iPhone (push based) for mail, calendar and contacts and directory lookup. There is additional support for the Nokia Symbian update such as encrypted mail, remote wipe, and pw management. Other new mobile platforms are also supported. The Notes client has not been neglected in this release either. There is some user interface “candy” as they say: drag/drop a mail message to the calendar to create a meeting, a new spell checker engine, a pluggable spell checker engine, new anti-spam integration with Lotus Protector mail integration, business card type ahead, adding a a v-card to your signature and more. The business card type ahead is SLICK! Single click action to all the user’s blogs, profile, bookmarks etc. iNotes 8.5.1 also includes more enhancements such as scroll hints, auto-refresh for mail delivery, action buttons in preview pane, and undread count on inbox AND folders. There is better pre-fetch for documents, ID-vault support. There is significant reduction in memory consumption and bandwith on the server. The ultra-light UI also has some new features particularly geared for the Apple iPhone. All of this will be available for electronic delivery by October 12 on Passport Advantage and Partnerworld. Domino Designer will be available on the Lotus Developer site on partnerworld at [http://developer.lotus.com](http://developer.lotus.com/) Useful Links: Press release: [IBM Brings Lotus Notes and Domino Software to Full Spectrum of Web Devices](http://www-03.ibm.com/press/us/en/pressrelease/28564.wss) ibm.com: [Notes/Domino 8.5.1 overview](http://www-01.ibm.com/software/lotus/notesanddomino/nd85.html) ibm.com: [Domino Client Access Licensing](http://www-01.ibm.com/software/lotus/notesanddomino/clientpackaging.html) ibm.com: [Licensing FAQs for Notes/Domino](http://www-01.ibm.com/software/lotus/notesanddomino/licensing.html) (updated for 8.5.1 new licensing model) ibm.com developerWorks Lotus: [Download/Experience/Connect](http://www.ibm.com/developerworks/lotus) (download of Domino Designer coming on Monday, October 12, 2009) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** 8.5.1, domino, Lotus Notes --- ### [Rational Team Concert 2.0.0.1 Released](https://www.strongback.us/2009/09/rational-team-concert-2-0-0-1-released) **Published:** September 25, 2009 **Author:** Kenny Smith **Content:** Yes, I know, its hard to get excited about a point release, however, there are some features worth mentioning. In particular is the change in the licensing model for RTC Express-C. It now includes not 3 but 10 (ten) free developer/contributor licenses. It is now also supported on all the databases that are supported by the Express/Standard/Enterprise version, including these free ones: - [DB-2 Express-C 9.7](http://www.ibm.com/software/data/db2/express/) - [SQL Server 2005 Edition](http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx) - [SQL Server 2008 Edition](http://www.microsoft.com/Sqlserver/2008/en/us/express.aspx) There is new support for WebSphere 7, and the licensing includes equivalent licensing for a WAS 7 environment (Websphere App Server base for Express/Standard, and Websphere Network Deployment for a clustered high availability RTC Enterprise environment). The additional features of WAS7 make it more scalable and more secure as WAS 7 is built on the Java 6 JDK has the ability to quiesce containers that it may not be using (i.e. the EJB container), thus reducing the memory and CPU resources needed to run it. If you have not heard of the product, it is THE best team development environment out there. Dare I say, I am “jazzed” about it? Check out my prior posts for more information on the product. This blog, and the surrounding website have been developed using RTC on linux, and it is absolutely the bomb. Deployment is a sure fire snap, and the iteration planning have been tremendously helpful as we pull together new ideas for content, navigation, and UI features. Continuous build, automated testing, and one-click deployment help ensure we always have a rock solid web site with each release. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RTC --- ### [RTCi Webinar Material](https://www.strongback.us/2009/09/rtci-webinar-material) **Published:** September 23, 2009 **Author:** Kenny Smith **Content:** For those who missed the webinar this morning, I have posted a couple of presentations on SlideShare. [Rational Team Concert For IBM System i – Executive Overview V2](http://www.slideshare.net/strongback/rational-team-concert-for-ibm-i-executive-overview-v2 "Rational Team Concert For IBM System i - Executive Overview V2")View more [documents](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback). Since we did not have an available connection to the Sandbox, here is also a scenario demonstrating the usage of RTCi. [RTCi Demo Scenario](http://www.slideshare.net/strongback/rtci-demo-scenario "RTCi Demo Scenario")View more [documents](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback). For a real life demo, you can go to the [EM Sandbox](http://www.ibm.com/developerworks/downloads/emsandbox/systemi.html) on the IBM Developerworks site, and spin up one of the Citrix enabled Sandboxes. Another option is to download the RTCi software from [Jazz.net](http://jazz.net/) and run the software for the 60 day trial period. If you would like a guided on site demonstration, please give us a call and we’ll be happy to setup a proof of concept with you. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** AS/400, iSeries, RTC, systemi --- ### [DAOS Technical Overview](https://www.strongback.us/2009/09/daos-technical-overview) **Published:** September 18, 2009 **Author:** Kenny Smith **Content:** Lotus Domino 8.5 introduced a new feature call DAOS. This tool is designed to reduce attachment duplication by externalizing the attachment and leaving a pointer in the Notes application or mail file. This presentation is courtesy of the [NELotus user group](http://www.nelotus.org/) . Its yet another reason to upgrade to the latest version! [Daos Technical Overview Ne Lotus](http://www.slideshare.net/strongback/daos-technical-overview-ne-lotus "Daos Technical Overview Ne Lotus")View more [documents](http://www.slideshare.net/) from [Strongback Consulting](http://www.slideshare.net/strongback). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** daos, domino, Lotus Notes --- ### [Rational Team Concert for System i Webinar - September 23 11am](https://www.strongback.us/2009/09/rational-team-concert-for-system-i-webinar-september-23-11am) **Published:** September 18, 2009 **Author:** Kenny Smith **Content:** **Project Management with IBM Rational Team Concert for System i** **Join us for a Webinar on September 23** [![](https://mail.google.com/a/strongbackconsulting.com/?ui=2&ik=3f3c9650cb&view=att&th=123cda5c51c426ca&attid=0.3&disp=emb&zw)](https://www2.gotomeeting.com/register/730096923) **Space is limited.** Reserve your Webinar seat now at: Looking to have your software developer teams to more effectively collaborate in developing and delivering quality software on time & on budget? Join us on Wednesday Sept 23, 2009 to see how. This demonstration will cover the how IBM Rational Team Concert can assist with collaboration & project management. **Title:** *Project Management with IBM Rational Team Concert for System i* **Date:** Wednesday, September 23, 2009 **Time:** 11:00 AM – 12:00 PM EDTAfter registering you will receive a confirmation email containing information about joining the Webinar. **System Requirements** PC-based attendees Required: Windows® 2000, XP Home, XP Pro, 2003 Server, Vista Macintosh®-based attendees Required: Mac OS® X 10.4 (Tiger®) or newer[©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** RTC --- ### [Blog update](https://www.strongback.us/2009/09/blog-update) **Published:** September 18, 2009 **Author:** Kenny Smith **Content:** For those who have not updated their links, this blog is now located at http://blog.strongbackconsulting.com. If you are used to getting it via RSS/ATOM feed, then you can use my the FeedBurner address . The old URL of “thejavablues.blogspot.com” should be redirecting you. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** blogging --- ### [EGL Community Edition now availalble](https://www.strongback.us/2009/09/egl-community-edition-now-availalble) **Published:** September 15, 2009 **Author:** Kenny Smith **Content:** IBM has released a community edition of its EGL language. This edition is geared for entry level learning such as for colleges and universities. This is a great language that is a natural successor to COBOL. Applications can be created and deployed to mainframes as batch applications, or to Java web applications servers running on Linux, Windows or Unix. [](http://www.youtube.com/v/FxKTNgoT0cU&rel=0&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1) The commercial product is [Rational Business Developer](https://www.strongback.us/rational.tiles?n-state=http://www.live.rational.webcollage.net/www.ibm.com/software/awdtools/developer/business/index.html~~~G%2100007241BCEF%214UaqsHzk4KMe/6lnvw%3D%3D~~~~@http://www.live.rational.webcollage.net/server/strongbackconsulting/rational-showcase), of which EGL CE is a subset of. [Rational Business Developer](https://www.strongback.us/rational.tiles?n-state=http://www.live.rational.webcollage.net/www.ibm.com/software/awdtools/developer/business/index.html~~~G%2100007241BCEF%214UaqsHzk4KMe/6lnvw%3D%3D~~~~@http://www.live.rational.webcollage.net/server/strongbackconsulting/rational-showcase) itself is the successor to Visual Age Generator for Java and Cobol. Check it out. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** egl --- ### [RTCi webinar coming September 23rd.](https://www.strongback.us/2009/09/rtci-webinar-coming-september-23rd) **Published:** September 8, 2009 **Author:** Kenny Smith **Content:** We will be doing a webinar on Rational Team Concert for System i coming up September 23rd at 11am. In the meantime, here is a video that gives a nice high level over view of RTC. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** RTC --- ### [WebSphere XD Virtual Enterprise 6.1.1 Announced](https://www.strongback.us/2009/09/websphere-xd-virtual-enterprise-6-1-1-announced) **Published:** September 5, 2009 **Author:** Kenny Smith **Content:** IBM Announced [XD 6.1.1](http://www-01.ibm.com/support/docview.wss?rs=3023&context=SSPPLQ&dc=DB600&uid=swg21398834&loc=en_US&cs=UTF-8&lang=en) last week. This is a refresh pack rather than a fix pack (note the 3rd digit change). You need to be at WAS 6.1.0.25 or 7.0.0.5 before upgrading. The FTP site for the refresh pack [CIM is here](ftp://ftp.software.ibm.com/software/websphere/extended/support/refreshpacks/6.1.1/). New features include: - AIX Micro-partitioning uncapped shared processor support enables Virtual Enterprise to operate in virtualized AIX server environments running AIX 5.3 and AIX 6.1 on POWER5 and POWER6 architectures. Virtual Enterprise recognizes the use of shared processor partitions, as well as the dynamic capacity of the shared processor pool on the physical hardware, to enable intelligent routing, prioritization, and application infrastructure virtualization in such AIX environments. For more information, see [Virtualization and WebSphere Virtual Enterprise](http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.ops.doc/info/prodovr/codoevirtualized.html). - A new bulletin board service overlay network (BBSON) separates Virtual Enterprise from high availability manager core groups. By enabling BBSON, you can run the product in new cells without having to configure and manage core groups and bridges. Note: All nodes must run at a version level of 6.1.1.0 or higher, and must be explicitly enabled with the useWVEBB.py script. See [BBSON bulletin board](http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.ops.doc/info/odoe_task/cbbsonover.html) for more information. WebSphere Extended Deployment Compute Grid Version 6.1.1 includes the following new features: - Quick parallelization with the built-in parameterizer allows you to parallelize batch jobs declaratively through the job definition (xJCL) without implementing the parallel job manager (PJM) System Programming Interface (SPI) set. - A new SPI deployment model enables multiple parallel applications to share the same parallel batch infrastructure easily. The PJM SPI implementation can be packaged with the parallel batch application and deployed as a shared library. - With subjob submission pacing, you can now throttle the capacity consumed by individual parallel jobs. Use this feature to ensure a very large parallel job does not consume all the capacity of its jobclass, so that it can run with smaller parallel jobs of the same jobclass. - Integration with IBM Tivoli Composite Application Manager enables more efficient monitoring of batch applications, jobs, and job infrastructure. - The high-speed native connector for external schedulers allows you to easily integrate with external workload schedulers and significantly reduces memory consumption. Happy upgrading! If you are not using the Centralized Installation Manager (CIM) to roll this out, you are NOT getting your money’s worth! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** WAS, WAS7, WebSphere --- ### [Lotus Notes dev tip: Open or Copy Hidden Views](https://www.strongback.us/2009/09/lotus-notes-dev-tip-open-or-copy-hidden-views) **Published:** September 5, 2009 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView1.png)](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView1-1.png) A very old trick that us old-hats know. If you want to see the contents of a view that is hidden in Lotus Notes, hold down CTRL+SHIFT and select “View – Go To”. The list of available views will show all the hidden ones (denoted by parentheses). You can also do this with creating views. Rather than doing a cut/paste of an existing view, you can copy the design of an existing view whilst in the “new view” wizard (first image). [![](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView2.png)](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView2-1.png) Simply hold down the CTRL+SHIFT and click the “Copy From” button. [![](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView3.png)](https://www.strongback.us/wp-content/uploads/2009/09/CopyHiddenView3-1.png) Voila! now you can copy the design from an existing view. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [Enterprise Collaboration](https://www.strongback.us/2009/09/enterprise-collaboration) **Published:** September 4, 2009 **Author:** Kenny Smith **Content:** This is a funny video on collaboration. I swear the guy is channeling some of my past experiences. [](http://www.youtube.com/v/Kw2j0YOqKoo&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** enterprise-collaboration, Lotus Connections --- ### [Licensing changes to WebSphere Development Studio Client (WDSC)](https://www.strongback.us/2009/09/licensing-changes-to-websphere-development-studio-client-wdsc) **Published:** September 4, 2009 **Author:** Kenny Smith **Content:** In April of last year, IBM ceased marketing and selling of the WDSC product. The strategy was to separate out the compilers from the development environment. If you are currently running WDSC and are looking to move forward with it, here is what you need to know: If you purchased WDSC Advanced, you will be entitiled to an equivalent quantity of the following: For each license of WDSC Advanced Edition the customer will now have: - 1 license RDi (Rational Developer for IBM i) - 1 license RBD (Rational Business Developer) - 1 license for the HATS for 5250 Applications toolkit - 1 license for RAD (Rational Application Developer) If you have let maintenance on the product lapse, you’ll have to purchase new licenses for RDi or RDi for SOA. Here is a document summarizes the [WDSC licensing](ftp://ftp.strongbackconsulting.com/WDS_WDSC_Entitlements.pdf) and pricing structure. If you are currently on maintenance and need help give [me ](mailto://kenny+blogger@strongbackconsulting.com)a shout. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** AS/400, iSeries, rational, systemi, WDSC, WebSphere --- ### [ALERT! Changes coming to this blog!](https://www.strongback.us/2009/08/alert-changes-coming-to-this-blog) **Published:** August 31, 2009 **Author:** Kenny Smith **Content:** Just so you are not caught off guard, I’ll be making some changes to this blog in the coming days. The Feed URL will be changing over to FeedBurner, and the primary URL will change from a BlogSpot domain to[ http://blog.strongbackconsulting.com](http://blog.strongbackconsulting.com/). The new address currently acts as a redirect to http://thejavablues.blogspot.com. The reason for the changes are several fold: 1. This blog regularly comes up in search engine hits, whereas the company site only occasionally shows. The company site NEVER showed up in any hits before we changed the UI for it. We would like to increase traffic to the company site to increase our lead generation. 2. We will have better hit ratings on the Strongback website if this blog shares the domain name as well as the similar navigation as the Strongback site. 3. This move will allow us the flexibility to move the whole blog over in the future to an in house system (such as WCM, or Lotus Connections) should we decide to do so. Once the new URL and feed addresses have had time to settle in, its very easy to redirect the subdomains to new IP addresses on servers that we manage. 4. This move will greatly increase our SEO effectiveness. 5. The UI is dated and does not properly reflect the brand of the company that it represents (but it was MUCH better than the previous company site). Now the blog needs to catch up to the company site so that it better matches the branding, the theme of which is “Craftsmanship”. 6. We’ve already removed the AdSense links on the site – as if I want to advertise for my competitors on my blog site! Now we have some other links that we would like to add or remove as well, in accordance with the brand. So, please be sure to update your Feed addresses in Google Reader, Bloglines, Newsgator, or whatever you are using for your RSS/ATOM reader. Google assures us that the move will leave a 301 redirect at the old address, so we are hopeful that that is true. Just in case, be sure and update your bookmarks and reader configs just the same! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** blogging, strongback --- ### [Rational Team Concert for System z has a new home](https://www.strongback.us/2009/08/rational-team-concert-for-system-z-has-a-new-home) **Published:** August 24, 2009 **Author:** Kenny Smith **Content:** It has previously been difficult to find information specific to the mainframe for Team Concert. Now, the jazz team has moved Team Concert for System z to its own project page. For those looking for information on the product specific to System z, here is the link: The product is at version 1.0.1.1 status and the team has released a beta for version 2.o. Some of the features coming for version 2.0 include: - z/OS native file system support - Enhanced build capability - Coexistence support for existing host SCMs The full release plan for version 2.0 can be found [here](https://jazz.net/projects/rational-team-concert-z/release-plan-2.0/). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** mainframe, RTC, systemz --- ### [SpringSource gets acquired by VMWare](https://www.strongback.us/2009/08/springsource-gets-acquired-by-vmware) **Published:** August 20, 2009 **Author:** Kenny Smith **Content:** Wow.. I did not see this one coming. Spring Framework has been the golden child of the Java community, often favoring their simple Inversion of Control (IoC) in favor of the more complex Java EE frameworks such as EJB. VMWare is the top dog in virtualization (Strongback is partner), so it looks like the path to cloud computing is being set firmly for the Java community. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** cloud, java, spring, vmware --- ### [An stunning presentation on social media.](https://www.strongback.us/2009/08/an-stunning-presentation-on-social-media) **Published:** August 13, 2009 **Author:** Kenny Smith **Content:** I love this. This is a follow on to last year’s SlideShare best presentation winner. This is wickedly cool. Yes, there are a few f-bombs in there, but some great statistics on social media. This should make you wonder how you can take advantage of social media/social software from within your enterprise. [What the F\*\*K is Social Media: One Year Later](http://www.slideshare.net/mzkagan/what-the-fk-is-social-media-one-year-later "What the F**K is Social Media: One Year Later")View more [documents](http://www.slideshare.net/) from [Marta Kagan](http://www.slideshare.net/mzkagan). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** social software, webdesign --- ### [Central Florida WebSphere Users Group](https://www.strongback.us/2009/08/central-florida-websphere-users-group) **Published:** August 13, 2009 **Author:** Kenny Smith **Content:** This week I went to the first meeting of the rebirth of the Central Florida WebSphere Users Group in Orlando. There were mostly IBM’ers there and only 3 people (including myself) not from IBM. Nonetheless they had some great content. Nii-Boi Koi did a great presentation on WebSphere MQ File Transfer Edition (FTE), which appears to be a pretty good solution for situations where FTP is used all over the place. A good example they brought up was where a retailer was receiving nightly sales data from thousands of locations and need to apply SLA’s and business rules on the files. There was also a high level presentation on cloud computing and a discussion of the Cloudburst appliance. The group is tentatively scheduled to meet once a quarter, but I’m hoping it meets a bit more often than that. I’m planning on presenting at least once in the coming months, most likely on Jython scripting and automated builds with WebSphere App Server. If you have an interest in joining a local chapter of WUG, just visit [www.websphere.org ](http://www.websphere.org/)and find a chapter near you. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WebSphere --- ### [Resurrecting the abominable About Us page](https://www.strongback.us/2009/08/resurrecting-the-abominable-about-us-page) **Published:** August 13, 2009 **Author:** Kenny Smith **Content:** The About Us page is on nearly every website, and usually contains the typical corporate drivel. It is the most overlooked page, yet one of the most common page that is viewed on a web site. I was listening to [BoagWorld podcast #173](http://boagworld.com/podcast/173) and mentioned a site that has taken on the About Us page in a whole new fashion. Be sure to check out this [most shocking example](http://dustincurtis.com/about.html) of rethinking the About Us page. Now… how to incorporate these goals into our corporate website. Hmmm [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** webdesign --- ### [Odd popup behavior in HATS](https://www.strongback.us/2009/08/odd-popup-behavior-in-hats) **Published:** August 11, 2009 **Author:** Kenny Smith **Content:** Here is an issue that has cropped up on the 7.x release of HATS. Its very very minor one, but can eat up a bunch of hours to troubleshoot. Lets say you have a popup selection widget, and specify you want it to display with the image rather than a button or link. Let’s also say that your HATS widget is placed within an absolute positioned element (i.e. style=”position: absolute” or within a style selector of your CSS file). You will have two issues. One, the popup will be positioned relative to the absolutely positioned element that contains it. You can get around that by forcing the popup DIV to be a child of the BODY element in the popup(popupid) function: document.body.appendChild(content); Next, there will be an issue in IE where if a user clicks the popup, closes it and re-opens the popup, the popup will migrate upwards or away from where it first opened. This is only an IE issue and it applies to version 6,7,and 8. You’ll need to add the following to the getButton(popupid) method – just above the final return statement: ``` // The following is to account for a popup that is triggered by an image.var imgs = document.getElementsByTagName("IMG");for (i=0;ivar element = imgs[i];var onclickstring=" "+element.onclick;if (onclickstring.indexOf(popupid)!=-1 ) {// now that we have found the elementreturn element;}} ``` [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Upgrading to RTC 2.0 - Lessons Learned](https://www.strongback.us/2009/07/upgrading-to-rtc-2-0-lessons-learned) **Published:** July 20, 2009 **Author:** Kenny Smith **Content:** I have recently been upgrading my Jazz/Team Concert environment to version 2.0 from 1.0. I’m using the Express-C version which is based on Apache Tomcat and Derby. These versions come in a zip file format and can easily be extracted out on a Linux server and started with minimal configuration. Upgrading from one to the other, however has had a hiccup or two. I highly recommend the Linux version. I run it on OpenSUSE 11.1 with zero issues on the OS. Its really flawless…. and cheap. First, the two versions can work entirely independent of one another since they are just zipped up. Just don’t run them at the same time as they run on the same port. When I extracted the 2.0 version, I put it under /opt/IBM/RTC, whereas my 1.0 version was under /opt/IBM/jazz. However, when I extracted it, I actually replaced the “jazz” folder with “RTC”. As I had blogged earlier, there MUST be a jazz directory in the absolute file path. Once I put it extract under /opt/IBM/RTC/jazz, I was able to startup the virgin server fine. Then came the migration. The documentation on the Jazz.net site for upgrading is accurate. There are several files that you must copy over and you MUST migrate the database using the repotools.sh script. Once I followed it exactly I got my site up and running, but only when I used the IP address. Somehow, it would not connect using the host name. Being that I connect to my server from behind a firewall (such as when I am at a customer site), I need to use the host name, as the IP address is just an internal address. Outside the firewall, it gets NAT’d, and I subsequently would timeout when trying to connect. The problem was that it would initially connect, and then give me the self-signed SSL cert error, which is fine. But then it would just sit and eventually time out. There was nothing in the log files that would ever indicate the source of the problem. That is one Friday night will never get back! I must have deleted and rebuilt the 2.0 version a dozen times before I figured out the cause problem. And it is a simple one. Simply be sure you can ping your host from your host. Once I added a static entry into my /etc/hosts file, all was right with the world. I could connect to my server with no problem at all from outside my office as well as inside. The last lesson learned, is that if you have installed the Team Concert client from any of the various Rational 7.5 products, you will have to uninstall it, and then install the 2.0 version using the IBM Installation Manager option from the Jazz.net site. You must completely uninstall all 1.0 clients. In my case I had Rational Developer for System i as well as Rational Software Architect installed. Both have an RTC client (one of which being for RTC for i), and both had to be removed in order to install the 2.0 client. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** jazz, RTC --- ### [The power of social networking: a charity case](https://www.strongback.us/2009/07/the-power-of-social-networking-a-charity-case) **Published:** July 13, 2009 **Author:** Kenny Smith **Content:** Today, a friend and business colleague of mine sent out this notice via LinkedIn # LinkedIn **Mike Ostrowski** has sent you a message. **Date:** 7/13/2009 **Subject:** Help for my friend Hello All, I normally would not use linkedin for this…but…I have a dear friend who is battling cancer and has had to travel to Houston for treatment. I am trying to raise some money to help with travel and living expenses. It adds up going back and forth from Atlanta to Houston (They have 3 children). They really need some help. If you can, please go to this site and make a small donation: [http://www.donortownsquare.com/donate\_redir.aspx?ai=1002&qs=NC7SG](http://www.donortownsquare.com/donate_redir.aspx?ai=1002&qs=NC7SG) Thanks, Mike Ostrowski Now what is special about this is that Mike is able to quickly reach out to over 150 direct connections and thousands of secondary and tertiary connections in seconds. Introducing people using a trusted intermediary is the most effective way of establishing a new positive relationship. Mike knows this person directly and subsequently he has validated their need and worthiness to all his direct connections. If he were to do this the old fashioned way it would require hours of phone calls and writing to achieve a similar effect. Subsequently this couple is likely to receive more charitable aid faster. This is powerful. There can be a whole social commentary on how this is far more beneficial than some socialist heath care system that our currently elected officials are attempting to reign down on us. I’ll leave that diatribe to the political blogs. I’d rather discuss how powerful this is for a charity, or even a corporate environment. Social networking was once thought of as a complete time waster. It was the realm of PC gamers and bored teenagers. Now, it can be seen as a powerful form of communications. In the case above, it shows how one person can influence the financial decisions of others. It also shows the speed at which it can occur. Hell, I’m blogging on it less than an hour after he sent it! Now imagine this applied in a large corporate organization where a person has a idea or complaint that can affect the quality or performance of a product. By posting through the [corporate social site](http://en.wikipedia.org/wiki/Lotus_Connections) (either a wiki or blog like interface), that person elevates their visibility beyond the gatekeepers of middle management. In fact such an idea can get to the designers/creators/engineers before upper level management even knows the idea exists (we are talking minutes or seconds here). This can accelerate the adoption of new ideas and processes much faster than the traditional wooden suggestion box. You know, that dusty old thing nailed up in the break room that has the leaky pen hanging from it, which everyone has long forgotten. [Wikis ](http://en.wikipedia.org/wiki/Wiki)are extremely common, but oddly shunned in the corporate environment. Yet, they are a much better repository to share data than your highly paid key player. Wikis can be backed up with software, and they keep your corporate documentation, ideas, and business knowledge on the company premises. What happens if your key player goes through a mid-life crisis, buys a new Harley and goes out on the open road… without his (or her) helmet. Frightened yet? How about a less morose example. Your most senior COBOL programmer who knows more about your system than anyone… is retiring… to the Bahamas. Where are your intellectual assets going at night? Shouldn’t you try to keep some of it on the premises? Food for thought. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Connections, social software --- ### [Transforming HATS inhibited input screens](https://www.strongback.us/2009/07/transforming-hats-inhibited-input-screens) **Published:** July 8, 2009 **Author:** Kenny Smith **Content:** This is one I’ve been meaning to post for sometime, but always forget. Let’s say you have a HATS screen transformation that you’ve worked for hours to get pixel perfect. It looks gorgeous. You deploy it and then your users come back to you and say they that when they get into an error condition, they no longer see the UI that you so tirelessly worked for. The problem here is that there is an error condition in the Operator Input Area (OIA), and subsequently, the screen recognition criteria on the screen customization no longer matches. By default, when you create a screen customization it creates a criteria to recognize the screen only when it is not inhibited. There is no area on the wizard to change this, but you can change it on the source tab. Open that tab and look towards the bottom for the “” element, and under that you will find the element. Simply change the “NOTINHIBITED” attribute to “DONTCARE”. Your transformation will now render under both conditions. Voila! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Beta no more](https://www.strongback.us/2009/07/beta-no-more) **Published:** July 8, 2009 **Author:** Kenny Smith **Content:** The ruler of the known universe, Google, has [announced that they are taking the Beta label off ](http://lifehacker.com/5309230/gmail-google-calendar-docs-and-talk-leave-beta)of Gmail after many years of being in this program. Gmail is probably the most famous beta software of all! While most of us had expected the beta program to go on forever, there are some good lessons to be learned from Google. First, they set a precedent on rolling updates. By that I mean they rolled out regular updates and improvements, some offered as “labs'” for those items it deemed relatively risky or of minimal value to the end user. This is classic agile planning. However, by being used by as many millions of people as it is, it has helped to set the user expectation that it is O.K. to gradually roll out smaller improvements as the requirement priority dictates, with each release acquiring newer but sometimes obscure features. This is a much better approach that massive, radically changed software over longer stretches. Such change disrupts the user community and can often introduce other risks in the deployment, or in overall usability that would have been mitigated if the newer features were implemented in smaller increments. Second, it set an example to the business community that they can be successful by keeping the application consumer involved in the design process. The Gmail team blog has always been top notch at letting the community know what they are working on. They showed how you can mitigate many risks by introducing new features as optional ones, by letting the consumer choose the rich UI, or the plain HTML interface, and by giving the consumer lots of outlets to voice concerns or complaints. [IBM’s Jazz project](http://jazz.net/) has also been an excellent example of this. You know everything the development teams are doing at any given time, and you have the ability to review milestones of the Jazz build cycle yourself. Lastly, by institutionalizing iterative development, they are showing how successful such an agile project can be. Can you imagine what Gmail would be if they had just released it fresh, unused this week after years of closed door development? Imagine how much consumer feedback they would have missed out on? Imagine how much advertising revenue they would have lost? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** agile, Google --- ### [Rational Team Concert 2.0 Released](https://www.strongback.us/2009/07/rational-team-concert-2-0-released) **Published:** July 7, 2009 **Author:** Kenny Smith **Content:** The [Jazz team has released RTC 2.0](https://jazz.net/projects/rational-team-concert/). I’ve just updated my server and migrated the database repository. Here is an overview of what’s new in RTC 2.0: For those that are not familiar with Team Concert, this is the coolest thing since sliced bread. It is THE tool for software development project planning, management, source code management and more. [Here is a general overview of the features.](http://jazz.net/library/article/197) In our organization we use the RTC ExpressC version for our clients. This is a small team version that is free and includes 3 free client access licenses – perfect for our small team. If you do not currently use version control (a.k.a. source code management- SCM), this is an ideal product to start with. Yes, there is Subversion, which is a good open source product, but it does NOT do all the features that Team Concert does. SCM is only a part of Team Concert’s features. **UPDATE MAY 2016:** This is a bit of an old article, but [RTC 6.0.2](https://www.strongback.us/solutions/clm) is was released this month by IBM. Visit our [CLM ](https://www.strongback.us/solutions/clm)page for details, or [call us](/contact) for product pricing, or implementation services. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [IBM Dropping support for Domino Access for Microsoft Outlook (DAMO)](https://www.strongback.us/2009/06/ibm-dropping-support-for-domino-access-for-microsoft-outlook-damo) **Published:** June 12, 2009 **Author:** Kenny Smith **Content:** [Ed Brill](http://www.edbrill.com/ebrill/edbrill.nsf) noted today that [IBM has chosen to drop plans for future support of DAMO](http://www-01.ibm.com/support/docview.wss?uid=swg21388654&myns=swglotus&mynp=OCSSPQ69&mync=E) from the Lotus Domino roadmap. Its an interesting position that IBM is taking. As a consultant, I’ve always had some various compatibility issues with DAMO, particularly in the corner cases that Ed mentions. Now that the Notes client has matured, and now competitive with the Outlook client, it makes sense strategically. Microsoft is at a vulnerable position now. For the past several iterations of Exchange, they have largely forced customers to rip and replace, whereas Domino has always been a graceful upgrade process (excluding the 5.0 to 6.0 which had relatively minor issues compared to Exchange). Microsoft has publicly told its customers to abandon current plans for upgrading to Exchange 2007, and instead focus on what would be an upgrade to Exchange 2010. We already know that customers on 32 bit version of Windows were going to be in for a shock in being forced to upgrade to 64 bit Windows and subsequently 64 back end support. This migration was a difficult pill to swallow. It is a risk to abandon support as it puts existing Domino/DAMO customers in a position of having to roll out Notes clients in future upgrades. That said, the install base, and the relative difficulty in maintaining the codestream to be compatible and fully functional with Outlook made the effort an unprofittable one. It is also quite a statement at the level of confidence IBM has in the Lotus Notes client today as compared to say the version 6.5 days. Those that know IBM, know they don’t wipe their butt without significant market analysis, and the market analysis trends (as Ed Brill has commented on) have been very positive as the Eclipse based Notes client has matured. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** exchange, Lotus Notes --- ### [Getting started with version control and Jazz](https://www.strongback.us/2009/06/getting-started-with-version-control-and-jazz) **Published:** June 9, 2009 **Author:** Kenny Smith **Content:** If your organization has no real version control system or your idea of version control is making a copy of your rpgle source code in your library (you AS/400 folks know who you are), well, check out Team Concert Express C. Its a free version of Team Concert and runs on Windows or Linux. We’ve started using it in house for our consulting practice and it is fantastic. It includes support for Eclipse and MS Visual Studio based IDE’s. This link is to the gold release, but version 2.0 is just around the corner. The Jazz team has its second release candidate available for download as well. If you want to check out the features and evaluate the product, have no immediate need for SCM, then give the 2.0 RC2 a try. There was a ton of material at the Rational conference on how people are using it. We are using it for work item tracking, for build management, and for source code control. The work item management is really nice. Here is a good white paper on the product for those who are interested: [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** AS/400, HATS, iSeries, jazz, rational, teamconcert --- ### [Another post on HATS and CSS](https://www.strongback.us/2009/06/another-post-on-hats-and-css) **Published:** June 9, 2009 **Author:** Kenny Smith **Content:** I am posting one of my presentations from my HATS curriculum online from SlideShare.net. While I won’t post my entire curriculum (which would be giving away my business product), I will post some information which is badly needed out there, yet is so readily available if you only knew where to go. If you or your organization is interested in the rest of the material, just give me a shout. [Rational HATS and CSS](http://www.slideshare.net/strongback/rational-hats-and-css?type=powerpoint "Rational HATS and CSS")View more [OpenOffice presentations](http://www.slideshare.net/) from [Kenny Smith](http://www.slideshare.net/strongback). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** css, HATS, rational, web2.0 --- ### [Understanding Rational HATS style sheets](https://www.strongback.us/2009/06/understanding-rational-hats-style-sheets) **Published:** June 9, 2009 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2009/06/templateSwirl.png)](https://www.strongback.us/wp-content/uploads/2009/06/templateSwirl-1.png) For many who are just getting started with Rational HATS, understanding the widgets and components are the easy part. They often come from an RPG or COBOL background (i.e. green screen development). What is greek to them is usually the web page customization and especially the cascading style sheets. I thought I would write today about how the default CSS templates in HATS are organized. If you are highly experienced with CSS, then this article is really not for you, but if you can’t even spell CSS, well, this should be a good primer. To start out, open the HATS template ‘Swirl’. Its located under ‘Web Content – Templates’. Then go to the ‘Source’ tab. The style sheets are specified in the tag as follows: This tells the template to pull in two style sheet definitions. These two will be used throughout the application and for every transformation and default rendered screen. There are several stylesheets available in the project that you create, and most are associated with a particular template. For now, let’s assume you want to customize the ‘Swirl’ look and feel. Open the monocrometheme.css style sheet. These are located under the ‘Web Content – common – stylesheets’ folder. In a CSS file, comments are made using /\* \*/ syntax, which is the first lines you should see. The next statement will be @import url(commontheme.css); This is a command to load recursively, another stylesheet which in this case is common to nearly all the HATS templates. The @import notation loads this additional stylesheet before any of the styles are applied to the web page. The rest of the page are what we call style selectors. The most primitive selector selects an HTML element such as the tag: BODY { background-color: white; color: black; font-family: tahoma, arial, , helvetica, sans-serif /\* For accessibility compliance: remove the following line \*/ font-size: 10pt; } You will see many selectors for various HTML tags (TABLE, TD, TR, etc). Each rule applies style properties as you see above. You don’t have to memorize very possible style attribute. Rather, the development environment has a feature called code-assist that helps you select a property attribute. Press CTRL+space to pop up the code assist: [![](https://www.strongback.us/wp-content/uploads/2009/06/csscodeassist.png)](https://www.strongback.us/wp-content/uploads/2009/06/csscodeassist-1.png)Your style rule must always be closed with curly braces { }. Each attribute must be appended with a semi-colon ( ; ). The editor should show warning messages if you have not done this. As you read down the style sheet you will see more advanced style selectors. Style selectors that are prepended with a period apply to HTML elements with a class attribute of that name. For example this style rule: .HATSTABLEHEADER Applies to this HTML element: class=”HATSTABLEHEADER“> …. Some style rules will have both an HTML element name, and a class name such as this: TABLE.HATSTABLE This applies to an HTML element with a class of “HATSTABLE” only. Whereas the former example could apply to ANY html element with a class of HATSTABLEHEADER.Next, you may also see some style rules prepended with the pound/hash/anoctothorpe sign (#). Yes, the pound sign is called an [anoctothorpe](http://en.wikipedia.org/wiki/Anoctothorpe). This still rule applies to HTML elements with an id attribute of that name such as in: id=”header“> … Now, you may ask, what is the difference between an id and a class attribute. Think of an attribute as you would an identification. It uniquely identifies that element on the web page, meaning, there should not be any other element with that id. Whereas, if you ever took my HATS training class, there were multiple students in the room that made up the class. A CSS class attribute is used to apply similar formatting to multiple elements. As you can see, you can start to get very specific about which area in your web page you want to style. You can combine elements and id/class attributes to apply to various subsets of elements. For example, you could have a style rule of INPUT.REQUIRED to apply a style rule to all input html elements that have a class of ‘required’. Whereas other input elements that have different class attributes are unaffected. The next step in understanding style selectors psuedo elements. These are often seen as :hover, :link, and :visited. This are what changed the look of an element when you mouse over it, or when you have been to a site previously (i.e. the site is listed in your browser’s history). Using these you can change the background image on a table, or div element when a person mouses over an element. This provides for many very cool effects. A.HATSLINK:hover { color: \#5555ff; } The above selector applies to anchor or link tags when you mouse over them. In a style sheet you should see the selectors progress from very generic (such as the body tag which in turn becomes the default for all the following elements), to very specific selectors. This is why its called ‘cascading’, because the styles ‘cascade’ to sub-elements. In the hands of skilled web designer a HATS application can become a radically different beast. I’ve been critical for some time of the default styles and templates that come with HATS. They are quite dated and subsequently, the transformed apps look dated, although not as dated as a pure green screen. By creating a new template and style sheet, you can make your HATS app look like some thing you’d find on a more modern site without the user even guessing its front-ending a green screen. The last thing I’ll mention about the HATS style sheets is their general nomenclature and organization. There is typically a main style sheet, a corresponding reverse video stylesheet, and commontheme.css. The latter is always included in the main style sheet. The reverse video is for those screens that support reverse video (i.e. black text on a green background rather than green text on a black backgound). There are style rules in the stylesheets that begin with .H such .HRED, .HCYAN, .HBLUE, etc. Those are to style fields that are default rendered and are of the similar color on the green screen. You do not have to keep those colors, but rather could change the style so they show with a more specific color in that color hue using either hex or rgb color values. Those that are for reverse video have the class selector prefix of .R such .RGREEN, .RBLUE, etc. As a rule of thumb, when you are just getting started, try using an existing stylesheet an modify its style rules gradually. If you think you want to define rules for specific classses or ID’s that you specify, create another stylesheet and place those style rules there. Then be sure to add your new stylesheet to the head of the template you have selected or created. If you are interested in more information on CSS and general web design, principles which apply very well to all types of web development, then check out my following links on Delicious: That’s all for now. I hope this helps you in your development efforts. Happy modernizing. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** css, HATS --- ### [WebSphere App Server and Struts2 don't mix](https://www.strongback.us/2009/05/websphere-app-server-and-struts2-dont-mix) **Published:** May 14, 2009 **Author:** Kenny Smith **Content:** As I have recently found out by the school of hard knocks, these two do not mix when Java EE web container security is enabled. #### Background: [Struts2 ](http://struts.apache.org/)is the follow on to the very popular and ubiquitous framework Apache Struts. Struts2 is actually a combination of Struts and WebWorks and is a really slick framework. The more I used it the more I liked it (sans the crap with security issues). Under Stuts1, the framework was built around a Struts action servlet. Under Struts2, struts operates under servlet Filter which is where the problem comes in for WebSphere. #### The Problem: The problem arises when you need to turn on container based security. This is enabled in the web.xml file: Default Constraint Customer Data /customer/\* PUT GET TRACE POST DELETE OPTIONS validUsers NONE Whenever a user browses within the application to a URL that has customer in the string, it should prompt the user for security credentials with a login page. This happens quite easily in Apache Tomcat, but WebSphere just navigates right to the secured resource without ever grabbing credentials. This happens in WebSphere App Server 6.1 and 7.0, and it is a certified bug, even when enabling the custom JVM property com.ibm.ws.webcontainer.disablesecuritypreinvokeonfilters=true #### The Solution: For WAS 6.1, upgrade to fixpack 23 (6.1.0.23), and enable the custom property. This fixpack has already been released. If you have developed your application under WAS 7.0 and are using servlet spec 2.5 and JDK 6, then you’ll have to wait for fix pack 7.0.0.5 which is due in July/August time frame. Otherwise, you will have to create a whole new application to deploy under JDK 5 to deploy to WAS 6.1 and copy over your compatible Java artifacts. The easy solution is to use Apache Tomcat in the interim. Here are some other links to the issue: [http://www-01.ibm.com/support/docview.wss?&uid=swg1PK76656&loc=en\_US&cs=utf-8&lang=en](http://www-01.ibm.com/support/docview.wss?&uid=swg1PK76656&loc=en_US&cs=utf-8&lang=en) [](http://www-01.ibm.com/support/docview.wss?rs=180&context=SSEQTP&q1=7.0.0.5&q2=disablesecuritypreinvokeonfilters&uid=swg1PK76656&loc=en_US&cs=utf-8&lang=en)[http://www-01.ibm.com/support/docview.wss?rs=180&context=SSEQTP&q1=7.0.0.5&q2=security&uid=swg24022479&loc=en\_US&cs=utf-8&lang=en](http://www-01.ibm.com/support/docview.wss?rs=180&context=SSEQTP&q1=7.0.0.5&q2=security&uid=swg24022479&loc=en_US&cs=utf-8&lang=en) [http://www-01.ibm.com/support/docview.wss?rss=180&uid=swg21284395](http://www-01.ibm.com/support/docview.wss?rss=180&uid=swg21284395) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** struts2, WAS, WAS7 --- ### [Security Certificate expiration in Lotus Domino on May 18th 2009](https://www.strongback.us/2009/05/security-certificate-expiration-in-lotus-domino-on-may-18th-2009) **Published:** May 8, 2009 **Author:** Kenny Smith **Content:** **What is happening** The certificate for some Java applets in Lotus Domino 6.5.x, Domino 7.0.x, Domino 8.0.x, and Domino 8.5 have an expiration date of May 18, 2009. Starting May 19th, Web users will see a dialog with a message similar to one of the following when loading a Web page that contains a Java applet from the Domino server: “The digital signature was generated with a trusted certificate but has expired or is not yet valid.” “The security certificate has expired or is not yet valid.” This issue can occur even if IBM is set up as a trusted publisher in the browser. **What does this mean** Please be assured that this message does not mean security has been compromised. It simply reflects the expiration of the signature originally provided in the security certificate used with certain Domino applets. You can find an explanation in the following technote: Title: “Security certificate expiration messages generated from Domino applets (May 18, 2009)” URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21381298](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21381298) **Action needed to resolve** To resolve the situation, you have three options: (1) Instruct users to “Always Trust” content from IBM, (2) if using Domino 7.x, upgrade to Domino 7.0.4, or (3) download and apply fixes. IBM recommends that you replace the affected Jar files (option 3) as described in the following download document for any supported release of Domino: Title: “Download re-signed Java applets for Lotus Domino (May 18, 2009)” URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg24022981](http://www.ibm.com/support/docview.wss?rs=899&uid=swg24022981) Alternatively, an interim fix will be posted to [Fix Central](http://www.ibm.com/support/fixcentral/) for the latest Modification and Fix Pack levels by May 8th. These include Domino 6.5.6 FP3, 7.0.3 FP1, 7.0.4, 8.0.2 FP1, and 8.5.0. If you’re not running one of these releases, access the download document above, which provides fixes for all supported release levels. **General Self-Help Resources** Here are links to other ways that you can access IBM Lotus Notes & Domino self-help support information on the Web: 1\. [My Support](http://www.ibm.com/software/support/einfo.html) () 2\. [Lotus Support is just a click away](http://www.ibm.com/software/lotus/support/clickaway/) (); learn more about Lotus Software Self-Assist Options. 3\. [IBM Software Support Site design update](http://www.ibm.com/software/support/gcnews.html) () 4\. [New Lotus Notes Domino Wiki](http://www.lotus.com/ldd/dominowiki.nsf) () 5\. Fix Central () [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino --- ### [New Lotus channel on YouTube](https://www.strongback.us/2009/05/new-lotus-channel-on-youtube) **Published:** May 5, 2009 **Author:** Kenny Smith **Content:** Lotus has launched its own channel on Youtube. There are 25 short videos that describe how Lotus solutions address actual business needs. Here’s a great sample: If any of these technologies sound of interest, give us a buzz to find out more. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Connections, Lotus Notes, Quickr, web2.0 --- ### [Corporate Survey of Browsers](https://www.strongback.us/2009/05/corporate-survey-of-browsers) **Published:** May 2, 2009 **Author:** Kenny Smith **Content:** [Lifehacker](http://lifehacker.com/5236121/whats-the-default-web-browser-at-your-workplace).com had an [article ](http://lifehacker.com/5236121/whats-the-default-web-browser-at-your-workplace)on a Forrester Research survey of companies asking them what their default internet browser standard is. I was shocked…yes…shocked to see that IE6 still accounts for 60% of the corporate install base. Does anyone reading this have a justifyable reason why this is so? What is it that keeps your organization from either upgrading to IE7 (or now IE8), or even better, standardizing on Firefox or Chrome or some other browser? I think this is just plain gross negligence on behalf of most of these company CTO/CIOs. IE6 has so many weaknesses both in security and in features. These organizations are trapped in 2002. Making a web site forward compatible from IE6 is downright difficult as it does not fully support web standards. Review my previous posts on IE, and look up the results for the Acid2 test. Argh!! Ok… I’ll get off my soap box now. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** IE6, IE7 --- ### [End of service for AIX 5.2 and i/OS 5.3](https://www.strongback.us/2009/04/end-of-service-for-aix-5-2-and-ios-5-3) **Published:** April 2, 2009 **Author:** Kenny Smith **Content:** For those customers who have not seen this, its time to upgrade. If you don’t upgrade you will find you won’t get the software support you need for applications running on these OS versions. Calling IBM support and getting PMR is hard enough, don’t let this become an obstacle in the future. - **IBM Global Technology Services announced the end of service effective April 30, 2009 for i5/OS Version 5.3, as announced on January 29, 2008 in IBM Announcement letter 908-014.** - **IBM Global Technology Services announced the end of service effective April 30, 2009 for AIX version 5.2, as announced on April 8, 2008 in IBM Announcement letter 908-059.** IBM official Announcements: [Announcement Letter 908-059](http://oureventsignup.com/2007/lists/lt.php?id=K0RUA1ALB1YDCE1RBlYBSApQAFJUCQ%3D%3D) [IBM i5/OS Version 5.3 End of Service Questions & Answers](http://oureventsignup.com/2007/lists/lt.php?id=K0RUA1ALB1YCAU1RBlYBSApQAFJUCQ%3D%3D) [Announcement Letter 908-014](http://oureventsignup.com/2007/lists/lt.php?id=K0RUA1ALB1YCAE1RBlYBSApQAFJUCQ%3D%3D) [AIX Version 5.2 End of Service Information](http://oureventsignup.com/2007/lists/lt.php?id=K0RUA1ALB1YCA01RBlYBSApQAFJUCQ%3D%3D) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** aix, iSeries --- ### [A History of WebSphere](https://www.strongback.us/2009/03/a-history-of-websphere) **Published:** March 26, 2009 **Author:** Kenny Smith **Content:** A little hokey, but has some interesting tidbits. http://www.nxtbook.com/nxtbooks/maxpress/websphererevolution/ [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WebSphere --- ### [WebSphere App Server fix pack 7.0.0.3 is out](https://www.strongback.us/2009/03/websphere-app-server-fix-pack-7-0-0-3-is-out) **Published:** March 25, 2009 **Author:** Kenny Smith **Content:** For those who are running WAS 7, IBM released the latest fixpack yeserday (March 24th). This is a highly recommended fix. You can get the fix from IBM’s FTP site. This is the easiest way as you don’t have to rat through their support web site. For Windows 32 bit (about half of you out there), here is the directory for the support packs: Be sure to get the latest update installer as well. It is found at [ftp://ftp.software.ibm.com/software/websphere/appserv/support/tools/UpdateInstaller/7.0.x/WinIA32](http://blog.strongbackconsulting.com/software/websphere/appserv/support/tools/UpdateInstaller/7.0.x/WinIA32) IBM has not posted the fix list for 7.0.0.3 but the [fix list for 7.0.0.1 is here.](http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27014463) Happy patching [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WAS7 --- ### [I am speaking at the Rational Conference in June!](https://www.strongback.us/2009/03/i-am-speaking-at-the-rational-conference-in-june) **Published:** March 24, 2009 **Author:** Kenny Smith **Content:** [![](https://1bosweb3.experient-inc.com/Events/Rational/RSDC2009/Images/SpeakerBanner1.jpg)](http://www.ibm.com/rational/rsdc)IBM just confirmed my speaking role. I’m speaking with Alisa Morse, Product Manager for IBM Rational HATS, SCLM AE, and HACP. We’ll be presenting an introduction and case study for HATS for one of my large customers. Here is the synopsis below (subject to change). The Rational Conference has typically been more technical that some of the other IBM conferences (i.e. LotusSphere), and that I enjoy. I would prefer to do a more technical presentation, but there is a real need for case studies for the conference. If you are going, be sure to look me up. Its truly a great conference for architecture and software development. Registraiton is open at , and early bird discounts apply until May 1st. However, there is a special going on now until the end of March where you can get a second registration at half price. **EM06** – All levels (general knowledge)**Achieve Faster Return on Investment** **with Enterprise Application Modernization- A Customer Story**Tuesday, June 2 10:00 am – 11:00 am*Kenny Smith, Principal, Strongback Consulting*[©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, rational, rsdc --- ### [Calculating the Absolute Cursor Position in HATS](https://www.strongback.us/2009/02/calculating-the-absolute-cursor-position-in-hats) **Published:** February 25, 2009 **Author:** Kenny Smith **Content:** In IBM Rational’s HATS product, you will often see reference to the cursor position, or absolute cursor position. The simple cursor position is simply the row (comma) column number: i.e. 4,67. The absolute cursor position is a single number that is a calculation of the row and position. The formula is as follows: \[(actual rows-1) \* max columns\] + actual columns For example, take a 5250 session with a screen size of 24×80. That’s 24 rows, and 80 columns. A field at position 5,40 would have an absolute cursor position of: \[(5-1) \* 80\] + 40 = 360 This absolute cursor position is often used in JavaScript functions found in lxgwfunction.js. If you familiarize yourself with those events, you can do some neat UI tricks in HATS. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Auto starting WebSphere App Server or Domino on Linux](https://www.strongback.us/2009/02/auto-starting-websphere-app-server-or-domino-on-linux) **Published:** February 16, 2009 **Author:** Kenny Smith **Content:** This post is really for the Linux newbies. Most sys admins are already familiar with Windows services to automagically start and stop an application. Frequent readers know that I am a Linux advocate, so here is a tip for those who may be interested in moving to a Linux platform for their WebSphere or Lotus Domino environment. When you install one of these products, they are are not set up to automatically start or stop by default. Yes, you can use the startServer.sh script to manually start them, or use the kill -9 function to kill the Java programs. However, that is not very useful for a production server. To do this, you will need to create a shell script to handle the init.d process. Init.d is the process to handle initializing daemons. No, we are not talking reverse excorcism here, but rather the method to start processes on Linux. On most Linux distributions you will have a bunch of scripts under /etc/init.d/. These are the location for all the startup/shutdown scripts. Once you create the script, you register the script with the following command: /etc/init.d/chkconfig –add Now, if you are not familiar with shell scripting, I’ll give you a cheat sheet. For Lotus Domino, I highly recommend getting the rc\_domino script from Daniel Nashed. If you have a vanilla default install of Domino, this script can just drop in with no modification. I would include it here, but his licensing prevents it. It is a free script however. [Click here to visit his site](http://www.nashcom.de/nshweb/pages/startscript.htm). For WebSphere App Server, there is not nearly as great a script out there. I do have a fairly simple one that you can use. Copy the following into a text file. DO NOT USE NOTEPAD!! Do this in your Linux desktop or vi/vim only! The reason is that Windows uses two character codes for a carriage return, and Linux requires one. If you were to create it in notepad and ftp it up to your linux box, the shell script WILL NOT RUN. You have been warned. \#!/bin/bash \# \# /etc/rc.d/init.d/wasserver \# \# Starts the WebSphere Application Server \# \# chkconfig: 345 88 57 \# description: Runs WAS Server . /etc/init.d/functions \# Source function library. PATH=/usr/bin:/bin:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin \# Replace with the production credentials \# Be sure to set the permissions on this file to no read for anyone \# but the root user WASID=”wasadmin” WASPW=”wasadmin” \#====================================================================== SU=”sh” \#====================================================================== start() { for wasserver in $WASSERVERS ; do export wasserver echo “$0: starting websphere application server $wasserver” $SU -c “startServer.sh $wasserver” done } \#============================================================================== stop() { for wasserver in $WASSERVERS ; do export wasserver echo “$0: stopping websphere application server $wasserver” $SU -c “stopServer.sh $wasserver -username $WASID -password $WASPW” done } case $1 in ‘start’) start ;; ‘stop’) stop ;; ‘restart’) stop start ;; \*) echo “usage: $0 {start|stop|restart}” ;; esac Once you’ve saved the script under init.d, register it using the command listed above. Then test it using the following: /etc/init.d/was start Confirm that stopping works by running this command: /etc/init.d/was stop Finally, you ‘bounce’ the server with the following: /etc/init.d/was restart If this script is not to your liking, there is often a file called “skel” or “skeleton” under /etc/init.d. This is a template for an init.d script that you can use to roll your own. The best Linux distros for hosting an IBM software package are as SuSE Enterprise Linux, Red Hat Enterprise Linux. Those two are ‘officially’ supported. That said, I have had very good luck with the following: - OpenSuSE (the free version of SuSE) - CentOS (the community version of Red Hat – identical binaries, just no support) - Fedora (the open sourced and bleeding edge distro for Red Hat) For client software packages, all of the above as well as Ubuntu are good platforms. Ubuntu is the best distro for the Lotus Notes desktop client, but is not a good choice for server type software – stick with RPM based distributions over Debian based distributions. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Linux, WAS, WebSphere --- ### [VMWare Server 2.0 .... very nice](https://www.strongback.us/2009/01/vmware-server-2-0-very-nice) **Published:** January 30, 2009 **Author:** Kenny Smith **Content:** I’ve been running VMware on my openSuse box for several months now. It has been rock solid and reasonably easy to use. This week, I took the liberty of upgrading to VMWare server 2.0. WOW! What a difference! The new console is SOOOO much better. I was able to move my old WinXP laptop to a VM image using VMWare converter. I then was able to work from my Vista laptop, remote to my WinXP image across the network. This proved to be a much better solution than swapping hard drives around like I had been. The WinXP hard drive is a 5400 RPM drive. The new WinXP image runs on mirrored Western Digital Caviar 640GB 7200RPM drives. Not to mention the server is a quad core with 8GB of RAM. This is my WebSphere Portal development environment. It is MUCH faster in a VM than on my old disk. Now, I’m shopping around for a gigabit ethernet switch and some addtional WD drives to spread out the IO. Even though I was pleased with the new console, I would venture that it will be significantly faster on Gb Ethernet. If you are currently using VMWare server (the free edition) 1.06, you should seriously consider upgrading to 2.0. It has made my development efforts MUCH easier. Thanks VMWare! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** vmware --- ### [WebSphere App Server 7 and openDNS Don't Mix](https://www.strongback.us/2009/01/websphere-app-server-7-and-opendns-dont-mix) **Published:** January 25, 2009 **Author:** Kenny Smith **Content:** I just figured out a problem that has been bugging the bejeezus out of me. I could not for the life of me start of WAS7 in my RAD 7.5 dev environment. The startServer.log file always showed a port conflict, but I could not find the cause of it anywhere. I had shut down all my IM clients, Google desktop, hell, I even stopped iTunes, and a bunch of other miscellaneous processes. Well, tonight, I decided to open a can of whoop ass on this problem and defeat it once and for all. I ran netstat several times but it never showed me the problem port (in this case it was port 8882). Then I got lucky and started WAS and immediately ran netstat. It showed a connection to IP 208.69.32.132 on port 8882. Once the server finally bombed, netstat no longer showed this connection. Well, this IP is a resolver of openDNS. It looked like the WAS server was trying to resolve its own hostname, but having to connect to openDNS somehow to do so. I’m still not totally clear on the problem. It never crops up on my WAS 6 or 6.1 instances – only WAS 7. Once I knew the problem, the solution was to turn my wireless card off (I’m on a Thinkpad T61), while the server started up. Sure enough, it fully started. Once I see the line “server1 open for e-business”, I can confidently switch on wireless and proceed as normal. Hope this helps someone else. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WAS7 --- ### [Penguins, Tigers, and Leopards, oh my!](https://www.strongback.us/2009/01/penguins-tigers-and-leopards-oh-my) **Published:** January 20, 2009 **Author:** Kenny Smith **Content:** I’ve taken notice of the number of Macs at this year’s LotusSphere conference. Lots of IBM’ers now have them as well as customers and partners. Several presenters were switching between their Mac desktop and their Windoze virtual machines. Another nicety is the strong presence of Canonical and Ubuntu here. There is such an irony in that the company that created the PC, no longer manufactures it, but embraces most of the major platforms (Solaris desktop being an exception). The support of Lotus Notes on Ubuntu is not as popular as the support of Notes on the Mac, but it is well received nonetheless. Lenovo’s Thinkpad is still King here, but its marketshare is certainly less than it has been. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** LotusSphere --- ### [LotusSphere Opening General Session ...Taking Notes](https://www.strongback.us/2009/01/lotussphere-opening-general-session-taking-notes) **Published:** January 19, 2009 **Author:** Kenny Smith **Content:** I’m blogging from LotusSphere today in the Opening Session. Here are some of the key highlights. - Lotus Notes celebrates 20 years this week. - IBM announced that Bluehouse is now LotusLive, a SaaS solution for Lotus Notes and Domino. - RIM announced new Blackberry Application. The new app for Lotus Connections features access to all of Connections’ features. Domino Designer functionality in xPages for Blackberry. The Curve 8900 is soon to be released (only on TMobile however). Lotus Symphony will be supported on the Crackberry (uber cool!) - Notes 8.5 client now fully available for the Mac and for Linux (Ubuntu, Red Hat, Suse) – not news, but still important. Anyone care to guess what platform Outlook runs on?? - The IBM/SAP alliance project Atlantic is now a full featured product now known as “Alloy”, with plans to ship in March. - [IBM is working with LinkedIn](http://www.washingtonpost.com/wp-dyn/content/article/2009/01/19/AR2009011900603.html) to provide a custom plugin to interact with that external community from within the Notes client. - iCal support in the Notes client – bring in your Gmail calendar or create a iCal feed from custom applications. - iNotes has a WICKED new look. - In the Domino Designer, xPages are a pure Eclipse based development. Developing Ajax based applications can be deployed to the Blackberry using xPages. - IBM SmartMarket is a new IBM offering for business partners – http://www.ibm.com/smartmarket - IBM is sponsoring a new effort to OpenNTF.org, making templates, applications and code widely available under common Open Source licenses (GPL, lGPL, Apache, CDDL etc). - IBM showed absolute positive reasons to update to Notes 8: >50% reduction in I/O, 30% reduction in servers, and 40% reduction in disk utilization. Bottom line: There is NO reason not to upgrade! - Lotus Foundations. – an appliance based application for Notes/Domino where the OS is so small its burned onto a chip. This device looks like a small p505 desktop type app. It has autonomic functions to help restore/repair it in the event of crash or failure, and can be remotely managed by a business partner. This is designed for small and medium businesses. More on this in future blogs. - Telephony integration for Unified Messaging - Sametime can read your calendar and automatically change your online status accordingly. - Start a conference call from within Lotus Sametime – while on the call, you click and drag new conferees into the call window from your Sametime list to automatically add them to the call. Then you can transfer your portion of the call from the VoIP/Sametime conference to your office phone, or your cell phone. Freaking cool. This is all available in Sametime 8.5. - …and the guys from the Blue Men Group just came out (not a feature, but entertaining nonetheless) - A TON of new Sametime features…. too many to even type here. Holy crap that was cool. - WOW, IBM has a VP of Social Software. Tells you where they put it as far as importance to the market place. Lotus Connections 2.5 - Twitterlike micro-blog features - New services – shared across connections/Quickr – new Wiki , now Social content sharing services. Securely share any content with your employees quickly. - Widgets for easily connecting other social software services such as Flickr, Twitter, LinkedIn, BrightKite, and more. - Mobile version of Connections for Blackberry, iPhone, and Nokia devices [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, LotusSphere, sametime --- ### [LotusSphere 2009... Here I Come](https://www.strongback.us/2009/01/lotussphere-2009-here-i-come) **Published:** January 18, 2009 **Author:** Kenny Smith **Content:** Tomorrow begins the first day of IBM’s LotusSphere at Disney’s Swan and Dolphin resort in Orlando. Looks like I’ll be driving it each day. Its about 55 miles one way. I’m not looking forward to the drive, but its good to know that with gas prices coming down it won’t be that expensive. There’s just too much going on in the personal life to leave the family each night, with my 4 month old being chief culprit. I’m very much looking forward to seeing current and former colleagues and customers there. There will also be quite a bit of new topics to be covered. IBM has finalized Lotus Notes and Domino 8.5 and announced it at MacWorld recently. That features some wildly new features in the Domino Designer. Some of which I was not too crazy about in the early betas. We’ll see how far they have progressed this week. Anyone else who is going, please be sure to look me up. I’ll have my Crackberry with me, so you can email or call. Even comments to this post will arrive neatly in my Gmail for blackberry app. Party on! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** LotusSphere --- ### [8 Reasons You'll Love Using IBM Lotus Notes 8](https://www.strongback.us/2008/12/8-reasons-youll-love-using-ibm-lotus-notes-8) **Published:** December 9, 2008 **Author:** Kenny Smith **Content:** I wish I could present this to every customer I meet who has Exchange simply because of the features of Outlook (even though you can run Outlook with a Domino back end). [8 Reasons You'll Love Using IBM Lotus Notes 8](http://www.slideshare.net/elsua/8-reasons-youll-love-using-ibm-lotus-notes-8?type=powerpoint "8 Reasons You'll Love Using IBM Lotus Notes 8")View SlideShare [presentation](http://www.slideshare.net/elsua/8-reasons-youll-love-using-ibm-lotus-notes-8?type=powerpoint "View 8 Reasons You'll Love Using IBM Lotus Notes 8 on SlideShare") or [Upload](http://www.slideshare.net/upload?type=powerpoint) your own. (tags: [ibm](http://slideshare.net/tag/ibm) [lotus](http://slideshare.net/tag/lotus)) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Understanding IBM's "PVU" terminology](https://www.strongback.us/2008/12/understanding-ibms-pvu-terminology) **Published:** December 8, 2008 **Author:** Kenny Smith **Content:** If you have ever purchased software from IBM, you know they license processors based on the concept of a PVU. A processor may have a different PVU based on its type. I found a good link that helps explain how many PVU’s you need based on the system you will be running the key solution on. [http://www-01.ibm.com/software/lotus/passportadvantage/pvu\_licensing\_for\_customers.html](http://www-01.ibm.com/software/lotus/passportadvantage/pvu_licensing_for_customers.html) Keep in mind that the performance on a Power architecture can be substantially different than x86. In some cases you get more for your money on x86. It all depends on the type of workload to be performed. Some do better on RISC based systems, other on x86. Comparing a multi-core system muddies the water a bit. I highly recommend you investigate performance measurements and white papers before choosing a platform. It can pay off in spades in the end. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, pvu --- ### [WebSphere App Server 7 Learning Resources](https://www.strongback.us/2008/12/websphere-app-server-7-learning-resources) **Published:** December 8, 2008 **Author:** Kenny Smith **Content:** For those getting started with WebSphere App Server, I thought I’d refer you to some various sites for general information. All of these sites are also bookmarked at WAS 7 Infocenter What’s New with WAS 7 (Tom Alcott is a great writer and a guru on WAS) [http://www.ibm.com/developerworks/websphere/library/techarticles/0809\_alcott/0809\_alcott.html](http://www.ibm.com/developerworks/websphere/library/techarticles/0809_alcott/0809_alcott.html) WAS fixpack 7.0.0.1 (a must have install) [http://www-01.ibm.com/support/docview.wss?rs=0&q1=WebSphere+portal+solaris&q2=install&uid=swg27014463&loc=en\_US&cs=utf-8&cc=us&lang=en](http://www-01.ibm.com/support/docview.wss?rs=0&q1=WebSphere+portal+solaris&q2=install&uid=swg27014463&loc=en_US&cs=utf-8&cc=us&lang=en) # An overview of administrative enhancements (part 1) [http://www.ibm.com/developerworks/websphere/techjournal/0811\_apte/0811\_apte.html?ca=drs-](http://www.ibm.com/developerworks/websphere/techjournal/0811_apte/0811_apte.html?ca=drs-) Education Videos of WAS 7 (these are extremely helpful… not just marketing hype). [http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was\_v7/was/WASv70\_Task.html](http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.was_v7/was/WASv70_Task.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS --- ### [Portal 6.1.0.1 on WAS 7 beta available](https://www.strongback.us/2008/12/portal-6-1-0-1-on-was-7-beta-available) **Published:** December 8, 2008 **Author:** Kenny Smith **Content:** If you are interested in taking advantage of the new features of WebSphere Application Server 7 with WebSphere Portal, [an open beta is available](https://www14.software.ibm.com/iwm/web/cc/earlyprograms/lotus/wps61beta/?S_TACT=105AGX10&S_CMP=LP). Cheers. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, WebSphere --- ### [Creating a Thread Dump in WAS](https://www.strongback.us/2008/12/creating-a-thread-dump-in-was) **Published:** December 5, 2008 **Author:** Kenny Smith **Content:** A thread dump in Websphere App Server is a log file that contains information about the currently running threads and processes within the JVM. A thread dump log is created if a process on an application server spontaneously closes. Thread dumps can also be triggered on command (forced). This is helpful when you have an applicaiton that is difficult to troubleshoot in development, but is regularly crashing in production. To force a thread dump, do the following: 1. Launch wsadmin from the bin directory. 2. Create a local variable with the following command in wsadmin: set jvm \[$AdminControl completeObjectName type=JVM,process=server1.\*\] where “server1” is the name of the actual server you wish to dump. 3. Generate the thread dump with the command: $AdminControl invoke $jvm dumpThreads 4. Look for a file in the WebSphere Application Server root directory with a name following the format javacore.data.time.id.txt. This is valuable data where you can search the data for what went (or is) going wrong in your applications. - If the thread dump was created by the JVM and was not forced, check for error or exception information strings at the beginning of the file. - Check the snapshots of the threads. These snapshots start in the section labeled Full thread dump. Look for threads with descriptions that contain state:R. This description content indicates that the threads were active and running when the dump occurred. Also, look for multiple threads with the same Java application source code location. Multiple threads from the same location might indicate a deadlock condition. Keep in mind that thread dumps are different than heap dumps. A heap dump shows you the memory map of what is currently running. Using a tool like [Heap Roots](http://www.alphaworks.ibm.com/tech/heaproots) or [Heap Analyzer](http://www.alphaworks.ibm.com/tech/heapanalyzer) from IBM Alphaworks is very handy at identifying memory leaks and runnaway processes. Of course there is also the Tivoli Performance Viewer built into the toolset. On WAS 7, you have the “Performance and Diagnostic Advisor Configuration” (formerly the Runtime Performance Analyzer) which can give you dynamic recommendations while in flight on production systems. This is incredibly valuable for those bugs/defects which are terribly difficult to reproduce in a development environment. Your IBM business partner should also be able to help you as well. If they can’t, perhaps you should find [another business partner](/solutions/websphere-support) who knows what they’re doing. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** debugging, heap, WAS --- ### [Scripted WAS Installations 101](https://www.strongback.us/2008/12/scripted-was-installations-101) **Published:** December 1, 2008 **Author:** Kenny Smith **Content:** So, to get started with your first script, let’s start with a common one. That is installing an application, and removing an application. I recommend that you start writing your script as verbose as you can. Don’t worry about ‘hard coded’ values, you can take care of those later. Let’s say you want to install an application (any Java app, not just HATS). This will require two script files. One is the Jython script, the other is a Windows batch file to kick it off (or shell script if your’re on Unix/Linux). Here are the contents of the Jython script (named Install.py): AdminApp.install(‘HATS61.ear’, \[‘-verbose’, ‘-appname’, ‘CustomerServiceApp’, ‘-createMBeansForResources’, ‘-usedefaultbindings’, ‘-noprocessEmbeddedConfig’, ‘-preCompileJSPs’, ‘-server’, ‘server1’, ‘-MapModulesToServers’,\[\[‘CustomerServiceApp’, “myHatsApp.war,WEB-INF/web.xml”, “WebSphere:cell=MyCell,node=MyNode,server=server1” \]\]\]) This is as simple as it gets. Notice the values in green? All of those we will eventually replace with variables so that we can generalize the script and reuse it for other applications. The options that I have included are: -verbose: This shows all the steps in the console (the SystemOut.log file) as the application is installed. Once your script is verified as working, this option is not really needed. –preCompileJSPs : this precompiles all HATS transformations so that the application performs as fast for the first person as it does for the last person. –createMBeansForResources: this is by default true and does not need to be added, but I add it for clarity. An MBean is a Management bean. It is what allows WAS to communicate with the application to discover its status (started, stopped), and its configuration. Without it, you cannot even tell if the application is running or installed, and it will not show up in the Web console. –noprocessEmbeddedConfig:This option forces the installer to ignore everthing in the extended deployment configuration (seen as the ‘Deployment’ tab in the EAR file configuration within RAD or the WAS Server Tooklit). This configuration is typically written by developers. In a live environment, the SysAdmin should control the entire deployment configuration which includes mapping security roles to users. This is NOT somthing that a developer should explicity control, even if they are the same. -usedefaultbindings:This will map the server to the default virtual hosts and ports. Again a standard default that has been explicitly set. –MapModulesToServers: Here we map the application specifically to a WebSphere App Server. This could map to multiple servers or to clusters if need be. The server name that you see listed is the explicit id of the server. Also, this is an array of servers, even though it is listed as just one. There are other ways of getting the server id’s and creating a list of the servers to deploy to. I am not mapping to Web servers in this step. I can do that later. Now, let’s look at the contents of the batch file: echo Deploying application to Windows environment CD C:UserskennyDocumentsProjectsLab call C:IBMSDP70runtimesbase\_v61profilesAppSrv01binwsadmin -conntype SOAP -host localhost -f C:UserskennyworkspacesLabsscriptsInstall.py pause The only real thing we are doing in the batch file is changing the working directory to where the python (jython) script is and executing the wsadmin.bat file from our profiles. Your actual directory structure will be very different. Just remember that I am working out of my RAD 7.0 environment, and navigating to a folder in my documents directory on Vista. Once you have this, if you know the values will never change, then you have your deployment scripts! However, in the real world, you will probably want to have deployment scripts for various applications, or at least, a script for test, development and production environments. The next thing we could do is to extrapolate the variables and call those from the command line (or batch file as appropriate). This will let us reuse our Jython script for other applications. def install(): AdminApp.install(hatsapp, \[‘-verbose’, ‘-appname’, applicationName, ‘-createMBeansForResources’, ‘-usedefaultbindings’, ‘-noprocessEmbeddedConfig’, ‘-preCompileJSPs’, ‘-server’, server, ‘-MapModulesToServers’,\[\[applicationName, “myHatsApp.war,WEB-INF/web.xml”, serverlist \]\]\]) hatsapp=sys.argv\[0\] applicationName=sys.argv\[1\] server=sys.argv\[2\] serverlist=sys.argv\[3\] print “Installing My Application.” install Now, your batch file will look something like this: echo Deploying application to Windows environment CD C:UserskennyDocumentsProjectsLab call C:IBMSDP70runtimesbase\_v61profilesAppSrv01binwsadmin -conntype SOAP -host localhost -f C:UserskennyworkspacesLabsscriptsInstall.py C:UserskennyworkspacesLabsmyApp.ear MyApplication server1 \[“WebSphere:cell=MyCell,node=MyNode,server=server1”\] pause I’ve put the options in bold above. This should show you how you can call it but with different options, servernames, etc. If you copy and paste the above jython script, please keep in mind, that I have not indented anyting. Python (and subsequently Jython) is very whitespace sensitive. Every indention has a meaning, and it is used rather than the typical curly braces (like Java) to denote the beginning and end of function calls. Another function (‘def’ as above) that we should consider is the removal of an application. Here is a simple one: def doRemove(appname): AdminApp.uninstall(appname) AdminConfig.save() print appname + ” successfully removed. “ Now, you could add another argument to the script so that you can specify ‘install’ or ‘remove’ as one of the now 5 arguments to the script. That way you can still use the same install.py script, but now it will install and remove an application. As you can see from above, removal is much easier than installation. As you can tell, the power of scripting is substantial. If you are using a GUI, you are chained to it, and have many options that can introduce user error. The scripts above are exact. They require a trigger to exectute, but nothing more. That trigger could be a user double clicking on a batch file, or a Windows timed task, or even something more advanced like a Rational BuildForge agent kicking off the install after a developer has checked in their source code to version control. The latter requires more work to setup, but is powerful in the sense that this is now all automated. Automation of error-prone tasks improves productivity and quality. That is all for this segment. I will probably post more on this topic later. If this has been helpful to you, then please post a comment so that I know to write more (I hope it is helpful). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** buildforge, jython, scripting, WAS, wsadmin --- ### [Rational HATS 7.5 Released](https://www.strongback.us/2008/11/rational-hats-7-5-released) **Published:** November 29, 2008 **Author:** Kenny Smith **Content:** As I had mentioned in one of my previous posts, Host Access Transformation Services is now available. This is NOT just a upgrade. You will need one of the products from the 7.5 codestream of Rational Software developer products: - Rational Application Developer - Rational Business developer - Rational Software Architect - RDi - RDz These are based on Eclipse 3.4, and so is HATS 7.5. In fact, the only reason to move to it is if you are planning on running on WAS 7, or have already installed a 7.5 development environment. Note that if you are doing any rich client work, you should stay at the 7.1 level as the visual code editor for Eclipse has been removed with the 3.4 release of Eclipse. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, RAD, rational --- ### [Portal Install: Part Number hell](https://www.strongback.us/2008/11/portal-install-part-number-hell) **Published:** November 21, 2008 **Author:** Kenny Smith **Content:** For those that install Portal and often download the sources from IBM Partnerworld or Passport Advantage, you know that after you download the whole source, you know its a PITA to decipher what is what in all those part number zip files. I pulled down the IBM Context Accelerator Package. The zip files alone were 17GB. Once Extracted, I had about 40GB of data, and every zip file was this ridiculous alphanumeric code. The only way to decipher it is to go to dmgr.pro file (which is a text file for the download manager) and to a search, or to do a search on the original download page, which requires you to log in again and search for the exact eAssembly. What a wast of time! For that, I’ll post a simple web page of descriptions for that particular eAssembly – IBM Enterprise Suite Accelerator and WebSphere Portal Server for Windows, V6.1 Multilingual eAssembly (CR70GML). This is by no means complete, only those that I chose to download. Part NumberDescriptionC15H7MLIBM WebSphere Information Integrator Content Edition V8.4 Windows MultilingualC15H8MLIBM WebSphere Information Integrator Content Edition V8.4 UNIX MultilingualC183WMLIBM OmniFind Enterprise Edition 8.5 for Windows, MultilingualC188PMLIBM Lotus Quickr 8.1 for WebSphere Portal Network Deployment Windows (W-1) Multilingual C1895MLIBM Lotus Quickr 8.1 Multiplatform Multilingual Quick Start Guide C1BE2MLIBM Lotus Quickr 8.1 services for WebSphere Portal – IBM Tivoli Directory Server for Windows V6.1 (W-7) MultilingualC1C6QMLIBM Lotus Quickr 8.1 services for WebSphere Portal Edge Components for WebSphere Application Server Network Deployment for Windows, V6.0 (W-8) Multilingual C1D3BMLWebSphere Portal V6.1 – Quick Start Guide – IBM WebSphere Portal, V6.1 MultilingualC1D76MLIBM Lotus Quickr 8.1 for DB2 UDB Enterprise Server Edition Windows (W-2) Multilingual C1D75MLIBM Lotus Quickr 8.1 for WebSphere Portal Install (W/IL-Setup) MultilingualC1D76MLIBM Lotus Quickr 8.1 for DB2 UDB Enterprise Server Edition Windows (W-2) MultilingualC1D78MLIBM Lotus Quickr 8.1 for WebSphere Portal Install 1 of 3 (W3IL3) MultilingualC1D79MLIBM Lotus Quickr 8.1 for WebSphere Portal Install 2 of 3 (W4IL4) MultilingualC1DJ7MLIBM Lotus Quickr 8.1 for WebSphere Portal Install 3 of 3 (W5IL5) MultilingualC1F45MLIBM WEBSPHERE PORTLET FACTORY, PORTLET FACTORY DESIGNER V6.1.0 MPLAT C1H9HMLWebSphere Portal V6.1 and Lotus Web Content Management V6.1 – DB2 UDB Restricted Enterprise Server Edition for Windows x86-32, V9.1 FP4 (W-11) Multilingual C1H9JMLWebSphere Portal V6.1, WebSphere Portal Express V6.1 and Lotus Web Content Management V6.1 – WebSphere Application Server Network Deployment Supplements for Winx86-32, V6.1 (W-13) for Portal and Web Content Management, W-8 for Portal Express MultilingualC1I26MLWebSphere Portal V6.1 and Lotus Web Content Management V6.1 – Portal Server Content Install -SetupC1I29MLWebSphere Portal V6.1 and Lotus Web Content Management V6.1 – Portal Server Content component, V6.1( Disc 1 of 3) (W-3, A-3, H-3, HI-3, I-3, IL-3, PL-3, ZL-3, SS-3, SO-3) MultilingualC1I2AMLWebSphere Portal V6.1 and Lotus Web Content Management V6.1 – Portal Server Content component, V6.1 (Disc 2 of 3) (W-4, A-4, H-4, HI-4, I-4, IL-4, PL-4, ZL-4, SS-4, S0-4) Multilingual C1I2CMLWebSphere Portal V6.1, WebSphere Portal Express, V6.1 and Lotus Web Content Management V6.1 – IBM Support Assistant V4.0, RemoteDCS V6.1 & Search Component WebScanner V6.1 (W-6, A-6, H-6, HI-6, I-6, IL-6, PL-6, ZL-6, SS-6, S0-6) MultilingualC1I2DMLWebSphere Portal V6.1 and Lotus Web Content Management V6.1 – WebSphere Process Server for Windows 32-bit, V6.1.0.1 (W-7) Multilingual C87PNMLWebSphere Application Server V6.1 Supplements for Windows 2000 and Windows 2003, 32-bit German English International Spanish French Italian Japanese Korean Portuguese Brazilian Chinese Simplified Chinese TraditionalC87QTMLWebSphere Application Server V6.1 for Windows 2000, Windows Server 2003, 32bit,German English International Spanish French Italian Japanese Korean Portuguese Brazilian Chinese Simplified Chinese Traditional C88UXMLEdge Components V6.1, Windows 2000 Windows Server 2003, 32-bit support (for WebSphere Application Svr Network Deployment V6.1) German English International Spanish French Italian Japanese Korean Portuguese Brazilian Chinese Simplified Chinese Traditional C88UYMLEdge Components V6.1, Windows 2000 Windows Server 2003 IPv6 32-bit support JVM (for WebSphere Application Server Network Deployment V6.1) Multilingual C88XGMLWebSphere Application Server Network Deployment V6.1, Application Server Toolkit for Windows XP, Windows 2000, Windows Server 2003 Multilingual [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** download director, Portal, quicker --- ### [WAS 6.1 Scripting Overview](https://www.strongback.us/2008/11/was-6-1-scripting-overview) **Published:** November 20, 2008 **Author:** Kenny Smith **Content:** While doodling around on YouTube, I found a few videos on WebSphere App Server. Of those, one was completely about their marketing packaging. This one, however, seemed relatively useful. It covers WAS scripting interface (a.k.a. wsadmin). If you have never bothered before, here are a few things you can do: - Repeatable application installation - Precise setup between test and production environments - Remotely configure a server without a browser/gui (i.e via SSH) - Hook into automated build/testing tools for repeatable testing. The interface is available in the WAS install directory under /bin/wsadmin.sh where means the following on these platforms: - AIX: /usr/IBM/WebSphere/AppServer/ - Solaris: /opt/IBM/WebSphere/AppServer/ - Windows: C:Program FilesIBMWebSphereAppServer Here’s the video. I’ll post a couple of useful scripts later [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WebSphere, wsadmin --- ### [Responses to Frequently Asked Questions about IBM Lotus Notes & Domino for November 2008](https://www.strongback.us/2008/11/responses-to-frequently-asked-questions-about-ibm-lotus-notes-domino-for-november-2008) **Published:** November 20, 2008 **Author:** Kenny Smith **Content:** This note contains links (URLs) to technical support documents regarding IBM Lotus Notes & Domino, as well as links to key information helping you derive the most value from your software licenses, and helping you be the best possible system administrator. This month’s mailing has six sections: Announcements Answers to Frequently Asked Questions Open Mics/Webcasts & devWorks articles Multimedia Modules Featured Documents General Self-Help Announcements from the Technical Information and Education team Lotus Technical Information news on Twitter Follow us on Twitter at and keep abreast of new technical information from a variety of sources such as product wikis, developerWorks articles, and blogs. New to Twitter? Take two minutes to watch a great presentation explaining Twitter in a very easy-to-understand way: . Lotus Domino Designer wiki This new addition to the Lotus product wiki family provides information from the Domino Designer community on creating, deploying, and troubleshooting Domino applications. We hope that you find the articles useful, and we encourage you to contribute. To get started, go to . Lotus Technical Information IdeaJam Have a topic idea for an article, Redbook, or education session? Or maybe you have an idea to improve our information centers or product wikis. We’re providing a new way to share your ideas and comments. Post your ideas and others chime in to promote, demote, and offer feedback. Popular ideas are promoted to the top of the page, so vote and make your opinion count! To see the latest ideas, go to and select the “Lotus Technical Information” IdeaSpace. Frequently Asked Questions Title: Key Content Resources for Lotus Notes and Domino URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg27013364](http://www.ibm.com/support/docview.wss?rs=899&uid=swg27013364) Title: Errors occur when upgrading to Notes 8.0.2 URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21316968](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21316968) Title: A hotfix is available for a Domino 8.0x server hang when MIME messages with certain attachments are converted to CD format URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21318670](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21318670) Title: Troubleshooting the Domino Web Access 8 contact list (Buddy List) URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21317895](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21317895) Title: Multi-user Smart Upgrade with SURunAs to Notes 8.0.1 does not automatically launch URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21316862](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21316862) Title: Frequently Asked Questions about Ultralite and the iPhone URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21317768](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21317768) Open Mics and Webcasts Title: IBM Tech Exchange Webcast recording: NSD case studies for Domino on System i – November 4, 2008 URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21322552](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21322552) Title: IBM Tech Exchange Webcast on Best Practices for Domino on System i – October 8, 2008 URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21320353](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21320353) Title: Open Mic Replay: Configuring Security in Domino HTTP Servers – 14 August 2008 URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21315685](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21315685) Find an up-to-date schedule of upcoming Open Mics & Webcasts here: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg27011126](http://www.ibm.com/support/docview.wss?rs=899&uid=swg27011126) developerWorks article Administration Process Troubleshooting Guide Multimedia Modules Title: Multimedia: Troubleshooting server crashes and hangs for Domino on IBM i or i5/OS URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21304574](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21304574) Title: Multimedia: Methods to set up an additional Domino server on IBM i (formerly i5/OS) URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21307650](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21307650) Title: Best practices and problem recovery tips for IBM Lotus Domino on System i URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21293957](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21293957) Title: Multimedia presentation: “Troubleshooting Lotus Domino server crashes on UNIX” URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21296420](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21296420) Title: Overview of new features in Domino 8 and 8.0.1 for UNIX platforms URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21296689](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21296689) Title: Multimedia presentation: “Troubleshooting semaphores and Lock Manager messages” URL: [http://www.ibm.com/support/docview.wss?rs=899&uid=swg21297031](http://www.ibm.com/support/docview.wss?rs=899&uid=swg21297031) Featured Documents Title: Featured Documents for Lotus Domino server URL: [http://www.ibm.com/support/docview.wss?rs=463&uid=swg21195444](http://www.ibm.com/support/docview.wss?rs=463&uid=swg21195444) Title: Featured Documents for Lotus Notes client URL: [http://www.ibm.com/support/docview.wss?rs=475&uid=swg21195443](http://www.ibm.com/support/docview.wss?rs=475&uid=swg21195443) Title: Featured documents for Lotus Domino Web Access URL: The Featured Documents pages are regularly updated to highlight frequently requested content. For that reason, we recommend you bookmark them and re-visit regularly. General Self-Help Resources Here are links to other ways that you can access IBM Lotus Notes & Domino self-help support information on the Web: 1\. My Support () 2\. Lotus Support is just a click away ( ); learn more about Lotus Software Self-Assist Options. 3\. IBM Software Support Site design update ( ) 4\. New Lotus Notes Domino Wiki () [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Domino update tests to retire December 31st](https://www.strongback.us/2008/11/domino-update-tests-to-retire-december-31st) **Published:** November 19, 2008 **Author:** Kenny Smith **Content:** For my fellow consultants out there who have not taken the time to get your Lotus Domino 7 update exams out of the way (that would include me), your time is limited. IBM has announced that these update exams will be retired on December 31st. Really, the only reason to get them at this point is a pride issue, since Domino 8 has been out for well over a year. My excuse is that I’ve been setting up a business. Still, I’ve got a little time on my hands and plan on knocking them out. I’d like to say I’m officially certified on Notes 4, 5, 6, 7, and 8. Looks good on the [virtual resume](http://www.linkedin.com/in/kennysmith) at least. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino --- ### [Ubuntu Linux 8.10 due out tomorrow.](https://www.strongback.us/2008/10/ubuntu-linux-8-10-due-out-tomorrow) **Published:** October 30, 2008 **Author:** Kenny Smith **Content:** Ubuntu Linux, easily the number one distribution of GNU Linux operating system is due out tomorrow, October 30. If you have never heard of Linux…well… you’ve probably been living under a rock. If you have but never Ubuntu, well it is a pretty compelling replacement for a Windows desktop. IBM has recently added support for Notes/Domino on Ubuntu. Look under my previous posts for recent raves, or check out the links on [Lifehacker.](http://lifehacker.com/search/ubuntu/) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ubuntu --- ### [HATS: Doing different things with the same screen at different times](https://www.strongback.us/2008/10/hats-doing-different-things-with-the-same-screen-at-different-times) **Published:** October 29, 2008 **Author:** Kenny Smith **Content:** This is something I get asked about often regarding Rational HATS. Usually the person wants to run a macro on a screen under one circumstance, and display it with a transformation on another circumstance. For example, let’s say you want to combine two disparate screens of read only data. The first time you get to the first screen, you need to run a macro, collect the data, navigate to the second page, collect its data, then navigate back to the first page. Question: Since the page you kick off the macro on is the same as the one you display, how do you distinguish between the two with screen recognition?[![](https://www.strongback.us/wp-content/uploads/2008/10/GV.png)](https://www.strongback.us/wp-content/uploads/2008/10/GV-1.png) The answer, is to set a globabl variable the first time you run the macro. Then have two separate screen customizations (with separate screen recognition criteria). One does a typical text based recognition. The other one uses the global variable recognition. Now you may be tempted to put the macro and the transformation on the same screen customization. If you do , you will find the macro never runs. That is because a transformation will always execute first, and macro will always run last. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, ibm --- ### [HATS 7.5 Announcement](https://www.strongback.us/2008/10/hats-7-5-announcement) **Published:** October 22, 2008 **Author:** Kenny Smith **Content:** IBM has [announced ](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-359)that HATS 7.5 will become available on November 26 of this year. While there are no major new features, the largest benefit will be support for the new 7.5 code stream of the development platforms (RSA, RAD, RBD, RDi, RDz, etc), which runs on top of Eclipse 3.4. There is a word of caution, however for those customers who have RCP style HATS projects. This is from the business partner internal memorandum: > The HATS 7.5 announcement indicates to customers that support for visually editing HATS rich client transformations and templates is no longer available in the HATS Toolkit. Although this statement is true at GA time, it is possible that a solution will found by 2Q 2009. This issue occurred because the Eclipse Visual Editor was dropped from the latest release of Eclipse (3.4), and so was not included in the latest Rational tools, which HATS sits on top of. HATS development is exploring options for supporting an Eclipse 3.4-compatible version of the Eclipse Visual Editor in an upcoming service release. > For now, we recommend that existing HATS rich client customers remain on HATS 7.1 (since there are also no significant enhancements to rich client support in HATS 7.5). For potential new rich client customers, the HATS 7.1 trial will remain available on the Web until this issue is fully resolved. Unless you are running RCP, you can assume it safe to upgrade your projects and platforms to 7.5. This will allow you to run HATS on a WebSphere App Server 7.0 runtime, and subsequently a Java 6 SDK. This release of Java was focused on speed and performance rather than new code features. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [NOW AVAILABLE: IBM Rational Architecture Management and Construction solutions v7.5](https://www.strongback.us/2008/10/now-available-ibm-rational-architecture-management-and-construction-solutions-v7-5) **Published:** October 6, 2008 **Author:** Kenny Smith **Content:** IBM has released the next version of their software development platform. These are based on Eclipse 3.4 and include the new WebSphere Application Server 7.0 with full Java EE 5.0 support. This includes EJB 3.0 support, JPA support, and the newest web services extensions. [http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-305#h2-chargex](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-305#h2-chargex) Starting pricing levels are as follows: Rational Software Architect for WebSphere Software: $5,840.00 Rational Application Developer for WebSphere Software: $4,240.00 These are the top two most common products sold, and there are various packages available. If you are already under software maintenance with IBM, this should be a direct upgrade as part of the package. Keep in mind however, you should be wary of upgrading your platform if you are in the middle of an existing project. Upgrade your entire team at the same time, but spend a few weeks reviewing your source code in the new editors first so you know what to expect. These products did undergo an extensive beta test and most of the bugs should have been fleshed out. As always, there will be patches in the near term, but I would not be terribly concerned. If you are starting a new project, then this is the perfect opportunity to upgrade. The new editor features of Eclipse 3.4 are certainly worth it, and having the new API features to work with give you lots of new options for designing a robust architecture. If you are interested in a quote or details of these products, please contact me and I’ll be happy to help. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** RAD, rational --- ### [And then came Chrome](https://www.strongback.us/2008/09/and-then-came-chrome) **Published:** September 11, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/09/inspector.png)](https://www.strongback.us/wp-content/uploads/2008/09/inspector-1.png) So, I have a long diatrabe about standardizing on Firefox and then another open source browser gets released. I’m currently writing this blog post on Google’s new browser Chrome. It is a different experience for sure, but some of the same familiar features that I like such as tabbed browsing, and formatted code when you ‘view source’. It also has a DOM inspector comparable to Firefox. Here are a few screen shots for your visual enjoyment. I pulled up the [acid2 test](http://www.webstandards.org/files/acid2/test.html#top) site to see how well it adhered to web standards, and it rendered perfectly. Beautifully. Much better than Firefox. If you have never heard of the [acid2 test](http://www.webstandards.org/files/acid2/test.html#top), it is a test site writen by the [web standards project](http://www.webstandards.org/action/acid2/guide/) to help web browser vendors correctly support features that web designers would like to use and to test these features before the vendor ships their browsers. Here is some samle renderings. This should open your eyes. # Google Chrome ![Google Chrome](https://www.strongback.us/wp-content/uploads/2008/09/acid2chrome.png) # Apple Safari [![](https://www.strongback.us/wp-content/uploads/2008/09/acid2Safari.png)](https://www.strongback.us/wp-content/uploads/2008/09/acid2Safari-1.png) # Mozilla Firefox 3 ![](https://www.strongback.us/wp-content/uploads/2008/09/acid2firefox.png) # Internet Explorer 7 [![](https://www.strongback.us/wp-content/uploads/2008/09/acid2IE7.png)](https://www.strongback.us/wp-content/uploads/2008/09/acid2IE7-1.png) I was not surprised by the results of IE7. Microsoft is famous for making its own ‘standards’. I was surprised by the results of Firefox (UPDATE: I have updated the pic for firefox. AdBlock Plus will garble the Acid2 test, and therefore my surprise is no longer valid). My apologies to the folks at Opera as I have not tried this test on that browser. And who cares about Konquerer? Nonetheless, this should open your eyes as to development of web application in a standards compliant fashion. Browser are more and more challenged to render using the actual web standards. A web page should act and and work the same in all browsers, and when you have to hack your CSS and JavaScript to get it to work in one is a waste of time, and expensive. It would be like having different terminal emulators for a mainframe and having to hack your cobol to support the top most popular emulators. Its a good analogy as a browser is really more like a graphical mainframe. All the heavy lifting is done on the server. The browser just has to do the rendering. So back to Chrome. Its a nice environment. I will be using it for all my gmail accounts, but not for use on every site. Its a fast browser also. Pages render lightning fast, especially gmail (go figure). The next step for Google is to begin allowing and overseeing add ons to the browser as Firefox does (and IE to some extent). When you start having developer extensions, add blocking, editing, and bookmarking extensions, you should start seeing a noticeable uptick in usage. Its going to be a serious competitor to Firefox. Still some bugs, but overall some very nice features. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** browsers, chrome, firefox, IE7 --- ### [Domino & Notes 8.0.2 Update released](https://www.strongback.us/2008/09/domino-notes-8-0-2-update-released) **Published:** September 3, 2008 **Author:** Kenny Smith **Content:** For those that missed it,[ IBM release 8.0.2 to Notes on Friday of last week.](http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg21316646#3) This release is highly focused on performance. IBM’s goals were to reduce the startup time of the Notes client and improve the overall performance of the Domino server. For some real world measurements, Darren Duke has [posted ](http://blog.darrenduke.net/Darren/DDBZ.nsf/dx/8.0.2-lotus-notes-relative-performance.htm)some of his own results. This is a no-brainer update, and you should go ahead and seed your SmartUpgrade kits accordingly. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [New Vista vulnerability released](https://www.strongback.us/2008/08/new-vista-vulnerability-released) **Published:** August 8, 2008 **Author:** Kenny Smith **Content:** As [mentioned on Slashdot](http://www.neowin.net/news/main/08/08/08/vista39s-security-rendered-completely-useless-by-new-exploit) this morning, a new vulnerability has been released which shreds all the security built into Vista. Yes, Windows Vista is considered to be much more secure than XP. I was actually starting to use and like Vista on a new hard drive I recently purchased. This newly discovered type of attack depends upon how IE loads .NET DLL’s into the browser, which gives the attacker near full reign over the subjects system. This is yet another reason I use Firefox over IE. Mozilla really did an awesome job at making Firefox peform better between version 2 and version 3. FF2 had a lot of memory leaks, and in some cases, would eat up as much as 600MB of memory on my machine when testing Portlets I was writing. Now, it rarely goes north of 200MB. It loads much faster and runs faster than IE. The security risks with IE on Windows alone are worth it. Firefox is also much easier to develop for. The add-ons for Firefox are free, and the Firebug add on is bar-none the best Javascript debugger on the planet. I don’t get why most IT shops are so hesitant to standardize on Firefox. Yes, it is more work than just using the standard IE. However, if you do have mostly Windows desktops, you can still use SMS to push Firefox and all its plugins down to the desktop. It’s not that much more work than pushing down IE7 over IE6. If you are reading this and still using IE6, then good morning Rumplestilskin. Its 2008. Time to wake up. Rise and shine! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** .NET, firefox, IE7, Vista --- ### [Resources for Freelancers](https://www.strongback.us/2008/08/resources-for-freelancers) **Published:** August 6, 2008 **Author:** Kenny Smith **Content:** Yes, Strongback Consulting is a full fledged company, but I started as basically a freelancer. In getting my business started I’ve learned a few things about the tools that are really necessary for the business. I’ve learned some hard lessons in the process. Some like to say that experience is the best teacher. That’s not quite true. Someone else’s experience is the best teacher. Here’s a few of my tips: ### Software: I’m a big advocate of Open Source, so I have a list of must have software for anyone doing technical freelance work: 1. FireFox – If you don’t use firefox, you shouldn’t be Freelancing. See my prior posts for the specific FF plugins. This is number one for a reason. 2. Open Office – This is single handedly the best money saver of the bunch. OO is a great tool. There have been occasions where MS Office provided functions that I could not find in OO, but its not enough (thus far) to justify the cost of MS Office. 3. ClamWin – Antivirus tools seem like such a scam to me. They are expensive and rob your system of valuable computing resources. ClamWin is an open source product, and thus far seems to perform fairly well compared to TrendMicro. McAfee is the worst in my opinion. Now, if you run a Mac or a Linux desktop, well you could just go ‘naked’. ClamWin has also shown to be as effective at fighting viruses as the commercial products. 4. Subversion – You need to version your code. Period. This is free, open source, and one of the most widely used version control systems in the market place. It also comes with nearly every Linux distribution. Thus, if you use a Linux desktop, you will probably have this out of the box (or out of the ISO as the case may be). Along with the subversion repository, you may also want to get TortoiseSVN as a file system based client to your Subversin server. It you use Eclipse, then use Suversive as the client. 5. Putty – If you have a Windows desktop, and have clients that run Unix or Linux, you must have an SSH client. Putty is king. 6. Cygwin – This one is fantastic, but a bit of a luxury. This allows me to have a Linux/Unix like bash shell instead of my ordinary DOS prompt. With Cygwin, you can add on RSync. This is a handly backup tool that allows you to synchronize directories. Its not a versioning tool, however. Sed, Awk, and Grep are other tools that are not matched by anything in a DOS prompt. Nonetheless, I recommend anyone get familiarized with Cygwin and a bash shell. Once you have, then you can use ANY operating system at a command line (Linux, Unix, Mac, BSD, and now Windows). 7. Notepad2 – For those on Windoze, this is a slightly higher functioning version of Notepad. It does highlighting and parsing of code, properties files and text documents. It also provides number of lines on the left hand column. Its lightweight and in my opinion, more useful than plain old Notepad. 8. Jedit – Another Notepad replacement, Jedit is a bit better at formatting and highlighting than Notepad2, at the cost of being a bit heavier to load. Its entirely Java based, which makes it less dependent on the OS. It can be used to edit Java code, but not compile it. Its great at editing properties files, and opening up JSP’s, ASP’s, HTML, CSS, and other web type files. Its MUCH lighter than Eclipse, so its great if you need a quick edit. 9. CutePDF – Sometimes you need to deliver a file to a customer in PDF format. This acts as a printer, and you just print to the given PDF. Its lightweight and doesn’t prompt you to buy support like PDF995 does. OpenOffice will also export directly to PDF, but if you have MS Office, you’ll need CutePDF. This is also handy if you want to print a web page to PDF. 10. GIMP – Unless your Freelance work is that of a graphic artist, you really should not need Photoshop. Granted, Photoshop is a great tool. Fantastic tool. Fantastically expensive tool also. Gimp is free and is a viable substitute for Photoshop. If you have the occasional photo to touch up, you need to make some buttons or widgets for an Intranet website, this is the tool to use. Now, sometimes you just can’t really replace a commercial products. Here ar ### [![](https://www.strongback.us/wp-content/uploads/2008/08/Screenshot.png)](https://www.strongback.us/wp-content/uploads/2008/08/Screenshot-1.png) e a few I have a hard time living without: 1. SnagIT – From TechSmith. This is a great tool for doing screen captures. This image shows what you can do that a plain ‘print screen’ can’t. This is invaluable for system documentation and training materials. TechSmith also has Camtasia which is a great product for recording screen interactions. This also does note really have a viable substitue in open source. 2. Cisco System VPN Client – There seem to be far more companies that use Cisco than any other VPN software, so it will be hard to justify not having this VPN client. It just works. There is a client for Linux, Mac, and Windows. A matching open source client is out there, but in my opinion, its not reliable. Open Souce is my preference, but only if the product is reliable. 3. Quickbooks – Personally, I really get annoyed with Quickbooks. However, if you were to try to replace its functionality with custom written code, you would spend more time messing around with code than billing. You are in business for a reason – to make money. Writing code for yourself is does not bring in the dough. Bite the bullet and buy Quickbooks. Use the professional edition. Don’t use Quicken for home and business as it does not have enough functionality. 4. Photoshop – Yes, this is a contradiction from my previous list, but I list this here only if you do Graphics for a living. Its expensive, but its the best on the market. See my previous post if you don’t do this for a living. 5. Windows – Depending on what you do for your Freelance gig, you may have to use something other than Linux for your desktop. Believe me, I’ve tried to get away from Windows. My problem is that much of the IBM software that I use does not yet run on Linux or Mac. Thus, I’m stuck on Windows. Yes you should purchase it and not pirate it. Even if you run Mac, you will probably have some client software that only runs on Windows. I’m almost to the point to where I can recommend Vista Business over Windows XP. The drivers are better, the security is better, and the peformance with service pack 1 is much improved. If you are getting a new machine, bite the bullet and go with Windows Vista SP1 Business edition 64bit. That way you can maximize all available memory, and maximize performance. 6. VM Ware Workstation (Fusion) – Sometimes you need a sandbox to put code in. I have a client that uses Checkpoint VPN client. It cannot be installed on the same machines as Cisco. Rather than uninstall and reinstall, I simply put them into their own VM. VM Ware Workstation is for Windows and Linux. Fusion is for Mac. They work extremely well. It costs about $169. When time is money, its easier to buy this than to figure out Xen on Linux with a command line. I can recoup my costs in a couple of hours of billing. Now, what is missing from the above list? Email? Entertainment? Backup? All of the above. Here are some services or other related products that are not open souce, but are FREE! 1. Google Apps – My domain (http://wordpress.new.strongback.us) is hosted on Google Apps. Therefore I get free email with over 6GB of storage per employee. I get free web pages and hosting for those web pages. I have over 12 years expertise in Lotus Notes and Domino. Yes this is a contradiction, but as a business owner, I must be concerned with costs. This means nearly zero TCO for me as a small business. I don’t use Outlook (I despise it actually). I only use the web interface. It syncs my email and calendar with my Blackberry Curve. The only thing that does not sync are my contacts. Ok. I can live with that. I still sync those with my Lotus Notes address book, so I do have some love for Notes as a business. Google Apps really brings down the barriers to entry for a new business. Its fast, its reliable, and it simply works. I also have instant messaging with my employees and subs. Google Talk does VoIP. It blows me away that its free. 2. Blogger.com – Blogging is an underated, highly effective marketing tool (you are reading this blog aren’t you?). Blogger is a Google product. TCO is zero (not counting the time it takes to write the blog of course). 3. Skype – I don’t use a landline telephone for my business. I use only my cell phone. I cannot call international on my cell phone. Skype has rediculously low rates for international calling. It allows me a channel for IM to my customers and business partners. It also allows me to video conference with my family. It too is free. 4. Google Earth / Maps – Ok, so there is a trend here. I like Google. My confidence in Google Maps went down a little when I was in Puerto Rico last week. Those maps are WAY out of date. Nonetheless, I like it better than Mapquest for finding directions to customer site. It also runs on my Blackberry. 5. Google Desktop – Google’s integration is great at the desktop level. It also integrates with IBM’s DB2 Omnifind product. Imagine Googling your entire corporate enterprise across everyone’s desktops and across all your content management systems. Powerful. 6. Remember the Milk – an excellent site for tasks lists. Integrates with Blackberry and Gmail. 7. LinkedIn – Online resume. This is the single best marketing tool I have. More leads come in from LinkedIn than any other site. 8. Facebook – Not quite the same focus as LinkedIn, it is a good tool for keeping up with friends from prior customers and employers. In this day an age, a current employer may become a future customer, or future employee. Your online presence is as important as any paper based marketing material you own and perhaps more important than your corporate website. As a freelancer, you rely on your repuation and word of mouth. Facebook and LinkedIn should be front and center in your marketing effort. Plaxo Pulse is another site that is worth mentioning, but not enough to give it its own listing. 9. Last.FM – No, this is does not help bring in the money. Its does not help your marketing, or help raise your rates. It just makes that lonely office a little more inviting. Its also nice to experiment with new music. 10. Mozy – Free online backup upt to 2GB with options to buy more. You could take an old desktop, throw a lightweight linux distro on it and use Rsync. Sometimes you need additional protection and you need access to it when you are not at home. Mozy is pretty good. Check out XDrive also. At the very least, use it to backup your contact list, and any critical, non-replaceable work such as Quickbooks files, certificates, etc. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [HATS on YouTube](https://www.strongback.us/2008/07/hats-on-youtube) **Published:** July 13, 2008 **Author:** Kenny Smith **Content:** Saw this yesterday. IBM is getting smart about putting out information like this. ### Creating HATS Macros part I [](http://www.youtube.com/v/aIrpIDbutr8&hl=en&fs=1 "Click here to block this object with Adblock Plus")[](http://www.youtube.com/v/aIrpIDbutr8&hl=en&fs=1 "Click here to block this object with Adblock Plus") ### Creating HATS Macros part II [](http://www.youtube.com/v/2pgK0MkhIm0&hl=en&fs=1 "Click here to block this object with Adblock Plus")[](http://www.youtube.com/v/2pgK0MkhIm0&hl=en&fs=1 "Click here to block this object with Adblock Plus") [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Why should a 52 year old midrange/mainframe programmer write a blog?](https://www.strongback.us/2008/07/why-should-a-52-year-old-midrangemainframe-programmer-write-a-blog) **Published:** July 7, 2008 **Author:** Kenny Smith **Content:** You know the guy. Mid 50’s, slightly balding. Never wears his reading glasses when he needs them. Always has his signature stained coffee cup with him that reads “Home is where my tools are”. There are pictures on his desk of him fishing with his grandkids. He’s a malcontent, and loves to complain about office politics. He’s also the only one who know your core business systems, all of which are green screen based. He’s still trying to figure out MS Word after 10 years, but on the green screen, he can type as fast as the emulator can render the screens. Hell, he’s still not sure what a blog is. (\*If the above description describes you then a blog is a ‘Web Log‘. You are reading one right now) So…why should he blog? What happens if Jim Bob get’s hit by a bus? Or… more likely drops over dead from a heart attack because he drove over to the barbeque pit for lunch every day for the past 20 years. What happens to all that knowledge? Do you let it get buried with him? The answer is a corporate blog. Yes, a corporate blog. Most people think of blogs as being something that teenagers or political activists do, but a blog can be for really any purpose. I write mine to attract new business to my company, and share some of my expertise with my clients without rewriting documentation. Mine is a corporate blog. Now before you think “oh..we should have all his information in documentation…that stuff is on the shelf in the manager’s office”, ask yourself “…IS IT CURRENT?”. As a rule of thumb, documentation is no longer current as soon as its printed. In some cases, there is no real place to document certain things. I’m not saying a blog is a replacement for proper software documentation. Actually, software should be self documenting (i.e. [JavaDoc](http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fjava.sun.com%2Fj2se%2Fjavadoc%2F&ei=xg1ySJDaGZym8ASNvaH1Aw&usg=AFQjCNHAjqqid0h5DzE0LF_LI7QlAQF6uw&sig2=ol_sOH-WhpA1ih4KQM-NJA)). But there are some skills that are learned through experience that really is not found anywhere in written literature. A corporate blog is a tool for capturing exactly that kind of information. It can also be a tool to allow Jim Bob to ‘vent’ frustrations that he may not feel comfortable venting in person. It allows the company to have access to his knowledge while keeping a pulse of the company’s morale. It also allows employees to share information on best practices, whether it be related to technology, accounting, or manufacturing techniques. A corporate blog is also insurance against catastrophe. Let’s use a more positive example: Jim Bob wins the Mega Jackpot lottery of 42 Million. He promptly tells you what to do with his current job and moves to Fiji. You implemented a corporate blog about 2 years ago, and since then, he’s been adding 3 or 4 entries a week, most of which about special modifications that were made to your business systems on “just this once” occasions. He also wrote up how build the reports that only he knew how to do for the CEO. Instead of having a total catastrophe, you are able to continue with your business until you find a replacement. That replacement will have a much shorter ramp up time to get familiar with your systems. He/she will also be better prepared to deal with undocumented ‘improvements’ to your core business systems. So how do you get started with a corporate blog? First, evalate your needs for privacy, security, and usability. Do you care if your blogged information is shared with the public? Do you need to restrict data to only certain employees? Do you have a technical minded staff who can handle any user interface or does your staff need a bit more hand-holding? If you are a small shop, and don’t need all the bells and whistles, you can get started with the open source Word Press. It takes a little time get set up, but its free. You can run it on Linux (also free), and run it either in a virutal machine, or an unused desktop. Word Press is one of the most popular free blogging software tools out there. There is also Blogger.com (which this site is hosted on). However, only use Blogger if you don’t mind your corporate information going out to the public, and you don’t mind directing users outside of your internet domain. If you need something that is more ready to go out of the box.[ Lotus Connections](http://www-306.ibm.com/software/lotus/products/connections/) is an excellent piece of software (full disclosure – I am a reseller for it). It does corporate blogging, but also does Enterprise Wikis, social bookmarking, profiling, and more. Its a leap from free to fee, but if you need security and interoperatiblity with your other systems, Connections is king. Here’s an idea of what Connections offers: [](http://www.youtube.com/v/LBvIeFbta9I&hl=en&fs=1 "Click here to block this object with Adblock Plus")[](http://www.youtube.com/v/LBvIeFbta9I&hl=en&fs=1 "Click here to block this object with Adblock Plus") And here is more of an in depth overview of Connections: [](http://www.youtube.com/v/V9aF4uAzVLY&hl=en&fs=1 "Click here to block this object with Adblock Plus") There are other software packages such as Atlassian Confluence which are excellent enterprise wiki tools. The point of this is that your organization can gain a lot of productivity and innovation from using some of these newer technologies. Don’t be afraid to break out of the mold. If your organization uses a share drive for collaboration, well you are not really collaborating. A shared drive is really like storing your tools in a junk pile, and letting everyone rifle through the pile. I hate the concept of shared drives myself. They drain productivity because they grow less usable as they increase in size and content, whereas social software increases productivity and knowledge as it grows in size. The same applies to email. A large mail box is just a large pit of information that only you have. Sure, its searchable – but only by you. Social software allows everyone to share in the ideas, and contribute to ongoing ideas. The concept of social software has been around for a few years, but its value is really catching on in the corporate world. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** blogging, Lotus Connections --- ### [What's Next for RAD 7.5?](https://www.strongback.us/2008/06/whats-next-for-rad-7-5) **Published:** June 11, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/06/WASNextForRad.jpg)](https://www.strongback.us/wp-content/uploads/2008/06/WASNextForRad-1.jpg) I’m participating in Portal 6.1 training today. Good stuff. Here’s a screen cap from one of the presentations which shows what’s going to be new in Rational Application Developer 7.5 and WebSphere Portlet Factory 6.1. The biggie is support for JSR 286, the new Portlet API. [![](https://www.strongback.us/wp-content/uploads/2008/06/JSR286.jpg)](https://www.strongback.us/wp-content/uploads/2008/06/JSR286-1.jpg) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, portlet factory, RAD --- ### [William Shatner at RSDC](https://www.strongback.us/2008/06/william-shatner-at-rsdc) **Published:** June 9, 2008 **Author:** Kenny Smith **Content:** Gotta love YouTube. Someone managed to get a bootleg video of his monologue. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Rational App Scan Developer Edition 7.1 Open Beta](https://www.strongback.us/2008/06/rational-app-scan-developer-edition-7-1-open-beta) **Published:** June 9, 2008 **Author:** Kenny Smith **Content:** AppScan is one of IBM’s new acquisitions from WatchFire software. Since the bluewash (IBM’s term for converting the marketing, logos and colors within an application to that of IBM’s), they have now released a developer edition with does static code analysis, dynamic analysis, and runtime analysis of an application to detect security vulnerabilities such as cross-site scripting attacks, possible targets for denial of services attacks, [SQL injection](http://en.wikipedia.org/wiki/Sql_injection), etc. The tool is pretty much a point and click interface. I’ve been playing around with it today (as well as RAD 7.5). There are several areas of vulnerability that I would not have thought of in some applications I’ve previously worked on. IBM has a pretty good demo of the tool at this site: [http://www3.software.ibm.com/ibmdl/pub/software/debug/rasde77/betademo/AppScanDE\_BetaDemo.html](http://www3.software.ibm.com/ibmdl/pub/software/debug/rasde77/betademo/AppScanDE_BetaDemo.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** appscan, watchfire --- ### [WebSphere 7 Due in September!](https://www.strongback.us/2008/06/websphere-7-due-in-september) **Published:** June 9, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/06/IMG00044.jpg)](https://www.strongback.us/wp-content/uploads/2008/06/IMG00044-1.jpg) So its already in Beta, and can be downloaded with [Rational Application Developer 7.5 public beta](https://www14.software.ibm.com/iwm/web/cc/earlyprograms/rational/RAD75OpenBeta/?S_TACT=105AGX56&S_CMP=RSDC). I’m previewing it now to check out the features and to see how it compares to my previous list of ‘must haves’. When I was talking with the devs at RSDC, they said that it should go gold in September (but not to quote them…..which I just did). Also, thanks to Davanum Srinivas for pointing us to the [direct link for the WAS 7 open beta](http://davanum.wordpress.com/2008/05/09/ibm-websphere-application-server-v70-open-beta/). I snapped a picture of their schedule chart, but its a bit too blurry to see it for certain. So these two pieces of software will be what really gets EJB 3.0 into the enterprise space. Too many shops are still using JDK 1.4, and nearly everyone has abandoned EJB 2.1 for more agile POJO based frameworks such as Spring and [Google Guice](http://code.google.com/p/google-guice/). I am going to venture that EJB 3.0 will only have a marginal growth at best. However, for those IT shops that need distributed, secure, scalability, then the JPA and EJB 3.0 may be your future ticket. RAD 7.5 has some nice Wizards for doing EJB 3.0. I’ve only started playing with, but I like what I see. Something else coming out of the WAS family, is a rebranding of WebSphere XD. It is getting split into three versions itself. One will be called Compute Grid for distributed grid computing. The second one will be WebSphere eXtreme Scale which will provide high end caching and transaction partitioning capabilities. This product used to be the Object Grid. Another will be called Virtual Enterprise which can be used to manage multiple Deployment Managers, and multiple products (WAS CE, Geronimo, JBoss, Apache Tomcat, WebLogic, even PHP servers). The latter product will be an all encompassing version to manage dynamic workloads, advanced health monitoring, application provisioning, move applications dynamically from one cluster to another, to dynamically role out updates across the grid, and much much more. The theme of this sounds familiar. I believe the refrain goes like this: *One ring to rule them all, one ring to find them, one ring to bring them all, and in the darkness bind them.* Queue the evil laugh now. There is a [wiki ](http://www.ibm.com/developerworks/wikis/display/xdoo/Home)available for it and contains a ton of info for the products. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WebSphere --- ### [i+p=POWER](https://www.strongback.us/2008/06/ippower) **Published:** June 9, 2008 **Author:** Kenny Smith **Content:** At the Rational Conference last week, I found out that IBM is once again rebranding the iSeries. Actually, they are merging the hardware branding with System p. It only makes sense as the hardware has mostly been identical coming off the assembly line. Now you have one hardware line, but many choices as to what operating system you want to run whether it be the traditional i/OS, AIX, or Linux. Now, the hardware is just called the ‘POWER’ systems. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Pimp my z10 - the ultimate gaming rig](https://www.strongback.us/2008/06/pimp-my-z10-the-ultimate-gaming-rig) **Published:** June 5, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/06/IMG00046.jpg)](https://www.strongback.us/wp-content/uploads/2008/06/IMG00046-1.jpg)Ever seen pictures of these home computers decked out with LEDs and plexiglass? Well, I have all the pc gamers beat now. This is IBM’s new Z10 mainframe taken this week at the Rational Software Developer’s Conference in Orlando. This is a lower end unit and only has one CPU card in it. That is the rack to the right in the top area, which also includes memory stacks. The refrigerant cooling unit is the middle of the right rack with fan units covering the CPU card. The left rack is for I/O cards and units such as 10Gb ethernet cards, FiberChannel cards, etc. The top left area is the backup battery pack. I can’t[![](https://www.strongback.us/wp-content/uploads/2008/06/IMG00045.jpg)](https://www.strongback.us/wp-content/uploads/2008/06/IMG00045-1.jpg) remember all the details and all the parts – some are unique to the mainframe. The mainframe guy said that with this unit IBM is starting to get traction into customers that never had big iron before. He mentioned a client that consolidated over 200 Linux machines onto one of these units with zLinux (a Red Hat derivative). While the acquisition costs must be significant, imagine how much floor space got freed up. Think about the power and cooling cost savings. Must be substantial. So, I wonder what kind of frame rates you could get with this beast? Anyone up for Quake? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, mainframe, z10 --- ### [Domino 8.5 Beta 1 available now](https://www.strongback.us/2008/05/domino-8-5-beta-1-available-now) **Published:** May 30, 2008 **Author:** Kenny Smith **Content:** As [Ed Brill pointed out on his blog](http://www.edbrill.com/ebrill/edbrill.nsf/dx/notesdomino-8.5-public-beta-available-now). the beta 1 of Lotus Notes and Domino 8.5 is now available. Of not is that Designer is now delivered on the Eclipse platform. I have not looked yet, but I hope that this will also be delivered on the Linux platform. I’m also hoping that it use the code editor engine of Eclipse rather than the old one from Designer. The Eclipse code formatting is far superior, but designer has always been faster. It never ceases to amaze me just how fast you can build an application with Domino Designer, but since working with Eclipse/RAD/RSA over the years, I’m used to working with a better code formatter than designer. I’ll give it a try, and blog later. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Good upcoming webcast: WAS and Jython](https://www.strongback.us/2008/05/good-upcoming-webcast-was-and-jython) **Published:** May 24, 2008 **Author:** Kenny Smith **Content:** Have you ever wanted to deploy an application with certain parameters without having to click through all the web pages in the Integrated Console? Think redeploying an application after debugging. If you have miss one of the settings, you’ll have to redeploy it all over again. Ever wanted to set up multiple WAS machines identically? Think test/dev/staging/production environments. Sure its easy to set it up identical the first time. But what about the 35th time? That is where scripting comes into play. Any admin worth his salt knows that scripting can save time and ensure accuracy. IBM is putting on a webcast on May 28th regarding using the Jython language to administer and control a WebSphere Application Server. Its not going to be for the faint of heart. No sales weasels here. Non-proppeller-heads need not apply. Register here: [http://www-306.ibm.com/software/websphere/support/TE/techex\_A147780U13917C52.html](http://www-306.ibm.com/software/websphere/support/TE/techex_A147780U13917C52.html) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** jython, WAS --- ### [The price and size of storage](https://www.strongback.us/2008/05/the-price-and-size-of-storage) **Published:** May 23, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/05/2513953915_60164ac39a5B15D.jpg)](https://www.strongback.us/wp-content/uploads/2008/05/2513953915_60164ac39a5B15D-1.jpg) I got a spam email from NewEgg the other day offering a 2GB SD card for under $10. It really amazes me just how cheap storage is these days, and how small it is getting. My first computer in 1994 cost me a little over $2000 (on an 18% interest credit card – thank you college credit card pimps). It had 4 MB of RAM and I think a 100MB hard drive. I had long since replaced it by the time I paid if off. For some real nostalgia, take a look at what a gigabyte of storage use to look like and what it looks like now. My how the times are a changing. Now, Western Digital has some new drives out. They have a relatively fast 1 TB drive (7200 RPM), but their speed crown goes to their 640GB 7200 RPM SATA drive. Now, imagine 640 of the devices you see above. Then imagine the cooling and power requirements for such a beast… and then the size of the mainframe that would be accessing such data. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** storage --- ### [Blackberry Lust](https://www.strongback.us/2008/05/blackberry-lust) **Published:** May 15, 2008 **Author:** Kenny Smith **Content:** [![](https://www.strongback.us/wp-content/uploads/2008/05/5-15-08-blackberry9000.jpg)](https://www.strongback.us/wp-content/uploads/2008/05/5-15-08-blackberry9000.jpg) Figures… I buy my Curve (and had to pay full price since I;m a year away from my renewal), and RIM announced the new [Blackberry Bold](http://www.engadget.com/2008/05/15/rim-prepping-blackberry-media-sync-for-itunes-transfers/). On top of it all, their building a tool to pull in music from iTunes onto the Blackberry. Just damn. The new tool would be very handy for those times when you are traveling light and don’t want to bring your iPod with you. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Blackberry, bold, curve --- ### [Goodbye 1998. Hello 2008](https://www.strongback.us/2008/05/goodbye-1998-hello-2008) **Published:** May 15, 2008 **Author:** Kenny Smith **Content:** I got my Blackberry Curve yesterday, and spent much time last night playing around with it. I finally feel like I’ve got a PDA that I can depend on rather than archaic brick that only syncs when I manually copy data over. Verizon finally got their version this month, I ordered mine the first day it was available. The cure is so much smaller, and much more powerful than my Treo. While its been almost a year since I traded in my old Blackberry from my last company to my Treo, the Blackberry OS seems to have made light years of progress. The Palm OS however, seems to be the same looking OS from 10 years ago (just with color). My curve will natively sync with Outlook, Lotus Notes, and will do ASCII/Text file export/import as part of its sync. The Palm will only sync with Palm Desktop or Outlook. Who the hell uses Palm Desktop? What a crap interface that is! One thing I really craved about the curve (and BB in general) was that Google has done a hell of a job creating native applications for their services. My email and domain are hosted by Google apps, so this was a no-brainer. The G-Apps for Blackbery are top notch. Blackberry will also do its service against gmail and Google apps, so I’ve got multiple methods of getting my mail. There is a different icon for Google Apps mail than there is for GMail with is nice. I also like the Google Reader and News for Blackberry, although its really nothing more than a skin for the browser. But the most valuable tool from Google is Sync – it syncs with the Blackberry Calendar. I had a hell of a time trying to synchronize my Treo’s calendar with my StrongbackConsulting.com calendar. In fact I could only sync with my personal gmail account. Now I can feel comfortable about not missing conference calls or meetings. Many apologies to those who’s meetings I’ve missed – my Treo ate my calender. I would say that if you are a small business that uses Google Apps for your domain, a Blackberry is the absolute best tool you can use. On that note, [IBM is releasing additional support for the Blackberry for Lotus Notes and for its newly acquired Cognos toolset.](http://www.pcworld.com/businesscenter/article/145917/ibm_boosts_blackberry_access_to_cognos_lotus_software.html) Now although I’ve bashed the Treo pretty hard, it is certainly more useful then say a Razor or a non-smartphone. It did have excellent telephone reception, and the only times I could not get a signal was when I was way out in no-mans land. The signal reception is great, and was superior to my previous Crackberry. I’m hoping my Curve can live up to that. I imagine that If I used Outlook, I may have had more interest in the Treo for sync. But I don’t like Outlook. I’m a Notes guy – plus I keep my mail on the server, and the GMail interface is top-notch (not to mention free). So…now that I’ve both dissed and complimented the Treo….anybody care to buy a gently used Treo? Actually I have two for sale. My 700p and my wife’s 650p (Verizon). My wife, who pleaded with me not to get a Blackberry when I started my business, got a Peal 2 weeks ago. Now she’s an addict. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Can't wait - the Curve comes to Verizon](https://www.strongback.us/2008/04/cant-wait-the-curve-comes-to-verizon) **Published:** April 19, 2008 **Author:** Kenny Smith **Content:** Ever since going out on my own and starting my own business, I’ve been on the Palm Treo, with the Palm OS. Once upon a time, a Palm was a dandy gadget. It was top of the pack in productivity and features. Have had a handful over the years (pun intended). However, this is 2008, and in my opinion, the Palm is dead. I went from a Blackberry 72xx to the Palm when I made the move, and I feel I made a time warp backwards. While my Blackberry had poor phone reception, and it felt like a piece of ceramic tile in the hand, it was a GREAT PDA. It reliably synchronized with Lotus Notes, over the air (which is what I used at the time). In fact I rarely cradled it. My Treo has trouble reliably synching with Notes and requires a cable at EVERY sync. What’s more, is that I now use Google Apps for my Internet domain and email, and Palm has no facility for that. I have no reliable way to sync up my Notes contacts, Palm contacts or Google contacts. There is [GooSync ](http://www.goosync.com/)for calendar synchronization, but that’s a service I don’t care to pay for. If I have to pay for a service, I’ll pay for Blackberry. The Treo feels like a brick compared to most Blackberrries. Other complaints: - It drops my bluetooth connection frequently and some times will not communicate to the bluetooth even though it shows its connected. That really pisses me off! - It often will lock up, especially when trying to hang up a call. If its a conference call, the only way to kill the call is to remove the battery. - The type-ahead features of the Blackberry are par none. I’m so used to not having to make my first letter a capital letter in a sentence, or hitting space bar twice to enter a period and start new sentence. About the only thing the Treo will do is turn ‘i’ll’ into ‘I’ll’. - I’m tired of having to read my mail through the Blazer browser. Its better than nothing, but with Blackberry, Google has a native app for Google mail and calendar which is second only to the Blackberry service itself. I’ve heard that Palm is developing a new operating system based on Linux to replace the aging, single threaded, and antique Palm OS. However, my patience has run out and I’m tired of missing the productivity that I had with my Blackberry. RIM has just released the [8330 ](http://na.blackberry.com/eng/devices/device-detail.jsp?navId=H0,C221,P883)[for CDMA](http://na.blackberry.com/eng/devices/device-detail.jsp?navId=H0,C221,P883) networks, and Verizon has announced that it will begin carrying the Curve next month. I’m looking forward to having my mail and calendar in one place and synchronized to my Google mail (or reliably to my Lotus Notes mail if I ever bring it in house). Contact synchronization is still a bit flaky, but I can live with that. If I have to I’ll write a routine to do the sync. Blackberry development is much simpler than Palm development (just as Java is easier than C development). I plan to be the first in line for it, and I can’t wait. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Generating Atom feeds for Mainframes](https://www.strongback.us/2008/04/generating-atom-feeds-for-mainframes) **Published:** April 19, 2008 **Author:** Kenny Smith **Content:** Very cool article on [developerworks](http://ibm.com/developerworks). Its HATS related, of course. [http://www.ibm.com/developerworks/xml/library/x-atommainframe/?S\_TACT=105AGX01&S\_CMP=HP](http://www.ibm.com/developerworks/xml/library/x-atommainframe/?S_TACT=105AGX01&S_CMP=HP) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, web services --- ### [IBM Federal Contract Eligibility Reinstated](https://www.strongback.us/2008/04/ibm-federal-contract-eligibility-reinstated) **Published:** April 8, 2008 **Author:** Kenny Smith **Content:** Fortunately for IBM….. I can hear a collective ‘whhheeewww’…. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm --- ### [IBM suspended from federal contracts.... WHHAATT?!?!?!?!](https://www.strongback.us/2008/04/ibm-suspended-from-federal-contracts-whhaatt) **Published:** April 2, 2008 **Author:** Kenny Smith **Content:** I saw this on [Slashdot ](http://news.slashdot.org/news/08/04/01/0456250.shtml)and nearly fell out of my chair. This is HUGE. For IBM, this is a major blow to their brand, as well as their balance sheets. US contracts contribute a significant amount to their bottom line. For the Federal Government, I see no way that other agencies are just going to kick IBM out. It would be like throwing the baby out with the bath water. IBM simply has too much of a footprint to just be shipped out. Plus it would be ridiculously expensive for the US departments (a.k.a the taxpayers like us) to replace all the IBM equipment and software already in place. I have no idea what happened, and all my sources are silent. Either someone at the EPA has a short fuse, or a group of IBM’ers (or subs as the case may be) really pissed in someone’s corn flakes. IBM could lose out on as much as $1.5 BILLION if this does not get resolved. That means a lot of IBM folks out on their ears in layoffs or forced retirements otherwise. [Here is IBM’s official press release.](http://www-03.ibm.com/press/us/en/pressrelease/23785.wss) This does not look like an April Fool’s joke. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, WTF --- ### [WebSphere ....er...Rational HATS 7.1 to launch tomorrow](https://www.strongback.us/2008/04/websphere-er-rational-hats-7-1-to-launch-tomorrow) **Published:** April 2, 2008 **Author:** Kenny Smith **Content:** You heard it right kiddos. HATS version 7.1 should be officially released tomorrow. The official release announcement will be [here](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-049#@2h@78@). You can download a trial version of it [here](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS208-049#@2h@78@). Of course the trial is identical to the fully licensed version minus the actual license which is just a java jar file. New features include: 1. Visual Macro Editor – this is where most of the work went into the product, and I have to say, this is just a damn cool addition. The macro editor can be a real pain in the ass if you are editing large macros, and the advanced editor is too cryptic for simple tasks like adding a few actions to a screen. 2. Support for Mobile Devices – Imagine CICS screens on your Windows Mobile device. Very slick, but a bit limited in functionality (as most mobile functions are). This will be a boon to a lot iSeries shops. 3. JSR 168 Support – If you are not using a Portal, this means nothing, otherwise, it means that you can run a HATS app within LifeRay Portal, BEA Portal, or of course WebSphere Portal. Prior to this HATS only supported the IBM API, which has since been deprecated. The JSR 168 support does not support single sign on (via Web Express Logon), so if you need that functionality, you’re stuck with IBM API. Also, there have been a few bugs fixed. I was on the call for the HATS Beta wrap up, and was glad to see that my suggestions for improvements and bug reports were fixed. In particular is the CSS bug, where every font family rule was written backwards (see my previous blog entry). The other is that content assist support has now been added. This means that in the Java editor, when you type ‘ctrl’ + spacebar, you get a context sensitive menu of options for HATS api objects. For v7.0 and prior, you got nothing, because IBM never included the Javadoc in with the HATS runtime jar files. This will be HUGE help to those of us trying to write our own HATS custom components and widgets or using Business Logic objects. Now, I’m anxious to get the gold release and install. One thing to keep in mind (I learned this first hand), is that if you have issues installing it, make sure your IBM Installation Manager is up to version 1.1.0.2 or higher. For me, the beta would not install in a second IDE location, nor would it install over HATS 7.0. I actually had to uninstall 7.0 to install 7.1 and test it. Happy coding! (and no this is not an April fools joke – it be a real boring and bad one otherwise). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Lotus Notes 8 - What's Up.](https://www.strongback.us/2008/03/lotus-notes-8-whats-up) **Published:** March 20, 2008 **Author:** Kenny Smith **Content:** IBM is doing very well with their YouTube marketing. This video shows the latest features of Lotus Notes/Domino version 8, but frankly, it doesn’t even scratch the surface of what’s its really capable of. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [WAS Next for WebSphere 7](https://www.strongback.us/2008/03/was-next-for-websphere-7) **Published:** March 10, 2008 **Author:** Kenny Smith **Content:** The question still remains for IBM: When is WebSphere App Server 7 coming out? The response is still the same: deer-caught-in-the-headlight stare from the IBM software reps. Some inside information tells me a few clues about what to expect. First off, from my conversation with a certain Distinguished Engineer last year, was that WAS 7 was due sometime this year, and that it will also be built on top of Lotus Expeditor (the commercial version of Equinox framework), which is a platform for bundling OSGi modules. The rewrite of WAS 6.1 from 6.0 was no minor undertaking. In fact it is nearly rebuilt from the ground up using OSGi, and uses the JDK 5. WAS is the last of the major vendors to unleash a Java EE 5 complaint application server, but the stakes are so much higher for IBM than any other. What IBM must get right. There is a lot that IBM must do to have a successful next release, and its a tall order for sure. Among these are: 1. It MUST have a Java EE 5 compliant container. Developers are now beginning to use the JPA and some are even using EJB 3.0. The advanced features and updates for JTA are also increasingly appealing. 2. They must ensure it runs flawlessly on more platforms that any other vendor. Windows, Windows 64 bit, the new AIX 6.1, the new iOS 6.1, Linux, HP-UX, Linux on Power, and of course z/OS. The z/OS port alone is a monumental undertaking in order to maximize the workload management features in the new z/10s. Then you have the new Power 6 platforms for AIX and i5/OS. 3. WAS needs to run with less resources. WAS is a memory hog. Period. You need 4GB on any 64bit system in order to run it with any respectable user load. 1.5GB won’t cut it like it will on Windows. In short – it needs a smaller memory footprint. 4. The portlet container needs to support JSR 268. This is the latest update to the venerable JSR 168 standard. 5. WAS needs an improved UI for SSL certificates. Now, some will argue with me on this point, but for the average shop that has minimal WAS expertise, setting up SSL between the HTTP plugin and from the HTTP server to the Internet is a pain in the ass. 6. WAS is the underpinning for several other products including Portal, Tivoli Identity Manager, Tivoli Access Manager, Tivoli Directory Integrator, Sametime Gateway, and more. A bad WAS release will jeopardize the development of all these other products. 7. Needs to run on JDK6. This has been out for over a year, and JDK 7 should be released by next year. One of the key goals of JDK 6 was improved performance. This is badly needed for a customer based entrenched on JDK 1.4 and struggling to keep up with the hardware demands (especially for WebSphere Portal!). IBM was a member of the expert group for this JDK. JDK 6 includes several improvments in the Java Management Extentions (JMX) which is used extensively in WAS for management of applications. 8. WAS needs a more modular installation. If you don’t want to install the EJB, SIP, or Portlet containers, then don’t. It will save memory and disk space if you don’t need to crank up these potentially large containers. 9. IBM needs to open their Beta testing. As IBM typically does, they have a closed beta program with key customers (usually their larger ones, and those that choose to participate in early adopter programs). What IBM is doing with Jazz project (www.jazz.net) is phenomenal, and I think will revolutionize development in the SMB markets. This program encourages open participation and transparency in their development (“warts and all” as the saying goes), which in turn breeds trust in the product, and helps focus efforts on fixes and features that otherwise would have been overlooked. Imagine how many I’ve overlooking in this blog post. 10. WAS XD which is a superseding product to ND supports controlling other application servers besides WAS, such as Tomcat, JBoss, etc. It will need to support the latest and greatest of these servers including some new entries such as Sun’s Glassfish, and Oracles latest acquisition WebLogic (Oracle bought BEA recently). I don’t think XD should worry about the Oracle Application server. Since BEA is now in house, and their own AS was not very widely adopted, I think it will go the way of the Beta Max tape. 11. WAS will need to run other applications other than a Java EARs. Yes, that’s right. Think I’m crazy? Probably, but look at the facts. Increasingly we are seeing applications run on the JVM written in other languages such as Scala, Ruby and Groovy. Sun has even made the statement that they would like to take the ‘J’ out of ‘JVM’. However, IBM has already made inroads to this. The wsadmin scripting interface can use JACL (a java variant of TCL) or Jython (a java variant of Python). Also with the foundation of OSGi, this becomes very possible. I would love to see a .NET written application run under the control of WAS. WAS must be able to quiese and unquiese the application, provide authentication services (using NTLM/Kerberos), and be able to handle rolling updates in a clustered environment. I think they could do it, and it would be masterstroke of IBM to be able to do it. Imagine being able to leverage those .NET development skills and deploy those applications on a mainframe. Granted, it would have to be written a wee bit different, and some functionality under a .NET framework truly would not apply. But it would certainly turn the tables on Microsoft. 12. WAS must support REST out of the box, along with all the other WS-x protocols. It already has the addon packs, which now can just be incorporated into the base installer. This should be dead simple easy for them. 13. Finally, and most importantly they MUST market it right. They need to get preview information for the blogging community to stir up the viral aspect. They also must sell it right to be able to penetrate the market further. They will need to anticipate the Microsoft FUD, and prove ROI over other vendors (Weblogic, JBoss). They always have the open source argument which is really not an argument. IBM is a role model at creating on-ramps to their commercial software using open source counterparts (i.e. Eclipse, Geronimo, Apache, Equinox, Linux, etc). This may be the hardest task yet, however if their recent marketing attempts are any indication, I think they will do well with it. WAS is certainly not their flagship product, but with so many other IBM products depending on it, they’ve got to roll out a top-notch product. IBM is beginning to loose some market share of WAS to other vendors, while other customers are semi-patiently ready to move to new frameworks and technologies that WAS does not yet support. My hopes are up, and I’ll be happy to beta test it for IBM (…hello…IBM…volunteer here…hello???). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** WAS, WebSphere --- ### [V6R1 for System i Released](https://www.strongback.us/2008/02/v6r1-for-system-i-released) **Published:** February 29, 2008 **Author:** Kenny Smith **Content:** This is probably old news for some of you, but I just caught it. I think this was announced on January 29th. I had just got to the point to where I thought users were finally going to V5R4, when this comes out. Geesh. Anyhow. Looks likes this gives you the added features you need to take advantage of the POWER6 platform. Some of the new features include: - New virtualization features - New fibre channel adapter for advanced SANs - New encryption support - New Blade center support - Shared processor pools (very useful in reducing licensing costs and adding ‘burst’ capability to your apps) Also announced is the Rational Developer for System i (RDi). IBM has finally moved over all the AIM tools to the Rational brand, so what used to be marketed as WebSphere Development Studio Client for iSeries is now RDi. The WDz product has also moved over to Rational as well (RDz). The new [RDi 7.1](http://www.ibm.com/developerworks/rational/library/08/0205_cole/) provides support for the V6R1 platform and adds lots of new web services functions, enhanced support for PCML with the new Program Call Wizard, and of course EGL (which is a fourth generation type language designed for Cobol/Fortran/RPG/ILE developers). Pretty cool product. If you are still doing development in PDM, and are looking to move to a richer environment, this is a great tool. Look at my other post about version control if you need more reasoning. I know there are those that will drop PDM when you pry it from their cold dead hands, but once they make the change, its hard to go back. You just become so much more productive and can see your architecture from a whole different perspective. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** iSeries --- ### [Friday Fun](https://www.strongback.us/2008/02/friday-fun) **Published:** February 23, 2008 **Author:** Kenny Smith **Content:** Those who know me, know I play harmonica and guitar (more harmonica since it travels a bit easier). My niece forwarded this to me, and I am in awe. Enjoy. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Why don't smaller companies version their software?](https://www.strongback.us/2008/02/why-dont-smaller-companies-version-their-software) **Published:** February 22, 2008 **Author:** Kenny Smith **Content:** This befuddles me. Over the past couple of years I have run across so many companies that do custom development but have zero version control in place. In particular are companies that do a lot of RPG or Cobol development work, and are just getting into doing Java. Usually they keep their source code in separate libraries on the server, and only work in the green-screen development. While the server is backed up and the source code is protected, its never truly versioned, and certainly not shared and viewable by other developers. When they finally move to using a rich IDE (such as [Rational Developer for i or z)](http://www.ibm.com/developerworks/rational/products/rdi/). for their development work, their source code is now stored on their local desktops (or laptops as the case may be). This means that their source code is not protected, yet they have powerful systems for versioning at their fingertips! Benefits of Version Control -You can restore your application to any place in time for any piece of software code that has ever been checked in. -Developers co-developing on the same project are less likely to wipe out each other’s code. -Developers can synchronize code and changes to code while working independently on the same application. -For Sarbanes-Oxley, HIPPA, or SEC bound companies, this is a MUST. You must be able to document changes made to your source code, and you must have some protection mechanism for rolling back to previously known good code. -Creates an audit trail so you know what bugs, or features have been worked on. Getting Started If your organization is just getting started with version control, and are looking for a low cost solution, I highly recomend a free [Subversion VMWare appliance](http://www.vmware.com/appliances/directory/519). If you don’t have VMWare, you can get the free server from VMWare ( I believe this used to be the GSX version). This will allow you to run a server on existing equipment. If you do have a machine that you can use for a dedicated server, I recommend a Linux OS. [Fedora](http://www.fedoraproject.org/) and [Ubuntu](http://www.ubuntu.com/) come with Subversion, and its ridiculously easy to set up. Its actually more difficult to set it up on Windows. Subversion has plugins for Eclipse (there is Subclipse and Subversive), for the file system (TortoiseSVN), and for many other IDE toolsets. For many organizations, this is all you will ever need …. and its FREE. There is NO reason not to use a version control system. Its like having unprotected sex. Why do it when you know you can get free condoms? Commercial Software Even though I sell a commercial version control system, I don’t recommend it if you are just getting started. Its just too complex. However, if you have already adopted CVS, or Subversion, and you need or are required (due to regulatory compliance) to have more functionality, then [Rational ClearCase](http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwww.ibm.com%2Fsoftware%2Fawdtools%2Fclearcase%2F&ei=iCC_R7iWM4ecepHa0PAN&usg=AFQjCNGfPpShOyJi1UmAHeeeAtsCQ889-A&sig2=F9uz5sQxHZnqTgRxfjiUrw) is an excellent product. It integrates with Eclipse and all the IBM development tools, WebLogic studio, and also with Microsoft .NET Visual Studio What Happens When You Have No Version Control You know that great developer named Matt that you just hired? He’s been working 50 hour weeks for the past 2 months on the current project. He’s great…..but he just got hit by a bus. His laptop was with him, but its trashed now. So was all the source code, because there was no central version control repository. Guess what? There is no source code any more and you’ve got bugs to fix. How about Milton? He’s been with the company for 5 years. Real weird dude, but the only one working who knew your custom developed CRM system You fired him yesterday for staring at the receptionist too much (she was really creeped out). Just before he left he formatted his desktop….and left a nasty little bug in the CRM system. Where’s your source code now? How are you going to tell the CEO or CIO that you have no way to fix the bug without recoding the entire system? Then there’s Roger. He’s your SOX auditor. Nice guy, but wants to know who made the change to the CRM system that is now spamming your customers with penis enlargement ads (probably Milton)… and who approved the code changes….. as well as your plan for rolling back the source code. DOH!! Moral of the story Version control your software. Use a free version at the very least. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** clearcase, subversion, svn --- ### [Quick tip for WPF SQL Call builder](https://www.strongback.us/2008/02/quick-tip-for-wpf-sql-call-builder) **Published:** February 22, 2008 **Author:** Kenny Smith **Content:** When using the SQL call builder in WebSphere Portlet Factory, you can either enter the SQL directly into the SQL field, or select an existing script. I recommend that you do your SQL in separate text files, and then import them. That way can more easily test the SQL using the Data perspective in RAD. If you do prefer to just past the SQL code in, then remember that you cannot begin the SQL with comments! This will prevent the builder from generating the schema for the SQL call. Remove all your comment code before you click ‘Apply’ to the builder. Don’t forget to version your application! If you are not doing this then you deserve forty lashes. You can start with a simple, open source system such as Subversion. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** portlet factory --- ### [Notes Domino 8.01 announcement](https://www.strongback.us/2008/02/notes-domino-8-01-announcement) **Published:** February 19, 2008 **Author:** Kenny Smith **Content:** Looks like tomorrow (Feb 20th) is going to be a busy day for Passport Advantage and Partnerworld download sites. [http://www-01.ibm.com/common/ssi/index.wss?DocURL=http://www-01.ibm.com/common/ssi/rep\_ca/4/897/ENUS208-024/index.html&InfoType=AN&InfoSubType%C3%8A&InfoDesc=Announcement+Letters&panelurl=index.wss%3F&paneltext=Announcement%20letter%20search](http://www-01.ibm.com/common/ssi/index.wss?DocURL=http://www-01.ibm.com/common/ssi/rep_ca/4/897/ENUS208-024/index.html&InfoType=AN&InfoSubType%C3%8A&InfoDesc=Announcement+Letters&panelurl=index.wss%3F&paneltext=Announcement%20letter%20search) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Lotus Notes --- ### [Huge Ubuntu News from IBM Lotus](https://www.strongback.us/2008/01/huge-ubuntu-news-from-ibm-lotus) **Published:** January 22, 2008 **Author:** Kenny Smith **Content:** IBM Announced in the opening session of Lotusphere today that they will begin supporting Lotus Notes on Ubuntu Linux. The [official press release from CNN Money](http://money.cnn.com/news/newsfeeds/articles/marketwire/0350885.htm). From the article: “IBM’s plans to deliver the IBM Open Collaboration Client Solution with Lotus Notes on the Ubuntu platform is a win for customers everywhere,” said Mark Murphy, vice president of alliances, Canonical, the commercial sponsor of Ubuntu. “Canonical is committed to bringing the best available productivity tools to its users on an open platform. Ubuntu users will now have an outstanding choice with Lotus Notes, while businesses will have a great choice with Lotus Domino. From a technical viewpoint, we are impressed how Lotus leverages the Eclipse platform to build and deliver rich client applications. This is an exciting development for Ubuntu users, too.” Those who read my blog know that I am a fan of Ubuntu. Its a fantastic distribution and works phenomenally well on my laptop. [Ed Brill ](http://www.edbrill.com/)also had lots of notes from this mornings session. Lotus has come a long ways in the decade + that I’ve been working with it. I’m quite excited about the product line. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, Linux, Lotus Notes, LotusSphere, ubuntu --- ### [Top HATS tricks you can't live without (pun intended)](https://www.strongback.us/2008/01/top-hats-tricks-you-cant-live-without-pun-intended) **Published:** January 20, 2008 **Author:** Kenny Smith **Content:** For those who have just discovered HATS and are getting started with it, I thought I’d share some tips. These are my top 10 rules of thumb with HATS, and in no way is this all the tips I have. 1. Be a lazy developer. Don’t try to transform every screen. Rather, use global rules and default rendering sets to control 80% of your screens. Global rules simply tell the HATS runtime to render an area of the screen a certain way whenever it sees a common text string. For example: always render 6 digit fields preceded by the words “Birth Date” with a calendar popup. Another example: Render single character fields for gender (M or F) as radio buttons. These rules will then apply to multiple screens. 2. If you have to do a customization/transformation, use “Insert Default Rendering” to control those fields that should render using global rules, and use host components for the fields that don’t behave by default rendering (such as odd ball subfiles). 3. Setup version control ASAP. A version control system synchronizes your source code and keeps every revision. This is great insurance for CYA. If you’ve only ever worked in PDM, this will sound very foreign. In HATS the source code is on your local PC, not the server. Therefore, if your hard drive crashes, your screwed. If you have installed HATS on top of WDSC Advanced, then you have a client liscense to Rational ClearCase LT. If not, you try the open source (and highly recommended) Subversion ([http://subversion.tigris.org](http://subversion.tigris.org/)). 4. Publish early and often. This is really not specific to HATS, but rather to programing in general. What I mean by this is don’t spend 6 months customizing screens before you release it. Rather, HATS works out of the box. Get it to your user community within a week or two of creating your first project. Then, let your users define what screens they need customized. Take those requests, prioritize them, and release changes on a regularly scheduled interval. If you can’t get all the requests completed in time, let those requests fall over to the next iteration. Remember this fact: users remember missed deadlines, they don’t remember missed requirements (MS Vista was how late to market? Anyone know what requirements got missed in it?). 5. Download and install the latest fix pack immediately. If you have not released your project into production yet, install the latest fixpack (link is available on this blog). This fixes quite a few issues in HATS 7.0.0.0. If you are running HATS 6, upgrade…now. The upgraded table component alone is worth it. 6. You need a test server. Yes, HATS runs on WebSphere Application server, which in turn runs on System i or z. You don’t want to use it as your test and production system. Use it for production only. WAS runs on multiple platforms, and a test system is very cheap. You can even run it on Linux in a VMWare partition if you are short on space and cash, but you need a test server. Use this test server so other developers and the application owner can review it and approve it before you publish to production. 7. Don’t starve your production server! Let’s face it. WAS is a pig. It eats memory like Michael Moore inhales twinkies. Don’t treat it like another interactive user. WAS on a 64 bit system even more so. This is because a 64 bit system requires 64 bit memory registers (twice that of 32 bit registers). If you put WAS on your production iSeries box, and you only have 2GB of RAM in your shared memory pool, you will FAIL. If WAS is on a System i, it needs 4GB to itself (maybe in its own memory pool), and if on an LPAR it needs at least a half CPU assigned to it for even small apps. If you can’t handle this, then put WAS on a Windows or Linux machine with at least 2GB of RAM (more preferrably, this is a minimum). If you feed WAS the memory it needs, it will stand up and roar, and you will be happy. Starve it, and your users will stone you. 8. Don’t use the default templates. They suck. They’ve been the same since version 5. Create your own template using the wizards and brand your new app. Oh, and don’t use the monospace font, unless you want your browser to look like a graphical mainframe. 9. Publish/Restart App. It may happen to you that when edit the project properties file (such as if you are changing the default rendering or adding global rules), that application will crash and stop working. Don’t sweat it. Turn off automatic publishing. Then when you edit and safe this file and are ready to test your new global rule, simply publish the application, then right click on the application under your server in the ‘Servers’ tab, and restart the EAR (i.e HATS\_EAR61). The application will crank right up. 10. Go to training. The best way to get proficient at HATS is to go to a HATS training course. IBM has some hosted at their facilities. If you are looking for on-site training where a trainer comes to your company and trains a group of you then well… I’m your huckleberry. Yes…this last tip is an advertisement for my services, but I do consulting for a living and HATS training is one of my offerings. I have a full curriculum with canned labs and presentations. The course includes 4 days of lecture and labs and one day of custom development with your screens so you get familiar with how HATS relates to what your environment is like rather than the IBM demo servers. If you are interested, visit my company website at [www.strongbackconsulting.com](https://www.strongback.us/) for my contact information. If you are just looking at the product and are interested in purchasing, I am a registered IBM Business Partner and will be happy to give you a quote. Ok. end of the ad. Also, check back on this blog, as I frequently post messages about common issues, fixes, bugs, and news about HATS. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [Faking out a field exit (redux)](https://www.strongback.us/2008/01/faking-out-a-field-exit-redux) **Published:** January 15, 2008 **Author:** Kenny Smith **Content:** This is a post I had made on the HATS newsgroups a couple of years ago. I’ve had to go back and search for it a couple of time recently, so I though I’d put it where I can most easily find it… on my own blog. HATS 7 does the field exit for you (99% of the time), so you should not have to add this. However this trick is handy if you need to add some validation that the green screen does not already provide. For those of you struggling with field exit, here is a way to implement it with JavaScript. On your widget for the input field, click the properties. For the ‘Style’ option, enter the following: ” onblur=”fieldExit(this,4)” The first quotation mark terminates the style element while creating the onblur attribute for the HTML element. Next, add the javascript function. I always recommend putting your JavaScript in js library. Here is the function: function fieldExit(field, fullLength){ var val = trim(field.value); var missing = fullLength-val.length; for(x=0;x val=’0’+val; } field.value=val; } The fullLength variable is the maximum length of the field that you are trying to field exit. Finally, if you have created a submit button (for the \[enter\] event), add javascript for an onclick event to move the cursor position out of the last field, to ensure the field exit function fires. Here is an example. The first argument of setCursorPosition is the absolute cursor position. This position is a calculated number and is made up of the following formula: (# rows-1) x 80 + (# columns). In other words, a field at row 5, column 30 would have an absolute position of 350 (80(5-1) + 30). href=”java script:ms(‘\[enter\]’,’hatsportletid’)” onclick=”setCursorPosition(596, ‘HATSForm’);”>Search [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [IBM Lets us all hear the Jazz!](https://www.strongback.us/2008/01/ibm-lets-us-all-hear-the-jazz) **Published:** January 14, 2008 **Author:** Kenny Smith **Content:** Great news from IBM. [They are opening up the Jazz.net site to all](http://www-306.ibm.com/software/rational/jazz/), whereas it was only available to IBMers and key partners. I’ve seen this at the JavaOne conference the past two years, and both times I saw it, I was awed. Jazz is a project invented by IBM Rational that is similar to Eclipse. Jazz is a development platform built with (or on top of) Eclipse that integrates collaboration and workflow into the application development cycle. In particular, Jazz has this in-context collaboration feature where by a developer can IM another based on the latter’s source code. They call also be notified in real-time whenever another developer makes a change to their source code. The demo I saw at JavaOne showed developers opening and closing bug reports in ClearQuest through the source code, and then having a team chat with video through the IDE, which was initiated from within the source code editor. This type of development is where the industry is going – its where it has to go in order to have better quality code in shorter amounts of time. Another add-on that I saw at the Rational Conference last June was one for requirements management. Long gone is the clunky interface and Word integration of Requisite Pro. Rather this was a wiki-like interface for gathering, prioritizing, and completing application requirements. It is all web based. Each requirement was traceable to the source code (once written). The example I saw had an image of a whiteboard drawing as an artifact of the use case. I love this type of thought. Why spend 10 hours perfecting a Visio diagram of a whiteboard you’ve already drawn? You only need enough information to convey the diagram to the developer, and a JPG image is just that…enough. Anyhow…like Eclipse, IBM intends to have Jazz as open source, while they sell their own products built on top of it. They showed their intended product Rational Team Concert at the Rational Dev. Conference. Jazz will be the underlying platform that everything else will build upon just as Eclipse is the platform for the IDE. [Here’s a link to the article ](http://www.computerworld.com/action/article.do?command=viewArticleBasic&taxonomyName=software&articleId=9057020&taxonomyId=18&intsrc=kc_top)where I found it. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Remember the Milk ROCKS!](https://www.strongback.us/2008/01/remember-the-milk-rocks) **Published:** January 2, 2008 **Author:** Kenny Smith **Content:** I’ve just set up an account with [Remember The Milk](http://www.rememberthemilk.com/). This is a free web site that helps you organize your to-do list, share with friends and family, and integrate with other services. RTM publishes your to-do list in an iCalendar format, which means you can integrate with Google Calendar, Outlook, and yes Lotus Notes. Now, I’ve used to-do lists of all sorts. I’m a student of the Franklin-Covey products, and maintained one of those journals for years. Then I switched to just using electronic lists. I’ve used Outlook, Lotus Notes, Blackberry, Palm, Google gadgets, and even my own custom applications. A few months ago I started using a small paper moleskine journal. Some people call it a graphite PDA. If paper crashes, you just pick it back up. It needs no batteries, or electricity, and you edit your list while your’re flying without turning it off for take off. So, while I still like my moleskine, I think I’m going to like RTM. Here is why. There are a few principles that make a list a good list. Your to-do list should derive from your short and long term goals. Those in turn should derive from your core values. This is classic Covey principles. A to-do list should not just be a list of house chores (how boring). - Tasks should be categorized. - Tasks should have hard, fixed dates. If tasks are derived from goals then so should your goals, otherwise they are just wishlists. - Tasks should be prioritized. - Tasks should be sortable. The first and last item are what makes electronic lists better than paper. With RTM, you can sort them by date, by priority, or by tag. On RTM, a task can have multiple tags (which are like categories, or labels as Google calls them). Being able to print them out in the order you need them for the day helps me get over any electronic cons. RTM will also do reminders. It will email you, or IM you (via AIM, MSN, Yahoo, or Google Talk). It can even SMS you on your phone. I have my account set up with my Google calendar, Google Talk, and gmail, and I am very impressed. No other system does as good of a job at sorting, prioritizing and integrating as RTM. Best of all…its free. Gotta love it. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** productivity --- ### [HATS 7.0.0.2 Announced](https://www.strongback.us/2007/12/hats-7-0-0-2-announced) **Published:** December 16, 2007 **Author:** Kenny Smith **Content:** And you just updated to 7.0.0.1. Yep, another [fixpack](http://www-1.ibm.com/support/docview.wss?uid=swg27009345). No new features, but a long list of bug fixes, most of which appear to be related to i18n or integration objects, or RCP. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [RAD 7.5 open beta](https://www.strongback.us/2007/12/rad-7-5-open-beta) **Published:** December 16, 2007 **Author:** Kenny Smith **Content:** I got an email this week from IBM letting me know that IBM is hosting an open beta for Rational Application Developer v7.5. You’ll need an IBM id to download it. Finally, we have support for JEE5 and EJB 3.0!! From the email, this version includes: - Increased support for iterative development for JEE5 applications that take advantage of the annotation based programming model, with enhanced support for creation, validation, refactoring, and deletion of artifacts - Enterprise Information System (EIS) Adapters provide tooling for JD Edwards, Oracle, SAP, Siebel and PeopleSoft - Enhanced capabilities to deliver modern applications in emerging programming models using tools that help create EJB 3.0, JPA, Web Services with JAX-WS 2.0/JAX-B 2.0 and reliable secure profile applications - The latest standards, such as JEE5, WS-I BP1.2/2.0, RSP 1.0, WS-Policy Assertions for Web Services, WS-Reliable Messaging, WS-Addressing, MTOM, SOAP 1.2, WS-Secure Conversation and SIP (JSR 289) I have yet to download this myself, but when time avails itself I’ll investigate and blog accordingly. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ejb, RAD, rational --- ### [Update: Portlet Factory 6.0.2](https://www.strongback.us/2007/12/update-portlet-factory-6-0-2) **Published:** December 16, 2007 **Author:** Kenny Smith **Content:** I missed this [update from IBM](http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS207-293) last month, but anyone using Portlet factory can and should update to this fix pack. The fix pack was available for download on Nov. 13. From the article: What’s new in WebSphere Portlet Factory V6.0.2 software: - Support for deploying applications to Lotus Expeditor and Lotus Notes® environments, enabling developers to build the application once and deploy to multiple environments. - REST Service Call builder that enables developers to create custom portlets that access RSS and ATOM feeds. This enables creation of custom portlets using services like those provided by IBM Lotus® Connections and IBM Lotus Quickr software. Developers can now expand social networking capabilities to other portlets and Web applications. - A bundled version of IBM WebSphere Application Server Community Edition software makes it simple to get started and to test applications. Everything a developer needs to start writing applications is now “in the box.” - IBM Workplace Web Content Management™ builder for accessing Web content management content and creating custom portlets. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, portlet factory --- ### [My Firefox Plugins](https://www.strongback.us/2007/12/my-firefox-plugins) **Published:** December 6, 2007 **Author:** Kenny Smith **Content:** I was recently asked what Firefox plugins I use. Here is my list: [![](https://www.strongback.us/wp-content/uploads/2007/12/MyFirefoxPlugins.png)](https://www.strongback.us/wp-content/uploads/2007/12/MyFirefoxPlugins-1.png) AdBlock Plus – Block embedded HTML which pulls ads from other sites and slows your PC down. ColorZilla – An eye dropper tool that allows you to get RGB or HEX values for any color on a web site. CSSViewer – See the applied CSS styles on any HTML element by hovering your mouse over the element. del.icio.us Bookmarks – Can’t live without this! Store, share, and search your bookmarks across any computer. DOM Inspector – View the Document Object Model of a web page visually. DownThemAll! – Pull down any or all files on a web site (think multiple PDF’s from a software vendor’s web site). FireBug – Test and debug JavaScript, CSS, and see your network traffic load. FireFTP – GUI for FTP IBM Software Support Toolbar – Search the IBM forums and support feeds. Map+ :Map an address to Google maps based on the address format MeasureIt – Measure the pixel width of object or space in a web page Sage – An RSS feed reader Skype Extention for Firefox – Turn phone numbers into clickable, callable links from Skype. Web Developer – The greatest tool second only to Firebug for testing, debugging, and reverse engineering a web site. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Sametime 8 announced](https://www.strongback.us/2007/11/sametime-8-announced) **Published:** November 27, 2007 **Author:** Kenny Smith **Content:** [Ed Brill ](http://www.edbrill.com/)did a pre-announcement of Lotus Sametime version 8 on his blog. [http://www-306.ibm.com/software/lotus/sametime/getthebuzz/](http://www-306.ibm.com/software/lotus/sametime/getthebuzz/?S_TACT=105AGX13&S_CMP=LP) While I have not seen the product yet, it should be available for partners and customers for download via Partnerworld and Passport Advantage on November 29. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** sametime --- ### [Fedora 8 Released](https://www.strongback.us/2007/11/fedora-8-released) **Published:** November 16, 2007 **Author:** Kenny Smith **Content:** Fedora Linux 8 was released last week, and I’ve been playing with it since then. Fedora is an ever increasingly popular Linux distribution. It is not as popular as Ubuntu for the desktop, but has a growing audience. So, why Fedora? First its supported by Red Hat, and subsequently uses much of the same packages and as Red Hat, and the same package management system. Its certainly more bleeding edge than Red Hat, and does not come with any warranty or SLA. Its entirely free (as in speech). This means that it does not include ANY proprietary code – this includes audio codecs and some firmware. Being that I work in the IBM software world, IBM typically supports Red Hat or SUSE linux desktops which are RPM based distributions. Ubuntu by comparison, is a debian based distro. I’ve blogged before about IBM software on Ubuntu. I wanted to try Fedora because, in theory, if it run on Red Hat, it should run on Fedora. I’ve installed it on my Thikpad T61. So far, my biggest problem has been to get my wireless card running. I have the Thinkpad a/b/g/ mini-pci card based on the Atheros chipset. This card is supported by the madwifi driver, and is hosted at [atrmps.net](http://atrpms.net/dist/f8/madwifi/). Well, this morning I finally got it working. The card will not work ‘out of the box’. Rather you have to add the package repository, and then install the driver using the command line ‘yum install madwifi’ . Yum is the package manager that searches repositories and gets the respective package, extracts, and installs the specified sofware. Ubuntu linux by comparison, simply works out of the box (I have it running on another laptop hard drive). One thing I notice, is that it fast. I’ve installed a lot of the packages from the install CD, and it is still fast (much faster than my Windows partition). Now, I’m going to try out some of my IBM software on this distro. I’ll let you know how it goes. So far I’m liking it. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** fedora, Linux --- ### [Upgrading to Lotus Notes 8? You may want to wait.](https://www.strongback.us/2007/11/upgrading-to-lotus-notes-8-you-may-want-to-wait) **Published:** November 8, 2007 **Author:** Kenny Smith **Content:** A word of note. As I have found out by recent experience, upgrading users via SmartUpgrade has some issues. If you use the web kit (the attached kit), it does not accept any parameters. You can verify this by calling the executable from a command line and passing parameters (i.e. /s /v”SELECTINSTALLFEATURES=Activities,Sametime,Editors /qb+”). It will NOT run silent. You must extract the installation out to a network share before you can run it silently via SmartUpgrade. My contact at IBM said the following: As you know this is a reported issue logged as SPR# KTOT776U48. As stated the only way around this at this time is to unzip the installation files and run the installation from a network drive. The issue is slated to be fixed in Notes 8.0.1. Unfortunately, Notes 8.0.1 is not due out until Q1 of next year. This is only an issue if you can’t do a network install (for whatever reasons). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [A batch file for stopping Trend Micro AV](https://www.strongback.us/2007/10/a-batch-file-for-stopping-trend-micro-av) **Published:** October 22, 2007 **Author:** Kenny Smith **Content:** This is a handy file for stopping and ending Trend’s real time scanning. @echo off echo Stopping Trend Micro Real Time Scanning…. net stop tmlisten net stop OfcPfwSvc net stop ntrtscan pause Copy the above into a text file, and rename the text file with a ‘.bat’ extension. Click away, and watch your PC begin to perform better. This is handy if you are actively doing development work and need the additional horsepower that an AV product steals from you. But use at your own caution…. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** antivirus, trend --- ### [Domino 8 on System i: Some notes...](https://www.strongback.us/2007/10/domino-8-on-system-i-some-notes) **Published:** October 21, 2007 **Author:** Kenny Smith **Content:** I recently upgraded a customer from Domino 7 to Domino 8 on the iSeries (a.k.a i5, System i, AS/400… or whatever IBM’s marketing whim is this month). In the process Domino 7 uses the default Java 1.4 JDK (5722JV1, Option 6). IBM has built Domino 8 to support Java 5.0, and therefore requires the Java toolkit 1.5 as well as the J2SE 5.0 (5722JV1 options 7 and 8 respectively). After I got the server upgraded, we noticed that the JVM would not start, nor would the HTTP server tasks. I followed the required software list verbatim, and ensured that all the recent PTF’s were properly applied. No matter what I tried I kept getting this same error: 10/20/2007 12:46:40 JVM: The Java Virtual Machine creation returned an invalid JVM machine pointer. 10/20/2007 12:46:40 JVM: Java Virtual Machine failed to start 10/20/2007 12:46:40 HTTP Server: Error Loading Java Virtual Machine 10/20/2007 12:46:40 HTTP Server: JVM: Missing entrypoint in JVM runtime library. I found out that PASE was required. This is not explicitly listed in the requirements, although it is a requirement for the J2SE 5.0. Since PASE was not needed for Domino 7, my client had not installed it. Once we installed PASE, everything worked like it should. Keep this in mind if you do a Domino upgrade on iSeries/System i/i5. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** domino, iSeries, Lotus Notes --- ### [Websphere Portal 6.1 beta announced](https://www.strongback.us/2007/10/websphere-portal-6-1-beta-announced) **Published:** October 19, 2007 **Author:** Kenny Smith **Content:** I’m a little late in posting this, but IBM is beta testing a new version of Portal. Log in to download. You can run this version side by side with a 6.0 installation. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal --- ### [Ubuntu 7.10 Released Today](https://www.strongback.us/2007/10/ubuntu-7-10-released-today) **Published:** October 19, 2007 **Author:** Kenny Smith **Content:** The most popular Linux distribution released their latest version today. Ubuntu 7.10 “Gutsy Gibbon” is now gold and readily available from . This release qualifies for Canonical’s Long Term Support (18 months). For those not in the know, Canonical is the company that produces Ubuntu Linux. Their release schedule is a religious 6 months, and is reflected in the numbering scheme (7.10 = October 2007). The next release will be 8.04 “Hardy Heron”. I ran Feisty Fawn (7.04) as my primary desktop for the first 6 months of the year, and was thoroughly impressed. I had a few limitations that prevented me from making it my primary desktop: - IBM Software officially does not support their software on Ubuntu – they typically will only support it on Red Hat or Suse. That said, nearly all IBM software available on Linux I was able to run in Ubuntu (including WebSphere App Server, Lotus Notes, Tivoli Directory Server, etc.). - As I am an IBM business partner, there are some IBM software that I have to use for which there is no Linux version. This includes HATS and Websphere Dashboard Framework (even though they are Eclipse based products), and Lotus Notes Designer and Administrator (these are Windows flavors only). - Quicken – Wine was of no use, either in bitwise form, or beverage. This was by no means a deal breaker, however. - Cisco VPN client. This was the killer. While there is a Cisco VPN client for Linux (as I have blogged about before), it would not work on client’s VPN’s whom required a integrated firewall – a feature of Windows XP only. Curiously, this feature of my client’s VPN’s (some of them) also prevented the Windows Vista version from connecting as well. In any event, if you have never tried a linux desktop, then give Ubuntu a spin. You can download in ISO format as a Live CD. This means, that if you boot with the CD, it will start up a live Linux operating system, without touching your hard drive. You can then proceed to install if you choose, or just play around with the desktop and get a feel for the system. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Linux, ubuntu --- ### [So long Vista... thanks for the view](https://www.strongback.us/2007/08/so-long-vista-thanks-for-the-view) **Published:** August 18, 2007 **Author:** Kenny Smith **Content:** I have now ditched Microsoft Vista on my T61 laptop. Actually, I have simply put a fresh hard drive in, and installed Windows XP on it. I tried in earnest to give Vista a go. When I first turned on my laptop with Vista, I was pleased with the graphics and recognition of all my hardware, including my printer (an HP 690 deskjet), two non-descript web cams (won at JavaOne a year ago), as well as most of my other USB peripherals, and especially my eSATA PC card adapter which I use to connect to the family’s shared external USB drive. Now, I say most of my peripherals. Vista would not recognize my HP ScanJet 4100c would not, and had no generic drivers for it. Granted, this scanner is about 9 years old, but it works. I use it scan expenses, and use it in place of a fax machine most of the time. I am simply not going to replace a scanner simply because its ‘old’ and the latest MS OS does not support it. Hell, every Linux distro I’ve tried over the past year supports it out of the box! But that I can deal with – I was simply launching a virtual machine of Ubuntu, running my scans, then shutting down the VM. Simple. What I can’t deal with is the fact that some of the software I depend upon I can’t install on Vista. The two key ones are: - Cisco VPN client – there is a version 5.0 beta that works, but does not support the integrated firewall. This effectively is the same problem I have with the Linux version of the client. This is my biggest hurdle for both Linux and Vista. The fact that so many of my clients require an integrated firewall on their Cisco VPN concentrators is simply too big of a hurdle to ignore. - WebSphere Portal – I do a lot of work with Portal, and several versions of it. I have been unsuccessful in getting ANY version installed on Vista (Express, Enable, Extend, or Base). I must have a test environment for Portal so I can do my portlet development. Again, I could use a VM, but when Vista hogs a gigabyte of RAM sitting still (with nothing open but the sidebar, and no AV software), this is hard to do. You need a 2GB memory VM, and it has to be on an external drive. Running it on the main drive is not an option. So, I still have Vista and all the data on the original 7200 drive, but I find that XP on a new 5400 RPM 160 GB Western Digital drive runs SOOOO much faster. Vista is just a dog. A barking dog (…XYZ progam is attempting to do yada yada yada… Cancel or Allow). Now that I am back on XP, I find a few issues with it (the fact that AV software is so much more important to run, and so much more of a performance drain as well). But… I can scan, and I can code. And for running my business this is good. I will most likely do a full backup of the Vista drive after a clean off any project files or downloads I don’t need, then format the drive in preparation for a new Linux drive – and I’ll probably run Ubuntu Gutsy Gibbon or OpenSUSE 10.3 . [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Vista --- ### [Notes 8 Released](https://www.strongback.us/2007/08/notes-8-released) **Published:** August 18, 2007 **Author:** Kenny Smith **Content:** IBM has now launched a triumverate of new products. Lotus Notes/Domino 8 (aka Hannover), Quickr, and Connections. Ed Brill posted the news on his site yesterday ([www.edbrill.com](http://www.edbrill.com/)). Notes 8 was made available to the partners yesterday, and when I went to the site to download another product, the site seemed inundated, and I could not get in until late yesterday. I expect this release is will put Lotus back on the map, and hopefully back in the good graces of the user community, and at least some of the technology magazine editors. It certainly is vast improvement over previous releases. I ran it on Windows XP and Ubuntu Feisty Fawn (dual boot) for a few months and although I found several minor issues with the beta, it was quite pleasant to use. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [WebSphere Portlet Factory and Software Architect 7](https://www.strongback.us/2007/07/websphere-portlet-factory-and-software-architect-7) **Published:** July 30, 2007 **Author:** Kenny Smith **Content:** I’ve recently done a project involving WebSphere Dashboard Framework. Version 6.0 of the product states that it supports Rational Application Developer 7 and RSA. Being that I run RSA, I wanted to install WDF into RSA. The problem is that the WDF InstallAnywhere does not recognize RSA 7 as a valid Eclipse instance, nor does it show up as a valid Rational platform. In combing the forums, I found the answer to my problem. You must first edit the .eclipseproduct file located under the SDP70 directory. These are the contents for RSA: name=IBM Software Development Platform id=ibm.software.development.platform version=7.0.0 However, WDF looks for eclipse, and for some reason, does not see RSA 7 as a valid platform. THerfore, change your .eclipseproduct contents to the following (temporarily): name=Eclipse Platform id=org.eclipse.platform version=3.2.0 Then, you should be able to install WDF over RSA. Note, you must select the option “into Eclipse” to do this. WDF will still not see your RSA 7 install as a “Rational Application Developer” install. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** dashboard framework, RSA --- ### [Strange error in Eclipse](https://www.strongback.us/2007/07/strange-error-in-eclipse) **Published:** July 10, 2007 **Author:** Kenny Smith **Content:** This is more for my own memory than anyone else’s. I installed RSA on my new Thinkpad and received an error message the next time I started it up. “jvm terminated exit code=1”. I think my problem was that Vista failed to properly suspend, and I shut it down as it was unresponsive. Subsequently, this corrupted the eclipse.ini file. Any attempt to click on a workspace shortcut or even eclipse itself resulted in this immediate error. Solution: Open the eclipse.ini file under the SDP70 folder (i.e. C:IBMSDP70), and delete its contents, except for the first two lines which control which JRE is used to start. RSA started right up afterwards. Apparently there is a default setting that is troublesome with Vista. I have not narrowed down which one though. Note: if you deleted all the contents, then Eclipse will load with the Sun JVM, and RSA/RAD will not very happy about that. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** bug, eclipse, Vista --- ### [The new T61](https://www.strongback.us/2007/07/the-new-t61) **Published:** July 7, 2007 **Author:** Kenny Smith **Content:** Got a heck of a deal on my new T61. Core2duo, 4GB, bluetooth, 100GB 7200 RPM drive, 15″ wide screen, DVD+-RW. All for $1800. Gotta love ebay. Anywhoo, my new machine has Vista Business on it. Being the Linux fan that I am, I am skeptical of it. I want to like it. Its got a pretty interface. Very pretty. Beryl and Compiz have a couple of things to learn from Vista (i.e. stability). So, like most new Windows machines, this one comes loaded with “trial” software. The Mac/PC commercials are so spot on about it. This thing, fresh out of the wrapper has 67 out of 100 GB available. Granted, about 6.5 GB of that is for the restore partition, but still. We’re talking trial versions of Office 2007, Norton Antivirus, SQL Server….blah blah blah. It does have a tool called Diskkeeper, which is basically a fancy GUI for an automated defragmenter – something I used to do with a batch file and scheduled tasks. For those of you not familiar with Linux – there is no such thing as a defragmenter – Linux is smart enough to managed the file system during down time to keep it running optimally. With NTFS or FAT32 you have to schedule defragmentation often or end up with an unbearably slow computer. I’m going to try this thing for a couple of weeks and see how it goes. My preference is to actually wipe the whole drive (restore partition included) and start new with either Ubuntu or Suse and run Windows in VMWare for those apps I have to have that only run under windows. But I must say Vista is pretty. So is the 15 inch display on this thing. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** T61, Vista --- ### [Why Architectural Governance Matters](https://www.strongback.us/2007/06/why-architectural-governance-matters) **Published:** June 14, 2007 **Author:** Kenny Smith **Content:** We had a project recently where we have been updating an existing Java application and moving it from JBoss to WebSphere. Now some of you millennials may start thinking this is a backwards move, but its not. It is not one that I am working on, but rather something my colleagues are. Follow me on this. Here is the background: In this application are servlets calling out.println(“< table > …..< /table>”). There are JSPs that accesses properties files on the server and makes changes to those files on the fly – an absolute security risk, which WebSphere (rightly so) will not allow, but JBoss treated with indifference. This is why the move to WAS is not a backwards move. There are Spring and Hibernate components, yet very poorly implemented, especially since they are mixed with the criminal acts listed above. Now, I can’t name the client, or the project, but let’s say its an important one. That said, an architectural review would have found many of these errors and prevented having to hire an outside firm to come in an re-engineer the application. When we are done, the app should run on ANY JEE application server, be secure, and perform well. This brings me back to the topic of my conversation. Architectural Governance is about establishing the frameworks and standards across your enterprise. The trick is to do it without hindering creativity (which in turn makes your organization less agile and responsive). One way to begin implementing Governance is using IDE generated models. By this I mean creating patterns and templates that codify your standards and frameworks, that can then be used by your architects or designers to generate applications or application stubs. For example, let’s say that you choose to create a standard way of creating a JSF/SEAM/EJB application, and you want that combination of frameworks to be your common choice of frameworks. By creating patterns, which establish how the frameworks are used (including features such has caching, security, and logging), you make it easier for the designer/developer to write the application and GUI. Your models and patterns can also establish a common taxonomy and nomenclature – meaning how your Java classes are named and packaged. By having a common naming structure, you make all your applications across your enterprise easier to manage, and reduce the risk that your only source of domain experience (the developer) walks out the door (quits) or gets hit by a bus. Also, by establishing Governance at this level, you make it easier to migrate to future releases of frameworks – once you update one application, the next one should be mostly a repeat of the first. For organizations that are bound by regulatory or legal requirements such as Sarbanes-Oxley, or HIPPA, Architectural Governance makes compliance much easier (or at it makes non-compliance uniform throughout, which is easier to fix than it would be on a heterogeneous architectures). Now for those who cringe at the thought of working in such an environment because you’re afraid it may strain your creativity, remember that good communication in a development team should allow you to show your creative side. Its a balance in the enterprise. Small business can play fast and loose with their architectures, but enterprises are larger targets for litigation, and the risk of poor architectures are multiple. Soon I will post a blog on RSA, and how it can generate patterns and templates for enterprise architectures. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps, Uncategorized **Tags:** Governance, rational, RSA, SOA --- ### [IBM's Rational Jazz project](https://www.strongback.us/2007/06/ibms-rational-jazz-project) **Published:** June 11, 2007 **Author:** Kenny Smith **Content:** IBM is announcing at the Rational Software Developer conference, Rational Team Concert, a commercial product built on the Jazz project. While this has been buzzing around the Java community since it was demoed at JavaOne last year in 2005. The goal of this project is to be to team collaboration what Eclipse has been to development environments. This will integrate very tightly with Sametime and the new Lotus Connections/Quickr products (come see my presentation at LCTY for more details on that). Of course it also integrates with ClearCase/ClearQuest, but those are not a requirement. The integration of ClearQuest will give a team the most powerful features. Take a look at jazz.net. Some videos on Jazz: http://jazz.net/pub/learn/videos/videos.jsp [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** DevOps **Tags:** jazz, rational --- ### [Geronimo passes Java EE 5 Compatibilty Test Suite](https://www.strongback.us/2007/06/geronimo-passes-java-ee-5-compatibilty-test-suite) **Published:** June 6, 2007 **Author:** Kenny Smith **Content:** InfoQ has an article about Geronimo passing the muster for Java EE 5. http://www.infoq.com/news/2007/06/geronimo-passes-cts To date the following Java application servers are at Java EE compatibility: JBoss 4.2 (not CTS certified, but JBoss says it supports JEE 5) BEA WebLogic 10 Geronimo Glassfish (Sun Application Server) Oracle Application Server 11 Apusic Application Server 5.0 (….and no, I’ve never heard of thus either) TmaxSoft JEUS 6 (..nor have I heard of that one before today) SAP NetWeaver 7.1 Now that you have read this list, do you see any glaring ommision? If you need a hint, check out the label for this post. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Geronimo, java --- ### [More complete Notes 8 Beta 3 Instructions for Ubuntu](https://www.strongback.us/2007/05/more-complete-notes-8-beta-3-instructions-for-ubuntu) **Published:** May 30, 2007 **Author:** Kenny Smith **Content:** Many thanks to Timothy J Masse who wrote down the directions and included a few steps I missed (like changing from dash to bash). Here they are step for step: [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** beta, Lotus Notes --- ### [Lotusphere Comes to You](https://www.strongback.us/2007/05/lotusphere-comes-to-you) **Published:** May 29, 2007 **Author:** Kenny Smith **Content:** Optimus Solutions will be holding 3 separate Lotusphere comes to you events in Atlanta, Tampa, and Chicago. Yours truly will be presenting a couple of presentations: WebSphere Portal Express 6 IBM has always excelled at products for the enterprise, especially when it comes to extremely scalable, high performance apps. WebSphere Portal is embodies exactly that approach since it is highly scalable (built on WebSphere Application Server Network Deployment 6), with a strong play for SOA (as it is also packaged with the Process Server, a business rules engine). Portal Express has recently been overhauled and release 6 is a fresh departure from its prior incarnation. It is relatively easy to install and is a great starting point for small/medium companies looking for a way to integrate all their disparate systems into a common interface. Lotus Quicker and Connections IBM is jumping in headfirst into the Web 2.0 social computing scene with these two products. IBM has so completely revamped Quickplace, that they have renamed it Quickr. It is the ultimate team space, and comes in a few flavors. IBM is practically giving the personal edition away to current Lotus Notes users, while the enterprise version is what used to be Quickplace. Connections is the newest member of the Lotus family. Think of it as part [LinkedIn,](http://www.linkedin.com/ksmith) part [Jira,](http://www.atlassian.com/software/jira/) part Confluence/Wiki, part BlogSpot, part [del.icio.us.](http://del.icio.us/) Anyone interested can RSVP at the following URL: [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Connections, Lotus Notes, Portal, Quickr --- ### [Lotus Notes /Domino 8 Beta 3 Available](https://www.strongback.us/2007/05/lotus-notes-domino-8-beta-3-available) **Published:** May 24, 2007 **Author:** Kenny Smith **Content:** [Ed Brill](http://www.edbrill.com/) made the announcement last night on his blog. I have been running the beta on both my windows partion and my Ubuntu Linux partition. The Linux version of Notes has allowed me to work in my Linux partition near 90 percent of the time, which makes my computer a joy to use. Beta 2 has been buggy as hell, but workable. It would crash rather unpredictably, or lock up and become unusable. On at least two occasions, it crashed, and NSD spawned recursive instances of NSD, which brought my laptop to a crawl. Beta 3, again, is not supported on anything other than Red Hat and Suse. But that is fine, as I am a geek and got the first one working…thus I’ll get the next one. Here are some tips on getting Lotus Notes 8 Beta 3 running on Ubuntu (Feisty Fawn) 7.04. Download and extract the tarball (follow Ed’s post above). UNINSTALL the Notes 8 Beta 2 before you install Beta 3!!! Copy the file /deploy/install.xml to /root The installer does not set the correct permissions on the “~/lotus” directory (that is the the lotus directory under your home directory – the tilde is a shortcut for it). You can simply delete the directory before you launch for the first time, or change ownership with “chown myusername lotus”. It took some time to get it installed, but its up an running successfully now. So far I will say that this beta is much less crash/hang prone. Looks like they have removed all the debug code (or more properly set the logging level to info rather than finer). So far so good. I’ll blog later on how its working. Oh, the presentation editors are actually working now on Linux. They were working on Windows, but not Linux under Beta 2. I don’t really see the need for these editors with OpenOffice installed on Linux, but they are a novelty that works under Beta 3. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Lotus Notes --- ### [Open Sourcing The Notes Client](https://www.strongback.us/2007/05/open-sourcing-the-notes-client) **Published:** May 17, 2007 **Author:** Kenny Smith **Content:** After my experience at JavaOne, I now see the different types of revenue streams that can be generated off of open source software. Sun has certainly managed to increase their profits by doing so. Solaris adoption is increasing rapidly, especially now that there are forks of Solaris such as [Nexenta](http://www.gnusolaris.org/gswiki) (which is basically Ubuntu with a Solaris kernel). Sun learned a valuable lesson a few years ago, and they are catching up. Their products are now relevant again. I’ve also been evaluating IBM’s Lotus Notes Linux client for the past couple of months. Its been a key reason why I’ve been able to use a Linux desktop about 80% of the time. While its been a huge benefit to have this client, its been buggy as hell. Yes, I know its a beta, but there are many features that could have been fixed by the community by now (such as creating a default debian package rather than the RPM package). While the Domino server is a truly superior product, the client is still lacking. I don’t think its going to be enough to catch up to Outlook. Its fat – it takes up lots of disk, while being a memory hog. Its currently using about 226MB on Linux. This is my suggestion. IBM would be wise to open source the Notes client. We, the community would be better able to fix the bugs and stabilize the platform, quicker and faster than IBM can. IBM needs adoption. They are facing increased competition from Microsoft – which has a superior albeit closed client. On the other side of the spectrum are the open source messaging platforms Zimbra and Scalix. These clients, while not having the robustness of a fat client, are beautifully done Ajax/web based email clients. They simply blow DWA and OWA away. The OpenNTF site is a great example of how the community has responded to fixing their own bugs and improving the product.I’m sure IBM has fostered it as such. IBM is a huge contributor to open source (i.e. Eclipse, Derby, etc). Now its time to open up, at the very least, the lesser profitable products. IBM does not make much on each Notes client. I think full client with collaboration (Sametime instant messaging) costs about 100 bucks, less without collaboration. I simply do not see how they can break even on development costs when they do all the development – even with the Notes client being built on top of Lotus Expeditor (IBM’s version of Equinox). IBM could open source the client, while still selling support and maintenance on the client. IBM would then reap the benefit of having the development community participate in the client’s evolution, thus reducing their development cost. Any software vendor’s bread and butter is in maintenance anyway, not up front licensing. That has become more and more a break even business, and now sometimes a losing business. Now is the time. Open up IBM…. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, Lotus Notes, OpenNTF --- ### [JavaOne...more thoughts](https://www.strongback.us/2007/05/javaone-more-thoughts) **Published:** May 9, 2007 **Author:** Kenny Smith **Content:** This is now my second trip to SFO for JavaOne. After being at LotusSphere in March (where IBM announced Notes 8 Beta), I’ll have to say this is the better conference to attend. I’m also going to the Rational Software Developer Conference in Orlando in June, and I have my doubts about it. JavaOne has a much stronger focus on the technology and and less on the product. RSDC and LotusSphere are truly marketing events. JavaOne is a technology event. Yes, there are cool products and demos to be seen at both IBM events. But since when does IBM do a call for papers? I’m sitting down at the moment waiting for the GlassFish BOF to start. I’m very impressed with GlassFish and NetBeans thus far. The NetBeans 6 beta is just killer. In fact I think its much better than my hyper expensive edition of Rational Software Architect on Linux. I feel brainwashed by IBM at this point. My tasks for the coming weeks are to dig a litter deeper into the technologies I’ve learned this week just to ensure I’ve dug through the marketing hype. One lesson I’ve learned is how I can install NetBeans on Ubuntu via the Multiverse repository. Its SOOOO much easier than installing anything from the Rational Development Platform, and strongly competitive. At least on Ubuntu. Hey…IBM…did you know Ubuntu was the number one distribution??? Do you know your installers are for RPM distributions only (Red Hat, Suse, Fedora, etc). Get with the program. Sun is beating you to it! [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, javaone, LotusSphere, rational --- ### [JavaFX Post on Slashdot](https://www.strongback.us/2007/05/javafx-post-on-slashdot) **Published:** May 9, 2007 **Author:** Kenny Smith **Content:** Interesting post from Slashdot on what Sun has announced regarding FX (I mentioned in my previous blog). [http://www.internetnews.com/dev-news/article.php/3676226. ](http://www.internetnews.com/dev-news/article.php/3676226) This was announced less than 12 hours ago at JavaOne. I have not been to any sessions on it as of yet, but it does seem like an AJAX competitor (some say killer). Its amazing how quickly the news travels in the modern day. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, javafx, javaone --- ### [JavaOne 2007](https://www.strongback.us/2007/05/javaone-2007) **Published:** May 8, 2007 **Author:** Kenny Smith **Content:** Its opening day today at JavaOne (I was here yesterday for Java University). I’m sitting in the keynote address. Some cool things are being announced, as is typical in any opening general session. I’ll comment when I can, and I’ve got a bunch of other material I’ve been saving up – so expect a lot of new posts this week. Java is now fully open sourced as of today. The announcement made at JavaOne last year to open source the language has now been completed. JavaFX – family of Sun products based on consumer facing java technologies – toolsets, new software systems based on java or other JVM compatible languages. JavaFX Script – scripting language for rich I-net apps. designed for content authoring tools. Used for building very rich graphical experiences. Used for driving Swing/AWT. Preview release available – not production…yet. JavaFX mobile – Java SE on a mobile device – down to the metal – open programming model – designed to be modified and localized by OEMs. Key intellectual property was acquired last year from the company who produced the SavaJe product, after the company effectively went out of business. Some other key focuses of the conference include the following: - Community and social networkings - Java in TVs, phones, cable TV set top boxes - Java in Ubuntu Linux (along with Glassfish, Netbeans, and SDK 6 - Glassfish open source application server, a JEE 5 container - blue ray java – richer GUI for a blueray menu system – Rich Green demoed how the movie Open Season uses Java for its menu - A series of Java SE 6 releases based on speed coming this year - Expanding the reach of Java in an open format – an ambitious goal to introduce Java or Java technologies as described above throughout the globe [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, javaone --- ### [Adding New HATS Templates to new Projects](https://www.strongback.us/2007/04/adding-new-hats-templates-to-new-projects) **Published:** April 24, 2007 **Author:** Kenny Smith **Content:** HATS comes bundled with several default templates. Only one or two could reasonably be used in a production environment as they are just downright hideous. A template consists of a JSP, images, and stylesheets. Rather than create a new template each time you do a project, you might want to save the project so that when you create another new project, you have the option of selecting your company’s template rather than the ubiquitous “swirl.jsp” template. To do so, add your template as follows: Images and stylesheets should be put under: C:SDP70Sharedpluginscom.ibm.hats\_7.0.0.200702062321 predefinedprojectsnewWeb Contentcommon The JSP template is located under the following directory: C:SDP70Sharedpluginscom.ibm.hats\_7.0.0.200702062321 predefinedprojectsennewWeb Contenttemplates Then change the default project settings to reflect your new template. Open “application.hap” under C:SDP70Sharedpluginscom.ibm.hats\_7.0.0.200702062321 predefinedprojectsnewWeb ContentWEB-INFprofiles and edit the first line to change the “swirl.jsp” to your new jsp. If you choose to remove any existing templates, do so with caution. If you ever need to recover them, you’ll have to reinstall HATS. At the very least, leave blank.jsp as it is helpful to switch back to one of the out of the box templates every once in a while, just to ensure that your new template is not the cause of some bizarre rendering issue. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS --- ### [WAS 6.1 install on Fedora](https://www.strongback.us/2007/02/was-6-1-install-on-fedora) **Published:** February 21, 2007 **Author:** Kenny Smith **Content:** I am currently installing WebSphere Application Server 6.1 on Fedora Core 6. Just some tips on this: If you are running Fedora under VMWare ESX as I am, you will hopefully be able to use the Virtual Infrastructure Client. You can download this from the VM host server site. I am using a DVD disc that came with a magazine (Linux Format, a great British linux mag). Create your VM image, then boot, and as soon as you boot, connect your virtual CD – you’ll be connecting your local CD ROM to the VM server. It takes a while to do this (especially over a VPN like I am), but it works for installing and setting up the OS. First, prior to doing much of anything (but after installing of course), you’ll need to turn off SELinux. Click on “System>Administration>Security Level and Firewall”, and disable SELinux on the second tab. Thanks to Oliver Quixchan for the tip (http://oliverqg.blogspot.com/). Fedora uses RPMs for package management. Spend some time preparing the operating system, by getting the recommended packages installed first. you’ll avoid headaches in the installation. One word of note on this: the rpm-build-4.3.3-7\_nonptl package mentioned in the InfoCenter is NOT included with Fedora, and I’ve found no where to download it. That said, I do not feel that I’ve needed it. My preference is always to do a silent install, regardless of platform. You do not have to be logged in as root to install, but its preferable. The WAS 6.1 install allows you to install as a non-root user, just fill in the blanks in the response file (response.nd.txt under the WAS directory). A silent install is really the only to install it with advanced settings and walk away from it. When you come back, you have a running server. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** fedora, Linux, WebSphere --- ### [Importing XML Schema file for xmlAccess scripts](https://www.strongback.us/2007/02/importing-xml-schema-file-for-xmlaccess-scripts) **Published:** February 10, 2007 **Author:** Kenny Smith **Content:** If you are new to WebSphere Portal, and setting up a test/staging /production environment, then you should closely familiarize yourself with the XmlAccess interface. This is the command line scripting interface. Yes, you are probably thinking “command line?? why got out of the green screen stone age years ago!”. Well that’s fine and dandy, but think about this, once you have a test system up and running, how are you going to get it out of there and into your staging environment? Run through the GUI again? What happens, when you need to continually be adding new features, testing them, and pushing them into staging for integration testing? Yes, clicking through a GUI seems a bit overwhelming. That is why we still have command line interfaces. With the XmlAccess interface you can export a page, a theme, skins, personalization rules, etc. Then you can import them into the target server with the exported results. It also lends it self to an automated test and build process. If you want to know more about this, either leave a comment or shoot me a line. Those of you already familiar with XmlAccess, but would really like the bring in some context sensitive (control-space) functionality you get with other XML files, you can import the portal xml schema into your Rational Application Developer. The schema file is located under the /shared/app folder in the wp.xml.jar file. You will need to unpack the jar, and import the file into your workspace, preferably under the same folder you are working in. Be sure to refresh the workspace if you import from the file system rather than RAD. Here is what you get: [![](https://www.strongback.us/wp-content/uploads/2007/02/xmlAccessSchema.jpg)](https://www.strongback.us/wp-content/uploads/2007/02/xmlAccessSchema-1.jpg) This makes it much easier to build out an XmlAccess file, as RAD will read the XSD and present options for legal values in the editor. Who really wants to remember the exact format of the schema anyway? [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, WebSphere, xmlaccess --- ### [Interesting Article on JBOSS and WebSphere Community Edition](https://www.strongback.us/2007/01/interesting-article-on-jboss-and-websphere-community-edition) **Published:** January 19, 2007 **Author:** Kenny Smith **Content:** We’ve all been wondering what’s going on with WebSphere App Server’s near glacial release cycle, which IBM has indicated that it will be 2008 until a certified JEE 5 version appears. Based on what IBM has done with Eclipse and their Rational Software development platform, my guess is that IBM will eventually ditch the original WAS codebase, or least most of it, and replace the core with WAS CE. They will then add on top of that their JMX Jython scripting interfaces, BPEL integration (merging of the Process server), an updated administration console, EJB / JPA based clustering, cell support, and some TIM/TAM security integrations. It makes a lot of sense from a business aspect as it greatly reduces their cost of development, depending more on the community. Ironically, even as stale as the commercial WAS version is, it still has won Developer.com’s 2007 Product of the Year. Prediction: Expect WAS 7 to be Geronimo at the core, JEE 5 certified, and built on the JDK 6.0 **WebSphere Community Edition Gaining Market Share Nearly Three Times as Fast as Rival JBoss** ![](cid:_2_08181AA0081816B8004D4FAE85257268)According to Evans Data Corporation, in a single year WebSphere Application Server Community Edition gained 16 points of market share with Eclipse developers, versus only a 6.6 share gain for JBoss. “WebSphere Application Server Community Edition enables customers and Business Partners to tap the low cost of entry of open source technology to quickly develop and deploy applications,” said Robert LeBlanc (pictured), general manager, IBM WebSphere. “With more than 250,000 downloads in less than six months, WAS Community Edition is gaining momentum with customers of all sizes and industries.” WAS Community Edition, which is free to download and use, pre-integrates Apache Tomcat with several of the most commonly used open source components, such as web services, security, authentication, messaging and web tier clustering. IBM began to offer customers solutions based on Apache Geronimo in May of 2005 when it acquired Gluecode Software. It launched WAS Community Edition in November of 2005. The second Annual Eclipse Global Enterprise Report from Evans Data Corporation surveyed software developers on their attitudes, awareness, perceptions and concerns of developers regarding Eclipse and Eclipse-related products. Eclipse is an open source, platform independent framework for developing software applications. Linux distributors have also embraced WAS Community Edition. Mandriva, particularly popular in Latin America, bundles WAS Community Edition with Mandriva Corporate Server. RedFlag Linux in China agreed to distribute WAS Community Edition with both RedFlag Desktop and RedFlag Server. Additionally, Novell’s Integrated Stack for SuSE Linux (ISSLE) includes WAS Community Edition and IBM DB2 Express-c. For additional information and to download WebSphere Application Server Community Edition, . ![](cid:_2_08184A4C081847F8004D4FAE85257268) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Geronimo, ibm, WebSphere --- ### [Precompiling the Portal JSPs](https://www.strongback.us/2006/11/precompiling-the-portal-jsps) **Published:** November 29, 2006 **Author:** Kenny Smith **Content:** When you first start Portal 6 up (or Portal 5.1 for that matter), no matter what gear you are running it on, its going to seem slow. If you are doing an install, or planning on doing one, add this to your post-install task list: wpsconfig action-precompile-jsp This will precompile all JSPs within Portal. It will also take a LONG time to run (mine ran at 477+ minutes on a single processor, 2GB VM). Plan on running this before you deploy to your user community. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, performance tuning, Portal, WebSphere --- ### [Troubleshooting the Portal configuration](https://www.strongback.us/2006/11/troubleshooting-the-portal-configuration) **Published:** November 29, 2006 **Author:** Kenny Smith **Content:** In looking at the troubleshooting section of the Portal 6 infocenter, I ran across a good troubleshooting article. [http://www-1.ibm.com/support/docview.wss?rs=688&context=SSHRKX&q1=enable-security-wmmur-ldap&uid=swg27008792&loc=en\_US&cs=utf-8&lang=en](http://www-1.ibm.com/support/docview.wss?rs=688&context=SSHRKX&q1=enable-security-wmmur-ldap&uid=swg27008792&loc=en_US&cs=utf-8&lang=en) To reiterate one of the key points in the LDAP setup, you MUST disable global security before running the enable-security task. “wpsconfig disable-security” Then validate your LDAP setup with “wpsconfig validate-ldap-wmmur” (the wmmur is for realm support) Once validated, run the enable task: wpsconfig enable-security-wmmur-ldap [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, Portal, WebSphere --- ### [IE 7 and Rational Software Development Platform](https://www.strongback.us/2006/11/ie-7-and-rational-software-development-platform) **Published:** November 21, 2006 **Author:** Kenny Smith **Content:** I knew that IBM would not support IE7 on existing platforms (RAD/RWD/RSA 6, etc.), but now they have stated that they will not support IE7 on the upcoming RSDP 7 (codenamed Caspian). The product is not even released and yet IBM is behind the curve! [http://www-1.ibm.com/support/docview.wss?uid=swg21248158 ](http://www-1.ibm.com/support/docview.wss?uid=swg21248158) IE 7 has been in Beta for nearly a year. You would think that the Rational guys would have the foresight to try to include IE7 beta as part of their testing. At the very least, using Firefox, Opera, or Safari to gauge the effect in their testing. Ugh… [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** ibm, IE7, RAD, rational, RSA --- ### [Portal Security Overview](https://www.strongback.us/2006/11/portal-security-overview) **Published:** November 21, 2006 **Author:** Kenny Smith **Content:** This is a very informative article on how WebSphere Portal security works. It also does a great job of explaining WebSphere app server security, and how external security managers can hook in. It was written by the guys who architected the whole Portal security, so it is from the horses mouth, so to say. http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/pdf/0611\_buehler-WP60-SecurityOverview.pdf (note: this is a PDF document link) [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, security, WebSphere --- ### [Cisco VPN with Ubuntu](https://www.strongback.us/2006/11/cisco-vpn-with-ubuntu) **Published:** November 17, 2006 **Author:** Kenny Smith **Content:** I’m slowly dismantling each rickety pier holding up Windows on my laptop. Our VPN was a big one. I’ve found some great articles on installing, patching and setting up the VPN client on Ubuntu 6.10 (Edgy Eft). Check out the following links: http://www.popey.com/node/62 http://www.victortrac.com/cisco\_vpn\_patch You can also find the links on my del.icio.us site: http://del.icio.us/klenny [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** cisco, Linux, ubuntu --- ### [Stopping WebSphere Gracefully on an iSeries](https://www.strongback.us/2006/10/stopping-websphere-gracefully-on-an-iseries) **Published:** October 26, 2006 **Author:** Kenny Smith **Content:** This is a question I get frequently from new customers running WebSphere Application Server, and its a good question as its not well documented anywhere (or at least anywhere convenient). Every shop will need to IPL their iSeries at some point, and subsequently you want to bring down the Application server and HTTP servers gracefully rather than just issuing a ENDSBS(QWAS6) command. Here is the recipe for doing it right! You end a WAS instance by calling a QShell script. The script is located under /QIBM/UserData/WebSphere/AppServer/V6/Base/profiles/default/bin/ If you are running Network Deployment rather than Express or Base, substitute Base for ND above. Call the script with the following parameters: stopServer server1 stopServer admin This is the same procedure for all platforms, just different directories and filename extensions depending upon the platform (Unix/Linux is always .sh, Windows is .bat, and iSeries has no file name extension). You can call a QShell script from a CL command with the following syntax: STRQSH CMD (‘/QIBM/UserData/WebSphere/AppServer/V6/Base/profiles/default/bin/stopServer server1’) or submit it as a batch job. This would be what you put in your IPL shut down script: SBMJOB CMD (STRQSH CMD (‘/QIBM/UserData/WebSphere/AppServer/V6/Base/profiles/default/bin/stopServer server1’)) For the HTTP Server instances, you can end them with a CL command (This is well documented, but since you are ending WAS you might as well add this to the IPL script also): ENDTCPSVR SERVER(\*HTTP) HTTPSVR(\*ADMIN). ENDTCPSVR SERVER(\*HTTP) HTTPSVR(\*SERVERNAME). [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** AS/400, ibm, IPL, iSeries, java, QShell, WebSphere --- ### [Transferring a Portal Database to DB2](https://www.strongback.us/2006/10/transferring-a-portal-database-to-db2) **Published:** October 25, 2006 **Author:** Kenny Smith **Content:** Portal installs out of the box using Cloudscape (a.k.a. Apache Derby). Needles to say, this is not a scalable database, but is appropriate for demos. A RDBMS is very CPU and disk intensive and often memory intensive as well. Separating the db from the Portal is the first step in scaling a Portal environment up. WebSphere Portal 6 comes with a limited use license of DB2 Enterprise Edition. I won’t go into all the specifics, but will mention a few lessons learned. First, read the InfoCenter’s instructions and follow them very carefully, then come back here for my addendums. Some things that I have found doing a windows db2 transfer that differs from the InfoCenter: 1\) DB2 does not like database names to be greater than 8 characters, thus the ‘customization’ and ‘community’ database names need to be shortened. You do not have to use the default names as listed in the examples! The InfoCenter fails to mention this 8 character limitation. 2)The version of DB2 that comes with Portal is 8.1 fixpack 12. There is a blurb in the documentation about fixpack 11. This is from the InfoCenter: > Note: If you are using IBM DB2 Universal Database™ Enterprise Server Edition Fix Pack 11 or 12, you must complete the following steps prior to database transfer. Failure to follow these steps will cause the database transfer to hang at the task action-process-constraints. If you are using DB2 client to connect to a remote DB2 server, make the following changes on the DB2 client. 1. Locate the following file: > - **UNIX:** /home/db2inst1/sqllib/cfg/db2cli.ini > - **Windows:** db2home/sqllib/db2cli.ini > 2. Edit the file by adding the following to the end of the file: > - For Fix Pack 11: ``` > [COMMON]DYNAMIC=1 > ``` > > Note: An empty line is required after the dynamic=1 at the end of the file. > - For Fix Pack 12: ``` > [COMMON]ReturnAliases=0 > ``` > > Note: An empty line is required after the ReturnAliases=0 at the end of the file. Now, a word of warning. You need to add BOTH of these to BOTH the client and server db2cli.ini files. The Portal manual database transfer WILL hang if you do not. I learned this the hard way. 3\) If you are using Portal 6 for the iSeries, you can ONLY use DB2400 on the iSeries. This means you can’t distribute the workload to another machine or LPAR. If you are using Portal on any other platform, you cannot use DB2400 on the iSeries. I have posted some other comments about Portal on the iSeries, so if you are an iSeries shop, these should be racking up in your head. 4\) Most of the instructions can be summarized and put into batch files, which I found most helpful. I will post my batch files below so you can use them on your own installation. These are for remote transfer situations where the database server is on another physical machine than the portal (a great way to distribute the portal workload). Copy the contents into your own batch file in notepad. Then you run them from a DB2 Command window (run db2cmd from a command prompt, then call the batch file from the new window). Change the names of the databases according to your tastes. > rem ———————————————————————————— > REM Change ‘portal6’ to the actual hostname of the Portal server (8 char preferred). > rem ———————————————————————————— > db2 update dbm cfg using tp\_mon\_name WAS > db2 update dbm cfg using spm\_name “portal6” > > db2set DB2\_RR\_TO\_RS=yes > db2set DB2\_EVALUNCOMMITTED=YES > db2set DB2\_INLIST\_TO\_NLJN=YES > db2 “UPDATE DBM CFG USING query\_heap\_sz 32768” > db2 “UPDATE DBM CFG USING maxagents 500” > db2 “UPDATE DBM CFG USING sheapthres 50000” > > rem —————-Release—————— > db2 “CREATE DB release using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR release USING applheapsz 4096” > db2 “UPDATE DB CFG FOR release USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR release USING stmtheap 8192” > db2 “UPDATE DB CFG FOR release USING dbheap 2400” > db2 “UPDATE DB CFG FOR release USING locklist 1000” > db2 “UPDATE DB CFG FOR release USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR release USING logprimary 12” > db2 “UPDATE DB CFG FOR release USING logsecond 20” > db2 “UPDATE DB CFG FOR release USING logbufsz 32” > db2 “UPDATE DB CFG FOR release USING avg\_appls 5” > db2 “UPDATE DB CFG FOR release USING locktimeout 30” > > rem —————Community————————— > db2 “CREATE DB commity using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR commity USING applheapsz 4096” > db2 “UPDATE DB CFG FOR commity USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR commity USING stmtheap 8192” > db2 “UPDATE DB CFG FOR commity USING dbheap 2400” > db2 “UPDATE DB CFG FOR commity USING locklist 1000” > db2 “UPDATE DB CFG FOR commity USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR commity USING logprimary 12” > db2 “UPDATE DB CFG FOR commity USING logsecond 20” > db2 “UPDATE DB CFG FOR commity USING logbufsz 32” > db2 “UPDATE DB CFG FOR commity USING avg\_appls 5” > db2 “UPDATE DB CFG FOR commity USING locktimeout 30” > > rem ——————-Customization———————— > db2 “CREATE DB customiz using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR customiz USING applheapsz 4096” > db2 “UPDATE DB CFG FOR customiz USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR customiz USING stmtheap 8192” > db2 “UPDATE DB CFG FOR customiz USING dbheap 2400” > db2 “UPDATE DB CFG FOR customiz USING locklist 1000” > db2 “UPDATE DB CFG FOR customiz USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR customiz USING logprimary 12” > db2 “UPDATE DB CFG FOR customiz USING logsecond 20” > db2 “UPDATE DB CFG FOR customiz USING logbufsz 32” > db2 “UPDATE DB CFG FOR customiz USING avg\_appls 5” > db2 “UPDATE DB CFG FOR customiz USING locktimeout 30” > > rem —————-JCR——————————- > db2 “CREATE DB jcrdb using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR jcrdb USING applheapsz 4096” > db2 “UPDATE DB CFG FOR jcrdb USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR jcrdb USING stmtheap 8192” > db2 “UPDATE DB CFG FOR jcrdb USING dbheap 2400” > db2 “UPDATE DB CFG FOR jcrdb USING locklist 1000” > db2 “UPDATE DB CFG FOR jcrdb USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR jcrdb USING logprimary 12” > db2 “UPDATE DB CFG FOR jcrdb USING logsecond 20” > db2 “UPDATE DB CFG FOR jcrdb USING logbufsz 32” > db2 “UPDATE DB CFG FOR jcrdb USING avg\_appls 5” > db2 “UPDATE DB CFG FOR jcrdb USING locktimeout 30” > > rem —————-WMM————————— > db2 “CREATE DB wmm using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR wmm USING applheapsz 4096” > db2 “UPDATE DB CFG FOR wmm USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR wmm USING stmtheap 8192” > db2 “UPDATE DB CFG FOR wmm USING dbheap 2400” > db2 “UPDATE DB CFG FOR wmm USING locklist 1000” > db2 “UPDATE DB CFG FOR wmm USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR wmm USING logprimary 12” > db2 “UPDATE DB CFG FOR wmm USING logsecond 20” > db2 “UPDATE DB CFG FOR wmm USING logbufsz 32” > db2 “UPDATE DB CFG FOR wmm USING avg\_appls 5” > db2 “UPDATE DB CFG FOR wmm USING locktimeout 30” > > rem ——————–Likeminds————————- > db2 “CREATE DB lmdb using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR lmdb USING applheapsz 4096” > db2 “UPDATE DB CFG FOR lmdb USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR lmdb USING stmtheap 8192” > db2 “UPDATE DB CFG FOR lmdb USING dbheap 2400” > db2 “UPDATE DB CFG FOR lmdb USING locklist 1000” > db2 “UPDATE DB CFG FOR lmdb USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR lmdb USING logprimary 12” > db2 “UPDATE DB CFG FOR lmdb USING logsecond 20” > db2 “UPDATE DB CFG FOR lmdb USING logbufsz 32” > db2 “UPDATE DB CFG FOR lmdb USING avg\_appls 5” > db2 “UPDATE DB CFG FOR lmdb USING locktimeout 30” > > rem ——————Feedback———————- > db2 “CREATE DB fdbkdb using codeset UTF-8 territory us COLLATE USING UCA400\_NO PAGESIZE 8192” > db2 “UPDATE DB CFG FOR fdbkdb USING applheapsz 4096” > db2 “UPDATE DB CFG FOR fdbkdb USING app\_ctl\_heap\_sz 1024” > db2 “UPDATE DB CFG FOR fdbkdb USING stmtheap 8192” > db2 “UPDATE DB CFG FOR fdbkdb USING dbheap 2400” > db2 “UPDATE DB CFG FOR fdbkdb USING locklist 1000” > db2 “UPDATE DB CFG FOR fdbkdb USING logfilsiz 1000” > db2 “UPDATE DB CFG FOR fdbkdb USING logprimary 12” > db2 “UPDATE DB CFG FOR fdbkdb USING logsecond 20” > db2 “UPDATE DB CFG FOR fdbkdb USING logbufsz 32” > db2 “UPDATE DB CFG FOR fdbkdb USING avg\_appls 5” > db2 “UPDATE DB CFG FOR fdbkdb USING locktimeout 30” > > rem —-On the DB2 server machine, set DB2COMM to TCP/IP by using the db2set command, as follows:—– > db2set DB2COMM=TCPIP > > db2 “UPDATE DBM CFG USING svcename DB2” Next, update the JCR database with the following script > db2 “CONNECT TO jcrdb USER db2admin USING db2admin” > db2 “CREATE BUFFERPOOL ICMLSFREQBP4 SIZE 1000 PAGESIZE 4 K” > db2 “CREATE BUFFERPOOL ICMLSVOLATILEBP4 SIZE 8000 PAGESIZE 4 K” > db2 “CREATE BUFFERPOOL ICMLSMAINBP32 SIZE 8000 PAGESIZE 32 K” > db2 “CREATE BUFFERPOOL CMBMAIN4 SIZE 1000 PAGESIZE 4 K” > db2 “CREATE REGULAR TABLESPACE ICMLFQ32 PAGESIZE 32 K MANAGED BY SYSTEM USING (‘ICMLFQ32’) BUFFERPOOL ICMLSMAINBP32” > db2 “CREATE REGULAR TABLESPACE ICMLNF32 PAGESIZE 32 K MANAGED BY SYSTEM USING (‘ICMLNF32’) BUFFERPOOL ICMLSMAINBP32” > db2 “CREATE REGULAR TABLESPACE ICMVFQ04 PAGESIZE 4 K MANAGED BY SYSTEM USING (‘ICMVFQ04’) BUFFERPOOL ICMLSVOLATILEBP4” > db2 “CREATE REGULAR TABLESPACE ICMSFQ04 PAGESIZE 4 K MANAGED BY SYSTEM USING (‘ICMSFQ04’) BUFFERPOOL ICMLSFREQBP4” > db2 “CREATE REGULAR TABLESPACE CMBINV04 PAGESIZE 4 K MANAGED BY SYSTEM USING (‘CMBINV04’) BUFFERPOOL CMBMAIN4” > db2 “CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE32 PAGESIZE 32 K MANAGED BY SYSTEM USING (‘icmlssystspace32’) BUFFERPOOL ICMLSMAINBP32” > db2 “CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE4 PAGESIZE 4 K MANAGED BY SYSTEM USING (‘icmlssystspace4’) BUFFERPOOL ICMLSVOLATILEBP4” > > db2 “DISCONNECT jcrdb” > db2 “TERMINATE” Then you update the service files with the correct ports on both the client and server. Finally, catalog the databases on the Portal server’s db2client (if you changed the database names, then update them below as well): > db2set DB2COMM=tcpip > db2 “catalog tcpip node DB2INST remote db2.yourcompany.com server 50000” > > db2 “catalog db release as reldba at node DB2INST” > db2 “catalog db commity as commdba at node DB2INST” > db2 “catalog db customiz as customdb at node DB2INST” > db2 “catalog db fdbkdb as fdbkdba at node DB2INST” > db2 “catalog db lmdb as lmdba at node DB2INST” > db2 “catalog db jcrdb as jcrdba at node DB2INST” > db2 “catalog db wmm as wmmdba at node DB2INST” > db2 “quit” After this you should be able to connect to the DB2 database from portal. If you have trouble try telnetting to the db2 port (db2 connect to wmm user db2admin using db2admin). If you cant’ connect, go back and check your db2 installation. Reinstall and redo the databases if you must. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** db2, iSeries, java, Portal, WebSphere, wpsconfig --- ### [Process server & portal on iSeries](https://www.strongback.us/2006/09/process-server-portal-on-iseries) **Published:** September 25, 2006 **Author:** Kenny Smith **Content:** Neat little catch 22 I’ve discovered in setting up Portal 6 on our iSeries. Both of these statements are from the InfoCenter. It appears that there is no clear way to install the Process server components in a clustered environment (or a managed) on an iSeries from an initial or scripted install. **i5/OS users:** Installation of WebSphere Portal is not supported on a federated node in an i5/OS environment. If you are building a cluster on i5/OS, use the instructions in the following section to install the portal and then federate the node: [Installing WebSphere Portal on an unmanaged node (primary)](http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wpf/clus_install_primary_unfed.html). **Remember**: Because the default installation of WebSphere Portal, including business process support, is not supported for installation to an unmanaged node and later federation, you must install WebSphere Portal without business process support, as described in the installation instructions. You can however, use the BP support from a remote server, you would just need to install the Process server separately into its own federated profile (and preferrably on its own gear). Then you run the Portal bpe-unconfig task to unconfigure it, then install the Member Manager plugin. Full instructions are in the following link: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wps/bpi\_admin.html [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [RSA Beta ...I'm still waiting](https://www.strongback.us/2006/09/rsa-beta-im-still-waiting) **Published:** September 22, 2006 **Author:** Kenny Smith **Content:** I signed up for the Beta program, but am still waiting. I don’t see the downloads available yet on the partner site yet. I am hoping that RSA/RAD 7 is going to be like what we saw at JavaOne in May from Eric Gamma et al. That demo blew me away. I think it makes up for IBM’s rather glacial progess thus far. The integrated collaboration, instant messaging, code version control, and build management was phenomenal. Yes, I give them a hard time about the velocity of their point releases, but then again they contribute more to open source than any other company. They have recently donated over 500 of their software patents to Open Source, and if you look at the source code behind Eclipse, IBM is stamped all over it. I also see that IBM is now offering SLA’s for Eclipse and Eclipse based products. Looks like they are about to reap what they sowed. Just giving you your due Big Blue. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** java, rational, RSA --- ### [HATS 6.0.5 now out](https://www.strongback.us/2006/09/hats-6-0-5-now-out) **Published:** September 22, 2006 **Author:** Kenny Smith **Content:** HATS 6.0.5 is now out. This release supports version 6.1 of WebSphere, and addresses several minor issues. In particular portlet messaging was broken in prior release (i.e. click to action). If you plan on doing any Java 5 type coding (generics, auto-boxing, varargs, etc.), then this is your baby. WAS 6.1 is not fully JEE 5 compliant yet (no EJB 3.0 or the Java Persistence API). We are still patiently waiting for WAS 7 and a production quality JEE 5 container from IBM. The refresh pack is located [here](http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg24012991). You can also find out more specific fixes there as well. If you are not at HATS 6.0.4, I would recommend going ahead to get this release. 6.0.4 is the minimum level you should be at as that release is what gives you processor based licensing support. If you are seeing strange messages in your logs about exceeding your license limit, well, here is your solution. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, HODS, HostOnDemand --- ### [Adding an ID attribute to a HATS component](https://www.strongback.us/2006/09/adding-an-id-attribute-to-a-hats-component) **Published:** September 20, 2006 **Author:** Kenny Smith **Content:** In JavaScript and CSS its very helpful for an element to have an id attribute (not just a class attribute). For those of you not in the know, the id attribute should be unique across the entire HTML. Only one element should have value of that id. Class attributes allow HTML elements to be grouped and formatted similarly. For example in the following HTML, =”myClass” id=”myId” value=”Click Me” type=”button” name=”myName”> You can access this button with the Javascript using document.getElementsByNames(‘myName’), which returns an array. The better way is to use getElementById(‘myId’), which gets only that element. HATS Components by default do not write out an id attribute, but rather only a name attribute. You can ‘hack’ this by adding the following in the ‘Style’ settings of the widget (after all style parameters: ” id=”myId The first double quotation mark ends the style attribute in the HTML. Then the ID attribute is written with its value, but NO closing double quotation mark. The JSP code will add the ending double quotation mark for you. Now, I had problems where the GUI would change my initial double quotation mark in to a single quote. That will not work. In this case you will need to go into the source code and edit the component manually. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** HATS, HOD, HostOnDemand, WebSphere --- ### [RSA V7 Beta Program](https://www.strongback.us/2006/09/rsa-v7-beta-program) **Published:** September 7, 2006 **Author:** Kenny Smith **Content:** For those of you who don’t have enough to do, and want to fill up your hard drive with gigabytes of unproven, untested beta code from IBM, there is an opportunity to participate in the Rational Software Architect 7 and Functional Tester 7 beta program. Its unclear whether this will be on Eclipse 3.1 or 3.2, but it will be Java 5 capable and support WAS 6.1. http://www-306.ibm.com/software/rational/beta/v7/ [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [EJB 3.0 and Spring compared](https://www.strongback.us/2006/09/ejb-3-0-and-spring-compared) **Published:** September 5, 2006 **Author:** Kenny Smith **Content:** DevX has a very good article that demonstrates the strengths, weaknesses and compatibilities of both approaches on a technical level. http://www.devx.com/Java/Article/32314/0/page/1 While the distributed abilities of EJB 3.0 makes it appealing, the market for that kind of application is still maybe 5% of what’s out there, but the new JPA will become appealing to use once the closed-source IDE’s get updated (Oracle’s JDeveloper is now out as well as Sun’s Studio, but IBM’s Rational suite is slow to bat…very slow). I’m pretty partial to Spring/Hibernate, but certainly don’t want to restrict myself to just those technologies. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Publishing to WebSphere issue: "Upload is not to..."](https://www.strongback.us/2006/08/publishing-to-websphere-issue-upload-is-not-to) **Published:** August 29, 2006 **Author:** Kenny Smith **Content:** This has been an issue that has plagued me a few times. The problem is that when you are publishing from Rational Application Developer to a remote WAS instance, you get a message "Failure Uploading Archive to Server", and in the server logs, you see: Download is not from …/config/temp/download configuration repository: /publishrecord.remote Upload is not to …/config/temp/upload configuration repository: / The source of the problem is that you have a leftover deployment still sitting in your temp directory. Whenever RAD publishes to WAS (don’t you love IBM’s acronyms), it copies the EAR file to " /config/temp/". I found mine under: /QIBM/UserData/WebSphere/AppServer/V6/Base/profiles/default/config/temp (this was an iSeries install….so don’t freak out about the install directory). This was on WAS [6.0.2.7](http://6.0.2.7/) and RAD [6.0.1.1](http://6.0.1.1/). Once I deleted this, I was able to upload the file fine, and RAD successfully published. You might want to bookmark this as it WILL bite you in the future. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Getting WebSphere Portal 6 up an running](https://www.strongback.us/2006/08/getting-websphere-portal-6-up-an-running) **Published:** August 29, 2006 **Author:** Kenny Smith **Content:** WebSphere Portal 6 has come out about a month ago. Since that time, I’ve been trying to get it properly configured on an iSeries in our lab, and on a Windows VM image. It is up an running, and I’ve taught a class at a client using one of those images. I have a few observations on it. If you are installing or upgrading to WPS 6, listen carefully: Installing out of the box on Windows 2003 Advanced server goes fine IF you follow a few rules: 1) DO NOT Install in the default recommended directories (c:Program FilesIBMWebSphereAppServer). This is too long of a file name, and when you try to configure LDAP security, the WPSConfig task WILL fail. The ‘genius’ at microsoft who decided to put a space between ‘program’ and ‘files’ is an evil bastard. Windows also croaks at filenames longer than 260 characters. When the ldap config task runs, it will create temp files based on the the installed applications. As a rule of thumb, on windows, install to ‘x:WebSphereAppServer’ ‘x:WebSpherePortalServer’ and keep your cell and node names shorter than 11 characters. If your cell and node names must have more than that you can use ‘x:WebSphereAS’, which gives you an additional 7 characters. The total number of characters for the app server root, the cell and node names should not exceed 34 characters. If it does, the install will work fine, but any WPSConfig tasks will fail, and you will have to reinstall. 2\) Use the LDAPSEARCH utility to practice binding to your LDAP store. If you are using Domino and have Lotus Notes installed, this can be found in your Notes program directory. Its a great tool even if you use another LDAP store than Domino. 3\) If you have Portal Extend, you should use Domino as your LDAP directory. You can always use domino directory assistance to add your other LDAP directories to the authentication mechanism. 4\) If you are doing demo’s with Portal, I highly recommed VM ware to store your image. Once you have it running, you can always move your image to an ESX server for a more robust solution. I have Portal running on a VMWare image on a T41 Thinkpad with 2 GB RAM. Its slow, but not too painful for demo’s. 5\) Get used to using response files to install. They are MUCH easier than babysitting a GUI. You also don’t have to feed the CD Monster and continually point to the next CD. On Windows in particular, this is the ONLY way to specify where the Portal profile directory goes. A gui install will put it under “C:IBMWebSphereprofileswp\_profile”. See my comment above about the character limitation. This is also the only way to install into a federated profile. To do such an install, fill out the ‘installresponse.txt’ file located under the Setup directory. Then call the install as follows: install -options “x:installresponse.txt”If you specified a silent install, wait a couple of minutes just to be sure its running (if its still running after 5 minutes, you’re golden”). Then…go to lunch. Take a nice long lunch. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized **Tags:** Portal, WebSphere --- ### [LDAP Problem...](https://www.strongback.us/2006/08/ldap-problem) **Published:** August 29, 2006 **Author:** Kenny Smith **Content:** Well, I have been able to get Portal working with my own Domino LDAP, but our Lab Domino LDAP seems to be the culprit in why I can’t get the demo box up and running. After uninstalling, rebooting and doing the LDAP setup 3 times, I continue coming to the same problem.[![](https://www.strongback.us/wp-content/uploads/2006/08/PortalNoContentAvailable.jpg)](https://www.strongback.us/wp-content/uploads/2006/08/PortalNoContentAvailable-1.jpg) This is the message I get above. Its as if it can authenticate the user, but not authorize the user ID (I logged in with the wpsadmin administrator ID). This is the error message I get in the SystemOut.log file: Caused by: com.ibm.wps.util.DataBackendException: EJPSG0015E: Data Backend Problem com.ibm.websphere.wmm.exception.WMMSystemException: The following Naming Exception occured during processing: “javax.naming.NoPermissionException: \[LDAP: error code 50 – Insufficient Access Rights\]; remaining name ‘/’; resolved object com.sun.jndi.ldap.LdapCtx@5f9d5b2″. at com.ibm.wps.services.puma.DefaultURManager.findNestedGroupByUser (DefaultURManager.java:1499) at com.ibm.wps.services.puma.PumaServiceImpl.findNestedGroupByUser (PumaServiceImpl.java:815) com.ibm.wps.puma.User.checkAndUpdateCacheForCurrentVP(User.java:1656) at com.ibm.wps.puma.User.getNestedGroups(User.java:272) at com.ibm.wps.ac.impl.PACGroupManagementServiceImpl.retrieveGroupsFromPuma (PACGroupManagementServiceImpl.java:214) … 69 more Caused by: com.ibm.websphere.wmm.exception.WMMSystemException: The following Naming Exception occured during processing: “javax.naming.NoPermissionException: \[LDAP: error code 50 – Insufficient Access Rights\]; remaining name ‘/’; resolved object com.sun.jndi.ldap.LdapCtx@5f9d5b2”. at com.ibm.ws.wmm.ldap.LdapRepositoryImpl.search (LdapRepositoryImpl.java:1316) So, after a bunch of searching and scratching my head, I came to the realization that my Domino Directory Assistance was not setup correctly. I ‘assumed’ it was as we use this for our development domain. Its quite embarrasing actually, especially since I worked exclusively with Domino for the first 7 years of my career. Such is life… [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ### [Portal 6 and Application Server 6.1 disconnect](https://www.strongback.us/2006/08/portal-6-and-application-server-6-1-disconnect) **Published:** August 28, 2006 **Author:** Kenny Smith **Content:** Right before Portal 6 was released, IBM released WebSphere Application Server 6.1, which runs on Java 5. In that release are many performance enhancements. If you do any wsadmin scripting, you should be familiar with JACL and Jython scripting. Well, IBM has deprecated the JACL interface in favor of Jython. With Jython being a much more robust language, and somewhat easier to code than JACL, this was a welcome choice. Now all the included server batch and shell script files reference Jython scripts. I won’t get into all the enhancements, but I mention scripting for a reason. Then, I was reading the Portal 6 InfoCenter. New to this release is the ability to do some scripting using the wsadmin interface for Portal….but only JACL NOT Jython! Also, Portal 6 will only run on WebSphere 6, not 6.1. I’ve tried it, and it won’t install. IBM will tell you its not supported. It has been over a year since Java 5 has been released, and 3 months since Java 5 EE was made official, and IBM still does not fully support the Java 5 spec. You still cannot write Java 5 portlets for IBM’s applications! Sun already has its Mustang (Java 6) in beta. IBM is very far behind the ball on this, and they are going to have to do some serious catch up. Not once have I seen IBM beta WebSphere 6.1 or Portal 6. They could learn a lot from the open source community on this matter, where the releases are frequent, and bugs are patched quickly. At the Java One conference in San Francisco, Sun announced that they are moving to a more frequent beta release schedule and showed some statistics on how the quality of their releases have improved by involving the developer community more. It was a dramatic demonstration. Perhaps its Portals’ move to the Lotus management (although still keeping the WebSphere moniker) that encourages some of the disconnect. Or rather, maybe the App Server folks need to learn some things from the Lotus team. Domino 7 screams on performance. Sametime 7 has been rock solid for us, and we are experimenting with Sametime 7.5 as well. IBM – Incompatible, But Marketable. Anywhoo…that is my gripe for today. [©2016 Strongback Consulting](https://www.strongback.us/) **Categories:** Uncategorized --- ## Pages ### [Strongback Consulting — Mainframe DevOps Experts](https://www.strongback.us/) **Published:** July 13, 2026 **Author:** user **Content:** Strongback Consulting · Mainframe DevOps--- # Modern DevOps for the mainframe you already run Strongback moves z/OS shops from legacy SCMs to Git, wires mainframe builds and deployments into modern pipelines, and trains the teams who run it — delivered directly by senior mainframe engineers. [Book a Migration Assessment](/contact) [Explore Mainframe DevOps](/solutions/mainframe-devops) Solutions--- ## Six ways in, one destination Whether you’re leaving Endevor, rolling out IDz, or wiring z/OS into the pipeline your distributed teams already use — every engagement is delivered directly by working mainframe consultants. [ Migration### Endevor to Git Move off Endevor to Git and IBM Dependency Based Build while preserving your promotion path — and stepping off Broadcom’s renewal escalator. Explore Endevor migrations → ](/solutions/endevor-to-git-migration) [ Migration### Librarian / Panvalet to Git The same disciplined migration path for CA Librarian and CA Panvalet shops — legacy SCMs with even fewer modernization options than Endevor. Explore Librarian & Panvalet → ](/solutions/librarian-panvalet-to-git-migration) [ Implementation### IBM DevOps Deploy Workflow-driven deployment automation across mainframe and distributed platforms in one tool — implemented, configured, and handed over working. Explore DevOps Deploy → ](/solutions/ibm-devops-deploy-implementation) [ Implementation### IBM Wazi Deploy Scripted, Git-native z/OS deployment that lives inside your pipeline. The natural next step after a DBB build — packaged, promoted, auditable. Explore Wazi Deploy → ](/solutions/ibm-wazi-deploy-implementation) [ Implementation### IDz Implementation Services Rollout, licensing, performance tuning, and adoption of IBM Developer for z/OS — so the IDE your company bought actually gets used. Explore IDz services → ](/solutions/idz-implementation-services) [ Integration### CI/CD Pipeline Integration Wire your z/OS builds and deployments into the pipeline you already run — Jenkins, GitHub Actions, GitLab runners, or Azure DevOps agents — so mainframe changes flow through the same gates as everything else. Explore pipeline integration → ](/solutions/cicd-pipeline-integration) Training--- ## Training from people who run these tools in production #### IBM ELM training The Island Training Solutions curriculum is now part of Strongback — instructor-led courses across DOORS Next, EWM, ETM, Rhapsody, reporting, and global configuration. [Browse the course catalog →](/training) #### IDz & mainframe DevOps training Developer enablement for IDz, Git + DBB, and Java on z/OS — delivered inside implementation engagements so the rollout sticks. [See IDz training →](/solutions/idz-implementation-services) #### Private & custom delivery On-site or virtual, adapted to your project areas and process — not a canned sandbox. [Request a class →](/contact) Case Studies--- ## The work, as it actually went [A large insurance company retires a 40-year-old homegrown z/OS deployment toolFinancial Services · deployment modernization](/casestudies) [A payment processor turns 100% of its 3270 green screens into a modern web interfaceFinancial Services · modernization](/casestudies) [Santa Fe College cuts application deployment from four hours to eight minutesEducation · deployment automation](/casestudies) From the STRONGblog--- ## We publish what we learn in the field Twenty years of working notes from real z/OS engagements — the same knowledge we bring to yours. [Browse all 371 posts →](/strongblog) [z/OS Dataset Considerations for Migrating from Endevor to GitEndevor · DBB · migration planning](/2023/10/z-os-dataset-considerations-for-migrating-from-endevor-to-git) [Get better performance with a 2-stage COBOL compile process in a DevOps modelCOBOL · build optimization](/2025/06/get-better-performance-with-a-2-stage-cobol-compile-process-in-a-devops-model) [How not to screw up your z/OS Unix File System structurez/OS UNIX · Git repositories](/2026/06/how-not-to-screw-up-your-z-os-unix-file-system-structure) [Why does my z/OS code look like gibberish with git?code pages · Git on z/OS](/2024/11/why-does-my-z-os-code-look-like-gibberish-with-git) [Three tricks to drastically improve the performance of IBM Developer for z/OSIDz · performance tuning](/2024/07/three-tricks-to-drastically-improve-the-performance-of-ibm-developer-for-z-os) [What’s the difference between IDz, IDzEE and ADFz?IDz · licensing](/2023/10/whats-the-difference-between-idz-idzee-and-adfz) Get Started--- Tell us what you run and where it hurts. We’ll tell you what it takes to fix it. [Book a Migration Assessment](/contact) [Take the maturity assessment](/assessment) --- ### [Case Studies](https://www.strongback.us/casestudies) **Published:** July 12, 2026 **Author:** user **Content:** Case Studies--- # The work, as it actually went Real engagements — what the client ran, what was in the way, and what changed. Filter by industry, or read them all. Some clients are named with permission; others are described but not identified. All Insurance Financial Services Education Deployment AutomationInsurance ### A large insurance company retires a 40-year-old homegrown z/OS deployment tool A U.S. insurer’s mainframe deployments ran on an Assembler tool built in-house decades earlier, whose last maintainer retired mid-project and which couldn’t survive the coming z/OS upgrade. Strongback replaced it with IBM UrbanCode Deploy (now IBM DevOps Deploy), wired into their existing SCM, ServiceNow approvals, and XL Release orchestration. - Deployments requiring manual intervention cut from 32% to under 5% - 49 development teams’ applications migrated into UCD across 61 components - In the first 6 months of go-live 4,262 production deployments run across 26 LPARs and two data centers Enterprise ModernizationFinancial Services ### A payment processor turns 100% of its 3270 green screens into a modern web interface A large publicly traded electronic payment processor was losing entry-level market share to competitors with rich web interfaces, while a full rewrite was cost-prohibitive. Strongback used IBM Rational HATS to transform the 3270 applications into a browser-based Java EE interface, and cross-trained COBOL and .NET developers onto the new stack. - 100% of the 3270 applications transformed to a rich web interface - New customer-service-rep training time reduced by nearly 75% - Piloted into production in under three months DevOps & Agile EnablementEducation ### Santa Fe College cuts application deployment from four hours to eight minutes One of Florida’s top public colleges ran student registration, grades, and accounting on custom applications, but deployments took a skilled resource half a day and risked missing semester deadlines. Strongback modernized their IBM Rational Team Concert environment, automated the build, and mentored the team on agile delivery. - Deployment time reduced from 3–4 hours to 8 minutes - Deployments freed from a single dedicated resource and a calendar window - Agile planning and real-time delivery adopted across teams The Pattern--- Different industries, same shape: critical systems, aging tooling, one manual step everyone fears. The fix is discipline your platform already understands — applied with modern tools. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Your environment could be the next one here A migration assessment maps your mainframe delivery against the same playbook these engagements ran — no commitment, no generic sales deck. [Book a Migration Assessment](/contact) [Explore the solutions](/solutions/mainframe-devops) --- ### [IDz Implementation Services](https://www.strongback.us/solutions/idz-implementation-services) **Published:** July 12, 2026 **Author:** user **Content:** Solutions / Mainframe DevOps--- # Make the IDz licenses you already bought actually get used IBM Developer for z/OS is a genuinely capable IDE — but only if developers adopt it. We handle the edition and licensing decision, the rollout, the performance tuning, and the training — instructor-led classes and self-paced videos from our own IDz curriculum — that turns shelfware into daily use. [Book an adoption assessment](#contact) [See what we do](#process) The Problem--- ## Bought, installed, and still not used The most common IDz outcome isn’t a bad tool — it’s an unused one. Licenses get purchased, a zip and a wiki link go out, and three months later the mainframe team is still in ISPF. **The productivity case never lands because nobody owned the rollout.** The IDE feels slow because the host side was never tuned, the connection setup was a fight, and no one connected IDz to the code developers actually work on. There’s a licensing question underneath it, too. **IDz, IDz Enterprise Edition (IDzEE), and Application Delivery Foundation for z/OS (ADFz) are different packages** at different price points — and buying the wrong one means either paying for capabilities you don’t use or missing ones you needed. Most shops have never had that mapped to how their teams actually work. Adoption is the deliverable. An IDE only pays back when developers reach for it by default — and that takes rollout, tuning, and coaching in the context of real code, not a one-hour demo. Pick The Right Edition--- ## IDz, IDzEE, or ADFz — matched to how you work The names get used interchangeably and they shouldn’t be. We map the edition to your actual needs before a single license is renewed. The IDE#### IDz IBM Developer for z/OS — the Eclipse-based IDE itself: modern editing, code analysis, debugging, and host access for COBOL, PL/I, and Assembler. Enterprise#### IDzEE The Enterprise Edition — IDz plus the enterprise deployment and analysis tooling (including Wazi Deploy and Wazi Analyze) for teams building a full pipeline. The Bundle#### ADFz Application Delivery Foundation for z/OS — a broader bundle pairing the IDE with problem-determination tooling like Fault Analyzer, Debug, and File Manager. Not sure which one you already own — or which you should? That’s the first thing an assessment settles. See our explainer: [What’s the difference between IDz, IDzEE and ADFz?](#) What We Do--- ## Rollout that ends in daily use 01 Sort out licensing and editions We audit what you own, map IDz / IDzEE / ADFz to how your teams actually work, and make the renewal or right-size decision on evidence instead of a sales sheet. 02 Install and configure — client and host We handle the client rollout and the host side: RSE/connection setup, security, and the z/OS configuration that determines whether IDz feels instant or sluggish. 03 Tune for performance Most “IDz is slow” complaints are host-side — connection, dataset access, and workspace configuration. We tune those so the IDE stops giving developers a reason to fall back to ISPF. 04 Connect it to real workflows IDz is wired to your source control and build — Git, DBB, and your pipeline — so it’s the front door to the actual delivery process, not a standalone editor. 05 Train your developers on it — formally Adoption is driven by our own IDz curriculum — instructor-led modules and self-paced videos (below) — delivered against your code and your tasks, so the team adopts IDz because it’s faster, not because they were told to. IDz Training--- ## The curriculum behind the adoption step We don’t outsource the training — we wrote it. A modular IDz curriculum we assemble per client and per language, delivered by the same consultants who do the implementations. Instructor-Led#### The IDz course, module by module 70+ hands-on modules with labs, covering the full IDE: the editors, remote compile and syntax check, debugging in batch, CICS, and IMS, zUnit, code coverage, Fault Analyzer, and the DB2 and CICS tooling — for COBOL, PL/I, HLASM, and C/C++. Agendas are assembled per client, so your class covers your stack. Self-Paced#### Video library, on demand Most core modules are also available as self-paced videos — the z/OS connection, the editors, debugging, Git workflows, and user builds — so developers can learn on their own schedule and new hires can onboard without waiting for the next class. Companion Tracks#### Git & DBB, and Java on z/OS Two sibling curricula round out the workflow: a Git and Dependency Based Build course (branching through rebase, plus setup for GitHub, GitLab, Bitbucket, and Azure DevOps), and a Java-on-z/OS track using JZOS with the same IDz tooling. Instructor-led training is available standalone, or included in an implementation engagement. Looking for IBM ELM training instead? That’s [its own program](/training). Why Strongback--- We’ve run IDz rollouts where the win was measured in developers who stopped opening ISPF — because the adoption work got done, not just the install. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us what you own and who’s not using it. An adoption assessment reviews your IDz licensing, host configuration, and current usage — and lays out what it takes to get real return on the IDE you already pay for. [Book an adoption assessment](/contact) [Read: IDz vs IDzEE vs ADFz](https://www.strongback.us/2023/10/whats-the-difference-between-idz-idzee-and-adfz) --- ### [Industries](https://www.strongback.us/industries) **Published:** July 12, 2026 **Author:** user **Content:** Industries--- # Where the mainframe still runs the business We work where z/OS carries the core workload and the cost of getting change wrong is measured in regulators, citizens, and production lines — banking and finance, government, manufacturing, and insurance. [Book a Migration Assessment](#contact) [Find your industry](#banking) 01 / Banking & Finance### Banking & Financial Services Core banking, payments, and settlement — the systems that cannot miss a batch window. Nowhere is the mainframe more load-bearing than in banking. Core ledgers, payment rails, and settlement batches run on z/OS because it’s the platform that has never let the business down — **and that same criticality is why delivery has calcified.** Every change crawls through manual gates designed decades ago, while the bank’s digital channels ship daily. Modern mainframe DevOps closes that gap without loosening control: version control your auditors can query, impact-aware builds that touch only what changed, and promotion paths with the approvals encoded — not emailed. - Audit-ready change history in Git — who changed what, when, and what shipped with it - Governed promotion with approvals built into the pipeline, satisfying separation-of-duties requirements - Faster, safer batch-cycle changes: impact builds rebuild dependents automatically instead of trusting a checklist [See how we modernize delivery in banking →](#) 02 / Government### Government Benefits, revenue, and records systems serving the public at scales no rewrite has survived. Federal and state systems for benefits, taxation, and records processing have outlived every “legacy replacement program” aimed at them — because they work. The real risk isn’t the platform; **it’s the shrinking number of people who can safely change it**, and procurement cycles that make big-bang rewrites the riskiest possible answer. Incremental modernization fits how government actually buys and operates: keep the workload where it’s stable, move source control and builds onto standard tooling, and let the next generation of civil-service developers work the way they were trained. - Continuity of operations — modernization in stages, with the running system never at risk - Standards-aligned tooling (Git, standard CI/CD) that widens the hiring pool beyond platform veterans - Traceability that maps cleanly to compliance and audit frameworks [See how we modernize delivery in government →](#) 03 / Manufacturing### Manufacturing ERP, scheduling, and supply-chain systems where downtime stops physical production. In manufacturing, the mainframe often sits underneath scheduling, inventory, and order processing — **systems where an outage doesn’t just interrupt software, it stops a line.** The teams that built those COBOL systems are retiring, and their replacements are being asked to maintain code they can barely see into, with tools nobody else in the company uses. Bringing z/OS development into Git and a modern pipeline de-risks exactly that handover: the code becomes visible, changes become reviewable, and builds stop depending on tribal knowledge. - Knowledge transfer built into the workflow — pull requests turn veteran review into a daily habit, not a farewell document - Impact-aware builds that protect integrations between ERP, MES, and the plant floor - One toolchain across IT — mainframe changes visible in the same pipeline as everything else [See how we modernize delivery in manufacturing →](#) 04 / Insurance### Insurance Policy administration, claims, and rating engines running batch cycles regulators depend on. Policy administration, claims processing, and actuarial rating still run on z/OS at most carriers, because the batch cycles that close a book of business, post premiums, and cut claims payments were built for exactly this workload. **The pressure isn’t the platform — it’s a market that now expects quote-to-bind in minutes**, sitting on top of nightly batch and quarterly filing cycles that were never designed to move that fast. State-by-state rate filings and NAIC-driven audit requirements mean carriers can’t just rip out the system of record — but they can stop treating every change as an event. Git-based version control, impact-aware builds, and pipelines with the right approvals built in let a carrier ship rating and policy changes faster without losing the audit trail regulators require. - Change history regulators and internal audit can query directly, instead of reconstructing from tickets - Impact-aware builds that catch downstream effects across policy, billing, and claims subsystems - Faster rating and endorsement changes without loosening the controls multi-state filings require [See how we modernize delivery in insurance →](#) Why It Transfers--- Different regulators, same problem: critical COBOL, retiring experts, and delivery that can’t keep up. The playbook that fixes it is the same discipline your industry already demands. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us what your mainframe runs. We’ve probably modernized one like it. A migration assessment maps your environment — whatever the industry — against a modern z/OS delivery model. No commitment, no generic sales deck. [Book a Migration Assessment](/contact) [Read our case studies](/casestudies) --- ### [Mainframe DevOps](https://www.strongback.us/solutions/mainframe-devops) **Published:** July 12, 2026 **Author:** user **Content:** Solutions--- # Mainframe DevOps, delivered by people who work on z/OS Your mainframe runs the business. It shouldn’t run on a separate toolchain, a separate workflow, and a shrinking pool of people who remember how the build works. We bring Git, automated builds, and modern deployment to z/OS — without flattening the discipline that got your systems this far. [Book a migration assessment](#assessment) [Explore the services](#services) What We Do--- ## Six services for the z/OS delivery pipeline Every engagement below is delivered directly by working mainframe consultants — not subcontracted, not staffed with generalists learning z/OS on your project. Looking for IBM ELM training? That’s its own program — [see the Training page](/training). [ Migration### Endevor to Git Move off Endevor to Git and IBM Dependency Based Build while preserving your promotion path — and stepping off Broadcom’s renewal escalator. Explore Endevor migrations → ](/solutions/endevor-to-git-migration) [ Migration### Librarian / Panvalet to Git The same disciplined migration path for CA Librarian and CA Panvalet shops — legacy SCMs with even fewer modernization options than Endevor. Explore Librarian & Panvalet → ](/solutions/librarian-panvalet-to-git-migration) [ Implementation### IBM DevOps Deploy Workflow-driven deployment automation across mainframe and distributed platforms in one tool — implemented, configured, and handed over working. Explore DevOps Deploy → ](/solutions/ibm-devops-deploy-implementation) [ Implementation### IBM Wazi Deploy Scripted, Git-native z/OS deployment that lives inside your pipeline. The natural next step after a DBB build — packaged, promoted, auditable. Explore Wazi Deploy → ](/solutions/ibm-wazi-deploy-implementation) [ Implementation### IDz Implementation Services Rollout, licensing, performance tuning, and adoption of IBM Developer for z/OS — so the IDE your company bought actually gets used. Explore IDz services → ](/solutions/idz-implementation-services) [ Integration### CI/CD Pipeline Integration Wire your z/OS builds and deployments into the pipeline you already run — Jenkins, GitHub Actions, GitLab runners, or Azure DevOps agents — so mainframe changes flow through the same gates as everything else. Explore pipeline integration → ](/solutions/cicd-pipeline-integration) Why Now--- ## Three pressures, one direction #### The talent cliff The developers replacing retiring COBOL veterans have never opened an ISPF panel — but they know Git, pull requests, and pipelines. Meeting them where they are is cheaper than training them backwards. #### The licensing escalator Broadcom’s CA mainframe contracts carry annual escalators that compound — the cost of standing still on Endevor, Librarian, or Panvalet rises every renewal, while a migration is a one-time cost. #### The isolation tax A mainframe team on its own toolchain can’t share CI/CD, code review, or security scanning with the rest of engineering. Every year the gap stays open, it gets more expensive to close. From the STRONGblog--- ## We publish what we learn in the field Twenty years of working notes from real z/OS engagements — the same knowledge we bring to yours. [z/OS Dataset Considerations for Migrating from Endevor to GitEndevor · DBB · migration planning](/2023/10/z-os-dataset-considerations-for-migrating-from-endevor-to-git) [Get better performance with a 2-stage COBOL compile process in a DevOps modelCOBOL · build optimization](/2025/06/get-better-performance-with-a-2-stage-cobol-compile-process-in-a-devops-model) [How not to screw up your z/OS Unix File System structurez/OS UNIX · Git repositories](/2026/06/how-not-to-screw-up-your-z-os-unix-file-system-structure) [Why does my z/OS code look like gibberish with git?code pages · Git on z/OS](/2024/11/why-does-my-z-os-code-look-like-gibberish-with-git) [Three tricks to drastically improve the performance of IBM Developer for z/OSIDz · performance tuning](/2024/07/three-tricks-to-drastically-improve-the-performance-of-ibm-developer-for-z-os) [What’s the difference between IDz, IDzEE and ADFz?IDz · licensing](/2023/10/whats-the-difference-between-idz-idzee-and-adfz) Not Ready To Talk Yet?--- ## Take the z/OS DevOps maturity assessment ### Find out where your shop actually stands A short self-assessment across source control, build, deployment, and testing practice — scored against what we see across real mainframe shops. You get a report; we get to skip the generic discovery call. [Take the assessment →](/assessment)4 questions · results by email · no sales call — the report and one follow-up, that’s it. Industries--- ## Where the mainframes are [Banking & FinancePayments, core banking, and account systems on z/OS.](/industries) [GovernmentFederal, state, and local systems of record.](/industries) [ManufacturingERP, supply chain, and plant systems with mainframe cores.](/industries) Next Step--- Tell us what’s running on your mainframe and what’s slowing it down. We’ll tell you what to modernize first — and what to leave alone. [Book a migration assessment](/contact) --- ### [About](https://www.strongback.us/about) **Published:** July 12, 2026 **Author:** user **Content:** ![Strongback Consulting](/wp-content/themes/strongback/assets/sb-logo.png)About--- # Mainframe DevOps, done by the people who do the work Strongback Consulting moves z/OS shops off legacy source control and into modern delivery — Git, impact-aware builds, automated deployment — and we do the work ourselves, with engineers who have done these migrations before. Who We Are--- ## Mainframe DevOps since before it had a name Long before “DevOps” reached the mainframe, we were bringing modern delivery discipline to z/OS — version control, automated builds, and governed deployment — for organizations whose most critical systems run on COBOL, PL/I, and Assembler. That’s still the whole business: not a side practice bolted onto a distributed consultancy, but the thing we do. The through-line has always been the delivery model. The people on your engagement are senior mainframe engineers who have opened an Endevor panel, written a Dependency Based Build, and debugged a statically bound load module — **because they have done this migration before.** You are not funding someone’s on-the-job z/OS education. What Makes Us Different--- ## A consultancy, not a body shop #### We do the work directly The migration and the DBB implementation are done by us — no prime-contractor markup, no subcontracted z/OS work, no multi-year transformation program you can’t get out of. #### Real mainframe engineers Every engagement is staffed with people who have migrated production systems off Endevor, Librarian, and Panvalet — not generalists learning the platform on your project. #### Modern practice, mainframe discipline We bring Git, CI/CD, and automated deployment to z/OS without flattening the promotion path, the audit trail, or the batch window your business depends on. How We Work--- ## It starts with an assessment, not a statement of work We begin by mapping what you actually have — the dataset structure, the promotion path, the build and deployment reality — and telling you what moves first and what can wait. Then we do it in stages you can pause at, with your live systems never at risk. Where a tool is the right fit we say so; where it isn’t, we say that too. We would rather scope a smaller engagement that succeeds than sell a larger one that stalls. Beyond migration, we train the teams who inherit these systems — a hands-on [IDz curriculum](/solutions/idz-implementation-services) for mainframe developers, and, through the Island Training Solutions curriculum now part of Strongback, instructor-led [IBM Engineering Lifecycle Management (ELM) training](/training). In One Sentence--- We’re not a systems integrator selling a multi-year transformation program. We do the migration and the DBB implementation directly — with mainframe engineers who’ve done this before. — Strongback Consulting Next Step--- ## Tell us what your mainframe runs A migration assessment maps your environment against a modern z/OS delivery model — no commitment, no generic sales deck. [Book a Migration Assessment](/contact) [Explore the solutions](/solutions/mainframe-devops) --- ### [Solutions](https://www.strongback.us/solutions) **Published:** July 12, 2026 **Author:** user **Content:** Solutions · Mainframe DevOps--- # Modernize the mainframe — without betting the business on it Strongback helps z/OS organizations move off legacy SCMs, automate deployment, and wire the mainframe into the same pipelines as the rest of engineering. Every engagement is delivered directly by senior mainframe consultants — and starts with an assessment, not a sales pitch. [Book a Migration Assessment](/contact) [Explore Mainframe DevOps](/solutions/mainframe-devops) How We Work--- ## Consulting that leaves you self-sufficient Modernizing a system of record isn’t a place for guesswork or a rotating cast of subcontractors. Three principles hold across every engagement. #### Direct delivery, not a body shop The senior engineers who scope your migration are the ones who execute it — not a hand-off to junior contractors learning z/OS on your project. #### Assessment before migration Every engagement opens with a hard look at your real estate — source control, build, deployment, and test practice — so the plan fits your shop, not a template. #### Built to hand over We implement alongside your team and leave working pipelines, documentation, and training behind. You own and run it once we’re done. Practice Area--- ## Mainframe DevOps Our core practice — six focused engagements that move z/OS development onto modern, Git-based DevOps. Start with the [Mainframe DevOps overview](/solutions/mainframe-devops), or go straight to the engagement that fits your shop. [ Migration### Endevor to Git Move off Endevor to Git and IBM Dependency Based Build while preserving your promotion path — and stepping off Broadcom’s renewal escalator. Explore Endevor migrations → ](/solutions/endevor-to-git-migration) [ Migration### Librarian / Panvalet to Git The same disciplined migration path for CA Librarian and CA Panvalet shops — legacy SCMs with even fewer modernization options than Endevor. Explore Librarian & Panvalet → ](/solutions/librarian-panvalet-to-git-migration) [ Implementation### IBM DevOps Deploy Workflow-driven deployment automation across mainframe and distributed platforms in one tool — implemented, configured, and handed over working. Explore DevOps Deploy → ](/solutions/ibm-devops-deploy-implementation) [ Implementation### IBM Wazi Deploy Scripted, Git-native z/OS deployment that lives inside your pipeline. The natural next step after a DBB build — packaged, promoted, auditable. Explore Wazi Deploy → ](/solutions/ibm-wazi-deploy-implementation) [ Implementation### IDz Implementation Services Rollout, licensing, performance tuning, and adoption of IBM Developer for z/OS — so the IDE your company bought actually gets used. Explore IDz services → ](/solutions/idz-implementation-services) [ Integration### CI/CD Pipeline Integration Wire your z/OS builds and deployments into the pipeline you already run — Jenkins, GitHub Actions, GitLab runners, or Azure DevOps agents — so mainframe changes flow through the same gates as everything else. Explore pipeline integration → ](/solutions/cicd-pipeline-integration) Training--- ## Looking for IBM ELM training? Beyond consulting, Strongback delivers the acquired Island Training Solutions curriculum — instructor-led IBM Engineering Lifecycle Management courses across DOORS Next, EWM, ETM, Rhapsody, and reporting. It’s a separate line with its own catalog. [Browse ELM training →](/training) Get Started--- Not sure where to start? Book a migration assessment and we’ll map the shortest path for your estate. [Book a Migration Assessment](/contact) [Take the maturity assessment](/assessment) --- ### [Rhapsody & RMM Training (Systems Design / MBSE)](https://www.strongback.us/training/elm-rhapsody) **Published:** July 13, 2026 **Author:** **Content:** Training · Systems Design--- # Rhapsody training for MBSE teams *IBM Engineering Systems Design Rhapsody · Rhapsody Model Manager (RMM).* Model-based systems engineering with Rhapsody: structural and behavioral modeling, SysML notation, traceability to requirements, and versioning models with Rhapsody Model Manager integrated into the wider ELM suite. [Request a private class](/contact) [All ELM training](/training) Course Catalog--- ## The Rhapsody curriculum Two three-day modeling intensives — pick the one matching your team’s SysML/UML background — plus the RMM versioning pair. #### Accelerated Rhapsody for Existing UML/SysML Users 3 daysHands-on Rhapsody usage for modeling core structural and behavior diagrams, managing and visualizing traceability to requirements, and sharing models for multi-user access. **Prerequisite:** Working knowledge of SysML or UML #### Rhapsody plus SysML for Model-Based Systems Engineering (MBSE) 3 daysHands-on Interweaves training in SysML diagram notation for systems engineering with tool-based labs in Rhapsody focused on modeling core structural and behavior diagrams and tracing to requirements. **Prerequisite:** Basic understanding of systems engineering and requirements management #### Rhapsody Model Manager (RMM) Fundamentals ½ dayHands-on Fundamentals of versioning Rhapsody models and integrating the models with DOORS Next requirements and ETM test cases. **Prerequisite:** None — some experience with Rhapsody is helpful #### Rhapsody Model Manager (RMM) Advanced ½ dayHands-on Advanced source control versioning tasks available with RMM. **Prerequisite:** Rhapsody Model Manager (RMM) Fundamentals class *Classes are current to the latest major software release; earlier versions are available on request.* Get Started--- Tell us who needs to learn it and when. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse all ELM training](/training) --- ### [DOORS Next & DOORS Training (Requirements Management)](https://www.strongback.us/training/elm-requirements-doors-next) **Published:** July 13, 2026 **Author:** **Content:** Training · Requirements Management--- # Requirements training: DOORS Next and classic DOORS *IBM Engineering Requirements Management — DOORS Next (DNG) and the DOORS 9.x family.* Author, manage, and administer requirements in DOORS Next — and keep classic DOORS 9.x shops productive with fundamentals, DXL customization, publishing, and a tool-independent course on writing better requirements. [Request a private class](/contact) [All ELM training](/training) Course Catalog--- ## DOORS Next (DOORS Next Generation) Three one-day courses from first login to project-area administration. #### DOORS Next Fundamentals 1 dayHands-on Fundamentals of using DOORS Next to author requirements: browse, view, create, modify, and link requirement artifacts, as well as modify artifact data. **Prerequisite:** None #### DOORS Next Advanced 1 dayHands-on Advanced class for DOORS Next power users responsible for importing, exporting, generating reports, creating modules and collections, and managing reviews. **Prerequisite:** DOORS Next Fundamentals class #### DOORS Next Project Administration 1 dayHands-on Advanced class for DOORS Next project managers or power users responsible for administering and configuring a DOORS Next project area. **Prerequisite:** DOORS Next Advanced class *Classes are current to the latest major software release; earlier versions are available on request.* Course Catalog--- ## Classic DOORS (DOORS 9.x family) For teams still running classic DOORS — fundamentals through DXL customization and publishing. #### DOORS Fundamentals 1 dayHands-on Fundamentals of using DOORS 9.x to author requirements: browse, view, create, modify, and link requirements, as well as other related textual and graphical material. **Prerequisite:** None #### DOORS Practitioner 1 dayHands-on Advanced concepts of using DOORS 9.x: creating attributes, filters, and DOORS data schemas; DOORS administration fundamentals; and traceability and link gap reports. **Prerequisite:** DOORS Fundamentals class #### Customizing DOORS Using DXL 2 daysHands-on An intensive course teaching the basic principles of writing and applying the IBM DOORS extension language (DXL) to customize DOORS. **Prerequisite:** None #### ELO Publishing with DOORS 2 daysHands-on Use IBM Engineering Lifecycle Optimization (ELO) Publishing — formerly Rational Publishing Engine (RPE) — to produce a variety of reports and formats from your DOORS database. **Prerequisite:** None #### Writing Better Requirements 1 dayTool-independent Tool-independent course covering the elements of requirement writing, organizing, elicitation, and evaluation. **Prerequisite:** None *Classes are current to the latest major software release; earlier versions are available on request.* Get Started--- Tell us who needs to learn it and when. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse all ELM training](/training) --- ### [IBM ELM Training](https://www.strongback.us/training) **Published:** July 12, 2026 **Author:** **Content:** Training · IBM Engineering Lifecycle Management--- # ELM training from the people who run it in production The Island Training Solutions curriculum is now part of Strongback Consulting. Instructor-led courses across the IBM ELM suite — requirements, workflow, test management, and reporting — taught by consultants who administer these tools for real engineering organizations, not career trainers reading slides. [Browse the courses](#courses) [Request a private class](/contact) Course Catalog--- ## Courses across the ELM suite Each course maps to a current ELM application — including the product’s former Rational name, because that’s still what half the industry calls it. ### Engineering Workflow Management (EWM) formerly Rational Team Concert (RTC)Work items, planning, source control, and build management in EWM — for teams adopting it fresh and RTC shops upgrading in place. 5 coursesInstructor-ledHands-on labsAdmin & user tracks [View syllabus & schedule →](/training/elm-workflow-management) ### DOORS Next formerly Rational Requirements Composer / DOORS NGRequirements authoring, management, and project administration in DOORS Next — plus a full classic DOORS 9.x track: fundamentals, DXL customization, ELO publishing, and writing better requirements. 8 coursesInstructor-ledHands-on labsClassic DOORS track [View syllabus & schedule →](/training/elm-requirements-doors-next) ### Engineering Test Management (ETM) formerly Rational Quality Manager (RQM)Test planning, execution records, lab management, and traceability back to requirements and work items across the lifecycle. 3 coursesInstructor-ledHands-on labs [View syllabus & schedule →](/training/elm-test-management) ### Jazz Reporting & Global Configuration Report Builder / JRS, Lifecycle Projects, GCMCross-project reporting and dashboards with Report Builder, lifecycle project management, and administering Global Configuration environments across the suite. 6 coursesInstructor-ledHands-on labs [View syllabus & schedule →](/training/elm-reporting) ### Engineering Systems Design Rhapsody Rhapsody and Rhapsody Model Manager (RMM)Model-based systems engineering: structural and behavioral modeling, SysML notation, traceability to requirements, and versioning models with RMM. 4 coursesInstructor-ledHands-on labsMBSE [View syllabus & schedule →](/training/elm-rhapsody) Formats--- ## Delivered the way your team works #### Private on-site Your team, your environment, your data. Courses adapt to your actual project areas and process templates instead of a canned sandbox. #### Private virtual Live instructor-led sessions for distributed teams, with the same hands-on lab environments and half-day scheduling options. #### Custom curriculum Mixed-tool programs — say, EWM for developers plus ETM for QA — assembled from the catalog to match how your lifecycle actually flows. Get Started--- Tell us which ELM applications you run and who needs to learn them. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse the course catalog](#courses) --- ### [Jazz Reporting & Global Configuration Training](https://www.strongback.us/training/elm-reporting) **Published:** July 13, 2026 **Author:** **Content:** Training · Reporting & Platform--- # Reporting, lifecycle projects, and global configuration *Jazz Reporting Service · Lifecycle Projects · Global Configuration Management.* The cross-application layer of ELM: build reports and dashboards with Report Builder, manage lifecycle projects that span applications, and run Global Configuration environments across DOORS Next, ETM, EWM, and RMM. [Request a private class](/contact) [All ELM training](/training) Course Catalog--- ## Jazz Reporting Service Report Builder skills for every ELM application, then the advanced material for GC-enabled data and custom widgets. #### Reporting Fundamentals and Dashboards 1 dayHands-on Basic skills required to generate reports and configure dashboards across the ELM applications using Report Builder. **Prerequisite:** One of: DOORS Next Fundamentals, ETM Fundamentals – Executing Test Cases, or EWM Collaboration #### Reporting Advanced and Custom Widgets ½ dayHands-on Advanced skills required to create reports that require custom expressions, report on Global Configuration–enabled project data, and create custom dashboard widgets. **Prerequisite:** Reporting Fundamentals and Dashboards class *Classes are current to the latest major software release; earlier versions are available on request.* Course Catalog--- ## Lifecycle Projects Managing projects that span the ELM applications. #### Lifecycle Project Management and Advanced Interop Tasks ½ dayHands-on For project managers or power users: learn to create and manage lifecycle projects as well as run reconciliation tasks in ETM and EWM to create artifacts from requirements. **Prerequisite:** Reporting Fundamentals and Dashboards class *Classes are current to the latest major software release; earlier versions are available on request.* Course Catalog--- ## Global Configuration Management Configuration management per application, then administering Global Configuration environments across the suite. #### DOORS Next Configuration Management 1 dayHands-on Basics of configuration management for DOORS Next. **Prerequisite:** DOORS Next Fundamentals class #### ETM Configuration Management ½ dayHands-on Basics of configuration management for ETM. **Prerequisite:** ETM Advanced – Authoring Test Cases class #### Global Configuration Administration 1 dayHands-on For configuration managers or power users who will configure and manage Global Configuration (GC) environments for DOORS Next, ETM, EWM, and RMM. **Prerequisite:** DOORS Next Configuration Management or ETM Configuration Management class *Classes are current to the latest major software release; earlier versions are available on request.* Get Started--- Tell us who needs to learn it and when. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse all ELM training](/training) --- ### [EWM Training (Engineering Workflow Management)](https://www.strongback.us/training/elm-workflow-management) **Published:** July 13, 2026 **Author:** **Content:** Training · Engineering Workflow Management--- # EWM training, from work items to builds *IBM Engineering Workflow Management — formerly Rational Team Concert (RTC).* Instructor-led, hands-on courses covering the full EWM surface: collaboration and work items, source control, project administration, and build management. Role-based tracks mean contributors, developers, and admins each get a class scoped to their job. [Request a private class](/contact) [All ELM training](/training) Course Catalog--- ## The EWM curriculum Five courses, half-day to full-day, sequenced so each builds on the last. #### EWM Collaboration 1 dayHands-on For project contributors who will use the EWM web interface to create and edit work items or monitor and manage work-item progress and project schedules. **Prerequisite:** None #### EWM Source Control Fundamentals 1 dayHands-on Fundamentals of EWM source control tasks for software developers. **Prerequisite:** Working knowledge of the Eclipse IDE #### EWM Source Control Advanced 1 dayHands-on Advanced source control tasks for power users. **Prerequisite:** EWM Source Control Fundamentals class #### EWM Project Administration 1 dayHands-on For project administrators or power users who will configure process, roles, teams, categories, views, and access rights for EWM project areas. **Prerequisite:** EWM Collaboration class #### EWM Build Management ½ dayHands-on Use and configure the EWM source code build management system. **Prerequisite:** EWM Source Control Fundamentals class *Classes are current to the latest major software release; earlier versions are available on request.* Get Started--- Tell us who needs to learn it and when. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse all ELM training](/training) --- ### [ETM Training (Engineering Test Management)](https://www.strongback.us/training/elm-test-management) **Published:** July 13, 2026 **Author:** **Content:** Training · Engineering Test Management--- # ETM training for quality engineering teams *IBM Engineering Test Management — formerly Rational Quality Manager (RQM).* Three hands-on courses that take a quality engineer from executing test cases to authoring test artifacts to administering ETM project areas — a complete progression for teams standing up or scaling test management in ELM. [Request a private class](/contact) [All ELM training](/training) Course Catalog--- ## The ETM curriculum Three one-day courses in a deliberate sequence: execute, author, administer. #### ETM Fundamentals – Executing Test Cases 1 dayHands-on Teaches quality engineers the skills required to run test cases and view test results using ETM. **Prerequisite:** None #### ETM Advanced – Authoring Test Cases 1 dayHands-on Advanced class for quality engineers who will use ETM to author and organize test artifacts, including both manual and automatic test scripts. **Prerequisite:** ETM Fundamentals – Executing Test Cases class #### ETM Project Administration 1 dayHands-on Advanced class for ETM project managers or power users responsible for administering and configuring ETM project areas. **Prerequisite:** ETM Advanced – Authoring Test Cases class *Classes are current to the latest major software release; earlier versions are available on request.* Get Started--- Tell us who needs to learn it and when. We’ll propose a curriculum and a date. [Request a class](/contact) [Browse all ELM training](/training) --- ### [CI/CD Pipeline Integration](https://www.strongback.us/solutions/cicd-pipeline-integration) **Published:** July 12, 2026 **Author:** **Content:** Solutions / Mainframe DevOps--- # Run z/OS through the same pipeline as everything else Your mainframe builds and deployments belong in the CI/CD tool you already run — Jenkins, GitHub Actions, GitLab, or Azure DevOps. We wire z/OS in so mainframe changes pass the same gates, on the same dashboards, as the rest of your code. [Scope your integration](#contact) [See how it works](#process) The Problem--- ## The pipeline stops at the z/OS boundary Most enterprises already have a real CI/CD practice — for everything except the mainframe. A commit to a distributed service triggers a build, tests, scans, and a deploy without anyone touching it. **A change to a COBOL program stops at a handoff:** an email, a manual build request, a change ticket, a person who runs the job. The mainframe is the one place the pipeline doesn’t reach. That gap isn’t technical necessity — it’s a missing integration. A [Dependency Based Build](#) can run from a pipeline agent, tests and code scans can run as pipeline stages, and deployment can be handed to [Wazi Deploy](#) or [IBM DevOps Deploy](#). Once that’s wired up, **mainframe changes flow through the exact same gates, approvals, and visibility as everything else.** And it doesn’t mean a new tool. We integrate with the pipeline you already run — meeting your mainframe team where the rest of engineering already is. Jenkins GitHub Actions GitLab CI Azure DevOps How A z/OS Pipeline Runs--- ## A pipeline, not a sequence of handoffs A common misconception is that each stage waits on the one before it. In practice, once a build produces its artifacts, several checks run at once — the pipeline is a graph, not a line. Commit → Build DBB on an agent → Run in parallelUnit tests (zUnit)stage Code scan / quality gatestage Package artifactsstage → Deploy Wazi / DevOps Deploy The build runs first because everything downstream needs its output — but tests, static analysis, and packaging then run concurrently, and deployment gates on all of them. We design the stage graph around what actually depends on what, not a rigid checklist. How We Integrate It--- ## Wiring z/OS into your existing pipeline 01 Connect an agent to z/OS We set up a pipeline agent or runner that can reach z/OS — running builds and jobs on the host through your CI tool’s native agent model, with the right security and access. 02 Run the DBB build as a pipeline job A commit triggers a Dependency Based Build from the pipeline — impact-aware, producing the same artifacts a developer would, but automatically and on every change. 03 Add tests, scans, and quality gates zUnit tests, code analysis, and your organization’s quality gates run as pipeline stages — several concurrently — so a mainframe change is held to the same bar as any other code before it can proceed. 04 Hand deployment to the right tool The pipeline triggers deployment through Wazi Deploy or IBM DevOps Deploy, so promotion to each environment is a governed, auditable step in the same workflow — not a separate manual process. 05 Unify visibility and approvals Mainframe builds, test results, and deployments show up on the same dashboards and pass the same approval gates as the rest of engineering — one pipeline, one source of truth. Why Strongback--- We integrate the z/OS end ourselves — the agent, the DBB build, the deploy step — instead of handing your platform team a wiki and wishing them luck. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us which pipeline you run. We’ll wire the mainframe into it. An integration assessment maps your existing CI/CD tooling to a z/OS pipeline design — build, test, and deploy — so mainframe work stops being the exception. [Scope your integration](/contact) [Explore the Mainframe DevOps pillar](/solutions/mainframe-devops) --- ### [Librarian / Panvalet to Git Migration](https://www.strongback.us/solutions/librarian-panvalet-to-git-migration) **Published:** July 12, 2026 **Author:** **Content:** Solutions / Mainframe DevOps--- # Get CA Librarian and Panvalet source into Git — and finally into a real build Librarian and Panvalet have safely stored your source for decades, but they were never build systems and never will be. We extract your members and their history, model them in Git, and add the impact-aware build these libraries never had. [Start a migration assessment](#contact) [See how it works](#process) The Problem--- ## A library is not a pipeline CA Librarian and CA Panvalet do one thing well: they keep versioned source members, with archived deltas and a change history, inside a proprietary master file. That was modern in the 1970s and dependable ever since. **But they are storage, not delivery.** There is no branching, no dependency-driven build, and no promotion model — the member you check out is the member you compile, and working out what else that change affects is a manual exercise. That leaves Librarian and Panvalet shops a step further back than Endevor shops. Where an Endevor migration is about preserving a promotion path, a Librarian or Panvalet migration is about **gaining capabilities you never had**: real version control, and a build that knows a changed copybook forces its dependents to recompile. IBM Dependency Based Build (DBB) provides exactly that — it scans your source to construct the dependency graph, recompiles what a change actually touches, and re-links statically bound load modules. These are also among the oldest products in Broadcom’s CA mainframe portfolio, carried forward with minimal investment. The developers who knew them are retiring, and their replacements expect Git — not a ++INCLUDE and an ISPF library panel. How The Migration Runs--- ## The migration, in five stages Because there’s no promotion lifecycle to preserve, the hard part isn’t untangling process — it’s cleanly extracting decades of members and reconstructing the dependency knowledge the library never tracked. 01 Extract members and history from the master file We pull every member out of the Librarian master file or Panvalet library — source, JCL, copybooks, and the archived version history — in a clean, verifiable batch, without hand-editing a single member. 02 Model it in Git Members land in a Git repository organized the way your teams actually work — with real branches and pull-request review — instead of a flat library keyed by member name. Where useful, the archived version history is preserved as commit history. 03 Reconstruct dependencies with DBB Librarian and Panvalet never recorded what depends on what. DBB builds that graph from the source itself — resolving includes and program-to-copybook relationships — so an impact build recompiles the dependents of a change and re-links the load modules that statically bind them. 04 Wire up deployment Build output needs to move. We package promotion using IBM Wazi Deploy for scripted, Git-native z/OS deployment, or IBM DevOps Deploy where one workflow-driven tool has to span mainframe and distributed platforms — so deployment becomes an auditable step, not a manual copy. 05 Train your developers on the workflow Your team learns branching and pull-request review against the code they already maintain — so the move off Librarian or Panvalet is also the moment they stop working in isolation from the rest of engineering. What You Gain--- ## Capabilities the library never offered #### Impact-aware builds A changed copybook rebuilds its dependents automatically — the analysis Librarian and Panvalet left entirely to the developer. #### Real branching & review Feature branches and pull requests replace member-level checkout, bringing mainframe changes into the same review discipline as the rest of your code. #### One toolchain Your z/OS source lives in the same Git, CI, and deployment tooling as everything else — no separate island only a shrinking group knows how to run. Why Strongback--- Extracting clean source from a Librarian master file or a Panvalet library is its own craft. We’ve done it — and built the DBB pipeline on the other side, not just dumped members into a repo. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us what’s in your libraries. We’ll tell you what moves first. A migration assessment inventories your Librarian or Panvalet members and maps them against a Git + DBB model — no commitment, no generic sales deck. [Start a migration assessment](/contact) [Compare with the Endevor migration](/solutions/endevor-to-git-migration) --- ### [Endevor to Git Migration](https://www.strongback.us/solutions/endevor-to-git-migration) **Published:** July 12, 2026 **Author:** **Content:** Solutions / Mainframe DevOps--- # Move off Endevor without losing forty years of mainframe discipline Your COBOL, PL/I, and Assembler source has lived in Endevor for decades — and that history matters. We connect it to Git and Dependency Based Build without flattening the promotion path you rely on. [Start a migration assessment](#contact) [See how it works](#process) The Problem--- ## Endevor still works. It just works alone. Endevor manages your mainframe source with more rigor than most distributed shops ever achieve. The problem isn’t the discipline — it’s the isolation. **Your mainframe team works in a different system, with different tools, than everyone else in engineering.** It’s also less automated in practice than it looks on the panel. A base Endevor GENERATE invokes the element Type’s Generate Processor — the JCL that builds only the element you name. Dependency-driven rebuilds do exist — the Autogen option can regenerate the programs that use a changed copybook — **but only if your site licensed the separate Automated Configuration (ACM) option, only in batch, submitting that Processor’s JCL as a job, and never inside a package**, the governed promotion vehicle most shops actually rely on. Using elements off or below the map are skipped. IBM Dependency Based Build (DBB) makes that same analysis native to every build — including re-linking statically bound load modules — with no separately licensed option and no exclusion from your delivery path. New developers replacing retiring COBOL veterans have never opened an Endevor panel. They expect branches, pull requests, and a build that only touches what changed. Every day that gap stays open, onboarding gets harder and mainframe work stays siloed. How The Migration Runs--- ## The migration, in five stages This isn’t a rip-and-replace. Each stage is a checkpoint you can pause at — and several can run in parallel once the Endevor structure is extracted. 01 Extract the Endevor structure We pull the full dataset map — elements, types, stages, and your existing promotion path — so nothing about how PROD gets protected is assumed or guessed at. 02 Model it in Git Your DEV → TEST → STAGE → PROD path becomes a branching model, not a flattened repo. The promotion discipline your auditors expect carries over intact. 03 Implement Dependency Based Build A base GENERATE only runs the changed element’s own Generate Processor. Endevor’s dependency-following rebuild (Autogen) requires the separately licensed ACM option, runs only in batch, and is excluded from packages — so impact analysis rarely rides your governed promotion path. DBB makes it native: every impact build traces a changed copybook to its dependents, recompiles them, and re-links statically bound load modules via its link dependency tracking. 04 Model the promotion path DBB tells you what needs to be rebuilt — it doesn’t move the output. We map how build artifacts promote from DEV through TEST, STAGE, and PROD using IBM Wazi Deploy for scripted, Git-native z/OS deployment, or IBM DevOps Deploy where you need one workflow-driven tool spanning mainframe and distributed platforms. Either way, promotion becomes a packaged, auditable step — not a hand-typed IEBCOPY job. 05 Train your developers on the workflow Your mainframe team learns branching and pull-request review in the context of the code they already own — not a generic Git class disconnected from COBOL. Why Now--- ## Broadcom’s renewal math doesn’t improve by waiting Endevor licensing runs through Broadcom, which acquired CA Technologies — and Endevor with it — in 2018. Independent licensing advisories tracking Broadcom’s mainframe portfolio since the acquisition report a consistent pattern: capacity-based contracts (priced by MIPS or MSU) carrying annual escalator clauses, with bundled products that lock customers into paying for tools they don’t use. None of this is specific to Endevor — it’s the same commercial model applied across Broadcom’s CA mainframe lineup. But it does mean the cost of standing still keeps compounding, while the cost of migrating is fixed and one-time. ~40% Compounded cost increase over a 5-year term from a typical 7% annual escalator on Broadcom CA mainframe contracts. 30–80% Price increases Broadcom has applied at CA mainframe renewal across documented enterprise cases since acquiring CA in 2018. Sources: Redress Compliance, “Broadcom Software (CA) Mainframe Licensing: CIO Playbook 2025–2027” and “Broadcom CA Mainframe Pricing” advisories (redresscompliance.com). See the chat response for full citations — verify current figures before publishing. Why Strongback--- We’re not a systems integrator selling a multi-year transformation program. We do the migration and the DBB implementation directly — with mainframe engineers who’ve done this before. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us what’s still in Endevor. We’ll tell you what moves first. A migration assessment maps your current dataset structure against a Git + DBB model — no commitment, no generic sales deck. [Start a migration assessment](/contact) [Read the Endevor-to-Git dataset guide](/2023/10/z-os-dataset-considerations-for-migrating-from-endevor-to-git) --- ### [IBM DevOps Deploy Implementation](https://www.strongback.us/solutions/ibm-devops-deploy-implementation) **Published:** July 12, 2026 **Author:** **Content:** Solutions / Mainframe DevOps--- # One deployment tool for the mainframe and everything it connects to IBM DevOps Deploy — formerly UrbanCode Deploy — automates releases across z/OS and distributed platforms from one workflow-driven tool. We install it, model your applications and environments, and hand it over running. [Scope your implementation](#contact) [See how we implement it](#process) The Problem--- ## Every platform deploys differently, and none of them agree A single business release rarely lives on one platform. It’s a CICS region and a set of load libraries on z/OS, a handful of services on Linux, a database change, and a front end somewhere else. **Each of those tends to deploy its own way** — a JCL job here, a shell script there, a spreadsheet of manual steps that only one person fully understands. That’s the gap IBM DevOps Deploy closes. It models an application as versioned **components** deployed through defined **processes** into managed **environments**, with approvals, snapshots, and a full audit trail — and it does this across mainframe *and* distributed targets from the same tool. The result is one release view instead of a per-platform patchwork. Where it fits matters: DevOps Deploy is the broad, workflow-driven, cross-platform choice. If your need is purely z/OS and pipeline-native, [IBM Wazi Deploy](#) is usually the lighter fit — we’ll tell you which is right rather than sell you the bigger tool by default. How We Implement It--- ## From licensed but idle to deploying in production Buying DevOps Deploy is the easy part. The value is in modeling your applications correctly — and that’s the work we do directly, not a slideware plan handed to your team. 01 Assess your release landscape We map what actually ships together — the z/OS artifacts, the distributed components, the databases — and the approvals each one has to pass. That map, not a generic template, drives the design. 02 Install and configure the server and agents We stand up the DevOps Deploy server and deploy agents onto your z/OS and distributed targets — sized, secured, and connected to the systems they’ll manage. 03 Model applications, components, and environments Your releases become versioned components with real deployment processes, promoted through DEV, TEST, and PROD environments — with the mainframe steps (load-library copies, CICS newcopy, DB2 binds) as first-class actions, not afterthoughts. 04 Add approvals, snapshots, and audit Gates and approvals encode the sign-offs your auditors already require, snapshots capture exactly what a release contained, and every deployment is recorded — so change control stops living in email. 05 Integrate the pipeline and hand it over DevOps Deploy is triggered from the CI pipeline you already run, and your team is trained to own the processes — so it keeps working after we leave, without a standing dependency on us. What You Get--- ## A configured tool, not a box of parts #### One release, all platforms Mainframe and distributed targets deploy through the same tool, with one view of what shipped where — no per-platform silos. #### Governance built in Approvals, snapshots, and a complete audit trail encode your change-control requirements instead of bolting them on after the fact. #### Repeatable, not heroic Deployments run the same way every time, so a release stops depending on the one person who remembers the manual steps. Why Strongback--- We implement DevOps Deploy where most of the risk actually is — the z/OS side — with engineers who know CICS, DB2, and load-library mechanics, not just the tool’s UI. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Tell us how you deploy today. We’ll model the first application with you. An implementation assessment maps your release landscape to a DevOps Deploy design — and tells you honestly whether it, or Wazi Deploy, is the right tool for your estate. [Scope your implementation](/contact) [Compare with Wazi Deploy](/solutions/ibm-wazi-deploy-implementation) --- ### [IBM Wazi Deploy Implementation](https://www.strongback.us/solutions/ibm-wazi-deploy-implementation) **Published:** July 12, 2026 **Author:** **Content:** Solutions / Mainframe DevOps--- # Deploy z/OS the way the rest of your pipeline already works IBM Wazi Deploy is scripted, YAML-driven z/OS deployment that lives inside your pipeline — part of IBM Developer for z/OS Enterprise Edition. It’s the natural next step after a Dependency Based Build, and we implement it end to end. [Scope your implementation](#contact) [See how we implement it](#process) The Problem--- ## DBB builds it. Something still has to move it. Once Dependency Based Build knows exactly which load modules a change produced, the last mile is getting that output promoted from DEV to TEST to PROD. In too many shops that last mile is still a hand-typed IEBCOPY job, a copy-and-paste of member names, or a script only one person maintains — **the one manual step in an otherwise automated pipeline.** Wazi Deploy closes it declaratively. You describe *what* to deploy and *where* in a YAML deployment manifest kept in Git next to the code; Wazi Deploy generates and executes the deployment from that manifest. It’s **Git-native and pipeline-first** — no separate deployment server to run, no UI to click through — which makes it a clean fit for teams already building with DBB. That focus is the trade-off to understand: Wazi Deploy is z/OS-focused and lightweight. When a release has to span mainframe *and* distributed platforms under one workflow-driven tool, [IBM DevOps Deploy](#) is the better fit — and we’ll say so. What It Looks Like--- ## Deployment as a file in your repo The deployment manifest lives in Git beside the code it ships. It’s reviewable in a pull request, versioned with the release, and identical across environments — the target changes, the definition doesn’t. deployment-method.yml ``` # Illustrative — a Wazi Deploy manifest describes artifacts and targets apiVersion: deploy.ibm.com/v1 kind: DeploymentMethod metadata: name: payments-batch artifacts: - name: PAYCALC type: PGM # load module from the DBB build deployTo: CICS.PROD.LOADLIB actions: [ copy, cics-newcopy ] ``` How We Implement It--- ## From DBB output to a promoted, auditable deploy Wazi Deploy is most valuable directly downstream of a Dependency Based Build. We wire the two together so a build flows straight into a governed deployment. 01 Assess targets and access We inventory your deployment targets — load libraries, CICS regions, DB2, JCL procs — and the access and change-control rules each one carries, so the manifests reflect reality. 02 Author the deployment manifests We write the YAML deployment methods and index files that describe what ships where, kept in Git alongside the source — reviewable, versioned, and consistent across environments. 03 Connect it to the DBB build output The artifacts a Dependency Based Build produces feed straight into Wazi Deploy, so what gets deployed is exactly what the impact build produced — no manual re-selection of members. 04 Run it from the pipeline, with evidence and rollback Deployment executes as a pipeline step. Each run records what it did for audit, and the declarative manifest makes reversing a deployment a defined operation rather than an emergency. 05 Hand it over to your team Because it’s just YAML in Git and a pipeline step, your developers can own and extend it — we train them on the manifest model rather than leaving a black box behind. Why It Fits--- ## Lightweight on purpose #### Git-native The deployment definition is a versioned file in the same repo as the code — reviewed in pull requests, not configured in a separate console. #### Pipeline-first No standing deployment server to operate. Wazi Deploy runs as a step in the CI/CD pipeline you already have. #### Built for z/OS Load libraries, CICS, DB2, and JCL are native concepts — part of IBM Developer for z/OS Enterprise Edition, not a distributed tool bent onto the mainframe. Why Strongback--- We implement Wazi Deploy as the far end of the same pipeline we build with DBB — so build and deploy are one flow, not two projects stapled together. — Strongback Consulting, mainframe DevOps since before it had a name Next Step--- ## Already building with DBB? Deployment is the next step. An implementation assessment maps your z/OS deployment targets to a Wazi Deploy manifest model — and confirms it’s the right fit versus a broader tool. [Scope your implementation](/contact) [Compare with DevOps Deploy](/solutions/ibm-devops-deploy-implementation) --- ### [z/OS DevOps Maturity Assessment](https://www.strongback.us/assessment) **Published:** July 12, 2026 **Author:** **Content:** Free Assessment--- # Where does your z/OS delivery actually stand? Four questions. We’ll send back an honest read on your mainframe DevOps maturity — where you are, and the highest-leverage next step. No sales call required. z/OS DevOps Maturity AssessmentWork email — where we send your results Where does your z/OS source live today? — Select —CA EndevorCA Librarian or PanvaletGitA mixNot sure How do you build? — Select —Manual JCL / compilesEndevor processorsDBB / zAppBuildSomething else How do you promote to production? — Select —By hand (IEBCOPY, etc.)Home-grown scriptsWazi Deploy / DevOps DeployNot sure Get my results --- ### [Contact](https://www.strongback.us/contact) **Published:** July 12, 2026 **Author:** **Content:** Contact--- # Book a migration assessment Tell us what’s still on the mainframe and what you’re trying to move. We’ll come back within one business day — no generic sales deck. Book a Migration AssessmentFirst Name Last Name Work email Company What’s in your environment today? — Select —CA EndevorCA LibrarianCA PanvaletA mix / not sureSomething else What are you trying to move, and by when? Book my assessment --- ## Categories ### [Uncategorized](https://www.strongback.us/category/uncategorized) --- ### [DevOps](https://www.strongback.us/category/devops) --- ### [Mainframe Devops](https://www.strongback.us/category/mainframe-devops) --- ## Tags ### [devops](https://www.strongback.us/tag/devops) --- ### [ibmz](https://www.strongback.us/tag/ibmz) --- ### [rdz](https://www.strongback.us/tag/rdz) --- ### [scrum](https://www.strongback.us/tag/scrum) --- ### [teamconcert](https://www.strongback.us/tag/teamconcert) --- ### [java](https://www.strongback.us/tag/java) --- ### [WAS](https://www.strongback.us/tag/was) --- ### [WebSphere](https://www.strongback.us/tag/websphere) --- ### [clm](https://www.strongback.us/tag/clm) --- ### [doors](https://www.strongback.us/tag/doors) --- ### [RQM](https://www.strongback.us/tag/rqm) --- ### [RTC](https://www.strongback.us/tag/rtc) --- ### [CI](https://www.strongback.us/tag/ci) --- ### [ibm](https://www.strongback.us/tag/ibm) --- ### [mainframe](https://www.strongback.us/tag/mainframe) --- ### [systemz](https://www.strongback.us/tag/systemz) --- ### [rational](https://www.strongback.us/tag/rational) --- ### [RTCEE](https://www.strongback.us/tag/rtcee) --- ### [agile](https://www.strongback.us/tag/agile) --- ### [IBMInterConnect](https://www.strongback.us/tag/ibminterconnect) --- ### [ShiftLeft](https://www.strongback.us/tag/shiftleft) --- ### [OSLC](https://www.strongback.us/tag/oslc) --- ### [HATS](https://www.strongback.us/tag/hats) --- ### [junit](https://www.strongback.us/tag/junit) --- ### [webdesign](https://www.strongback.us/tag/webdesign) --- ### [hackers](https://www.strongback.us/tag/hackers) --- ### [Linux](https://www.strongback.us/tag/linux) --- ### [spam](https://www.strongback.us/tag/spam) --- ### [IBMi](https://www.strongback.us/tag/ibmi) --- ### [ibminnovate](https://www.strongback.us/tag/ibminnovate) --- ### [zos IBMInnovate](https://www.strongback.us/tag/zos-ibminnovate) --- ### [C/C++](https://www.strongback.us/tag/cc) --- ### [aix](https://www.strongback.us/tag/aix) --- ### [redhat](https://www.strongback.us/tag/redhat) --- ### [books](https://www.strongback.us/tag/books) --- ### [POWER7](https://www.strongback.us/tag/power7) --- ### [BI](https://www.strongback.us/tag/bi) --- ### [mobile](https://www.strongback.us/tag/mobile) --- ### [systemi](https://www.strongback.us/tag/systemi) --- ### [Automation](https://www.strongback.us/tag/automation) --- ### [ANT](https://www.strongback.us/tag/ant) --- ### [PassportAdvantage](https://www.strongback.us/tag/passportadvantage) --- ### [connections](https://www.strongback.us/tag/connections) --- ### [sharepoint](https://www.strongback.us/tag/sharepoint) --- ### [COBOL](https://www.strongback.us/tag/cobol) --- ### [RSA](https://www.strongback.us/tag/rsa) --- ### [quality](https://www.strongback.us/tag/quality) --- ### [Quickr](https://www.strongback.us/tag/quickr) --- ### [Requirements](https://www.strongback.us/tag/requirements) --- ### [collaboration](https://www.strongback.us/tag/collaboration) --- ### [iSeries](https://www.strongback.us/tag/iseries) --- ### [JavaEE](https://www.strongback.us/tag/javaee) --- ### [XSS](https://www.strongback.us/tag/xss) --- ### [SOA](https://www.strongback.us/tag/soa) --- ### [RDi](https://www.strongback.us/tag/rdi) --- ### [RDP](https://www.strongback.us/tag/rdp) --- ### [Tomcat](https://www.strongback.us/tag/tomcat) --- ### [Lotus](https://www.strongback.us/tag/lotus) --- ### [LotusSphere](https://www.strongback.us/tag/lotussphere) --- ### [apache](https://www.strongback.us/tag/apache) --- ### [CXF](https://www.strongback.us/tag/cxf) --- ### [RAD](https://www.strongback.us/tag/rad) --- ### [subversion](https://www.strongback.us/tag/subversion) --- ### [security](https://www.strongback.us/tag/security) --- ### [domino](https://www.strongback.us/tag/domino) --- ### [web services](https://www.strongback.us/tag/web-services) --- ### [opensuse](https://www.strongback.us/tag/opensuse) --- ### [vmware](https://www.strongback.us/tag/vmware) --- ### [Lotus Notes](https://www.strongback.us/tag/lotus-notes) --- ### [RFT](https://www.strongback.us/tag/rft) --- ### [ajax](https://www.strongback.us/tag/ajax) --- ### [dojo](https://www.strongback.us/tag/dojo) --- ### [jquery](https://www.strongback.us/tag/jquery) --- ### [proxy](https://www.strongback.us/tag/proxy) --- ### [Outlook](https://www.strongback.us/tag/outlook) --- ### [ihs](https://www.strongback.us/tag/ihs) --- ### [commonstore](https://www.strongback.us/tag/commonstore) --- ### [db2](https://www.strongback.us/tag/db2) --- ### [ediscovery](https://www.strongback.us/tag/ediscovery) --- ### [blogging](https://www.strongback.us/tag/blogging) --- ### [mentoring](https://www.strongback.us/tag/mentoring) --- ### [HostOnDemand](https://www.strongback.us/tag/hostondemand) --- ### [Microsoft](https://www.strongback.us/tag/microsoft) --- ### [fedora](https://www.strongback.us/tag/fedora) --- ### [ubuntu](https://www.strongback.us/tag/ubuntu) --- ### [unix](https://www.strongback.us/tag/unix) --- ### [VisualStudio](https://www.strongback.us/tag/visualstudio) --- ### [regex](https://www.strongback.us/tag/regex) --- ### [IE6](https://www.strongback.us/tag/ie6) --- ### [IE7](https://www.strongback.us/tag/ie7) --- ### [web standards](https://www.strongback.us/tag/web-standards) --- ### [AS/400](https://www.strongback.us/tag/as400) --- ### [html](https://www.strongback.us/tag/html) --- ### [cloud](https://www.strongback.us/tag/cloud) --- ### [lotuslive](https://www.strongback.us/tag/lotuslive) --- ### [salesforce.com](https://www.strongback.us/tag/salesforce-com) --- ### [skype](https://www.strongback.us/tag/skype) --- ### [GoToMeeting](https://www.strongback.us/tag/gotomeeting) --- ### [Notes](https://www.strongback.us/tag/notes) --- ### [RRC](https://www.strongback.us/tag/rrc) --- ### [WAS7](https://www.strongback.us/tag/was7) --- ### [rsdc](https://www.strongback.us/tag/rsdc) --- ### [clearcase](https://www.strongback.us/tag/clearcase) --- ### [vim](https://www.strongback.us/tag/vim) --- ### [innovate](https://www.strongback.us/tag/innovate) --- ### [jobs](https://www.strongback.us/tag/jobs) --- ### [pvu](https://www.strongback.us/tag/pvu) --- ### [symphony](https://www.strongback.us/tag/symphony) --- ### [Portal](https://www.strongback.us/tag/portal) --- ### [portlet factory](https://www.strongback.us/tag/portlet-factory) --- ### [windows7](https://www.strongback.us/tag/windows7) --- ### [Lotus Connections](https://www.strongback.us/tag/lotus-connections) --- ### [jee6](https://www.strongback.us/tag/jee6) --- ### [wsadmin](https://www.strongback.us/tag/wsadmin) --- ### [spring](https://www.strongback.us/tag/spring) --- ### [craftsmanship](https://www.strongback.us/tag/craftsmanship) --- ### [jazz](https://www.strongback.us/tag/jazz) --- ### [inotes](https://www.strongback.us/tag/inotes) --- ### [8.5.1](https://www.strongback.us/tag/8-5-1) --- ### [daos](https://www.strongback.us/tag/daos) --- ### [strongback](https://www.strongback.us/tag/strongback) --- ### [egl](https://www.strongback.us/tag/egl) --- ### [Blackberry](https://www.strongback.us/tag/blackberry) --- ### [mac](https://www.strongback.us/tag/mac) --- ### [enterprise-collaboration](https://www.strongback.us/tag/enterprise-collaboration) --- ### [WDSC](https://www.strongback.us/tag/wdsc) --- ### [social software](https://www.strongback.us/tag/social-software) --- ### [Google](https://www.strongback.us/tag/google) --- ### [exchange](https://www.strongback.us/tag/exchange) --- ### [css](https://www.strongback.us/tag/css) --- ### [web2.0](https://www.strongback.us/tag/web2-0) --- ### [struts2](https://www.strongback.us/tag/struts2) --- ### [sametime](https://www.strongback.us/tag/sametime) --- ### [debugging](https://www.strongback.us/tag/debugging) --- ### [heap](https://www.strongback.us/tag/heap) --- ### [buildforge](https://www.strongback.us/tag/buildforge) --- ### [jython](https://www.strongback.us/tag/jython) --- ### [scripting](https://www.strongback.us/tag/scripting) --- ### [download director](https://www.strongback.us/tag/download-director) --- ### [quicker](https://www.strongback.us/tag/quicker) --- ### [browsers](https://www.strongback.us/tag/browsers) --- ### [chrome](https://www.strongback.us/tag/chrome) --- ### [firefox](https://www.strongback.us/tag/firefox) --- ### [eclipse](https://www.strongback.us/tag/eclipse) --- ### [microformats](https://www.strongback.us/tag/microformats) --- ### [.NET](https://www.strongback.us/tag/net) --- ### [Vista](https://www.strongback.us/tag/vista) --- ### [appscan](https://www.strongback.us/tag/appscan) --- ### [watchfire](https://www.strongback.us/tag/watchfire) --- ### [z10](https://www.strongback.us/tag/z10) --- ### [storage](https://www.strongback.us/tag/storage) --- ### [bold](https://www.strongback.us/tag/bold) --- ### [curve](https://www.strongback.us/tag/curve) --- ### [WTF](https://www.strongback.us/tag/wtf) --- ### [svn](https://www.strongback.us/tag/svn) --- ### [productivity](https://www.strongback.us/tag/productivity) --- ### [ejb](https://www.strongback.us/tag/ejb) --- ### [antivirus](https://www.strongback.us/tag/antivirus) --- ### [trend](https://www.strongback.us/tag/trend) --- ### [dashboard framework](https://www.strongback.us/tag/dashboard-framework) --- ### [bug](https://www.strongback.us/tag/bug) --- ### [T61](https://www.strongback.us/tag/t61) --- ### [Governance](https://www.strongback.us/tag/governance) --- ### [Geronimo](https://www.strongback.us/tag/geronimo) --- ### [beta](https://www.strongback.us/tag/beta) --- ### [OpenNTF](https://www.strongback.us/tag/openntf) --- ### [javaone](https://www.strongback.us/tag/javaone) --- ### [javafx](https://www.strongback.us/tag/javafx) --- ### [xmlaccess](https://www.strongback.us/tag/xmlaccess) --- ### [performance tuning](https://www.strongback.us/tag/performance-tuning) --- ### [cisco](https://www.strongback.us/tag/cisco) --- ### [IPL](https://www.strongback.us/tag/ipl) --- ### [QShell](https://www.strongback.us/tag/qshell) --- ### [wpsconfig](https://www.strongback.us/tag/wpsconfig) --- ### [HODS](https://www.strongback.us/tag/hods) --- ### [HOD](https://www.strongback.us/tag/hod) --- ### [IDz](https://www.strongback.us/tag/idz) --- ### [HTTP](https://www.strongback.us/tag/http) --- ### [Liberty](https://www.strongback.us/tag/liberty) --- ### [RDNG](https://www.strongback.us/tag/rdng) --- ### [C/C](https://www.strongback.us/tag/c-c) --- ### [HLASM](https://www.strongback.us/tag/hlasm) ---