Loading...

Wednesday, February 15, 2012

Getting better tracing and debugging for Rational HATS macros.

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 <action> 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.

<trace type="SYSOUT" value="'Executing xxx action now'"/>


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.

Monday, February 06, 2012

AIX COBOL Overview with Rational Developer for Power

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.


Wednesday, January 11, 2012

Increasing the JVM heap for RSA, RAD, and other Rational or Eclipse products

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 new laptop (a quad-core lenovo Thinkpad w520 with 16GB of RAM, can I get a hell yeah).

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:\IBM\SDP\eclipse.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'\jdk\jre\bin\j9vm\jvm.dll
to
-vm 'install directory'\jdk\jre\bin\javaw.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 http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html
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: http://blog.strongbackconsulting.com/2010/11/reducing-rad-8-memory-footprint.html

Thursday, November 03, 2011

Deploying connection information to RDz users in an enterprise

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.

Export RDz Connection Information
Usually 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.

Friday, October 21, 2011

Now available: Rational Developer for System z Training

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@strongback.us.

Thursday, August 25, 2011

IBM Releases Rational HATS 8

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.


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.


https://www-304.ibm.com/partnerworld/wps/servlet/mem/ContentHandler/Y162373T55729Z40

Thursday, July 28, 2011

IBM Rational enterprise modernization acronyms

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. http://eclipse.org/edt/
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

Friday, July 01, 2011

Lotus Quickr Connector 8.5 64bit support NOW available!

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

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

Tuesday, June 28, 2011

Requirements Management in a CLM World

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.





If you are challenged with managing requirements in your IT organization, we can help. Give us a call.