Things change but stay the same

Things change but stay the same

App Connect Enterprise (ACE) has been out for a while.


As an integration tool, one of the patterns teams use WMB/IIBACE for is the scatter gather pattern .

If you haven't used this pattern before, it is a way to aggregate data from different sources and send the response back in a single response.

So, if you want to know what stock is on hand, you might send a "get stock message" to an ACE msgflow.

The msgflow send out a request to "wharehouse1", "wherehouse2" and "wherehouse3" services (queues, http endpoints etc..).

ACE then aggregates the the results so that the caller can know how many widgets that they can order it total from all the warehouses.


There is a good WMB/IIB centric article that covers it here .

The nodes required when developing this type of flow using WMB/IIB are :

AggregateControl node:

https://www.ibm.com/docs/en/integration-bus/9.0.0?topic=nodes-aggregatecontrol-node

AggregateReply:

https://www.ibm.com/docs/en/integration-bus/9.0.0?topic=nodes-aggregatereply-node

and

AggregateRequest:

https://www.ibm.com/docs/en/integration-bus/9.0.0?topic=nodes-aggregaterequest-node


In WMB/IIB these flows, behind the scenes, makes use of "hidden" or "private" queues to manage state. So you need an MQ running to make use of them.


The upgrade from WMB/IIB to ACE involved re-engineering to support easier deployment to the cloud. This included reducing the dependency on an MQ install/deployment.

ACE introduced some new nodes to work using the scatter/gather pattern without the need to integrate with IBM MQ/Websphere MQ.


The new nodes are similar in the way they work in the previous versions of ACE (WMV/IIB). More details can be found here and another good medium article covering it here .

Like in my previous article about timers, flows with this sort of logic is difficult to test. So anything that we can to help reduce coding issues or bugs with static analysis of the code helps.

So to support these new nodes, we introduced a number of new rules:

R468- ACE Group Scatter Node doesnot match with Group Complete and Group Gather nodes (WMB)

R469 - ACE Group Complete Node doesnot match with Group Scatter and Group Gather nodes (WMB)

R470 - ACE Group Gather Node doesnot match with Group Scatter and Group Complete nodes (WMB)

These rules help to check for spelling mistakes in the nodes group to make sure that they will match. If they don't all match the logic can't function.


R471 - ACE Group Nodes should be in the same flow (WMB)

By keeping the nodes in a single flow they it makes the logic easier to understand. It also ensures that they cannot be only partially deployed where 1 flow is that contains half the process is deployed and another flow that contains the rest is not. Or is deployed in a separate runtime and they cannot communicate behind the scenes.


R472 - ACE duplicate Group Nodes Group Name used (WMB)

Using the same group name will cause issues if flows are deployed in the same runtime.

I had thought that a rule to suggest replacing the AggregateControl node with the GroupScatter node might make sense. It will assist with determining how much work and effort is involved in migrating flows from WMB/IIB to ACE.


So that gives me something to look at next.


More information on our products and on pricing can be found on our website:

https://bettercodingtools.com

You can also reach me via email at:

[email protected]

Or contact me via the contact page on our website:

www.bettercodingtools.com/contact

Regards

Richard

要查看或添加评论,请登录

Richard Huegill的更多文章

  • Apologies for the broken webinar

    Apologies for the broken webinar

    So last week we attempted to do a webinar on creating Confluence pages to summarize WMB/IIB/ACE code. Unfortunately…

  • Something I don't know too much about

    Something I don't know too much about

    It's ACE and Java classLoader's (but I'm sure friends will be able to point out many others). Actually this is only…

  • Confluence page generation for IIB/WMB/ACE applications

    Confluence page generation for IIB/WMB/ACE applications

    The larger an organization becomes, the more challenging that it is for an organization to manage is combined knowledge…

    2 条评论
  • WMB / IIB / ACE GitLab pages (with sound this time)

    WMB / IIB / ACE GitLab pages (with sound this time)

    The recent version 17 release of GitLab has added GitLab pages. Last week we did a live demo on using GitLab Pages to…

    2 条评论
  • GitLab Pages and IIB

    GitLab Pages and IIB

    The recent version 17 release of GitLab has added some enhancements and fixed some issues. On the of the newer features…

  • SonarQube 10.6 released

    SonarQube 10.6 released

    SonarSource recently a new version of their Sonarqube platform - SonarQube 10.6 For us, we have to update some of build…

  • Squid's (not the game)

    Squid's (not the game)

    When I develop code, I have never gotten it write first time. This is compounded when you work integration tooling.

  • Information radiators for IIB/ACE/WMB projects managed in GitLab

    Information radiators for IIB/ACE/WMB projects managed in GitLab

    Some of the functionality that we have in our plugin is more the "art" side of software engineering then the hard…

  • Uncle Ben and ACE

    Uncle Ben and ACE

    As organizations interact more and more with the public cloud (AWS, GCP, Azure) or software as a service (SaaS)…

  • Don't double up

    Don't double up

    I'd like to thank Ahmed Samy for re-highlighting some of the IIB/ACE/WMB best practices published by IBM. He published…

社区洞察

其他会员也浏览了