Ivory Service Architect logo

Adaptive Integration Fabric

Ivory Service Architect logo
Ivory Service Architect logo

Adaptive Integration Fabric

By Adaptigent

Certified enterprise ready

True drag and drop mainframe integration that quickly connects legacy mainframe systems with modern and cloud-based applications to dramatically accelerate modernization. (Adaptive Integration Fabric is formerly known as Ivory Service Architect.)

Software version


Delivery method


Products purchased on Red Hat Marketplace are supported by the provider. Beyond documentation and developer communities, specialists and product maintainers may be available to address your concerns.


  • Yes, 'Ivory Service Architect' has been rebranded to 'Adaptive Integration Fabric.' All references in this document to 'Ivory Service Architect' and its components are interchangeable with
    'Adaptive Integration Fabric.'

  • You do not need to know WSDL in order to use Fabric, but a working knowledge of WSDL basics will be helpful.

    Web Services Description Language (WSDL) is an XML format for describing network services. A WSDL document defines services as collections of network endpoints (or ports). WSDL is an integral part of UDDI, an XML-based worldwide business registry.

    Ivory Web services support SOAP bindings only. Two styles of messaging for operations are supported: Document or RPC. Document-oriented messaging implies that messages contain XML documents that represent application data. RPC-oriented messaging implies that messages contain parameters and return values for remote procedure calls.

    Message parts are also affected by the encoding style, which can be either literal or encoded. The most common binding styles are document/literal and RPC/encoded, which are both supported by Ivory. For the document/literal binding style, Ivory uses a subset of the binding style named document/literal wrapped, which wraps the operation name as the top-level element in the message. The document/literal wrapped binding style is WS-I Basic Profile 1.0 compliant.

    The Encoding Style property on the project Start Node specifies which style will be used for that project.

    1. In Visual Studio, create a new ASP.NET Web application: from the main menu, select File> New Project.
    2. In the New Project dialog, select Visual C# as the project type, and ASP.NET Web Application as the template. Specify the location for the ASP.NET application, and then click OK.
    3. Select View> Solution Explorer to display the Solution Explorer, if it is not already open.
    4. In the Solution Explorer, right-click the References node and select the Add Web Reference option. This will display the Add Web Reference dialog.
    5. In the URL text box of the Add Web Reference dialog, enter
    6. Click Go to display an HTML page describing the WSDL.
    7. Click Add Reference to add the WSDL reference to project.
    8. Go to the Solution Explorer tab and select the WebForm node called WebForm1.aspx, which is created by default. Right-click WebForm1.aspx and select Open. This will open a design view MDI tab with a blank form.
    9. Select View> Toolbox to open the ToolBox window. Drag and drop 3 labels, 3 text boxes and a button from the toolbox onto the design view and position them.
    10. Select View> Properties to open the Properties window, if it is not already open.
    11. Define the text property for the labels: First Name, Last Name, and Account Number.
    12. Define the text box ID properties: TxtFirstName, TxtLastName, and TxtAccountNumber.
    13. Define the text property for the button: Submit.
    14. Double-click the button to view the source code for the form with a template for the button click event handler.
    15. Insert code to call the Web service operation.
    16. Run the application using Debug> Start. This will display the Web form on an HTML page with the defined text fields for input. Enter values into the name text fields, and click Submit to access account number values from the Web service.

    1. Place the IV$FILE in an LSR pool. (Data CI size is 26K, key CI size is 1536)
      Benefit: This results in reduced physical I/O on the IV$FILE and a reduction of CPU consumption at a cost of increased storage usage.
    2. Define the IV$FILE as a CICS maintained table (see below). The IV$FILE must already be defined in an LSR pool; see above.
      Benefit: This will improve the I/O processing of the IV$FILE and reduce the response time when running in an MRO situation more than using only an LSR pool.
    3. Verify that the server DNS settings have been configured properly. Using the Fabric Server Administration Manager, go to Server Controls> Ivory Listener> DNS> DNS Settings and verify that the DNS Name Suffx and DNS IP Address settings have been updated with the correct values for your installation.

    To measure performance, monitor all IVCW transactions and all defined alias transactions.

  • During a 3270 session, can Fabric perform other processing (such as calling a LINK or IMS program or an external Web service) without terminating the 3270 session?
    Yes, Fabric provides ways to logically suspend an active 3270 session, do other processing, and then resume the 3270 session. You can have an implicit suspend and an explicit suspend.

    Implicit Suspend

    There may be 3270 Point Nodes that are indirect descendants (not immediate children) of the 3270 Action Node, but they are part of the same 3270 session (they occur before another 3270 Process
    Node). If the diagram is arranged in this way and if Fabric Server doesn't find a direct child 3270 Point Node that matches the next runtime screen, then Fabric Server will logically suspend the 3270
    session and execute the path of the first non-3270 Point Node child. When Fabric Server encounters the next 3270 Point node in this path, the 3270 session is resumed, provided that this 3270 Point Node does match the next runtime screen; otherwise it is a SOAP fault.

    Explicit Suspend

    The service may need to use data fields from the last active 3270 screen as inputs to a LINK program or external Web service call (Web Service Client). This is not possible using the implicit
    suspend method because the 3270 Point Node for the active screen does not occur in the diagram until after the nodes for the other processing.
    In this case, you need to perform an explicit suspend, as follows:

    • Establish an active 3270 session with a 3270 Process Node followed by any number of 3270 Point Nodes and 3270 Action Nodes.

    • At the point where you want to do other processing, place a 3270 Action Node followed by the 3270 Point Node representing the resulting screen.

    • Then insert a second 3270 Action Node with AID Key set to “Suspend”. This explicitly tells Ivory Server to logically suspend the 3270 session.

    • Following this 3270 Action Node, insert nodes to perform the other processing (LINK, IMS, or Web Service Client).

    • When you want to resume the 3270 session, insert another 3270 Point Node with the same map as the 3270 Point Node before the “Suspend” 3270 Action Node.

    Using this method, nodes doing the other processing can use fields from the 3270 Point Node pend” 3270 Action Node as inputs.

  • Please review the Ivory FAQ document for details on the transaction flow.

  • To add a user transaction ID based on a URL, you must modify the Ivorycwi.ini file. You can use the Ivory Administration Manager tool to modify the file.

    1. Start the Fabric Administration Manager: in a browser window, type the URL http://local_host:port/Ivory.lua.
    2. Log on to Ivory Server administration.
    3. Select Server Methods.
    4. On the last line, type the URL portion in the first column, and then type the Methods section name in the next column. (Do not use blanks or special characters.) Select the Add option, and then click Process.
      For example, you might enter the URL /mytest/ and name the method mytestsrv.
    5. Select the Expand option for the newly added URL, and click Process. The selected entry is expanded to display method details.
    6. Define the method parameters:
      o Specify the Alias_Tranid; this transaction must be defined to CICS using CEDA and clone the IVWA transaction); for example, TST1.
      o Enter the Description.
      o Specify the Converter name (GIISOAP).
    7. Click Process.

    This creates an entry in the Ivory cwi.ini file for the new server method mytestsrv, which is associated with the transaction TST1.

  • The diagram size increases as components are added. You do not need to manually specify the diagram size.

    For example, if you want to begin adding components to the right of the existing diagram border, add the next component and drag it to the right edge. When you release the mouse button, the new node will be positioned to the right of the former edge.

    You can add components in any direction: up, down, left or right.

  • To move an Fabric dockable window, simply click and drag the title bar of the dockable window you want to move. You must place the mouse cursor on the line that forms the border you want to dock against. When you release the mouse button, the window will dock in the new position.

    If the window remains in its previous position, you need to try again! Be sure to drag the mouse pointer over the border where you want to dock. When you've reached the right position, you will see the outline of the new location where the window will be docked, and the mouse pointer will change from the Ø symbol.

    For example, if you want to move the Toolbox from the left side to the right side, click and drag the "Toolbox" title bar. Drag the mouse to the far right side of the screen. When the mouse pointer is over the line at the right edge of the Ivory Studio window, you will see the outline of the new window location.

  • One quick solution is to change the size of the entire diagram so that you can see both nodes at once. To do this, go to View> Zoom, and select a different zoom value. For example, if you're working at 100% resolution, changing to 50% will double the viewable area of the diagram. Then connect the nodes as usual. You can return to the original resolution at any time.

    This method is quick, but some users may have trouble reading the smaller component IDs or maneuvering the cursor to the smaller connection points.

    Another way is to scroll the diagram view to locate the second node.

    1. Click on the connection point of one node. (The arrow cursor changes to a hand.) Do not release the mouse button.
    2. Move the cursor near the edge of the diagram area and the diagram will start to scroll in that direction. (The cursor must be near the edge to start the auto scrolling process.) You can scroll up, down, left, or right. Remember that you must hold down the mouse button while you scroll.
    3. When you've scrolled to the location of the second node, position the cursor on the target connection point. Release the mouse button to complete the connection.

    If you drag the hand outside the diagram screen area then scrolling with stop. When you reach the current boundary of the diagram area, scrolling will stop.

    A third option is to create (or move) the second node near the first node and make the connection, and then reposition the second node. You'll need to scroll the diagram as explained above.

  • Fabric Studio supports both Normal size (96 DPI) or Large size (120 DPI) display; it does not currently support the Custom DPI setting in Windows. Select either Normal or Large size, and Ivory Studio should display correctly.

    From the Windows Start menu, select Settings> Control Panel> Display> Appearance, and set DPI Setting to Normal or Large.

  • All Fabric internal Web services include a getVersionInfo operation.
    The following data is returned when you call the getVersionInfo Web service operation.

    serviceName: Returns the name of the Web service
    serviceCreationDate: Returns the date the service was created
    serviceReleaseNumber: Returns the service release number
    currentDateTime: Returns the current date and time

    These SOAP outputs are child nodes of the getVersionOut complex type. You can retrieve this information when calling the getVersionInfo Web service operation with no SOAP inputs.

  • Suppose that you only want to allow company employees to access the server. One way to restrict access is to allow only IP addresses (or DNS names) used by your company.

    Create an {allow} section in the Ivory:/etc/giiipasp.ini file with entries that define the IP address ranges or DNS name forms used by your company. The {DAEMON} section must also include an entry specifying "Access_Rules=Allow".

    Refer to /Ivory_doc/listener/server/gtssecr.htm#server_access_rules for more information.