Prototipo funcional com:
- Java 6 (codigo-fonte compativel)
- Servlet 2.5
- ZK Framework 3.6.2 (frontend MVC com Composer)
- Hibernate ORM 4.2 + JPA (
EntityManager) - Entidades anotadas com
javax.persistence - Tomcat 6/7
- Maven 3.x
- H2 embarcado
A versao 2.0.0-SNAPSHOT consolida o frontend ZK 3.6.2 em MVC e remove o frontend legado JSP/Servlet.
Principais pontos:
- shell autenticado em
app/menu.zulcomheader + sidebar + center + footer; - navegacao centralizada por querystring (
viewpara conteudo principal,subpara sub-window modal); - telas de cadastro/visualizacao abertas em sub-window modal para melhorar UX;
- camada
service/dao/modelJPA preservada.
web/zk: composers MVC de navegacao e interacao de tela.web/filter: autenticacao de acesso a/app/*.service: regras de negocio e validacoes.dao: persistencia JPA (EntityManager/EntityTransaction).model: entidades de dominio.util: utilitarios de seguranca e validacao.
Padroes utilizados:
- DAO Pattern (
AlunoDAO,CursoDAO,CursoAlunoDAO,DocenteDAO,IesDAO). - Service Layer (
AlunoService,CursoService,CursoAlunoService,DocenteService,IesService,AuthService). - Template transacional JPA (
AbstractJpaDao). - Builder Pattern para entidades extensas (
Aluno,Curso,CursoAluno,Docente,Ies). - MVC Composer (ZK 3.6.2) para web.
Publicas:
/home.zul/login.zul
Autenticadas (AuthFilter):
/app/menu.zul?view=dashboard/app/menu.zul?view=aluno-list/app/menu.zul?view=curso-list/app/menu.zul?view=curso-aluno-list/app/menu.zul?view=docente-list/app/menu.zul?view=ies-list
Sub-window modal (parametro sub):
sub=aluno-form,sub=aluno-viewsub=curso-form,sub=curso-viewsub=curso-aluno-formsub=docente-form,sub=docente-viewsub=ies-form,sub=ies-view
Tabelas principais:
usuarioaluno(Registro 41)curso(Registro 21)curso_aluno(Registro 42)docente(Registro 31)ies(Registro 11)municipio
Tabelas auxiliares:
dominio_opcaoaluno_opcao,curso_opcao,curso_aluno_opcaolayout_campoaluno_layout_valor,curso_layout_valor,curso_aluno_layout_valor,docente_layout_valor,ies_layout_valor
Build:
mvn clean packageEm JDK moderno (sem toolchain Java 6/7), use:
mvn '-Dmaven.compiler.source=1.7' '-Dmaven.compiler.target=1.7' clean packageTestes:
mvn '-Dmaven.compiler.source=1.7' '-Dmaven.compiler.target=1.7' test- Login:
admin - Senha:
admin123
docs/ARCHITECTURE.mddocs/TEST-PLAN.mddocs/HIBERNATE-MIGRATION.md