SlideShare a Scribd company logo
1 of 20
Download to read offline
Jus tJava 2008


           Inte g rando o futuro :
          JBo s s S e am e S pring
                 Frame wo rk
    Alberto Lemos (Dr. Spock)
    Instrutor Globalcode
Obje tivo




     Apre s e ntar o s as pe c to s po s itivo s de c ada
    frame wo rk e c apturar o me lho r de c ada um
      no de s e nvo lvime nto de aplic aç õ e s We b
Ag e nda

 • Intro dução : JBo s s S eam e S pring Frame work
 • Po rque us ar o Se am?
 • Po rque us ar o Spring?
 • Po rque inte g rar o s dois frame works ?
 • Pas s o s para inte graç ão
 • Pro blemas de inte graç ão
 • De mo ns traç ão
 • Co nc lus ão
 • Perg untas & Re s pos tas
JBo s s S e am
 • Um proje to ope n s ourc e de us o livre pa ra c ons truir
   a plic a ç õe s We b ric a s c om J a va , inte grando Ajax, JSF,
   JPA, EJB 3.0 num fra me work unific a do, c omple to e
   s ofis tic a do;

 • F a c ilita a integ raç ão c om ba ixo a c opla me nto da s c amadas
   de uma aplic aç ão We b a tra vé s de IoC e DI via a nota ç õe s ;

 • Um JS F Manag e d Be an é s ubs tituído c omple ta me nte por
   um Se am Co mpone nt, que pode s e r um JavaBe an ou EJB
   (s ta te le s s ou s ta te ful);
JBo s s S e am
 • Se am po de s e inte grar c om Spring , Hibe rna te , P ortle ts ,
   J P A, iTe xt, E J B ;

 • P ode s e r us a ndo e m qua lque r s e rvidor de a plic a ç õe s J a va
   E E 5 ou Tomc a t;

 • P romove um mode lo de a rquite tura de s a c opla da c om us o
   inte ns o de DI.
S pring Frame wo rk
 • Um proje to ope n s ourc e de us o livre pa ra c ons truir
   a plic a ç õe s e nte rpris e c om J a va , inte grando os s e rviços
   Java EE (s e g ura nç a , tra ns a ç ã o, pe rs is tê nc ia , a c e s s o
   re moto, pooling , me s s a g ing , e tc );
 • F a c ilita a integ raç ão c om ba ixo a c opla me nto da s c amadas
   de uma aplic aç ão e nte rpris e a tra vé s de IoC e DI via
   a nota ç õe s ;
 • Um co mpo ne nte de ne góc ios ou um J S F Ma na g e d B e a n
   pode s e r imple me nta do, ins ta nc ia do e c onfig ura do a tra vé s
   de POJOs (ou JavaBe ans );
S pring Frame wo rk
 • P ode s e r us a do e m qua lque r s e rvidor de a plic a ç õe s J 2E E
   1.4, J a va E E 5 ou e m a plic a ç õe s de s ktop;
 • S pring promove inte graç ão c om dive rs as te c nologias e
   framewo rks : J S F , S truts , OS G i, E J B , J P A, Hibe rna te ,
   TopLink, J DB C, J DO, iB a tis , J TA, J MS , J CA, J AX-R P C,
   J AX-WS , J MX, Qua rtz , B e a nS h e ll, G roovy, J R uby,
   F re e Ma rke r, Ve loc ity, J a s pe rR e ports , P ortle ts ;
 • P romove um mode lo de a rquite tura de s a c opla da c om us o
   inte ns o de IoC e DI.
Po rque us ar o S e am?
 • Aborda g e m re voluc ioná ria no g e re nc ia me nto de s e s s ã o;
 • F á c il inte g ra ç ã o c om bibliote c a s de UI c om s uporte a Aja x;
 • F ra me work pa ra E J B 3: nã o h á dis tinç ã o e ntre J a va B e a ns e
   EJB;
 • P ode s e r us a do c om J 2E E 1.4 ou a té me s mo c om o
   Tomc a t;
 • Dive rs os re c urs os a g re g a dos : J B os s R ule s , jB P M,
   CAP TCHA.
Po rque us ar o S pring ?
 • Um fra me work pa ra a plic a ç õe s e nte rpris e , a lé m de
   a plic a ç õe s We b;
 • Ofe re c e inte g ra ç ã o c om dive rs a s te c nolog ia s e fra me works
   a lé m da s te c nolog ia s pa drõe s (J CP );
 • F a c ilita o de s e nvolvime nto de a plic a ç õe s c om o us o de
   Orie nta ç ã o a As pe c tos (AOP );
 • P e rmite o us o de s e rviç os e nte rpris e (J a va E E ) de ma ne ira
   nã o-intrus iva e ba ixo a c opla me nto;
 • P ode s e r us a do e m a plic a ç õe s que a inda nã o us a m J a va
   E E 5 ou J a va S E a nte riore s a J a va 5.
Po rque us ar o s 2 frame wo rks ?
 • O Se am ofe re c e s oluç õe s pa ra a c e s s o a s s ínc rono,
   c onc orre nte e s ta te full à s c a ma da s Vie w e Controlle r;
 • Se am s uporta IoC e DI na inte graç ão e ntre as camadas
   Vie w e Controlle r;
 • Spring ofe re nc e s oluç õe s pa ra inte g ra ç ã o de s e rviços EE
   na c amada Mo del c om um mode lo de c ompone ntiz a ç ã o
   be a s e a do e m P OJ Os ;
 • Spring s uporta IoC e DI na inte graç ão e ntre as c amadas
   Co ntro lle r e Mo de l;
 • Um co mpo ne nte g e re nc ia do pe lo Spring pode s e torna r
   um Se am Co mpone nt.
Pas s o s para inte g raç ão
  • Config ura r o s ta rtup do S e a m a tra vé s do we b.xml;
  • Config ura r o s ta rtup do S pring a tra vé s do S e a m
    (c o mpo ne nts .xml);
  • Config ura ç ã o do S pring EL Res olve r no fac es -c onfig.xml;
  • Dis ponibiliz a r os e s c opos do S eam c omo e s c opos no
    S pring (s pring -c onfig .xml);
  • Config ura r be a ns no S pring via a nota ç õe s ou XML;
  • Us a r a nota ç õe s ou ta g s XML do S e a m e m be ans
    g e re nc ia dos pe lo S pring pa ra e xpor como Se am
    Co mpo ne nt;
Pas s o s para inte g raç ão
  • Us a r a nota ç õe s do S e a m pa ra bije ç ã o de proprie da de s dos
    be a ns ;
  • Config ura r o g e re nc ia dor de tra ns a ç õe s no S pring ;
  • Config ura r a fá bric a de E ntityMa na g e r no S pring ;
  • Config ura r o g e re nc ia dor de tra ns a ç õe s no S e a m obtido a
    pa rtir do S pring ;
  • Config ura r o c onte xto de pe rs is tê nc ia no S e a m obtido a
    pa rtir do S pring .
Dis tribuiç ão de Co mpo ne nte s
De mo ns traç ão
Pro ble mas de inte g raç ão
 • S ta te le s s (S pring ) ve rs us S ta te ful (S e a m);
 • S e a m nã o s uporta proxie s via J DK;
 • S pring s uporta proxie s via J DK (de fa ult) e CG LIB ;
 • O S e a m e S pring proc e s s a m a s a nota ç õe s J a va E E (J S R -
   250): @P os tCre a te e @P re de s troy;
 • Ne c e s s á rio de s lig a r o proc e s s a me nto de s ta s a nota ç õe s
   pa ra e vita r a dupla e xe c uç ã o;
 • Nã o é pos s íve l us a r os S e a m Compone nts inje ta dos nos
   mé todos a nota dos c om @P os tCre a te e @P re de s troy no
   be a ns S pring .
Pro ble mas de inte g raç ão
 • S pring B e a n c omo S e a m Compone nt (Outje c tion):




 • S pring B e a n re fe rê nc ia S e a m Compone nt (Inje c tion):
Pro ble mas de inte g raç ão
 • J DK P roxy ve rs us CG LIB P roxy:




              JDK Proxy                  CGLIB Proxy
Co nc lus ão
 • O S e a m ofe re c e s oluç õe s pa ra proble ma s c lá s s ic os na
   c a ma da de a pre s e nta ç ã o we b;
 • O S e a m ofe re c e um me c a nis mo s ofis tic a do de e s c opo de
   c onve rs a ç ã o e g e re nc ia me nto de c onte xto de pe rs is tê nc ia ;
 • O S pring ofe re c e um mode lo de c ompone ntiz a ç ã o c om
   a c e s s o a s e rviç os E E pa drõe s ou nã o;
 • Ambos os fra me works dis ponibiliz a m um mode lo ba s e a do
   e m IoC e DI;
 • O us o inte g ra do pe rmite imple me nta r a plic a ç õe s mode rna s
   e s ofis tic a da s forte me nte ba s e a da s e m MVC na We b.
Pe rg untas & Re s po s tas




                     ?
Re fe rê nc ias na Inte rne t
  • S e a m F ra me work
     h ttp :/ s e a m fra m e work.org /
             /

  – S pring F ra me work
     h ttp :/ www.s p rin g fra m e work.org /
             /

  – J a va E E a t a G la nc e
     h ttp:/ ja va .s u n.c om / va e e /
            /                   ja

  – jbos s .org
     h ttp :/ www.jb o s s .org /
             /

More Related Content

Similar to Integracao Seam Spring

Apresentação Executiva da CompanyWeb
Apresentação Executiva da CompanyWebApresentação Executiva da CompanyWeb
Apresentação Executiva da CompanyWebCompanyWeb
 
Sustainability on the cleaning products industry - ABIPLA
Sustainability on the cleaning products industry - ABIPLASustainability on the cleaning products industry - ABIPLA
Sustainability on the cleaning products industry - ABIPLARevista H&C
 
Desenvolva rapidamente utilizando o framework Desenvolva rapidamente utiliz...
Desenvolva rapidamente
utilizando o framework
Desenvolva rapidamente utiliz...Desenvolva rapidamente
utilizando o framework
Desenvolva rapidamente utiliz...
Desenvolva rapidamente utilizando o framework Desenvolva rapidamente utiliz...Renato Shirakashi
 
Application insights + ASP.NET Core
Application insights + ASP.NET CoreApplication insights + ASP.NET Core
Application insights + ASP.NET CoreLetticia Nicoli
 

Similar to Integracao Seam Spring (10)

Questinário 1 e 2
Questinário 1 e 2Questinário 1 e 2
Questinário 1 e 2
 
Apresentação Executiva da CompanyWeb
Apresentação Executiva da CompanyWebApresentação Executiva da CompanyWeb
Apresentação Executiva da CompanyWeb
 
Petic Ufs
Petic UfsPetic Ufs
Petic Ufs
 
Spec#
Spec#Spec#
Spec#
 
Sustainability on the cleaning products industry - ABIPLA
Sustainability on the cleaning products industry - ABIPLASustainability on the cleaning products industry - ABIPLA
Sustainability on the cleaning products industry - ABIPLA
 
Desenvolva rapidamente utilizando o framework Desenvolva rapidamente utiliz...
Desenvolva rapidamente
utilizando o framework
Desenvolva rapidamente utiliz...Desenvolva rapidamente
utilizando o framework
Desenvolva rapidamente utiliz...
Desenvolva rapidamente utilizando o framework Desenvolva rapidamente utiliz...
 
20220718_UIMP_Ecity.pdf
20220718_UIMP_Ecity.pdf20220718_UIMP_Ecity.pdf
20220718_UIMP_Ecity.pdf
 
Revista programar 7
Revista programar 7Revista programar 7
Revista programar 7
 
Application insights + ASP.NET Core
Application insights + ASP.NET CoreApplication insights + ASP.NET Core
Application insights + ASP.NET Core
 
Linter
LinterLinter
Linter
 

More from Dr. 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
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDr. Spock
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaDr. Spock
 
Os 5 Níveis de Reuso
Os 5 Níveis de ReusoOs 5 Níveis de Reuso
Os 5 Níveis de ReusoDr. Spock
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaDr. Spock
 

More from Dr. Spock (20)

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
 
Dicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSFDicas e Truques sobre Performance em Java EE, JPA e JSF
Dicas e Truques sobre Performance em Java EE, JPA e JSF
 
Computação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma JavaComputação Física com Arduino/Program-ME e a Plataforma Java
Computação Física com Arduino/Program-ME e a Plataforma Java
 
Os 5 Níveis de Reuso
Os 5 Níveis de ReusoOs 5 Níveis de Reuso
Os 5 Níveis de Reuso
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 

Integracao Seam Spring

  • 1. Jus tJava 2008 Inte g rando o futuro : JBo s s S e am e S pring Frame wo rk Alberto Lemos (Dr. Spock) Instrutor Globalcode
  • 2. Obje tivo Apre s e ntar o s as pe c to s po s itivo s de c ada frame wo rk e c apturar o me lho r de c ada um no de s e nvo lvime nto de aplic aç õ e s We b
  • 3. Ag e nda • Intro dução : JBo s s S eam e S pring Frame work • Po rque us ar o Se am? • Po rque us ar o Spring? • Po rque inte g rar o s dois frame works ? • Pas s o s para inte graç ão • Pro blemas de inte graç ão • De mo ns traç ão • Co nc lus ão • Perg untas & Re s pos tas
  • 4. JBo s s S e am • Um proje to ope n s ourc e de us o livre pa ra c ons truir a plic a ç õe s We b ric a s c om J a va , inte grando Ajax, JSF, JPA, EJB 3.0 num fra me work unific a do, c omple to e s ofis tic a do; • F a c ilita a integ raç ão c om ba ixo a c opla me nto da s c amadas de uma aplic aç ão We b a tra vé s de IoC e DI via a nota ç õe s ; • Um JS F Manag e d Be an é s ubs tituído c omple ta me nte por um Se am Co mpone nt, que pode s e r um JavaBe an ou EJB (s ta te le s s ou s ta te ful);
  • 5. JBo s s S e am • Se am po de s e inte grar c om Spring , Hibe rna te , P ortle ts , J P A, iTe xt, E J B ; • P ode s e r us a ndo e m qua lque r s e rvidor de a plic a ç õe s J a va E E 5 ou Tomc a t; • P romove um mode lo de a rquite tura de s a c opla da c om us o inte ns o de DI.
  • 6. S pring Frame wo rk • Um proje to ope n s ourc e de us o livre pa ra c ons truir a plic a ç õe s e nte rpris e c om J a va , inte grando os s e rviços Java EE (s e g ura nç a , tra ns a ç ã o, pe rs is tê nc ia , a c e s s o re moto, pooling , me s s a g ing , e tc ); • F a c ilita a integ raç ão c om ba ixo a c opla me nto da s c amadas de uma aplic aç ão e nte rpris e a tra vé s de IoC e DI via a nota ç õe s ; • Um co mpo ne nte de ne góc ios ou um J S F Ma na g e d B e a n pode s e r imple me nta do, ins ta nc ia do e c onfig ura do a tra vé s de POJOs (ou JavaBe ans );
  • 7. S pring Frame wo rk • P ode s e r us a do e m qua lque r s e rvidor de a plic a ç õe s J 2E E 1.4, J a va E E 5 ou e m a plic a ç õe s de s ktop; • S pring promove inte graç ão c om dive rs as te c nologias e framewo rks : J S F , S truts , OS G i, E J B , J P A, Hibe rna te , TopLink, J DB C, J DO, iB a tis , J TA, J MS , J CA, J AX-R P C, J AX-WS , J MX, Qua rtz , B e a nS h e ll, G roovy, J R uby, F re e Ma rke r, Ve loc ity, J a s pe rR e ports , P ortle ts ; • P romove um mode lo de a rquite tura de s a c opla da c om us o inte ns o de IoC e DI.
  • 8. Po rque us ar o S e am? • Aborda g e m re voluc ioná ria no g e re nc ia me nto de s e s s ã o; • F á c il inte g ra ç ã o c om bibliote c a s de UI c om s uporte a Aja x; • F ra me work pa ra E J B 3: nã o h á dis tinç ã o e ntre J a va B e a ns e EJB; • P ode s e r us a do c om J 2E E 1.4 ou a té me s mo c om o Tomc a t; • Dive rs os re c urs os a g re g a dos : J B os s R ule s , jB P M, CAP TCHA.
  • 9. Po rque us ar o S pring ? • Um fra me work pa ra a plic a ç õe s e nte rpris e , a lé m de a plic a ç õe s We b; • Ofe re c e inte g ra ç ã o c om dive rs a s te c nolog ia s e fra me works a lé m da s te c nolog ia s pa drõe s (J CP ); • F a c ilita o de s e nvolvime nto de a plic a ç õe s c om o us o de Orie nta ç ã o a As pe c tos (AOP ); • P e rmite o us o de s e rviç os e nte rpris e (J a va E E ) de ma ne ira nã o-intrus iva e ba ixo a c opla me nto; • P ode s e r us a do e m a plic a ç õe s que a inda nã o us a m J a va E E 5 ou J a va S E a nte riore s a J a va 5.
  • 10. Po rque us ar o s 2 frame wo rks ? • O Se am ofe re c e s oluç õe s pa ra a c e s s o a s s ínc rono, c onc orre nte e s ta te full à s c a ma da s Vie w e Controlle r; • Se am s uporta IoC e DI na inte graç ão e ntre as camadas Vie w e Controlle r; • Spring ofe re nc e s oluç õe s pa ra inte g ra ç ã o de s e rviços EE na c amada Mo del c om um mode lo de c ompone ntiz a ç ã o be a s e a do e m P OJ Os ; • Spring s uporta IoC e DI na inte graç ão e ntre as c amadas Co ntro lle r e Mo de l; • Um co mpo ne nte g e re nc ia do pe lo Spring pode s e torna r um Se am Co mpone nt.
  • 11. Pas s o s para inte g raç ão • Config ura r o s ta rtup do S e a m a tra vé s do we b.xml; • Config ura r o s ta rtup do S pring a tra vé s do S e a m (c o mpo ne nts .xml); • Config ura ç ã o do S pring EL Res olve r no fac es -c onfig.xml; • Dis ponibiliz a r os e s c opos do S eam c omo e s c opos no S pring (s pring -c onfig .xml); • Config ura r be a ns no S pring via a nota ç õe s ou XML; • Us a r a nota ç õe s ou ta g s XML do S e a m e m be ans g e re nc ia dos pe lo S pring pa ra e xpor como Se am Co mpo ne nt;
  • 12. Pas s o s para inte g raç ão • Us a r a nota ç õe s do S e a m pa ra bije ç ã o de proprie da de s dos be a ns ; • Config ura r o g e re nc ia dor de tra ns a ç õe s no S pring ; • Config ura r a fá bric a de E ntityMa na g e r no S pring ; • Config ura r o g e re nc ia dor de tra ns a ç õe s no S e a m obtido a pa rtir do S pring ; • Config ura r o c onte xto de pe rs is tê nc ia no S e a m obtido a pa rtir do S pring .
  • 13. Dis tribuiç ão de Co mpo ne nte s
  • 14. De mo ns traç ão
  • 15. Pro ble mas de inte g raç ão • S ta te le s s (S pring ) ve rs us S ta te ful (S e a m); • S e a m nã o s uporta proxie s via J DK; • S pring s uporta proxie s via J DK (de fa ult) e CG LIB ; • O S e a m e S pring proc e s s a m a s a nota ç õe s J a va E E (J S R - 250): @P os tCre a te e @P re de s troy; • Ne c e s s á rio de s lig a r o proc e s s a me nto de s ta s a nota ç õe s pa ra e vita r a dupla e xe c uç ã o; • Nã o é pos s íve l us a r os S e a m Compone nts inje ta dos nos mé todos a nota dos c om @P os tCre a te e @P re de s troy no be a ns S pring .
  • 16. Pro ble mas de inte g raç ão • S pring B e a n c omo S e a m Compone nt (Outje c tion): • S pring B e a n re fe rê nc ia S e a m Compone nt (Inje c tion):
  • 17. Pro ble mas de inte g raç ão • J DK P roxy ve rs us CG LIB P roxy: JDK Proxy CGLIB Proxy
  • 18. Co nc lus ão • O S e a m ofe re c e s oluç õe s pa ra proble ma s c lá s s ic os na c a ma da de a pre s e nta ç ã o we b; • O S e a m ofe re c e um me c a nis mo s ofis tic a do de e s c opo de c onve rs a ç ã o e g e re nc ia me nto de c onte xto de pe rs is tê nc ia ; • O S pring ofe re c e um mode lo de c ompone ntiz a ç ã o c om a c e s s o a s e rviç os E E pa drõe s ou nã o; • Ambos os fra me works dis ponibiliz a m um mode lo ba s e a do e m IoC e DI; • O us o inte g ra do pe rmite imple me nta r a plic a ç õe s mode rna s e s ofis tic a da s forte me nte ba s e a da s e m MVC na We b.
  • 19. Pe rg untas & Re s po s tas ?
  • 20. Re fe rê nc ias na Inte rne t • S e a m F ra me work h ttp :/ s e a m fra m e work.org / / – S pring F ra me work h ttp :/ www.s p rin g fra m e work.org / / – J a va E E a t a G la nc e h ttp:/ ja va .s u n.c om / va e e / / ja – jbos s .org h ttp :/ www.jb o s s .org / /