O Orca é um módulo J2EE-WEB simples de controle de pesquisa de preços de produtos e montagem de orçamentos sobre os produtos castrados.
Na sua construção foram utilizados vários conceitos e design patterns dos sistemas OO modernos sobre a plataforma J2EE 5.0, como: Data Access Object (DAO)
... [More]
, Facade, Transfer Object (TO), Model View Controller (MVC), Proxy etc..
Para seu desenvolvimento foram criados vários componentes customizaodos para que toda aplicação fosse desenvolvida usando Business-driven development. Alguns dos principais componentes presentes:
- Search
É um pacote com objetos utiliários e parametrizados para auxiliar as diversas buscas do sistema e encapsular os resultados de forma simples e intuitiva.
- TransactionManager
Executa controle de Trasanções
- SuperAction
Implementações da Action do framework Struts que provê métodos utilitários
- GenericAction, GenericFacade, GenericDAO e GenericTO
Implementações parametrizadas (Java 5.0 Parametrized Types) para executar a manutenção (CRUD) de entidades relacionais do sistema.
Tecnologias Utilizadas:
- Ajax
Utilizado com o framework GWT para construção de menus.
- Annotations Customizadas
Para auxiliar a programação AOP
- Aspect Oriented Programming (AOP)
Para fazer o controle transacional de operações persistentes sobre os dados.
- Criptograhy
Utilizando java.security para proteger dados sigilosos do usuário no servidor de dados.
- Internacionalização (I18n)
Os frameworks, GWT e Struts estão adequados para atender este padrão.
- JSP/Servlet 2.0
Além de usar a nova versão, também foram construídas funções customizadas com a nova "Expression Language" e JSP Tags.
- Java Persistence API (Implementação: Hibernate3)
- Logging
- Reverse engineering
O HibernateTools (OpenSource) foi modificado e customizado no proejto, e com novos templates de geração criou através engenharia reversa além dos beans para persistência (POJO beans), o esqueleto e código básico das "DAO classes" e "Facade classes".
- Struts 1.2
Para implementar o controle de fluxo da aplicação e validação da entrada do usuário, modularizando a separação das camadas de apresentação e negócio (MVC). [Less]