This documentation supports the 20.02 version of BMC CMDB.

To view an earlier version, select the version from the Product version menu.

Logical high-level application model

Complex software is often hierarchical in nature. For example, a web application may be composed of a database, a web server, and an application server. Although the BMC_SoftwareServer class is used to model the lowest level components of such applications, other classes exist to model the higher level parts. These classes are:

  • BMC_Application
  • BMC_ApplicationSystem
  • BMC_ApplicationService

High-level application structure

BMC_Application CI represents a high-level application that is important to the business. For example, a BMC_Application CI might represent the holiday bookings web application that is used internally in a business. The application is made up of a database and a web server, which are modeled as BMC_SoftwareServers. Software servers composing an application need not be modeled if it is not required for your environment.

Multi-level application structure

If more than two levels (BMC_SoftwareServer and BMC_Application) are needed, further levels of an application's structure are modeled by the BMC_ApplicationSystem class. 

BMC_ApplicationSystem models parts of an application that are at a higher level than the BMC_SoftwareServer class, but lower level than the BMC_Application class.

The following diagram shows a multi-level application structure. Applications, such as Remedy Service Desk and Remedy Change are recognizable to users in business. Therefore, they belong to the BMC_Applications class. The applications are developed on top of the AR Server. The AR Server, in turn, relies on lower level components and is modeled as a BMC_ApplicationSystem. The lowest level components, modeled as BMC_SoftwareServers, are the BMC Remedy AR System Server and BMC Remedy AR System Mid Tier.

Software components running in an application server

The BMC_ApplicationService class is used to represent software components running in an application server. For example, a J2EE application is represented as an instance of BMC_ApplicationService  class and not BMC_Application class.

The following diagram shows two J2EE WAR modules running on an Apache Tomcat application server.

The application server itself is modeled as a BMC_SoftwareServer.

 

An application represented by a BMC_Application CI can contain one or more application services. For example, in the following diagram, a claims application is represented that contains two application services.


Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Thomas Hammer

    In the last diagram the relationship between BMC_APPLICATION and BMC_APPLICATIONSERVICE is presented with a red arrow, which is representing a dependency relationship. The name of the relationship is presented as "APPLICATIONSYSTEMSERVICES". Are you sure that this is correct?

    In our production environment the CIs and relationships provided by BMC Discovery are different. The relationship name is "APPLICATIONSYSTEMHIERARCHY" and the relationship class id is "BMC.CORE:BMC_COMPONENT" which should result in a green arrow from BMC_APPLICATION (source) to BMC_APPLICATIONSERVICE (destination), not a red one.

    The "APPLICATIONSYSTEMSERVICES" is only used between BMC_SOFTWARESERVER (source) and BMC_APPLICATIONSERVICE (destination), where the class id is "BMC.CORE:BMC_APPLICATIONSYSTEMSER", which is correct in the diagram.

    BTW: This is also a sub class of the component relationship class, but the impact is from source to destination, which is absolutely correct in this case. In most other cases the direction of the component relationship is the opposite direction of the impact

    Jul 01, 2020 03:42
    1. Kanchana Iyer

      Hello Thomas,

      Thanks for your comment. The diagram has been corrected now.

      Regards,

      Kanchana

      Aug 05, 2020 09:30
  2. Thomas Hammer

    Please review and correct the relationship classes, colors and directions of arrowd in the paragraph "Multi-level application structure"

    The diagram does not match the data model provided by BMC Discovery.

    Or is there any doubt that the several products offered by BMC should deliver consistent models?

    Jul 01, 2020 03:46
    1. Kanchana Iyer

      Hello Thomas,

      Thanks for your comment. The diagram has been corrected now.

      Regards,

      Kanchana

      Aug 05, 2020 09:31
  3. Paul Schulte

    The illustration for Multi-Level Application Structure seems to be in need of corrections. First, the two BMC_Application CIs are dependant on the BMC_ApplicationSystem below. Therefore the relationship arrows should be red and pointing in the opposite direction. Second, both BMC_SoftwareServer CIs are components of BMC_ApplicationSystem (at least, that's my interpretation) and therefore the green relationship line between BMC_ApplicationSystem and the lower instance of BMC_SoftwareServer should be pointing in the other direction. Third, is the dependency relationship between the BMC_ComputerSystem and BMC_ApplicationSystem appropriate/required given that there are already dependency relationships between the BMC_ComputerSystem and the two BMC_SoftwareServers that are using it and those BMC_SoftwareServers are identified as components of the BMC_ApplicationSystem?

    Jun 02, 2021 10:36
    1. Maithili Deshpande

      Hi Paul, 

      Thank you for pointing out this issue with the content. We have corrected the topic with your feedback. 

      Regarding the point about BMC_Application CIs dependant on the BMC_ApplicationSystem, the direction of arrows is correct.

      Regards,
      Maithili

      Jun 30, 2021 06:32
      1. Paul Schulte

        Hi Maithili,

        Thanks for updating the diagram. Sorry, I didn't see the change until just now. I think some corrections to the diagram are still required.

        Starting from the top of the Multi-Level Application Structure diagram, the direction of the red dependency arrows should be pointing the other way to indicate that the two BMC_Application CIs are dependant on the BMC_ApplicationSystem below.

        Next the BMC_ApplicationSystem CI should have the two BMC_SoftwareServer CIs as "components", which it does; however, the arrows should be pointing the other way. Then, to remain consistent with BMC_Application-to-BMC_SoftwareServer modeling, the BMC_ApplicationSystem CI should NOT have any direct relationship to the BMC_ComputerSystem CI. (But maybe BMC_ApplicationSystem CIs don't follow that practice.)

        Finally, for the BMC_ComputerSystem CI, any CI that is related to it is dependant on the BMC_ComputerSystem CI and, therefore, the arrows should be pointing OUT from from BMC_ComputerSystem CI. (See: https://docs.bmc.com/docs/ac2002/software-and-application-models-908213457.html)

        Jan 17, 2022 02:03
        1. Maithili Deshpande

          Hi Paul,

          Thank you for your comments. We will look into these models and make the corrections in the documentation at the earliest.

          If you want to contact Customer Support to log a formal ticket on this issue, click here.

          Regards,
          Maithili

          Jan 18, 2022 10:25
          1. Maithili Deshpande

            Hi Paul, 

            Thank you for pointing out this issue with the content. We have corrected the topic with your feedback.

            Regards,
            Maithili

            Feb 02, 2022 03:03
  4. Paul Schulte

    In the bottom diagram on this page, the two BMC_SoftwareServer CIs should have the red Dependency relationships pointing INTO the BMC_SoftwareServer CIs because they are child CIs of the other CIs that they are dependant on. (See: https://docs.bmc.com/docs/display/acMaster/Relationships+represented+in+a+data+model+diagram)

    Jan 17, 2022 02:07
    1. Paul Schulte

      Actually, I see that the the page I have referenced has recently (within the last year) changed its guidance with regard to the direction that an arrow should be pointing for a dependency relationship. That is significant and I'm wondering if this is the result of some re-egineering effort within the underlying system, and, if so, as of what version does this change take effect?

      Jan 17, 2022 02:37
      1. Maithili Deshpande

        Hi Paul, 

        The direction and interpretation of the dependency relationship are as per the following excerpt (image) from the topic Relationships represented in a data model diagram:

        Since there have been no changes made to the product behavior, we will review the documentation for such instances and correct them at the earliest. 

        Thank you for your feedback on the documentation!

        Regards,
        Maithili

        Jan 18, 2022 10:40
        1. Paul Schulte

          Thanks Maithili. I look forward to seeing corrected modelling examples.

          Feb 02, 2022 08:53