ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexWebSphere Message Broker SupportACE 11.0.0.10: Migrate IIB Mon app that is auto-everything?

Post new topicReply to topic
ACE 11.0.0.10: Migrate IIB Mon app that is auto-everything? View previous topic :: View next topic
Author Message
john.ormerod
PostPosted: Tue Nov 03, 2020 11:10 am Post subject: ACE 11.0.0.10: Migrate IIB Mon app that is auto-everything? Reply with quote

Apprentice

Joined: 14 Feb 2017
Posts: 40

This request provides the context for the three posts I made on the 30 Oct. From the replies I have had, I hope this will make my requirements clearer.

I have a Java app that works happily with IIB 10 to process Monitoring Events, using the IntegrationAPI. I'm starting the process of migrating it to ACE 11.

In effect, the app auto-creates a Monitoring Profile for each Msgflow and then deploys it, without any manual intervention.

My assessment of ACE at FP 10, is that its IntegrationAPI is missing needed functionality that's in IIB 10. I'd be grateful for some feedback to confirm that what is missing is slated for a future version and, if possible, approx when. Unless, it has been moved to a different package.

The app discovers each msgflow's topology using classes that are in the now deprecated com.ibm.broker.config.proxy.MessageFlowProxy.Node and NodeConnection classes. The ACE XxxxProxy classes are not functionally equivalent to these. What I would like to know is that the missing functionality will be provided in ACE. Knowing that, I can continue touse the deprecated clasess with confidence. Other functionality used, is to register change listeners.

I asked about this without this context for use at: http://www.mqseries.net/phpBB2/viewtopic.php?p=435864#435864.

The next stage is the auto-deployment of a profile, if it is new or has changed. No use of BAR files required - which I see as the underlying principle for Mon Profiles..
Currently, this is done using the ConfigService methods of BrokerProxy and the setRuntimeProperty method of MessageFlowProxy. The deprecated MesageFlowProxy class should work. However, the BrokerProxy class (naturally), no longer has the ConfigServices methods - is there a substitute available?

The code snippets for this are provided in:
http://www.mqseries.net/phpBB2/viewtopic.php?t=77561

What I would welcome is guidance as to what can be achieved currently with ACE FP10 and when I the 'full Monty' should / could be available.

Regards, John
Back to top
View user's profile Send private message Send e-mail
martinb
PostPosted: Tue Nov 03, 2020 10:47 pm Post subject: Reply with quote

Master

Joined: 09 Nov 2006
Posts: 210
Location: UK

Hi John @john.ormerod,

Thanks for posting the full context for your recent questions.

I am not full familiar with the details of the IntegrationAPI at this point, however I wanted to give you an initial response on the overall direction in ACE v11 fr the type of administration / monitoring task that you have developed with IIB v10.

In ACE v11 a extensive REST API is provided for all administrative activities. This REST API v2 is now used by the ACE Toolkit, WebUI and most of the mqsi<....> commands.

The topic Managing resources by using the administration REST API is provided for details.


With regards the change in ACE to make Monitoring Profiles a deployable Policy, see Policies overview. This does mean that you will need to make a change to your application, and there are two options to how you could deploy the created monitoring profile:

1. Provide the Monitoring Profile as a override file, see the topic Overriding deployed policies at run time with the overrides directory
Note that with this approach the Monitoring profile provided in the override file is only read at server startup, you cannot dynamically update it without a server restart.

2. Deploy the Monitoring profile in a BAR file using the ACE Administrative REST API
'/apiv2/servers/{server}/deploy'
The BAR file is a simple ZIP of the Policy project and could be created in a Java application.

I hope this initial response helps you progress your migration.
Back to top
View user's profile Send private message
john.ormerod
PostPosted: Wed Nov 04, 2020 3:04 am Post subject: Reply with quote

Apprentice

Joined: 14 Feb 2017
Posts: 40

Hi Martin

I really must acknowledge you for replying at such a late hour. Thank you ever so much.

The loss of the ease of deploying a new Mon Profile, means I will have to think carefully about the dev / test deploy cycle.

For a live system, I think a change in the approach to work via a BAR file that contains the mon profiles, makes sense from a control point of view.

I will study the Admin Rest API to see what is there. Hopefully, the API will allow me to effectively import a mon profile file into a Policy and associate it with a msgflow and activate monitoring?

However...

All this rests on the ability to interrogate the Message flows to determine their topology and hence generate the mon profiles. Right now, I can continue to use the deprecated com.ibm.broker.xxx classes, but they will disappear at some point.

Is this functionality available in other classes? I noticed that in IIB's Web UI, when you create a BusinessTransaction and associate it with a msgflow, there is a panel that shows you the flow's layout. My guess is that this isn't using the com.ibm.broker.xxx classes. If not, what does it use and is it available in ACE at FP10, or will it be in a later one?

BTW, the ACE equivalent looks like it is a work-in-progress when compared to IIB's.

Regards, John
Back to top
View user's profile Send private message Send e-mail
martinb
PostPosted: Wed Nov 04, 2020 10:42 pm Post subject: Reply with quote

Master

Joined: 09 Nov 2006
Posts: 210
Location: UK

Hi John,

Yes the ACE Admin REST API will allow you to setup flow monitoring see the topic "Monitoring by using the administration REST API" and it's sub pages.

To answer your other question
Quote:
All this rests on the ability to interrogate the Message flows to determine their topology and hence generate the mon profiles. Right now, I can continue to use the deprecated com.ibm.broker.xxx classes, but they will disappear at some point.


Firstly, yes in ACE v11 while the com.ibm.broker.xxx classes are marked deprecated, I understand this means they will remain for the life of v11. However IBM could remove them in the next major release.

However ACE v11 has as provided a complete Administrative REST API, and this will allow you to discover the topology of deployed message flows.

Indeed as you have noticed the ACE WebUI in the Message Flow Statistics tab, and BusinessTransaction pages can render a message flow layout, and this is achieved purely through use of the JSON objects obtained via the Admin RESTapi.

Specifically you can query a deployed message flow to retreive it's "MessageFlow" object. The "MessageFlow" object will provide a child link to it's "message flow" nodes. Each "node" object in turn has child "links" that provide access to a "TerminalLink" object that gives the connection details between message flow nodes, to enable discovery of the topology.
Back to top
View user's profile Send private message
john.ormerod
PostPosted: Thu Nov 05, 2020 3:00 am Post subject: Reply with quote

Apprentice

Joined: 14 Feb 2017
Posts: 40

Hi Martin

Many thanks for stopping my worrying!

Using Postman, I've foundmy way to http://localhost:4418/apiv2 and can see the IntNode and IntServer(s) in the json.

Right now, I'm (re)learning Jackson for json to object processing - nearly 10 years since I used it a bit.

Now I need to add http support to my code. My first thought is to use the Apache HTTP Client (will need to search for some ancient code). Wanted to check that there isn't any built-in HTTP support on which I could/should piggyback? I've noticed that the ACE Integration API has a com.ibm.integration.admin.http.HttpClient class. I don't want to invent wheels of a different shape. Grateful for any guidance on this.

Regards, John
Back to top
View user's profile Send private message Send e-mail
martinb
PostPosted: Thu Nov 05, 2020 3:41 am Post subject: Reply with quote

Master

Joined: 09 Nov 2006
Posts: 210
Location: UK

Hi John,

Yes indeed you should take a look at Package com.ibm.integration.admin.http

This package include the HttpClient class that allows you to connect to a your ACE Integration Node or standalone Integration Server by simply provide the Integration Node name or standlone Integration Server workpath. You can then use the getMethod() / postMethod() methods to invoke ACE Administartion REST API v2 methods and receive the HttpResponse


Agree I would also look to Jackson for JSON for processing the JSON objects from the HttpResponse.

HTH

Martin
Back to top
View user's profile Send private message
john.ormerod
PostPosted: Thu Nov 05, 2020 5:15 am Post subject: Reply with quote

Apprentice

Joined: 14 Feb 2017
Posts: 40

Thanks again, Martin.

I'm happy to consider this post and thread as being complete.

I hope that other people will find it useful.

Regards, John
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexWebSphere Message Broker SupportACE 11.0.0.10: Migrate IIB Mon app that is auto-everything?
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.