About this code
The following article relates to certain technology preview code that is provided to you along with the product. Please review the license files for further information. The license files reside in a folder named "license", which is located under the "SFM" folder in the root directory of the Service Flow Modeler install path. THIS ARTICLE AND SUCH TECHNOLOGY PREVIEW CODE ARE PROVIDED ON AN AS-IS BASIS WITH NO WARRANTY. IBM provides no support for this code. IBM does not warrant that: a) this code will meet your requirements, and/or b) your applications developed using this code will be compatible with subsequent versions of the code. Some or all of the code may not be made generally available by IBM as a product. Production use of the technology preview code is not authorized. These articles are provided for your information only.
Welcome to the IBM WebSphere(R) Service Flow Modeler Technology Preview, powered by Eclipse technology.
To view the latest version of this readme file, go to this Web address: ftp://ftp.software.ibm.com/ps/products/wsed/TechPreviews/SFM/readme.html
This file is available in the following national languages:
English |
General release notes
Installing and running the Service Flow Modeler Technology Preview and the IBM WebSphere Business Integration Message Broker product on the same workstation is not supported.
When a flow contains a While node that was recorded using the loop
recording functionality in the host editor, the Service Flow Modeler
Technology Preview cannot generate runtime code from that flow for some
supported runtime environments:
Runtime environment: | Runtime code can be generated from flow containing While node recorded using the loop recording functionality: |
---|---|
IBM CICS Integrator Adapter for z/OS | No |
IBM WebSphere Host Access Transformation Services (HATS) 6.0.1 or higher | Yes |
When a screen message has been generated from a BMS mapset that contains the OCCURS parameter, and a flow contains a LINK3270 node that references that screen message, the Service Flow Modeler cannot generate runtime code from that flow.
Closing IBM WebSphere Developer for zSeries(R) without disconnecting the host editor from the host can cause WebSphere Developer for zSeries not to terminate completely.
This problem occurs when you are connected to a host in the host editor and you close WebSphere Developer for zSeries by clicking the X in the upper right-hand corner of the workbench. Although WebSphere Developer for zSeries appears to close normally, some WebSphere Developer for zSeries processes are still running (eclipse.exe, javaw.exe). When you restart WebSphere Developer for zSeries and attempt to use the same workspace, WebSphere Developer for zSeries displays the error message "Workspace in use, choose a different one".
To avoid this problem, before closing WebSphere Developer for zSeries, either close the host editor or disconnect the host editor from the host.
If an adapter service for the CICS Integrator Adapter for z/OS runtime contains one or more Invoke nodes in which an UNKNOWN terminal is not connected to another node, then a CICS ASP3 abend can occur when you run the adapter service.
This problem occurs in the following situation:
To prevent a CICS ASP3 abend from this cause occurring when you run the resulting adapter service:
This problem occurs when the Service Flow Modeler generates runtime code for the CICS Integrator Adapter for z/OS runtime from a flow that contains a particular sequence of three consecutive nodes.
The three consecutive nodes have the following characteristics:
First node having multiple output terminals: | Second node having multiple output terminals: | Does the problem occur? |
---|---|---|
Switch node | Switch node | Yes |
Invoke node | Switch node | Yes, but only if the Invoke node does not contain an output mapping. |
Switch node | Invoke node | Yes, but only if the Invoke node does not contain an output mapping. |
Invoke node | Invoke node | Yes, but only if neither Invoke node contains an output mapping. |
The following illustration shows an example of a sequence of three such nodes:
The resulting problem that occurs when you generate runtime code from a flow like this for the CICS Integrator Adapter for z/OS runtime is that the Service Flow Modeler Technology Preview does not generate runtime code for the second node in the sequence. Usually the COBOL program that is generated compiles without errors. However, at least one paragraph that you would expect to be present in the COBOL program is missing. One way to spot this problem is to look for a gap in the normal sequence of paragraphs. For example, if the following sequence of paragraphs occurs: 1010-, 1030-, 1040-, 1050-, and so on, then the fact that paragraph 1020- is omitted indicates that output code is missing.
To work around this problem, modify the sequence of three consecutive nodes by creating a different but functionally equivalent sequence of nodes. For example, you can insert an Assign node between the first and second nodes or between the second and third nodes. The Assign node does not have to contain any mapping.
If the first node or the second node in the sequence is an Invoke node, then you can work around this problem by adding an output mapping (which can be empty) to the first or second node that is an Invoke node:
This note concerns the Startup Transaction Data property. This property appears in the Generation Properties Editor (when you have just created a new generation properties file, or when you are editing an existing generation properties file), on the Node Properties page, in the FEPI Flow Properties group or in the 3270 Bridge Flow Properties group.
If you are using the Startup Transaction Data property with a terminal (screen-based) application, and you are using the Service Flow Modeler to generate runtime code for the CICS Integrator Adapter for z/OS runtime, then you must do the following in the flow from which you are generating the runtime code:
These requirements are necessary to insure that the proper screen recognition code is generated after the transaction is executed.
You can visually verify that these requirements have been met:
In the following example, both requirements are met, and the runtime code will be generated correctly:
In contrast, in the following example, the second requirement is not met. Consequently the runtime code will not be generated correctly and you will get unexpected runtime results:
The following illustration shows the correctly generated code for the first example above:
The next illustration shows the incorrectly generated code for the second example above:
This subsection describes how to add an IN message_name REFERENCE message_type statement to the ESQL MODULE for a Switch node.
Before you start to perform the steps below, you should already have the following resources available:
To add an IN message_name REFERENCE message_type statement to the ESQL MODULE for a Switch node:
Note: The importance of doing the ESQL -> Open ESQL operation now:
Note: The importance of typing Ctrl-S now:
Note: After you have added the first message to the ESQL MODULE for the Switch node, you can add an additional message to the same ESQL MODULE as follows:
This subsection describes how to add an IN message_name REFERENCE message_type statement to the ESQL MODULE for a While node.
Before you start to perform the steps below, you should already have the following resources available:
To add an IN message_name REFERENCE message_type statement to the ESQL MODULE for a While node:
Note: The importance of doing the ESQL -> Open ESQL operation now:
Note: The importance of typing Ctrl-S now:
Note: After you have added the first message to the ESQL MODULE for the While node, you can add an additional message to the same ESQL MODULE as follows:
A reliable screen description is one that matches the particular application screen that you want it to match, and that does not mistakenly match any other application screen that can occur at the same point in the host application.
In general, for each application screen that occurs in a terminal application (this can be referred to as the "original application screen"), only a few application screens, or frequently only one application screen, can occur next (these can be referred to as the "possible next application screens").
In the Next Screens subcomponent of the screen interaction for the original application screen, you should verify that a screen description is included for each possible next application screen.
If more than one possible next application screen can occur following the original application screen, you should modify, if necessary, the screen description of each of the possible next application screens, so that each screen description accurately and unambiguously matches the correct possible next application screen.
In all cases, it is recommended that you use only String descriptors or Field Pattern descriptors in screen descriptions. (For a flow from which you generate runtime code for the CICS Integrator Adapter for z/OS runtime, you must use only String descriptors or Field Pattern descriptors in screen descriptions.)
For each screen description, a single String descriptor or a single Field Pattern descriptor might be sufficient, depending on how similar the possible next application screens are to one another.
Whenever you create a default screen description (whether by using the Capture Screen icon in the host editor, or by automatically capturing a screen during screen operations recording or flow recording, or by importing a BMS map or a HATS screen), the default screen description contains three default descriptors: a Number of Fields descriptor, a Number of Input Fields descriptor, and a Fields Checksum descriptor. This default screen description is created for the purpose of getting you started in the host editor environment. It is recommended that you modify every default screen description as follows so that it is no longer a default screen description:
Also, during flow recording or screen operations recording, for each application screen, you should verify that the correct screen description is recognized before you enter any input.
When you are doing flow recording in the host editor, for each application screen that is displayed, you should allow the application screen to settle (to be completely updated by the host application) before you enter an AID key (such as Enter, Clear, PF1, and so on) that causes a transition to the next application screen.
Allowing the screen to settle is particularly important when the current application screen does not contain any input fields for you to type text into.
Failing to allow the screen to settle can cause the recorded flow to be invalid.
For some session types, the host editor warns you when you might have entered an AID key without first allowing the screen to settle:
Sometimes in a terminal application an application screen exists (this can be referred to as the "original application screen") for which the same input action (for example, PF8) can result in the next application screen being any one of several different possible application screens, each of which you want to recognize and handle differently (these can be referred to as the "possible next application screens").
What is unusual about this scenario is that the same input action can result in one or more different next application screens.
You should deal with this type of scenario exactly as you would deal with the more usual scenario in which a different input action results in a different next application screen. That is:
For example, suppose that the original application screen is a Utilities application screen in which the user can run a utility by typing the name of utility and pressing Enter. Depending on the return code from the utility, the possible next application screens include the following:
To manage this sequence of application screens:
Note: Sequences of application screens that can be handled as loops are a special case of the scenario described in this subsection. You can handle such sequences more easily by creating a loop using the loop recording function during flow recording in the host editor.
This subsection describes how to invoke IBM WebSphere Developer for zSeries with the -clean option. Other subsections in this Readme file can refer to this subsection.
When the installation of a product onto your workstation results in new or updated code modules being written into the directories where WebSphere Developer for zSeries is installed, you must invoke WebSphere Developer for zSeries once with the -clean option, to cause WebSphere Developer for zSeries to flush its caches and reload them with the latest installed code.
Note: You need to invoke WebSphere Developer for zSeries with the -clean option only once each time this situation occurs. Thereafter you can invoke WebSphere Developer for zSeries as you normally do, without the -clean option, until the installation of another product requires you to invoke WebSphere Developer for zSeries with the -clean option.
To invoke WebSphere Developer for zSeries with the -clean option:
"D:\Program Files\IBM\Rational\SDP\6.0\rationalsdp.exe"
then type -clean after the command, so that the command now reads:
"D:\Program Files\IBM\Rational\SDP\6.0\rationalsdp.exe" -clean
Note: WebSphere Developer for zSeries takes much longer to open when it invoked with the -clean option.
Runtime environments
You can use the Service Flow Modeler Technology Preview to generate runtime
code for the following IBM runtime environments:
IBM runtime environment: | IBM product required for runtime environment: |
---|---|
IBM CICS Integrator Adapter for z/OS | IBM CICS Transaction Server version 3.1 or higher |
IBM WebSphere Host Access Transformation Services (HATS) 6.0.1 or higher | IBM WebSphere Application Server |
If you use the Service Flow Modeler Technology Preview to generate an adapter service, and you then create a Web service from the adapter service, you cannot invoke the Web service via SOAP on CICS TS 3.1.
If you want to use the Service Flow Modeler Technology Preview to generate HATS macros and deploy them to the HATS studio, you must have HATS version 6.0.1 or higher installed on the target workstation.
If you install the Service Flow Modeler Technology Preview, and you subsequently install HATS 6.0.1 on the same workstation, you must invoke WebSphere Developer for zSeries with the -clean option to ensure that the Service Flow Modeler Technology Preview perspective is available (see Invoking WebSphere Developer for zSeries with the -clean option).
If your workstation is running Microsoft Windows 2000 Server or Windows 2003 Server, and you install HATS on the workstation after installing the Service Flow Modeler Technology Preview, the HATS installation may disable the IBM SWT Host Access Beans 1.0.1 feature, causing the Service Flow Modeler perspective and the HATS perspective to become unavailable.
To re-enable the perspectives:
National Language Support
In the Service Flow Modeler Technology Preview the user interface and documentation are in English only.
The Service Flow Modeler Technology Preview is not enabled for support of DBCS languages.
The Service Flow Modeler Technology Preview is not enabled for support of bi-directional languages such as Arabic and Hebrew.