SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Spring: Um suite de novas opções
              para Java EE

          Alberto J Lemos (Dr. Spock)
              Instrutor Globalcode




1                                  Globalcode – Open4Education
Agenda

    > Sobre o Spring Framework
    > Escopo de integração com Java EE e outros
      frameworks
    > Sobre o Spring portfolio: Um suite de produtos
    > Sobre o SpringSource Application Platform




2                                         Globalcode – Open4Education
Agenda

    > Sobre o Spring Framework
    > Escopo de integração com Java EE e outros
      frameworks
    > Sobre o Spring portfolio: Um suite de produtos
    > Sobre o SpringSource Application Platform




3                                         Globalcode – Open4Education
O que é 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.

4                                        Globalcode – Open4Education
O que o Spring não é!

    > Não é uma tecnologia padrão mantida pelo JCP;
    > Não é um concorrente da plataforma Java EE;
    > Não é uma nova tecnologia;
    > Não é a reinvenção da roda!




5                                       Globalcode – Open4Education
Para o que serve?

    > Promover boas práticas de desenvolvimento;
    > Promover testabilidade;
    > Garantir que o código seja flexível para substituir
      tecnologias de maneira transparente;
    > Utilizar em aplicativos desktop algumas
      facilidades do mundo corporativo;
    > Desenvolvimento através de um modelo de
      componentização baseado em classes Java
      simples (POJO).


6                                           Globalcode – Open4Education
Para o que não serve?

    > Tornar um código existente em um código bem
      estruturado;
    > Re-implementar recursos;
    > Garantir a qualidade do código;




7                                       Globalcode – Open4Education
Agenda

    > Sobre o Spring Framework
    > Escopo de integração com Java EE e outros
      frameworks
    > Sobre o Spring portfolio: Um suite de produtos
    > Sobre o SpringSource Application Platform




8                                         Globalcode – Open4Education
Spring Framework
    > Disponível no arquivo spring.jar




9                                        Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar
                                Core: Implementa o
                                  contêiner IoC;




10                                          Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar
                        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;




11                                            Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar




       DAO: Classes utilitárias para
       desenvolvimento de DAO's com JDBC e
       gerenciamento de transações;




12                                           Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar




                          AOP: Disponibiliza o conceito de
                          aspectos via AOP Alliance e AspectJ
                          para integrar os POJO's com os
                          serviços enterprise;




13                                           Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar




            ORM: Implementa o suporte para
            integração com frameworks de
            mapeamento objeto/relacional.




14                                           Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar


          Java EE: Classes utilitárias para
          integração com serviços Java EE;




15                                            Globalcode – Open4Education
Spring Framework
     > Disponível no arquivo spring.jar




              Remoting: Expõe os métodos
              dos POJO's para invocação
              remota;




16                                         Globalcode – Open4Education
Java EE e Spring

     > O framework promove o uso dos serviços Java
       EE em componentes desenvolvidos como POJO
       e sem EJB's;
     > Serviços usados: JDBC, JPA, JTA, JMS, JCA,
       JMX, JavaMail e JNDI;
     > Anotações Java EE suportadas:




17                                      Globalcode – Open4Education
Java EE e Spring

     > Permite a configuração e invocação de EJB's (2.1
       e 3) como beans no contexto Spring;
     > Permite expor os componentes como Web
       Services através de JAX-WS (com anotações
       @WebService e @WebMethod);
     > Integra com serviços Java EE implementados por
       servidores de aplicações ou por frameworks
       externos (Ex.: ActiveMQ, ObjectWeb JTOM,
       commons-dbcp, etc).



18                                        Globalcode – Open4Education
Agenda

     > Sobre o Spring Framework
     > Escopo de integração com Java EE e outros
       frameworks
     > Sobre o Spring portfolio: Um suite de produtos
     > Sobre o SpringSource Application Platform




19                                         Globalcode – Open4Education
Spring Portfolio

     > Composto por diversos projetos que
       complementam o Spring Framework;
     > Projetos que utilizam as mesmas boas práticas
       sugeridas pelo Spring;
     > Alguns recursos disponibilizados: Segurança,
       integração com outros frameworks, processos
       batch, OSGi e ferramentas de desenvolvimento;
     > Alguns projetos estão consolidados e maduros;
     > Outros projetos estão em desenvolvimento
       (milestone ou 1.0.0).

20                                        Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.




21                                       Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
                  Spring Security: Segurança
       no Spring. 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;




22                                             Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.




                  Spring Web Service: Suporte a Web
                  Services a partir da definição do XML
                  Schema e WSDL (Data Contract e
                  Service Contract);




23                                              Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.




                       Spring Web Flow: Suporte ao
                       controle de fluxo de navegação Web,
                       integração com JSF, conversação e
                       Ajax;




24                                            Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.




                  Dynamic Modules for OSGi:
                  Simplifica o uso da API OSGi através
                  do Spring com POJO's;



25                                             Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


     Spring Modules: Projeto guarda-
     chuva que implementa a integração
     com diversos outros frameworks e
     ferramentas;




26                                       Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


     Spring Rich Client: Recursos para
     desenvolvimento desktop com Swing
     e Spring;




27                                       Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


     Spring JavaConfig: Suporte a
     configuração dos beans
     programaticamente sem usar XML
     ou anotações;




28                                       Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


     Spring LDAP: Classes utilitárias
     para interação com um serviço de
     Lightweight Directory Access
     Protocol (LDAP);




29                                       Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.

            Spring Integration: Implementa o
            suporte para integração de sistemas
            via mensagens (EAI e Enterprise
            Integration Patterns);




30                                                Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.
            Spring Batch: Suporte a execução
            de processos em batch de longa
            duração;




31                                             Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


                       Spring IDE: Plugin para incrementar
                       produtividade durante o
                       desenvolvimento com o Eclipse;




32                                            Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.


                       Spring BeanDoc: Ferramenta para
                       gerar documentação semelhante ao
                       Javadoc;




33                                           Globalcode – Open4Education
Spring Portfolio

     > Um suite de produtos para aplicações baseadas
       no Spring.



            Spring .NET: Porte de parte do Spring
            Framework para desenvolvimento de
            aplicações .NET!




34                                                  Globalcode – Open4Education
Agenda

     > Sobre o Spring Framework
     > Escopo de integração com Java EE e outros
       frameworks
     > Sobre o Spring portfolio: Um suite de produtos
     > Sobre o SpringSource Application Platform




35                                         Globalcode – Open4Education
Spring Application Server




36                          Globalcode – Open4Education
Application Platform

     > Servidor de aplicações em desenvolvimento pelo
       SpringSource;
     > Ainda na versão 1.0 beta;
     > Baseado em OSGi (R4.1) para modulalização via
       Eclipse Equinox (OSGi Spec RI);
     > Suportará o conceito de profiles para facilitar a
       customização da plataforma;
     > Suporta empacotamento da aplicação em: OSGi
       Bundles, Java EE WAR, Web Modules e
       Platform Archive (PAR);

37                                          Globalcode – Open4Education
Application Platform

     > Spring Framework embutido (obviamente!);
     > Suporte a aplicações Java EE Web via Tomcat
       embutido;
     > Monitoramento via ferramenta Spring Application
       Management Suite (produto SpringSource);
     > Suporte ao desenvolvimento via SpringSource
       Tool Suite (Branded Eclipse);
     > Um repositório está disponível com diversas
       bibliotecas para download e reempacotadas
       como OSGi Bundles.

38                                        Globalcode – Open4Education
Conclusão

     > O Spring Framework disponibiliza os serviços
       Java EE via AOP para os POJO's;
     > Permite o uso de AOP na aplicação;
     > O framework não concorre com o Java EE;
     > Vale a pena usar alguns projetos do Spring
       portfolio;
     > O servidor de aplicações e a plataforma Spring
       estão nascendo;
     > O Spring Framework ainda é uma boa opção
       mesmo com o EJB 3 em cena;

39                                        Globalcode – Open4Education
Conclusão




     A plataforma Spring pretende oferecer uma
        alternativa completa e concorrente à
           plataforma Java EE, mantendo
                  compatibilidade.




40                                 Globalcode – Open4Education
Perguntas & Respostas




41                      Globalcode – Open4Education
Mais sobre o assunto

     > Spring Framework.
       http://www.springframework.org/about

     > Spring Framework Projects (Suite).
       http://www.springframework.org/projects

     > SpringSource Application Platform.
       http://www.springsource.com/products/suite/applicationplatform

     > SpringSource.
       http://www.springsource.com/

     > Java EE Platform.
       http://java.sun.com/javaee/


42                                                  Globalcode – Open4Education

Weitere ähnliche Inhalte

Was ist angesagt?

TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...
TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...
TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...tdc-globalcode
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IAlefe Variani
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDIRodrigo Cândido da Silva
 
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013Victor Maehira
 

Was ist angesagt? (6)

TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...
TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...
TDC2016POA | Trilha .NET - Novas Oportunidades para o .NET com a parceria Mic...
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia IDevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
DevOps I - Ambientes padronizados e Monitoramento da Aplicação | Monografia I
 
Prospecto Cobit®5 foundation
Prospecto Cobit®5 foundationProspecto Cobit®5 foundation
Prospecto Cobit®5 foundation
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDI
 
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
 

Ähnlich wie Spring Suite

JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerDr. Spock
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVCMessias Batista
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançadoTargettrust
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Marcos Batista
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Spring + Cloud Computing
Spring + Cloud ComputingSpring + Cloud Computing
Spring + Cloud ComputingDr. Spock
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 

Ähnlich wie Spring Suite (20)

JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm Server
 
FlexMania 2010
FlexMania 2010FlexMania 2010
FlexMania 2010
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVC
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Spring + Cloud Computing
Spring + Cloud ComputingSpring + Cloud Computing
Spring + Cloud Computing
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 

Mehr von Dr. Spock

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageDr. Spock
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Dr. Spock
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemDr. Spock
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysDr. Spock
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6Dr. Spock
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6Dr. Spock
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring MobileDr. Spock
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensDr. Spock
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseDr. Spock
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureDr. Spock
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelDr. Spock
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDr. Spock
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesDr. Spock
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaDr. Spock
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkDr. Spock
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineDr. Spock
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesDr. Spock
 

Mehr von Dr. Spock (20)

Improving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific LanguageImproving Batch-Process Testing Techniques with a Domain-Specific Language
Improving Batch-Process Testing Techniques with a Domain-Specific Language
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvemEvitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
Evitando Armadilhas no Projeto de Aplicações Java EE para uso eficaz na nuvem
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Workshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToysWorkshop de Introdução ao ScrumToys
Workshop de Introdução ao ScrumToys
 
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
TDC2012: Usando os recursos de extensibilidade da API de CDI do Java EE 6
 
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
TDC2012: Explorando os conceitos básicos da API de CDI do Java EE 6
 
TDC2011: Spring Mobile
TDC2011: Spring MobileTDC2011: Spring Mobile
TDC2011: Spring Mobile
 
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvensTDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
TDC2011: Spring, uma plataforma enterprise, social, móvel e nas nuvens
 
TDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software EnterpriseTDC2011: Arquitetura de Software Enterprise
TDC2011: Arquitetura de Software Enterprise
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Spring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvelSpring Framework no desenvolvimento móvel
Spring Framework no desenvolvimento móvel
 
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft AzureDesafios no deploy de aplicações Java EE 6 no Microsoft Azure
Desafios no deploy de aplicações Java EE 6 no Microsoft Azure
 
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer FacesPerformance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
Performance Tips and Tricks: Java EE, Java Persistence API and JavaServer Faces
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Computação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e JavaComputação Física com Arduino, Program-ME e Java
Computação Física com Arduino, Program-ME e Java
 
Spring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do FrameworkSpring 3: Uma Plataforma além do Framework
Spring 3: Uma Plataforma além do Framework
 
Produtividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App EngineProdutividade com Spring Roo no Google App Engine
Produtividade com Spring Roo no Google App Engine
 
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
 
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidadesSpring Framework 3: Um 'brainstorm' de novas funcionalidades
Spring Framework 3: Um 'brainstorm' de novas funcionalidades
 

Spring Suite

  • 1. Spring: Um suite de novas opções para Java EE Alberto J Lemos (Dr. Spock) Instrutor Globalcode 1 Globalcode – Open4Education
  • 2. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 2 Globalcode – Open4Education
  • 3. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 3 Globalcode – Open4Education
  • 4. O que é 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. 4 Globalcode – Open4Education
  • 5. O que o Spring não é! > Não é uma tecnologia padrão mantida pelo JCP; > Não é um concorrente da plataforma Java EE; > Não é uma nova tecnologia; > Não é a reinvenção da roda! 5 Globalcode – Open4Education
  • 6. Para o que serve? > Promover boas práticas de desenvolvimento; > Promover testabilidade; > Garantir que o código seja flexível para substituir tecnologias de maneira transparente; > Utilizar em aplicativos desktop algumas facilidades do mundo corporativo; > Desenvolvimento através de um modelo de componentização baseado em classes Java simples (POJO). 6 Globalcode – Open4Education
  • 7. Para o que não serve? > Tornar um código existente em um código bem estruturado; > Re-implementar recursos; > Garantir a qualidade do código; 7 Globalcode – Open4Education
  • 8. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 8 Globalcode – Open4Education
  • 9. Spring Framework > Disponível no arquivo spring.jar 9 Globalcode – Open4Education
  • 10. Spring Framework > Disponível no arquivo spring.jar Core: Implementa o contêiner IoC; 10 Globalcode – Open4Education
  • 11. Spring Framework > Disponível no arquivo spring.jar 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; 11 Globalcode – Open4Education
  • 12. Spring Framework > Disponível no arquivo spring.jar DAO: Classes utilitárias para desenvolvimento de DAO's com JDBC e gerenciamento de transações; 12 Globalcode – Open4Education
  • 13. Spring Framework > Disponível no arquivo spring.jar AOP: Disponibiliza o conceito de aspectos via AOP Alliance e AspectJ para integrar os POJO's com os serviços enterprise; 13 Globalcode – Open4Education
  • 14. Spring Framework > Disponível no arquivo spring.jar ORM: Implementa o suporte para integração com frameworks de mapeamento objeto/relacional. 14 Globalcode – Open4Education
  • 15. Spring Framework > Disponível no arquivo spring.jar Java EE: Classes utilitárias para integração com serviços Java EE; 15 Globalcode – Open4Education
  • 16. Spring Framework > Disponível no arquivo spring.jar Remoting: Expõe os métodos dos POJO's para invocação remota; 16 Globalcode – Open4Education
  • 17. Java EE e Spring > O framework promove o uso dos serviços Java EE em componentes desenvolvidos como POJO e sem EJB's; > Serviços usados: JDBC, JPA, JTA, JMS, JCA, JMX, JavaMail e JNDI; > Anotações Java EE suportadas: 17 Globalcode – Open4Education
  • 18. Java EE e Spring > Permite a configuração e invocação de EJB's (2.1 e 3) como beans no contexto Spring; > Permite expor os componentes como Web Services através de JAX-WS (com anotações @WebService e @WebMethod); > Integra com serviços Java EE implementados por servidores de aplicações ou por frameworks externos (Ex.: ActiveMQ, ObjectWeb JTOM, commons-dbcp, etc). 18 Globalcode – Open4Education
  • 19. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 19 Globalcode – Open4Education
  • 20. Spring Portfolio > Composto por diversos projetos que complementam o Spring Framework; > Projetos que utilizam as mesmas boas práticas sugeridas pelo Spring; > Alguns recursos disponibilizados: Segurança, integração com outros frameworks, processos batch, OSGi e ferramentas de desenvolvimento; > Alguns projetos estão consolidados e maduros; > Outros projetos estão em desenvolvimento (milestone ou 1.0.0). 20 Globalcode – Open4Education
  • 21. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. 21 Globalcode – Open4Education
  • 22. Spring Portfolio > Um suite de produtos para aplicações baseadas Spring Security: Segurança no Spring. 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; 22 Globalcode – Open4Education
  • 23. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Web Service: Suporte a Web Services a partir da definição do XML Schema e WSDL (Data Contract e Service Contract); 23 Globalcode – Open4Education
  • 24. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Web Flow: Suporte ao controle de fluxo de navegação Web, integração com JSF, conversação e Ajax; 24 Globalcode – Open4Education
  • 25. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Dynamic Modules for OSGi: Simplifica o uso da API OSGi através do Spring com POJO's; 25 Globalcode – Open4Education
  • 26. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Modules: Projeto guarda- chuva que implementa a integração com diversos outros frameworks e ferramentas; 26 Globalcode – Open4Education
  • 27. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Rich Client: Recursos para desenvolvimento desktop com Swing e Spring; 27 Globalcode – Open4Education
  • 28. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring JavaConfig: Suporte a configuração dos beans programaticamente sem usar XML ou anotações; 28 Globalcode – Open4Education
  • 29. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring LDAP: Classes utilitárias para interação com um serviço de Lightweight Directory Access Protocol (LDAP); 29 Globalcode – Open4Education
  • 30. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Integration: Implementa o suporte para integração de sistemas via mensagens (EAI e Enterprise Integration Patterns); 30 Globalcode – Open4Education
  • 31. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring Batch: Suporte a execução de processos em batch de longa duração; 31 Globalcode – Open4Education
  • 32. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring IDE: Plugin para incrementar produtividade durante o desenvolvimento com o Eclipse; 32 Globalcode – Open4Education
  • 33. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring BeanDoc: Ferramenta para gerar documentação semelhante ao Javadoc; 33 Globalcode – Open4Education
  • 34. Spring Portfolio > Um suite de produtos para aplicações baseadas no Spring. Spring .NET: Porte de parte do Spring Framework para desenvolvimento de aplicações .NET! 34 Globalcode – Open4Education
  • 35. Agenda > Sobre o Spring Framework > Escopo de integração com Java EE e outros frameworks > Sobre o Spring portfolio: Um suite de produtos > Sobre o SpringSource Application Platform 35 Globalcode – Open4Education
  • 36. Spring Application Server 36 Globalcode – Open4Education
  • 37. Application Platform > Servidor de aplicações em desenvolvimento pelo SpringSource; > Ainda na versão 1.0 beta; > Baseado em OSGi (R4.1) para modulalização via Eclipse Equinox (OSGi Spec RI); > Suportará o conceito de profiles para facilitar a customização da plataforma; > Suporta empacotamento da aplicação em: OSGi Bundles, Java EE WAR, Web Modules e Platform Archive (PAR); 37 Globalcode – Open4Education
  • 38. Application Platform > Spring Framework embutido (obviamente!); > Suporte a aplicações Java EE Web via Tomcat embutido; > Monitoramento via ferramenta Spring Application Management Suite (produto SpringSource); > Suporte ao desenvolvimento via SpringSource Tool Suite (Branded Eclipse); > Um repositório está disponível com diversas bibliotecas para download e reempacotadas como OSGi Bundles. 38 Globalcode – Open4Education
  • 39. Conclusão > O Spring Framework disponibiliza os serviços Java EE via AOP para os POJO's; > Permite o uso de AOP na aplicação; > O framework não concorre com o Java EE; > Vale a pena usar alguns projetos do Spring portfolio; > O servidor de aplicações e a plataforma Spring estão nascendo; > O Spring Framework ainda é uma boa opção mesmo com o EJB 3 em cena; 39 Globalcode – Open4Education
  • 40. Conclusão A plataforma Spring pretende oferecer uma alternativa completa e concorrente à plataforma Java EE, mantendo compatibilidade. 40 Globalcode – Open4Education
  • 41. Perguntas & Respostas 41 Globalcode – Open4Education
  • 42. Mais sobre o assunto > Spring Framework. http://www.springframework.org/about > Spring Framework Projects (Suite). http://www.springframework.org/projects > SpringSource Application Platform. http://www.springsource.com/products/suite/applicationplatform > SpringSource. http://www.springsource.com/ > Java EE Platform. http://java.sun.com/javaee/ 42 Globalcode – Open4Education