Automic Workload Automation

 View Only
  • 1.  AWA v12.3 inter-process communication

    Posted Dec 11, 2019 05:52 AM
    Edited by Michael A. Lowry Dec 12, 2019 05:56 AM
      |   view attached
    AWA v12.3 introduced some changes to the ucsrv.ini file, including a new [PORTS] section. I have updated my inter-process communication diagram accordingly.
    • All DB actions related to AE objects & tasks are performed by work processes (orange).
      (Additionally, all AE server processes use the DB for message queuing; these connections are not shown in the diagram.)
    • Among non-Java WPs, only the primary work process opens a listening port (pwpPort). All other WPs establish a connection to this port (pink).
    • CPs open a listening port (CP.PORTS). Each work process establishes a connection with every communications process (blue). CPs do not make outbound connections.
    • Each Agent, JUI, AWI server, and Java API-based app connects to a single communications process.
    • The java work process handles communication with LDAP and Kerberos servers (gray). JWPs also open a listening port (JWP.SYNC.PORTS), and other WPs connect to this port (purple – not all shown).
    • The java communications process handles REST API requests and a subset of AWI functions such as advanced object search. The JCP opens a listening port (JCP.PORTS) and WPs connect to this port. The JCP also accepts incoming REST calls on a second listening port ([REST] port).

    The options that specify the listening ports of AE server processes are located in different sections of the ucsrv.ini file:

    [TCP/IP]
    pwpPort

    [PORTS]
    CP.PORTS
    JWP.SYNC.PORTS
    JCP.PORTS

    [REST]
    port

    Attachment(s)



  • 2.  RE: AWA v12.3 inter-process communication
    Best Answer

    Posted Dec 12, 2019 10:15 AM
    Thanks Michael.  Good information to understand.

    ------------------------------
    Developer
    State of Colorado
    ------------------------------



  • 3.  RE: AWA v12.3 inter-process communication

    Posted Feb 23, 2021 10:15 AM
    Hi Michael, something that I've seen new while investigating a new problem with 12.3.4+hf2.

    Upon start, the JCP waits for the incoming connection of the PWP on its defined JCP.PORTS.
    Only after a successful connection, the JCP will continue to create the REST Endpoint.
    Special attention should be taken when running the AE on multiple nodes, as not only the inbound CP.PORTS need to be free in the firewall, but also the JCP.PORTS.
    Also, using the default random ;JCP.PORTS creates more difficulties when setting up the firewall, so should be avoided.
    In the image, I see that there is an incoming line from the PWP to the JCP, so seems fine.

    Another thing is that, upon user login in AWI, the JWP will check if the JCP REST Endpoint is available.
    I'm not sure how this is internally done, if the JWP only checks if there is a registered MQSRV_RestEndpoint in the database or if it actually tries to reach it (Case was opened), but it could be added an arrow from the JWP to the JCP REST Port.
    Unless it's a bug and this is updated.

    Best Regards,
    Roney Uba


  • 4.  RE: AWA v12.3 inter-process communication

    Posted Feb 24, 2021 01:56 AM
    Based on my experience gathered while struggling with an Websphere AWI installation, the REST connection is verified end-to-end by the AWI. It is checked whether the  communication really can take place (including for example HTTPS certificate trust ;) )


    ------------------------------
    Cheers,
    Marcin
    ------------------------------



  • 5.  RE: AWA v12.3 inter-process communication

    Posted Feb 24, 2021 10:52 AM
    Hi Michael, something that I've seen new while investigating a new problem with 12.3.4+hf2.

    Upon start, the JCP waits for the incoming connection of the PWP on its defined JCP.PORTS.
    Only after a successful connection, the JCP will continue to create the REST Endpoint.
    Special attention should be taken when running the AE on multiple nodes, as not only the inbound CP.PORTS need to be free in the firewall, but also the JCP.PORTS.
    Also, using the default random ;JCP.PORTS creates more difficulties when setting up the firewall, so should be avoided.
    In the image, I see that there is an incoming line from the PWP to the JCP, so seems fine.

    Another thing is that, upon user login in AWI, the JWP will check if the JCP REST Endpoint is available.
    I'm not sure how this is internally done, if the JWP only checks if there is a registered MQSRV_RestEndpoint in the database or if it actually tries to reach it (Case was opened), but it could be added an arrow from the JWP to the JCP REST Port.
    Unless it's a bug and this is updated.

    Best Regards,
    Roney Uba



  • 6.  RE: AWA v12.3 inter-process communication

    Posted Apr 26, 2021 10:43 AM
    Yep, so I would suggest adding a connection line from the JWP to the JCP-REST.

    The readiness of the REST Endpoint is being checked by the JWP upon user login. The JWP will try to connect to all the JCP REST Endpoints listed in the database before the user login is successful (up from 12.3.4+hf2). This was causing some problems for at least 2 customers, so I've tried to get some clarification but only got a vague reply that the  AE system is supposed to correctly run only if all components are correctly configured and available.

    As noted before, the JCP.PORTS is by default commented out, but it should be always enable, just like the CP.PORTS. As seen in the diagram from Michael, JCPs should be accepting incoming connections from WPs. (specially the initial connection from PWP that will make possible the creation of the Endpoint)

    I'm still trying to get the Documentation to be updated, as the JCP inbound ports (JCP.PORTS) are not listed in the page Administering and Configuring > Security Concept > System Hardening > Configuring Firewall and Ports.

    Best Regards,
    Roney Uba