Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tag technical applications #157

Open
keftafrites opened this issue Feb 6, 2024 · 2 comments
Open

tag technical applications #157

keftafrites opened this issue Feb 6, 2024 · 2 comments

Comments

@keftafrites
Copy link

Is it possible to add a tag for applications considered as technical only (not business applications) ?

@mauvaisetroupe
Copy link
Owner

@keftafrites, why not using application categories?
Or do you think you need an additional field?

@mauvaisetroupe
Copy link
Owner

In order to clarify the usage of fields such as Categories, Technologies, etc. I propose the following documentation:

In designIT, there are several attributes used to qualify entities of type Application:

ApplicationType

Not all applications in designIT adhere strictly to traditional definitions. Consideration should be given to renaming them with a more suitable term (yet to be defined). ApplicationType offers the following options:

public enum ApplicationType {
    SOFTWARE,
    MIDDLEWARE,
    HARDWARE,
    PARTNER,
    ACTOR,
    OTHER,
}
  • ACTOR typically represents a user as utilized in BPMN processes or sequence diagrams. Examples include customers, relationship managers, etc.
  • PARTNER typically denotes an external actor, such as a partner company.

SoftwareType

When ApplicationType is SOFTWARE or MIDDLEWARE, SoftwareType can be used to specify:

  • Whether the application is custom-developed or a commercial off-the-shelf (COTS) product.
  • Whether it is deployed on-premise or in the cloud.
public enum SoftwareType {
    ON_PREMISE_COTS,
    ON_PREMISE_CUSTOM,
    CLOUD_CUSTOM,
    CLOUD_SAAS,
    CLOUD_THIRD_PARTY,
    ON_PREMISE_EXTERNAL_LIBRARY,
}

The distinction between CLOUD_SAAS and CLOUD_THIRD_PARTY lies in:

  • SAAS (Software as a Service) applications are used by internal company personnel.
  • THIRD_PARTY applications are used by personnel of the company that provides the software, akin to Business Process Outsourcing (BPO).

Currently, SoftwareType serves to differentiate between custom-developed and off-the-shelf software, as well as to indicate deployment environments. However, there is a consideration for splitting this field into two separate attributes in a future evolution of the designIT to provide clearer distinctions.

The proposed split could include attributes such as:

  • DeploymentType: Specifies the deployment environment, distinguishing between on-premise and cloud deployments.
  • DevelopmentType: Indicates whether the software is custom-developed or a commercially available product.

This division would offer more granular control and clarity in specifying the characteristics of applications.

Technologies

designIT allows associating technologies with an application, focusing on high-level aspects rather than exhaustive details akin to a CMDB. For example, it can specify that an application is built with Java and Spring or highlight frameworks like Spring Boot.

This field's value should align with what brings tangible value to the company. Excessive detail can lead to complexity and maintenance costs, while too little may not provide meaningful insights.

ApplicationCategory

This attribute facilitates tagging applications based on various criteria such as:

  • Frontend or backend nature.
  • Business vs. technical focus.
  • Any other relevant characteristics.

It's akin to using hashtags on social media platforms, offering a flexible and generic way to categorize applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants