urn:lsid:ibm.com:blogs:entries-cef8ea3b-d334-40bd-9d3b-a315e3955a87TADDM Services & Support - Tags - rules Hints and Tips for TADDM Deployments and Support03022015-06-05T15:08:18-04:00IBM Connections - Blogsurn:lsid:ibm.com:blogs:entry-1ad7d095-3990-44b3-820b-fb555103c91eProgrammatically Creating a Business Application Templatecomaxb06000228V4activefalseComment Entriesapplication/atom+xml;type=entryLikestrue2013-01-24T10:46:33-05:002013-01-24T10:46:33-05:00
<div>I am working with a customer this week and they have over 150 Business Applications that they have created. Unfortunately, they created them by using MQL rules similar to the following:</div><div> </div><div>select * from SqlServer where exists (lower(modules.name) contains 'crs')<br /><br />The problem with this rule is that it adds in the PCRS, UCRS, DCRS databases which are used for Production, UAT and Development respectively. </div><div> </div><div>Now, you might think to yourself, gee, this is pretty easy, just re-create a business application specific to production and put in the full database name like 'PCRS' and then do the same thing for Development, UAT and Test. Did I mention that they have 150 apps? Assuming we need to create 3 apps for each of the base apps, that is 450 apps! Cutting and pasting the rules is onerous. The TADDM UI doesn't currently have any way to copy a business application template, so I opened an Enhancement Request (http://www.ibm.com/developerworks/rfe/).<br /><br />Since I needed the capability this week, I built a jython script that makes a copy of an AppTemplate along with its corresponding MQLRules. This script can be downloaded here: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/cpba.tgz">jython script to copy an AppTemplate</a></div><div> </div><div>Copy the script to $COLLATION_HOME/support/bin and invoke it as follows:<br /><br />$ ./cpba.jy administrator collation &quot;TADDM&quot; &quot;TADDM - Production&quot;</div><div> </div><div>It will login to TADDM as &quot;administrator&quot; with the password &quot;collation&quot; and make a copy of the TADDM AppTemplate to the new name &quot;TADDM - Production&quot;.<br /></div><div> </div><div>Initially, I created the app and just set the new name to whatever was passed in on the command line (something like &quot;TADDM - production&quot;)<br /><br />What I found was that the resulting business app would not show up in grouping composer nor in the list of business apps. In addition, I set the MQL rules to the same values as were in the source Business App. This caused problems because the name of the MQL rule was the same in both apps meaning that the GUID for the MQL rules was also the same, hence changes to a rule in one business app would cause the rule in the other business app to change.<br /><br />What I found was that I had to do the following:<br />1) Create a business app and set its name to the name passed in on the command line (like &quot;TADDM - production&quot;) and get the GUID returned<br />2) The name of the AppTemplate had to be set to BA_GUID:BA_NAME<br /> (something like &quot;AA0A20EE5BBD336481279CA664FB380A:TADDM - Production&quot;)<br />3) The names of the rules had to be prefixed with the BA_GUID as well - but with no colon<br /> (something like &quot;AA0A20EE5BBD336481279CA664FB380Adatabase&quot;)<br /><br />The javadoc or class documentation showing these attributes should be updated to indicate the required format and I have opened a Documentation PMR on that.<br /></div>
I am working with a customer this week and they have over 150 Business Applications that they have created. Unfortunately, they created them by using MQL rules similar to the following: select * from SqlServer where exists (lower(modules.name) contains...001765urn:lsid:ibm.com:blogs:entries-cef8ea3b-d334-40bd-9d3b-a315e3955a87TADDM Services & Support2015-06-05T15:08:18-04:00urn:lsid:ibm.com:blogs:entry-82405f07-1261-4d5f-acbe-9391ab2ddf42Building a Business Application in TADDM - Part 1comaxb06000228V4activefalseComment Entriesapplication/atom+xml;type=entryLikestrue2012-09-19T14:21:51-04:002012-09-19T14:21:51-04:00
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>Introduction</b></font></font></font>
<p lang="en-US" style="margin-top: 0.17in; margin-bottom: 0.04in; widows: 2; orphans: 2; page-break-after: avoid;">This document details the procedure
used to map a complex Business Application in TADDM. One thing that
will become clear as you read through this paper is that the role of
the Subject Matter Expert for the Business Application is critical and
cannot be eliminated. If no SME is available to tell you that the
Business Application uses a DB2 database, then the road to Mapping
the Business Application will be exceedingly long, if not impossible. Without the SME, you will have to rely on
“connection” information from known components of the App to find the unknown components.
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b><br /></b></font></font></font></p><p lang="en-US" style="margin-top: 0.17in; margin-bottom: 0.04in; widows: 2; orphans: 2; page-break-after: avoid"><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>The
Customer Portal Business Application</b></font></font></font></p>
<p style="margin-bottom: 0in">I am going to map the Customer Portal business
application. It is a real application from a real customer, however, I have made changes where necessary to protect the identity of the customer. The Business Application is composed of the following components:</p>
<ul><li><p>F5 Load Balancers</p>
</li><li><p>Oracle 11g on Solaris</p>
</li><li><p>DB2 on Z mainframe</p>
</li><li><p>DB2 on AIX</p>
</li><li><p>WebSphere MQ</p>
</li><li><p>WebSphere Application Server 6.1</p>
</li><li><p>IBM WebSeal</p>
</li><li><p>IBM Tivoli Access Manager (TAM)<br /></p>
</li><li><p>Tealeaf Customer Experience Software<br /></p>
</li><li><p>Microsoft IIS</p>
</li><li><p>Microsoft SQL Server</p>
</li><li><p>Team Site</p>
</li><li><p>Live Site</p>
</li><li><p>Apache Web Server</p>
</li><li><p>Apache Tomcat</p></li></ul><p><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>Discover
the Components</b></font></font></font></p>
<p style="margin-bottom: 0in">The first step in building a business
application is to ensure that all components are properly discovered
by TADDM. No work is required for those components that are supported
by TADDM out of the box, however, Custom Server Templates (and often
Extensions) and Computer System Templates will need to be created in
order to completely map the Application. Of the components listed
above, the majority are supported out of the box. The following
applications will require custom server templates (and possibly
extensions).</p>
<ul><li><p>IBM WebSeal</p>
<ul><li><p>CST Criteria: Program name contains webseald</p>
</li></ul>
</li><li><p><style type="text/css">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style>IBM TAM </p></li><ul><li><p>CST Criteria: Windows Service Name contains “Access
Manager”</p></li><li>Since Tivoli Access Manager is a WebSphere Application, if you have WebSphere discovery enabled and you have the access list populated with the username, password and certificates.<br /></li></ul></ul>
<ul><li><p>TeaLeaf</p>
</li><li><p>Team Site</p>
</li><li><p>Live Site</p>
</li><li><p>Open Deploy</p></li></ul><p><font color="#000000"><font size="5"><font face="Arial, sans-serif"><b>Options</b></font></font></font></p><div>There are three methods that can be used to cause a component to become a part of a Business Application. </div><div><ul><li>Manual - should be avoided as structural changes to the application will require effort to keep the business application up to date. Sometimes using a manual component is the only practical way to place a component in a business application.</li><li>Application Descriptors - formerly the solution of choice requiring small XML files to be deployed to the various target computer systems.</li><li>MQL Rules - statements similar to SQL which are executed against the TADDM server to select components to be added to the business application. You should strive to use MQL rules whenever possible.<br /></li></ul>The Business Application builder is not restricted to using only one of the methods above. Indeed, the best solution usually involves a combination of one or more techniques.<br /><font color="#000000"><font size="5"><font face="Arial, sans-serif"><b>Mapping the Business Application</b></font></font></font></div><div>As mentioned above, it is best to use MQL Rules to add components to Business Applications and we will use this method when possible.<br /><ul><li>Login to the TADDM Data management portal and go to the &quot;Grouping Composer&quot; located in the Discovery Drawer. </li><li>Click to create a New Group and name it &quot;Customer Portal - Production&quot;</li><li>Leave the type set to Business Application, then click &quot;Next&quot; </li></ul>
<a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/image2.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/image2.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a> <br />On the next screen, you have the option to create one or more MQL rules. Keep it Simple! Use a separate rule for each Component type that you want added - its even ok to use multiple rules for the same component type.</div><div>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>Adding
DB2 to the Business Application</b></font></font></font><br /><style type="text/css">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in">The first step in writing a rule to add
a DB2Instance to the Business Application is to look at the
details panel for the DB2 that you know to be part of the App. A good
place to look is on the Modules tab for an AppServer or on the
Databases tab for a database. The following diagram illustrates the
technique. Below is the databases tab for a DB2 that I have in my
TADDM server.</p><div> <a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/db2.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/db2.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a> </div><div>If I was mapping my TADDM installation as a business application, I would be fairly sure that this database server was a part of it. Why? Because one of the database names contains the string &quot;TADDM&quot;.</div><div><br /><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>How do I compose my MQL?<br /></b></font></font></font>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in">The best way to validate that your MQL
is returning the objects that you want (and not returning the ones
you don't) is to test your MQL from the command line before you save
it to the rule.</p>
<p style="margin-bottom: 0in">For example, I knew from the general
tab that the type was “DB2 Instance”.</p><div> <a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/db2generaltab.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/db2generaltab.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a></div><div>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in">I could have a quick look in the model
documentation (available in the file CDMWebsite.zip in
$COLLATION_HOME/dist/sdk/doc/model on the installed TADDM server), or
I could just guess that the type of the object was DB2Instance. To
test to make sure I had the right object type, I used:</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">$ ./api.sh -u administrator -p collation find
“select * from DB2Instance”</font></p>
<p style="margin-bottom: 0in">…. Of course, this promptly failed
with a “no such object” error.</p><div> </div><div><style type="text/css">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
-</style>I know that our model usually uses
camel case (Capital first letter, lower remainder of the word, so I
tried again:
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">$ ./api.sh -u administrator -p collation find
“select * from Db2Instance”</font></p>
<p style="margin-bottom: 0in">The screen fills with xml data
indicating that my command worked well. Next, we need to narrow our
search to find only the instances in which we are interested. To do
this it's helpful to look at the object displayed as XML:</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">$ ./api.sh -u administrator -p collation find
“select * from Db2Instance” &gt; /tmp/db2.xml</font></p>
<p style="margin-bottom: 0in">Load the file /tmp/db2.xml into an
editor and look for the TADDM721 database. You will see that there
are modules (some stuff removed from output for brevity):</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">&lt;modules array=&quot;1&quot;
guid=&quot;8DDF70524E0830DA84DA46B7D2460D7A&quot;</font><font color="#000000"> lastModified=&quot;1319209020785&quot;</font><br /><font color="#000000">parent=&quot;14E62C6FAE3735F0800B6E1B58B71083&quot;
xsi:type=&quot;coll:com.collation.platform.model.topology.app.db.db2.Db2Module&quot;&gt;<br />&lt;name&gt;TADDM721:SYSIBMADM&lt;/name&gt;<br />&lt;fileName&gt;TADDM721:SYSIBMADM&lt;/fileName&gt;<br />&lt;displayName&gt;TADDM721:SYSIBMADM&lt;/displayName&gt;<br />&lt;/modules&gt; </font></p>
<p style="margin-bottom: 0in">There are also databases:</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">&lt;databases array=&quot;1&quot;
guid=&quot;333B613E41713D4BAB4FAF903519F515&quot; lastModified=&quot;1319209020914&quot;<br />parent=&quot;14E62C6FAE3735F0800B6E1B58B71083&quot;
xsi:type=&quot;coll:com.collation.platform.model.topology.app.db.db2.Db2Database&quot;&gt;<br />&lt;displayName&gt;TADDM721&lt;/displayName&gt;<br />&lt;name&gt;TADDM721&lt;/name&gt;<br />&lt;/databases &gt;</font></p>
</div><div> </div>I can now try the rule to select only the DB2 Instances that have a database name that contains the string &quot;TADDM&quot;.<br />
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0">
<font color="#000000">select * from Db2Instance where exists
(databases.displayName contains 'TADDM')</font></p></div><div>Enter the above query string into the rule and press &quot;save&quot;:<br /><a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/mqlrule1.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/mqlrule1.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in">The rule name can be anything you like,
but it's best to choose something descriptive. The Functional group
name is a simple string that is only used when comparing one Business
Application with another. For example, a single business application could have two Apache Servers - one which serves as the customer interface and one which is used by the Application Administrators to adjust the settings of the application. These two Apache servers would have different Functional Group Names.<br /></p>
<p style="margin-bottom: 0in">Click next and you are taken to a
screen where you can add manual components to the business
application:</p>
</div><div><a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/groupcomposermanual.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/groupcomposermanual.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a><style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style>For now, we won't add any manual
components, so press Next, then press “Finish”. After a short period of time, you will
see the New Business Application appear in the UI. You can then View
the Topology Graph for this Business Application.</div><div> <a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/custportalPhys.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/custportalPhys.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a> </div><div> </div><div> </div><div>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
H3 { margin-bottom: 0.04in; color: #000000; widows: 2; orphans: 2 }
H3.western { font-family: &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;Arial&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, sans-serif; font-size: 18pt; so-language: en-US }
H3.cjk { font-family: &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;Arial&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, sans-serif; font-size: 18pt }
H3.ctl { font-family: &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;Arial&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;, sans-serif; font-size: 13pt; so-language: ar-SA; font-style: italic }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</style><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>Further Restricting the Rule</b></font></font></font>
<p style="margin-bottom: 0in">You “may” notice something
irregular about the graph. It's possible that you will see DB2s in
there that don't belong to the Production Customer Portal. It's
likely that the UAT or Development Customer Portal DB2 would also be
named “TADDM721”. One of the best ways to solve this problem is
to further restrict the MQL rule by specifying that the hostname
match some criteria. This will only work reliably for customers who
have a strong hostname convention in place. At this particular company, hostnames will be of
the form: <font face="Arial, sans-serif"><b>CIXYYYYZNNNN</b></font></p>
<p style="margin-bottom: 0in">Where the “Z” character is D, S, or
P for “Development”, “Staging”, or “Production”
respectively.</p>
<p style="margin-bottom: 0in">If MQL supported matching on regular
expressions, the additional syntax would be slight:</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">select * from Db2Instance where exists
(databases.displayName contains 'TADDM.*') and host.fqdn matches
'CI.....P.*'</font></p>
<p style="margin-bottom: 0in">Unfortunately, MQL does not currently
support regular expression pattern matching (I've opened RFE 14280 to
have this implemented), so our MQL rule has the potential to miss
some DB2 Instances. According to the host naming standard, <font face="Times New Roman WT, serif">“</font><font face="Times New Roman WT, serif"><b>YYYY</b></font><font face="Times New Roman WT, serif"> =
Server Type - Alpha acronym for Server Type, i.e. IIS, SQL, etc.”.
Assuming that there is an Alpha acronym for DB2 and further assuming
that it is “DB2”, then our MQL becomes:</font></p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000"><font face="Times New Roman WT, serif">select *
from Db2Instance where exists (databases.displayName contains
'TADDM.*') and host.fqdn contains 'DB2P'</font></font></p><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b> </b></font></font></font><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>Oracle
11g and MS SQL Server<br /></b></font></font></font></div><div>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }</style>
<p style="margin-bottom: 0in">The procedure for adding Oracle 11g and
MS SQL to to the Business Application is nearly identical to the
procedure outlined above for DB2. The process is:</p>
<ul><li><p>View the details panel for the component and find something
that uniquely identifies that component as belonging to the Business
Application (usually a database with a specific name)</p>
</li><li><p>Find out the type of the object by either looking at the
common data model documentation (CDMWebsite.zip) or by making a
logical guess based on the Object Type field shown on the General
tab of the details panel</p>
</li><li><p>Test the select statement from the command line (./api.sh)</p>
</li><li><p>Place the rule in the Grouping Composer</p></li></ul><p><font color="#000000"><font face="Arial, sans-serif"><font size="5"><b>What
about Custom Servers?</b></font></font></font></p><p style="margin-bottom: 0in">As was mentioned earlier in this
document, TADDM does not discover IBM WebSeal out of the box. In
order to discover it, we created a Custom Server Template named “IBM
WebSeal” with criteria Program Name contains webseald. When we run
discovery, all WebSeal servers should be discovered correctly. How
do we pick the right webseal(s) to add to the Business Application?
We can base it on the content of the configuration file. Assuming the
webseald configuration is in the file
/opt/pdweb/etc/webseald-default.conf, the Custom Server Template
“Config File” tab would look like this:</p><div><a '="" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/cst1.png
" target="_blank"><img alt="image" src="https://dw1.s81c.com/developerworks/mydeveloperworks/blogs/TADDM/resource/BLOGS_UPLOADED_IMAGES/cst1.png" style=" display:block; margin: 0 auto;text-align: center; position:relative;" /></a>
<style type="text/css">
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
</style>
<p style="margin-bottom: 0in">Ideally, this file would be collected
and parsed with a custom server extension and the “junctions”
would be collected and created as modules. I have opened RFE 13343
requesting IBM to add support for discovery of WebSeal out of the
box.</p>
<p style="margin-bottom: 0in">The following MQL restricts the WebSeals that will be added to the business application based on the contents of the config file:</p>
<p style="margin-bottom: 0in; background: #cccccc; page-break-inside: avoid; widows: 0; orphans: 0; page-break-before: auto">
<font color="#000000">select * from AppServer where objectType ==
'IBM WebSeal' and exists (configContents.content.content contains 'Portal WebServer')</font>
</p>
<p align="LEFT" style="margin-bottom: 0in; line-height: 100%"><br /><font color="#000000"><font face="DSans, sans-serif"><font size="2">In part 2, we will address three other items which are important to building business applications:<br /></font></font></font></p>
<ul><li><p>Custom server templates for z/OS started tasks</p>
</li><li><p>Computer System SNMP templates for unrecognized network
equipment</p>
</li><li><p>A sample custom server extension to populate modules for
software that is not discovered out-of-the-box</p>
</li></ul><font color="#000000"><font face="DSans, sans-serif"><font size="2"><br /><br /></font></font></font>
<p align="LEFT" style="margin-bottom: 0in; line-height: 100%"><br />
</p></div><div> </div>
</div>
</div></div><b><b>
</b></b>
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--
@page { margin: 0.79in }
P { margin-bottom: 0.08in }
--&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;...113770urn:lsid:ibm.com:blogs:entries-cef8ea3b-d334-40bd-9d3b-a315e3955a87TADDM Services & Support2015-06-05T15:08:18-04:00