A primeira imagem ilustra as integrações com diversos fremeworks e serviços Java EE que o Spring Framework proporciona. Estas integrações estão todas disponíveis num único JAR (spring.jar).
Os elementos folha neste diagrama representam as tecnologias ou frameworks que o Spring Framework permite integração sem reinventar a roda. Em alguns casos o Spring Framework traz uma implementação própria como, por exemplo, o Spring MVC e Spring JDBC (templates e datasources). A seguir alguns destas caixinhas são detalhadas:
- Core: Implementa o contêiner IoC;
- Web: Recursos para implementação de aplicações Web: integração com frameworks MVC, implementação própria de MVC e integração com tecnologias de visualização;
- DAO: Classes utilitárias para desenvolvimento de DAO's com JDBC e gerenciamento de transações;
- AOP: Disponibiliza o conceito de aspectos via AOP Alliance e AspectJ para integrar os POJO's com os serviços enterprise;
- ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional;
- Java EE: Classes utilitárias para integração com serviços Java EE;
- Remoting: Expõe os métodos dos POJO's para invocação remota.
Neste diagrama, os elementos vinculados ao Spring Framework são pacotes distribuídos separadamente e disponíveis em um ou mais arquivos JAR. Cada produto tem uma página própria de documentação e download que são acessíveis na página Spring Projects. A seguir alguns destas caixinhas são detalhadas:
- Spring Security: Segurança declarativa via XML ou anotações com suporte a AOP e integração com tecnologias de segurança: JAAS, LDAP, DAO, OpenID, CAS, X509, Windows NTLM;
- Spring Web Service: Suporte a Web Services a partir da definição do XML Schema e WSDL (Data Contract e Service Contract);
- Spring Web Flow: Suporte ao controle de fluxo de navegação Web, integração com JSF, conversação e Ajax;
- Dynamic Modules for OSGi: Simplifica o uso da API OSGi através do Spring com POJO's;
- Spring Modules: Projeto guarda-chuva que implementa a integração com diversos outros frameworks e ferramentas;
- Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring;
- Spring JavaConfig: Suporte a configuração dos beans programaticamente sem usar XML ou anotações;
- Spring LDAP: Classes utilitárias para interação com um serviço de Lightweight Directory Access Protocol (LDAP);
- Spring Integration: Implementa o suporte para integração de sistemas via mensagens (EAI e Enterprise Integration Patterns);
- Spring Batch: Suporte a execução de processos em batch de longa duração;
- Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse;
- Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc;
- Spring .NET: Porte de parte do Spring Framework para desenvolvimento de aplicações .NET!
Veja a seguir os slide usados na palestra.
Todas os slides das palestras do evento TDC2008 estão disponíveis para download no site da Globalcode.
Para fechar este post, algumas frases que definem o Spring Framework:
- Um framework de código aberto e uso livre, sob licença Apache, criado por Rod Johnson;
- Implementa um contêiner de injeção de dependências (DI) e inversão de controle (IoC);
- Um framework para programação orientada a aspectos (AOP);
- Um framework para integração de aplicações com serviços Java EE;
- Um framework para integração com outros frameworks que implementam serviços enterprise;
- Não é uma tecnologia padrão mantida pelo JCP;
- Não é um concorrente da plataforma Java EE;
- Não é a reinvenção da roda!
Nenhum comentário:
Postar um comentário