Esse artigo faz parte da revista Java Magazine edição 67. Clique aqui para ler todos os artigos desta edição

AN style="FONT-FAMILY: Verdana; BACKGROUND: white; COLOR: red; FONT-SIZE: 10pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">

PAN>

ng=EN-US>: 0cm 0cm 0pt" class=MsoNormal align=left>Apresentação do jCompany Full-Stack Framework. O jCompany Free, como é chamado, faz a integração em nível de “Caso de Uso”, reutilizando integradores de mais baixo nível para prover e gerenciar um ambiente com alto índice de reuso, típico do mundo Java EE Open-Source.

 

Para que serve:

Desenvolver aplicações corporativas Java EE 5 para Web com apoio do jCompany Free GPLv3, framework integrador que especializa 20 frameworks líderes de mercado, definindo uma arquitetura de base reutilizável que provê alta qualidade e produtividade.

 

Em que situação o tema é útil:

É muito complicado para as empresas controlarem a arquitetura de seus vários sistemas sem possuírem uma definição arquitetural coorporativa. Muitas tentam desenvolver sua própria plataforma de desenvolvimento e não obtém o sucesso desejado por essa tarefa estar fora do seu core-business.

 

Aplicações Corporativas com jCompany Free – Parte 2:

Se você trabalha em desenvolvimento corporativo envolvendo aplicações em grande quantidade e com largo volume de documentos (agregações de classes a serem persistidas), montar uma arquitetura de base Open-Source do zero é um grande risco. Construir padrões de alto nível, que exijam pouca programação, e evoluir dezenas de produtos de base internamente são em grande parte atividades fora do core-business da maior parte das organizações, mesmo com integradores de mais baixo nível, tais como Spring e JBoss Seam. Este trabalho de base com desvio de foco costuma culminar em soluções de arquitetura “artesanais”, com variabilidade indesejável entre diversas equipes, isso quando possuem uma gerência de configuração! Pergunte-se: qual a versão e release atual da arquitetura (Open-Source) do sistema A ou B? Se você não tiver um único número para oferecer, possivelmente enfrentará dificuldades no futuro.

 

 

O jCompany Full-Stack Framework - Community & International Version, chamado resumidamente de jCompany Free, é uma versão gratuita e de código aberto (licenciada sob GPLv3) da parte framework do jCompany Developer Suite 5.1, suíte de desenvolvimento mantida pela Powerlogic SA. Introduzimos este framework de integração no primeiro artigo desta série, publicado na Edição 63, quando descrevemos sua instalação e configuração, passos importantes por se tratar de um framework de integração de alto nível. Vimos que o jCompany Free reusa e integra dezenas de outros "frameworks de base" como JBoss Seam, Apache Trinidad, Hibernate e Maven, agregando valor em todas as camadas MVC para prover resultados rápidos e padronizados com qualidade de produção – e isso com pouco ou nenhum código Java, para os Casos de Uso Padrões suportados.

Neste segundo artigo, estenderemos o breve tutorial que iniciamos, evoluindo a aplicação com o Caso de Uso Padrão “Mestre/Detalhe” que fizemos no primeiro artigo, para manutenção de Funcionários e Dependentes.

Casos de Uso Padrões

Sendo basicamente uma solução OO, o jCompany procura aumentar a produtividade eliminando implementações de código repetitivas via reuso; mas também define e incentiva o uso de padrões, seja para nomenclatura de todos os artefatos Java EE, seja para métodos (locais de implementação para regras categorizadas). Tudo isso visando produtividade associada à manutenibilidade via eliminação de variabilidade indesejável (um requisito especialmente importante em ambientes corporativos, com desenvolvimento em larga escala e/ou com uso de fábricas de software).

Para alcançar seus objetivos o jCompany identifica e provê implementações generalizadas para casos de uso típicos e repetitivos, chamados Casos de Uso Padrões, incluindo diversas  variações em torno dos mesmos, chamadas de Inclusões e/ou Extensões Padrões (como arquivos anexados, "exclusão lógica", validação de entrada, auditoria, detalhes por demanda ou paginados, etc.). Neste artigo, iremos conhecer e implementar mais alguns destes padrões. (Uma visão de todas as possibilidades transcende o espaço desta série, mas pode ser obtida por leitura complementar do eBook “Tirando o Máximo do Java EE Open-Source com jCompany Developer Suíte”, disponível para download a partir do site do jCompany Free).

Os Casos de Uso Padrões do jCompany são categorizados da seguinte forma:

·         Padrões para Manutenção: esta primeira categoria popularmente conhecida como “Casos de Uso CRUD” é chamada, de forma mais rigorosa, de “Casos de Uso Padrões para Manutenção do Ciclo de Vida de Agregações de Objetos” ou ainda, resumidamente, de “Padrões para Manutenção”. A Tabela 1 ilustra os casos de uso dessa categoria generalizados totalmente no jCompany;

 

Casos de Uso Padrões de Manutenção – Primários: Representam as manutenções mais comuns e independentes.

Manter Classe

Manutenção de todos os objetos de uma classe, de uma só vez (em uma única transação). Por isso, somente deve ser utilizado em classes com poucos objetos.
Ex.: Manter UF, Manter Tipo de Cliente (usaremos neste artigo).

Manter Agregação Simples *

Manutenção de uma “Agregação de Objetos Simples”, que não envolva composição do tipo Mestre-Detalhe e variantes.
Ex.: Manter Departamento (usaremos neste artigo).

Manter Agregação Mestre/Detalhe *

Manutenção de uma “Agregação de Objetos” que inclua uma composição do tipo Mestre-Detalhe.
Ex.: Manter Funcionário e seus Dependentes, Manter Nota Fiscal e seus Itens (fizemos no artigo anterior).

Manter Agregação Mestre/Detalhe/

SubDetalhe *

 

Manutenção de uma “Agregação de Objetos” que inclua uma composição do tipo Mestre-Detalhe-SubDetalhe.
Ex.: Manter Funcionários, seus Dependentes e Benefícios de cada Dependente.

Manter Coleção Modalidade A

Manutenção de uma “Coleção de Objetos” de uma só vez (na mesma transação), filtrados de uma mesma classe.
Ex: Lançamentos de Proventos e Descontos (todos para uma data, simultaneamente).

Casos de Uso Padrões de Manutenção – Secundários: Representam manutenções complementares às primárias, normalmente encadeadas a partir destas (requerem que classes-raiz já existam e tenham sido mantidas por um padrão primário).

 

Importante: Combinando os primeiros padrões com estes secundários, consegue-se manter documentos com qualquer nível de complexidade estrutural.

Manter Coleção
Modalidade B

Manutenção de uma “Coleção de Objetos” de uma só vez, como no caso A, mas nesta variação tais objetos são filtrados de um objeto existente pré-selecionado.
Ex.: Manter Proventos e Descontos para um Funcionário previamente selecionado.

Manter Agregação Consulta-Mestre/Mantém-Detalhe *

Manutenção de uma “Agregação de Objetos” que inclua uma composição do tipo Mestre-Detalhe, onde o Mestre (raiz da agregação) já tenha sido incluído por outro Caso de Uso Padrão.
Ex.: Manter Histórico Funcional (de um Funcionário previamente selecionado).

Manter Agregação Consulta-Mestre/
Mantém-Detalhe-SubDetalhe *

Manutenção de uma “Agregação de Objetos” que inclua uma composição do tipo Mestre-Detalhe-SubDetalhe, onde o Mestre (raiz da agregação) já tenha sido incluído por outro Caso de Uso Padrão.

Casos de Uso Padrões de Manutenção - da Aplicação: Representam Casos de Uso que não são originários do negócio, mas normalmente necessários para auxílios na operação de aplicações de software. Normalmente ocorrem “um de cada tipo abaixo, por aplicação”.

Manter Preferência de Aplicação

 

Este Caso de Uso prevê a manutenção de preferências globais do responsável (administrador) pela aplicação. Também conhecidos como parâmetros globais.

Manter Preferência de Usuário (para a Aplicação)

 

Este Caso de Uso prevê a manutenção de preferências de cada usuário para a aplicação, podendo registrar opções de personalização de uso ou outras que se façam necessárias, para um determinado usuário em uma aplicação.

Tabela 1. Casos de Uso Padrões de Manutenção.

(*) Os casos de uso marcados são implementados com dois formulários: um para manutenção e outro encadeado para permitir ao usuário filtrar via pesquisa (normalmente paginada) e selecionar do "objeto/agregação" desejado para manutenção.

·          Padrões para Exibição (Consulta e Impressão) ...

Quer ler esse conteúdo completo? Tenha acesso completo