Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Camadas da

...

A aplicação é divida da seguinte maneira:

 

Interface de Usuário (Commons Business UI)

Camada de Serviços

Todos os serviços disponíveis são implementados utilizando o padrão de Restful Objects (http://restfulobjects.org/).  Esta camada oferece uma forma de comunicação entre as diferentes partes do plugin.

Modelo de URI utilizado pela API REST:

http://{host}:{port}/{context}/rest/latest/domain/{object}/{actions}

Onde:

  • {host} e {port} definem onde a aplicacao esta rodando
  • {context} é o Servlet Context da aplicacao. Por exemplo, no crowd normalmente é /crowd
  • {object} é o Objeto da camada de persistência a ser trabalhado (entidade de persistência "Company", caso a mesma exista)

Camada de Negócios

A camada de negócio é provida pela arquitetura, através das classes com sufixo Manager (dentro projeto 3layer-commons-buiness). Ela é estruturada da seguinte maneira:

Image Removed

Está camada fornece métodos CRUD com implementação básica e são expostos dentro da arquitetura para que, caso seja necessário, possam ser implementados de forma especifica. Os métodos  declarados na interface IManager e Implementados na classe AbstractManager e são eles:

Image Removed

 

Especificando Métodos da Arquitetura

Caso sejam necessárias criar regras e validações especificas para um determinado fluxo, o mesmo pode ser feito seguindo os seguintes passos:

  1. Criar uma interface que estenda IManager

    Bloco de código
    themeEclipse
    languagejava
    titleInterface
    linenumberstrue
    public interface IExemploManager extends IManager<Entidade>{
    }
  2. Cria uma classe concreta que estenda a interface criada

    Bloco de código
    themeEclipse
    languagejava
    titleClasse Concreta
    linenumberstrue
     public class ExemploManager extends AbstractManager<Entidade> implements IExemploManager{
     
    	public PeriodManager(IBasicPersistence persistence) {
    		super(persistence);
    	}
     
    }

 

 

 

Arquitetura

Anteriormente na seção Proposta da Arquitetura, abordamos a interação entre componentes de cada uma das camadas. Além da interação, também introduzimos os frameworks utilizados nesta camada.

Incluir Página
MM - Camada de Visualizacao
MM - Camada de Visualizacao

Incluir Página
MM - Camada de Servicos
MM - Camada de Servicos

Incluir Página
MM - Camada de Negocio
MM - Camada de Negocio

Incluir Página
MM - Camada de Persistência
MM - Camada de Persistência