BT

Apache Isis: um framework Java para Domain-Driven Design

por Bienvenido David III , traduzido por Marcelo Cenerino em 06 Fev 2013 |

A Apache lançou o Apache Isis, um framework Java para desenvolvimento rápido de aplicações orientadas a domínio. Com ele, desenvolvedores podem focar na criação de objetos de domínio, enquanto o framework cuida da persistência, segurança e interface com usuário. O Apache Isis segue o padrão de arquitetura "hexagonal", colocando o modelo de domínio no centro, e apresentação, persistência e outros serviços ficando dependentes do modelo de domínio. O Apache Isis se tornou um projeto de primeiro nível na Apache em outubro de 2012 e a versão 1.0 foi lançada em dezembro de 2012.

O Apache Isis funciona usando o conceito de "convenção sobre configuração", no qual desenvolvedores escrevem objetos POJOs de domínio, seguindo um conjunto de convenções e anotações. Essas informações são então interpretadas pelo framework Isis, que cuida da apresentação, segurança e persistência. O Apache Isis pode gerar em tempo de execução uma representação do modelo de domínio na forma de um aplicativo web ou como API RESTful, seguindo a especificação Restful Objects. Times de desenvolvimento podem utilizar o aplicativo web e o web service gerados automaticamente para prototipagem rápida, ou mesmo para implantar em produção. Veja a arquitetura do Isis na figura abaixo.

Arquitetura do Apache Isis

O Apache Isis é extensível e customizável. É possível escolher diferentes visões, repositórios de objetos, mecanismos de segurança, armazenagem de perfis e modelos de programação. Entre as visões disponíveis estão Wicket, RestfulObjects, Scimpi, DnD, HTML, JUnit e BDD Concordion. E estão disponíveis objetos JDO, NoSQL, SQL e XML. A segurança pode ser implementada utilizando a classe File, Shiro, LDAP ou SQL. Perfis podem ser armazenados como XML ou em banco de dados.

Além disso, objetos de domínio, normalmente escritos em Java, podem também ser escritos em Groovy usando o componente Groovy Programming Model. A versão 1.0 do Isis vem com versões lançadas do Isis core, segurança baseada em arquivos, repositório de objetos JDO e visões Wicket, além de Restful Objects. Outros componentes ainda estão em incubação.

Para começar com o framework, visite a página Quickstart Archetype do Apache Isis, que auxilia na criação de um novo aplicativo utilizando o arquétipo Maven do Isis. Este irá gerar um modelo de domínio simples com uma única classe, para acompanhamento de uma lista de tarefas. O modelo inclui múltiplos arquivos POM do Maven, um para o POM pai, um para o modelo de objetos de domínio e o restante para os diferentes componentes, por exemplo o repositório de objetos JDO e a visão Wicket. Está também disponível uma CheatSheet, para ajudar a lembrar quais convenções seguir ou anotações usar.

Para mais informações sobre o Apache Isis, visite a documentação oficial do projeto, screencasts, demonstrações e o tutorial. O código-fonte está disponível no repositório do Isis, que também é espelhado no GitHub.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Conceito vs Framework by Giulliano Morroni

Tenho medo quando um conceito de design como o DDD vira um framework. A ideia de gerar representação dos objetos que compõe o domínio é interessante. Demais assuntos como segurança, 'datasources', persistência e demais requisitos não funcionais, no meu ver são de responsabilidade do containner (servidor JEE).

Depois vou dar uma olhada no quickstart e fazer uns testes. Parábens para a equipe de desenvolvimento.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

1 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT