Skip to content
yanaga edited this page Jul 22, 2012 · 4 revisions

Opes em Latim significa "abundância", "riqueza". E o seu nome é justamente um contraponto à anemia generalizada na construção de objetos de negócios em sistemas Java. A discussão é longa e complexa, mas acredito que o modelo de negócios nos sistemas que construímos pode ser bem mais do que simples JavaBeans com todas as suas propriedades consistindo de tipos primitivos expostos por getters e setters.

Uma leitura interessantíssima e obrigatória sobre o assunto é o artigo "When to Make a Type" do Martin Fowler, publicado pela IEEE: http://martinfowler.com/ieeeSoftware/whenType.pdf

O Projeto Opes consiste de uma biblioteca contendo vários "tipos" comumente utilizados em projetos de casos de uso do Brasil. Exemplos como CPF, CNPJ, Telefone, CertificadoDigital, Email, InscricaoEstadual etc são repetidamente copiados e colados em sistemas diferentes. Ou pior, são tratados como meras Strings nos projetos.

Aos que desejam utilizar as classes do Opes em entidades persistentes, o projeto contém UserTypes do Hibernate prontos para serem utilizados para cada tipo.

Este projeto foi criado na pretensão de que seja útil para alguém além dos desenvolvedores da Ínsula Tecnologia. Afinal, faremos um mundo melhor fazendo software melhor.

Bom proveito!

Instruções para o Maven

Adicione o seguinte repositório no elemento <repositories> do seu pom.xml:

<repository>
	<id>maven-oss-insula</id>
	<name>Insula Maven OSS Releases Repository</name>
	<url>http://maven-oss.insula.com.br/releases</url>
</repository>

E a seguinte dependência no elemento <dependencies> do seu pom.xml:

<dependency>
	<groupId>br.com.insula</groupId>
	<artifactId>opes</artifactId>
	<version>1.4.0</version>
</dependency>
Clone this wiki locally