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
A 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.
Comments
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
Hello Thomas,
Thanks for your comment. The diagram has been corrected now.
Regards,
Kanchana
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?
Hello Thomas,
Thanks for your comment. The diagram has been corrected now.
Regards,
Kanchana
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?
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
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)
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
Hi Paul,
Thank you for pointing out this issue with the content. We have corrected the topic with your feedback.
Regards,
Maithili
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)
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?
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
Thanks Maithili. I look forward to seeing corrected modelling examples.
Log in or register to comment.