Conceito e mecanismo
Um Application Component descreve uma unidade de software organizada segundo a implementação. Uma Application Function descreve comportamento automatizado que esse componente pode executar. Um Application Service representa comportamento exposto para utilização. A distinção ajuda a perceber que substituir um componente não implica necessariamente mudar o contrato de serviço. Um Data Object descreve dados estruturados para processamento automatizado. O mesmo conceito de negócio pode ter várias representações técnicas; nomes semelhantes não garantem identidade nem semântica igual. Ao ler um modelo, procura as relações que ligam quem executa, o comportamento, o serviço disponibilizado e os dados utilizados. Não assumes essas ligações apenas pela proximidade visual das caixas.
Aplicação guiada
Num exemplo fictício, o componente de posições executa a função calcular posição e disponibiliza um serviço de consulta. A função lê instruções e escreve resultados. Uma vista pode mostrar apenas o serviço e os seus consumidores; outra pode mostrar dados e implementação. Mantém a mesma identidade dos elementos partilhados entre vistas. Se dois sistemas chamam posição disponível a valores diferentes, documenta a diferença e valida o contrato com consumidores. Uma relação Access com leitura não afirma permissão de escrita; por outro lado, o modelo não configura as permissões reais. Usa-o para orientar perguntas e confirmar a implementação. A camada de aplicação torna dependências discutíveis antes de uma substituição ou migração afetar o serviço de negócio.
Componente, função de cálculo e serviço de consulta descrevem aspetos diferentes.
Armadilhas comuns
Componente como serviço; nome igual como dado igual; modelo como configuração de acesso.
Tópicos relacionados: Linguagem, modelo e aspetos · Relações, direção e significado · Motivação e estratégia
Lê comportamento e dados antes de concluir o impacto da mudança.
Referência: Archi hint: application function · OGA-031; ArchiMate 3.2