Gathering seed data
The first stage in mapping the application is to gather seed data, a small sample of host names that are involved in the application or component names. The goal of gathering seed data is to provide just a few pieces of information to the application owner (typically communicated through e-mail or instant message) that are clues to help determine what to start investigating. The application mapper should not invest any significant effort upfront to share this knowledge with the application owner.
To gather seed data
Gathering seed data is the first of just a few interactions with the application owner. It sets the tone of the communication, so the process needs to be pleasant and not a burden. Some tips:
- Do not use a big questionnaire that would take the application owner a long time to complete.
- Do not book a big fact-finding meeting.
- Consider sending just an e-mail asking for a quick introduction to the product.
The information should be just detailed enough to understand what infrastructure supports what application. For example, the application owner might specify that the application has two tiers, runs several hosts and uses a database. This is enough information for the mapper to get going. Later, in the mapping stage, this information will be coded in patterns and BMC Atrium Discovery will be able to keep the service models up to date.
Mike determines that George, the application owner maintains an application named "Friends", a web-based corporate social networking application, which is the next on his list of business applications to map.
He sends George the following e-mail:
I see from my Applications and Owners report that you're the Application Support Lead for the "Friends" application. This is the application that we're mapping next for our BSM rollout initiative, which means that I'm going to be mapping this application in our discovery tool.
I don't need much from you - I know you're busy. Can you drop me a quick email with whatever information you think will be relevant? Just whatever you know right now. For example:
- Do you know any hosts that it runs on?
- What sort of app is it? A native executable? A J2EE web application? A multi-tier application distributed across several bits of middleware? Do you know any of the module or executable names?
- Does it have a database? Do you know anything about that database off hand (Oracle/SQL Server, Name)?
I'll do some investigating in our discovery tool based on your reply and check back with you once I have something you can look at.
Thanks for your help,
Thanks for the mail.
Just offhand, Friends is a tomcat application.
The web module is named "friends.war", and it's connected to a MySQL database. The test/UAT environment is running on lon416; I don't know right now where the PROD one is (our production maintenance guys handle the deployment there).
This is an example of effective seed data. It includes a host name, a module name, and a clue about what database to look for. This is more than enough to get started.
demonstrates how to search and investigate seed data and start building the prototype map.
Where to go from here
After you have some seed data, you can begin to search the datastore for the components of the application.