Welcome

Hello everyone and welcome to Command Central discussion forums.

Command Central is all about making Software AG products suite easily provision-able, configurable, manageable and monitor-able using simple to use UI, CLI and scripting as well as API’s that can be integrated with your existing IT infrastructure.

Here you can post your questions about Command Central and Platform Manager architecture, features, problems you’re trying to solve. This is also a great place to provide feedback about what you’d like to see Command Central be able to do for you in the future releases.

We’re here to help
SAG Command Central Team

1 Like

Hi Sergi,
I’ve no idea of command central. Is it a part of webM suit 9.5+?
Can you share some document or link to some document which can give good idea of this tool?
From your post this tool sound quite interesting and I would like to learn this tool.

Vikas,
Command Central was introduced with webMethods 9.0 and has evolved a lot in 9.5 and 9.6. It is freely available to all webMethods customers and can be downloaded using Installer.
You can find documentation on the documentation website: http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/command_central_and_platform_manager/cce_spm96/index.htm (Empower login required).
You can also find some examples and demos elsewhere on the TechCommunicites: http://techcommunity.softwareag.com/ecosystem/communities/public/webmethods/products/command-central/

regards,
Jonathan Heywood
Software AG Product Management

Hi Jonathan,
Thanks for your quick reply and information you shared.

Hi!
I want to create an IS instance with REST API - is it possible, right? I’m looking at REST API documentation and I can’t find it or can’t make it work. Can you share any tips?

Finally found it e.g.:
http://host:port/cce/instances/local/integrationServer?primary.port=5557&jmx.port=10058&diagnostic.port=9997&instance.name=Node3&license.file=/opt/softwareag/IntegrationServer/instances/default/config/licenseKey.xml

Yes, it is possible to create IS instance using REST API.

General REST API information, including how to get any API details can be found in this doc:
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-7/Command_Central_and_Platform_Manager/9-7_Getting_Started_with_Command_Central_REST_API.pdf

Instances REST API WADL is @
http://cchost:port/cce/instances/application.wadl

Documentation for IS specific parameters and values can be found in the main CC guide:
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-7/Command_Central_and_Platform_Manager/9-7_Command_Central_Help.pdf

page 461

Thanks
Sergei

Thanks!
I was able to create/delete/start/stop an instance - working great!

I faced two issues:

  1. I can’t get job status using GET: /cce/jobmanager/jobs
    Every time the list is empty even when instance is being created which takes 30s+
    (same with /cce/jobmanager/jobs/)

  2. When new instance is created it doesn’t have any licenses.
    When I try to get license configuration (or any other configuration) e.g:
    /cc get configuration data local OSGI-IS_default COMMON-PORTS-DefaultPrimary

it doesn’t work:
ERROR 404: ID:1418813880342
Caused By:
ID:1418813880338
SPMCOME0020:A Configuration instance with ID = COMMON-PORTS-DefaultPrimary does not exist.
A Configuration instance with the provided ID does not exist.
Use the ID of an existing Configuration instance.

but I can see this ID clearly as valid:
ID Configuration Type Id Display Name URL
COMMON-PORTS-DefaultPrimary COMMON-PORTS HTTPListener@5555

RE: 1. I can’t get job status using GET: /cce/jobmanager/jobs

Instance and lifecycle operations currently return a job reference (job id and nodeAlias) for a job executed on the remote node without a ‘wrapper’ job on CCE. The difference is that CCE does not monitor their progress/status and to do that from the client you need to use a slightly different REST API which requires you to track/know the nodeAlias in addition to jobId

GET /cce/jobmanager/landscapejobs/{nodeAlias}/{jobId}

NOTE1: that such jobs do not show up in the CC Web UI Jobs view as well. You can only ‘see’ them via the above API.

RE: 2. When new instance is created it doesn’t have any licenses.
Yes, this is a limitation in 9.6/9.7 - the license file cannot be provided as part of the instance creation and has to be applied afterwards.

NOTE: that in 9.8 we added optional parameters including license.file and db.xxx parameters for DB connection

As far your particular issue - I see to mistakes:

  1. If you created a new instance with a name other than ‘default’, say ‘inst1’, then runtime component ids for this instance are: OSGI-IS_inst1 and integrationServer-inst1. You are using OSGI-IS_default as for the ‘default’ instance
  2. COMMON-PORTS-DefaultPrimary is a port for integrationServer-inst1 component and not OSGI-IS_inst1. The correct command is

cc get configuration data local integrationServer-inst1 COMMON-PORTS-DefaultPrimary

Also NOTE that IS instance must be running in order for you to get this configuration.

General note:
Each REST API call should use information from the previous call. For example to request configuration data for a given configuration instance, first you need to get the list of configuration instances for this component. To get the list of components you need to ask component inventory, etc.

For more information please see HATEOAS - Wikipedia and tons of links on the web.
In an ideal case you never construct URI, you always follow links from the previous call.
CCE REST API is not 100% there yet but it follows the general principle.

Hope this helps

I’m curios, what is the main use case / reason for using REST API instead of CC CLI and scripting?

That is fantastic. Thank you for your help!

REST was an obvious choice as I want to dynamically create/delete IS instances from a dedicated IS. With wM9.6 IS instances and CC it is now feasible!

Hi Radek,

Can you please highlight the steps that you performed to invoke the REST API’s. I am trying to get the monitoring API of IS. But I am not sure how I can call the wadl from my designer. Any help is much appreciated.

Thank you.

Hi!
I’m using pub.client:http to invoke a url e.g.:

to create IS instance, method POST:
http://:/cce/instances/local/integrationServer?primary.port=5557&jmx.port=10058&diagnostic.port=9997

or to check creation job status, method GET:
http://:/cce/jobmanager/landscapejobs/local/<job_id>

Hope this helps!