BT

A sua opinião é importante! Por favor preencha a pesquisa do InfoQ!

Apache Isis: um framework Java para Domain-Driven Design

| por Bienvenido David III Seguir 0 Seguidores , traduzido por Marcelo Cenerino Seguir 1 Seguidores em 06 fev 2013. Tempo estimado de leitura: 2 minutos |

Para melhorar a experiência das pessoas que acessam o InfoQ Brasil, nós criamos uma série de funcionalidades que te permitem ficar pode dentro das últimas tendências e das novidades de seu interesse, sem que você seja incomodado por coisas irrelevantes. Receba e-mails periódicos e notificações sobre seus tópicos favoritos!

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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens 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 mensagens dessa discussão

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

Receber mensagens dessa discussão

1 Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT