SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
JBOSS SNOWDROP
    TITLE SLIDE: HEADLINE
    Presenter
    Lukáš Vlček
    name
    Senior QAHat
    Title, Red Engineer, JBoss
    January 25th, 2010
    Date




1              CZJUG JAN-2010 | LUKAS VLCEK
What is JBoss Snowdrop?
    ●   Informal:
        “... you can easily develop, deploy and run Spring
        based applications on JBoss AS utilizing its JEE
        services”
    ●   More formal:
        Snowdrop is a utility package that contains JBoss
        specific extensions to the Spring Framework.
    ●   License: LGPL v2.1
    ●   Hosted: http://jboss.org/snowdrop




2                       CZJUG JAN-2010 | LUKAS VLCEK
Why Using Spring on JBoss AS?

    ●   Spring provides popular development model
    ●   JBoss AS provides runtime services

    ●   More details: Spring on JBoss, JBoss World 2009
        by Marius Bogoevici (Snowdrop lead developer)

        “JBoss is a great place for
        running Spring applications!”



    ●   http://www.redhat.com/f/pdf/jbw/mbogoevici_1050_spring_on_jboss.pdf

3                           CZJUG JAN-2010 | LUKAS VLCEK
Spring Deployer

    ●   Recognizes and deploy Spring applications
    ●   /META-INF/*-spring.xml (archives: JAR, WAR, EAR...)



    How it works:
    Spring deployer parses the
    deployment descriptor to create a
    Spring bean factory, and registers
    that Spring bean factory under some
    JNDI name so that it can be looked
    up and used by other applications.
    And if deployed archive is removed,
    JBoss destroy the bean factory and
    unregister it from JNDI.




4                                CZJUG JAN-2010 | LUKAS VLCEK
Example of /META-INF/jboss-spring.xml

    ●   Spring BeanFactory is registered in JNDI with name
        SpringDao.

    <?xml version="1.0" encoding="UTF­8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring­beans.xsd">

        <description>BeanFactory=(SpringDao)</description>

        <import resource="classpath*:dao­context.xml"/>
        <import resource="classpath*:infrastructure.xml"/>

    </beans>




5                         CZJUG JAN-2010 | LUKAS VLCEK
JBoss Virtual File System

    ●   JDK URL resource handling is not easy
         ●   Windows file locking, code duplicity
    ●   Virtual File System was created to solve these issues
        but resource and classpath scanning in Spring's 2.5.x
        did not work properly:
         ●   if resource path has [*] after [:]
                <import resource=”classpath*:META­INF/*.xml”/>

         ●   if classes need to be scanned for annotations
                <context:component­scan
                   base­package="org.jboss.snowdrop.sample.springmvc"/>



6                           CZJUG JAN-2010 | LUKAS VLCEK
JBoss VFS Support Solution

    ●   JBoss added two implementations of
        ApplicationContext
        Spring class                            JBoss class
        ClassPathXmlApplicationContext          VFSClassPathXmlApplicationContext
        XmlWebApplicationContext                VFSXmlWebApplicationContext

<servlet>
   <servlet­name>spring­mvc­servlet</servlet­name>
   <servlet­class>org.springframework.web.servlet.DispatcherServlet</servlet­class>
   <init­param>
      <param­name>contextClass</param­name>
      <param­value>
         org.jboss.spring.vfs.context.VFSXmlWebApplicationContext
      </param­value>
   </init­param>
   <init­param>
      <param­name>contextConfigLocation</param­name>
      <param­value>/WEB­INF/spring­servlet­context.xml</param­value>
  </init­param>
</servlet>
7                            CZJUG JAN-2010 | LUKAS VLCEK
Injecting Spring Beans in EJB3

    ●   Spring deployer introduced new annotation: @Spring
    ●   Using Spring @Autowired annotation

@Stateless
@Interceptors(SpringLifecycleInterceptor.class)
@LocalBinding(jndiBinding = "sportsclub/SubscriptionService")
public class SubscriptionServiceImpl implements SubscriptionService
{

   @Spring(bean = "accountRepository", jndiName = "SpringDao")
   private AccountRepository accountRepository;

   @Spring(bean = "personRepository", jndiName = "SpringDao")
   private PersonRepository personRepository;
 ...
}


8                      CZJUG JAN-2010 | LUKAS VLCEK
JSF and Spring

    ●    Spring provides implementation of ELResolver
        faces­config.xml
        <application>
            <view­handler>com.sun.facelets.FaceletViewHandler</view­handler>
            <el­resolver>
                org.springframework.web.jsf.el.SpringBeanFacesELResolver
            </el­resolver>
        </application>


        web.xml
        <context­param>
            <param­name>contextConfigLocation</param­name>
            <param­value>/WEB­INF/spring­beans.xml</param­value>
        </context­param>
        <listener>
            <listener­class>
                org.springframework.web.context.ContextLoaderListener
            </listener­class>
        </listener>


9                            CZJUG JAN-2010 | LUKAS VLCEK
Not Covered in this Lightning Talk

     ●   JTA
     ●   JAX-WS
     ●   JPA
     ●   JMX
     ●   Tooling (JBoss Eclipse extensions)


         ... see Snowdrop examples and Marius' presentation




10                      CZJUG JAN-2010 | LUKAS VLCEK
Snowdrop Status

     ●   1.0.0GA released in October 2009
          ●   Supports
               ●   JBoss AS 5.x (preferably 5.1.0 GA)
               ●   Spring 2.5.x (preferably 2.5.6 SEC01)

     ●   1.1.0GA to be released soon




11                             CZJUG JAN-2010 | LUKAS VLCEK
Snowdrop Roadmap

     ●   Spring AOP integration with JBoss AOP
     ●   Spring integration with JBoss MC
     ●   Clustering support for Spring through Infinispan
     ●   Spring 3
     ●   JBoss AS 6




12                       CZJUG JAN-2010 | LUKAS VLCEK
Related Articles

     ●   Spring and EJB 3.0 in Harmony, Aleš Justin (2006 ~ little dated)
         http://java.sys-con.com/node/180386
         Spring deployer, Injecting Spring into EJB
     ●   DZone JBoss Microcontainer Series, Aleš Justin (2008-2009)
         Component Model, Advanced Dependency Injection and IoC,
         Virtual File System, ClassLoading Layer




13                         CZJUG JAN-2010 | LUKAS VLCEK
Questions?



14   CZJUG JAN-2010 | LUKAS VLCEK

Más contenido relacionado

La actualidad más candente

Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the CloudArun Gupta
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012alepalin
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011Arun Gupta
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기jbugkorea
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Shreedhar Ganapathy
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clusteringgouthamrv
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Arun Gupta
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd trainingFranck SIMON
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerArun Gupta
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikEdgar Espina
 
GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?Arun Gupta
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Andries Inzé
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?Andries Inzé
 

La actualidad más candente (19)

Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012
 
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
OSGi-enabled Java EE Applications using GlassFish at JCertif 2011
 
Glass Fishv3 March2010
Glass Fishv3 March2010Glass Fishv3 March2010
Glass Fishv3 March2010
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기
 
Tomcat tutorail
Tomcat tutorailTomcat tutorail
Tomcat tutorail
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
Tomcat Clustering
Tomcat ClusteringTomcat Clustering
Tomcat Clustering
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd training
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
 
GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?GlassFish can support multiple Ruby frameworks ... really ?
GlassFish can support multiple Ruby frameworks ... really ?
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be
 
JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?JBUG.be EJB3 Why use Spring?
JBUG.be EJB3 Why use Spring?
 

Destacado (14)

Snowdrop
SnowdropSnowdrop
Snowdrop
 
Tulips
TulipsTulips
Tulips
 
Florida Sheriffs Association Announces 2016 Legislator of the Year and Legisl...
Florida Sheriffs Association Announces 2016 Legislator of the Year and Legisl...Florida Sheriffs Association Announces 2016 Legislator of the Year and Legisl...
Florida Sheriffs Association Announces 2016 Legislator of the Year and Legisl...
 
Flori la ferestre
Flori la ferestreFlori la ferestre
Flori la ferestre
 
Snowdrop
SnowdropSnowdrop
Snowdrop
 
Floarea De Colt (Edelweiss)
Floarea De Colt (Edelweiss)Floarea De Colt (Edelweiss)
Floarea De Colt (Edelweiss)
 
Floarea ppt
Floarea pptFloarea ppt
Floarea ppt
 
Football
FootballFootball
Football
 
Tulip
TulipTulip
Tulip
 
Dumitrite- Mums
Dumitrite- MumsDumitrite- Mums
Dumitrite- Mums
 
Clasa 7
Clasa 7Clasa 7
Clasa 7
 
1 sugestii pentru amenajarea gradinii
1 sugestii pentru amenajarea gradinii1 sugestii pentru amenajarea gradinii
1 sugestii pentru amenajarea gradinii
 
Football(Soccer)
Football(Soccer)Football(Soccer)
Football(Soccer)
 
Japan Power Point
Japan Power PointJapan Power Point
Japan Power Point
 

Similar a JBoss Snowdrop

JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionDimitris Andreadis
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek Gupta
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Abhishek Gupta
 
How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17Johan Janssen
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGArun Gupta
 
Java EE 02-First Servlet
Java EE 02-First ServletJava EE 02-First Servlet
Java EE 02-First ServletFernando Gil
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
Introduction to jsf2
Introduction to jsf2Introduction to jsf2
Introduction to jsf2Rajiv Gupta
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Skills Matter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Arun Gupta
 

Similar a JBoss Snowdrop (20)

JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2Glass Fish Slides Fy2009 2
Glass Fish Slides Fy2009 2
 
GlassFish Embedded API
GlassFish Embedded APIGlassFish Embedded API
GlassFish Embedded API
 
How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17How and why to upgrade to java 16 or 17
How and why to upgrade to java 16 or 17
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
 
Java EE 02-First Servlet
Java EE 02-First ServletJava EE 02-First Servlet
Java EE 02-First Servlet
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
GlassFish Community and future larochelle
GlassFish Community and future larochelleGlassFish Community and future larochelle
GlassFish Community and future larochelle
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Introduction to jsf2
Introduction to jsf2Introduction to jsf2
Introduction to jsf2
 
jsf2 Notes
jsf2 Notesjsf2 Notes
jsf2 Notes
 
Jbosstraining
JbosstrainingJbosstraining
Jbosstraining
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
 
DavidWible_res
DavidWible_resDavidWible_res
DavidWible_res
 

Más de Lukas Vlcek

Elasticsearch Monitoring in Openshift
Elasticsearch Monitoring in OpenshiftElasticsearch Monitoring in Openshift
Elasticsearch Monitoring in OpenshiftLukas Vlcek
 
JBug_React_and_Flux_2015
JBug_React_and_Flux_2015JBug_React_and_Flux_2015
JBug_React_and_Flux_2015Lukas Vlcek
 
Elasticsearch @JBoss.org, 2014
Elasticsearch @JBoss.org, 2014Elasticsearch @JBoss.org, 2014
Elasticsearch @JBoss.org, 2014Lukas Vlcek
 
An Introduction to Apache Hadoop, Mahout and HBase
An Introduction to Apache Hadoop, Mahout and HBaseAn Introduction to Apache Hadoop, Mahout and HBase
An Introduction to Apache Hadoop, Mahout and HBaseLukas Vlcek
 
Building search app with ElasticSearch
Building search app with ElasticSearchBuilding search app with ElasticSearch
Building search app with ElasticSearchLukas Vlcek
 
Compass Framework
Compass FrameworkCompass Framework
Compass FrameworkLukas Vlcek
 

Más de Lukas Vlcek (7)

Elasticsearch Monitoring in Openshift
Elasticsearch Monitoring in OpenshiftElasticsearch Monitoring in Openshift
Elasticsearch Monitoring in Openshift
 
JBug_React_and_Flux_2015
JBug_React_and_Flux_2015JBug_React_and_Flux_2015
JBug_React_and_Flux_2015
 
Elasticsearch @JBoss.org, 2014
Elasticsearch @JBoss.org, 2014Elasticsearch @JBoss.org, 2014
Elasticsearch @JBoss.org, 2014
 
An Introduction to Apache Hadoop, Mahout and HBase
An Introduction to Apache Hadoop, Mahout and HBaseAn Introduction to Apache Hadoop, Mahout and HBase
An Introduction to Apache Hadoop, Mahout and HBase
 
Building search app with ElasticSearch
Building search app with ElasticSearchBuilding search app with ElasticSearch
Building search app with ElasticSearch
 
Elastic Search
Elastic SearchElastic Search
Elastic Search
 
Compass Framework
Compass FrameworkCompass Framework
Compass Framework
 

Último

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

JBoss Snowdrop

  • 1. JBOSS SNOWDROP TITLE SLIDE: HEADLINE Presenter Lukáš Vlček name Senior QAHat Title, Red Engineer, JBoss January 25th, 2010 Date 1 CZJUG JAN-2010 | LUKAS VLCEK
  • 2. What is JBoss Snowdrop? ● Informal: “... you can easily develop, deploy and run Spring based applications on JBoss AS utilizing its JEE services” ● More formal: Snowdrop is a utility package that contains JBoss specific extensions to the Spring Framework. ● License: LGPL v2.1 ● Hosted: http://jboss.org/snowdrop 2 CZJUG JAN-2010 | LUKAS VLCEK
  • 3. Why Using Spring on JBoss AS? ● Spring provides popular development model ● JBoss AS provides runtime services ● More details: Spring on JBoss, JBoss World 2009 by Marius Bogoevici (Snowdrop lead developer) “JBoss is a great place for running Spring applications!” ● http://www.redhat.com/f/pdf/jbw/mbogoevici_1050_spring_on_jboss.pdf 3 CZJUG JAN-2010 | LUKAS VLCEK
  • 4. Spring Deployer ● Recognizes and deploy Spring applications ● /META-INF/*-spring.xml (archives: JAR, WAR, EAR...) How it works: Spring deployer parses the deployment descriptor to create a Spring bean factory, and registers that Spring bean factory under some JNDI name so that it can be looked up and used by other applications. And if deployed archive is removed, JBoss destroy the bean factory and unregister it from JNDI. 4 CZJUG JAN-2010 | LUKAS VLCEK
  • 5. Example of /META-INF/jboss-spring.xml ● Spring BeanFactory is registered in JNDI with name SpringDao. <?xml version="1.0" encoding="UTF­8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema­instance"        xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring­beans.xsd">     <description>BeanFactory=(SpringDao)</description>     <import resource="classpath*:dao­context.xml"/>     <import resource="classpath*:infrastructure.xml"/> </beans> 5 CZJUG JAN-2010 | LUKAS VLCEK
  • 6. JBoss Virtual File System ● JDK URL resource handling is not easy ● Windows file locking, code duplicity ● Virtual File System was created to solve these issues but resource and classpath scanning in Spring's 2.5.x did not work properly: ● if resource path has [*] after [:] <import resource=”classpath*:META­INF/*.xml”/> ● if classes need to be scanned for annotations <context:component­scan base­package="org.jboss.snowdrop.sample.springmvc"/> 6 CZJUG JAN-2010 | LUKAS VLCEK
  • 7. JBoss VFS Support Solution ● JBoss added two implementations of ApplicationContext Spring class JBoss class ClassPathXmlApplicationContext VFSClassPathXmlApplicationContext XmlWebApplicationContext VFSXmlWebApplicationContext <servlet>    <servlet­name>spring­mvc­servlet</servlet­name>    <servlet­class>org.springframework.web.servlet.DispatcherServlet</servlet­class>    <init­param>       <param­name>contextClass</param­name>       <param­value>          org.jboss.spring.vfs.context.VFSXmlWebApplicationContext       </param­value>    </init­param>    <init­param>       <param­name>contextConfigLocation</param­name>       <param­value>/WEB­INF/spring­servlet­context.xml</param­value>   </init­param> </servlet> 7 CZJUG JAN-2010 | LUKAS VLCEK
  • 8. Injecting Spring Beans in EJB3 ● Spring deployer introduced new annotation: @Spring ● Using Spring @Autowired annotation @Stateless @Interceptors(SpringLifecycleInterceptor.class) @LocalBinding(jndiBinding = "sportsclub/SubscriptionService") public class SubscriptionServiceImpl implements SubscriptionService {    @Spring(bean = "accountRepository", jndiName = "SpringDao")    private AccountRepository accountRepository;    @Spring(bean = "personRepository", jndiName = "SpringDao")    private PersonRepository personRepository;  ... } 8 CZJUG JAN-2010 | LUKAS VLCEK
  • 9. JSF and Spring ● Spring provides implementation of ELResolver faces­config.xml <application>     <view­handler>com.sun.facelets.FaceletViewHandler</view­handler>     <el­resolver>         org.springframework.web.jsf.el.SpringBeanFacesELResolver     </el­resolver> </application> web.xml <context­param>     <param­name>contextConfigLocation</param­name>     <param­value>/WEB­INF/spring­beans.xml</param­value> </context­param> <listener>     <listener­class>         org.springframework.web.context.ContextLoaderListener     </listener­class> </listener> 9 CZJUG JAN-2010 | LUKAS VLCEK
  • 10. Not Covered in this Lightning Talk ● JTA ● JAX-WS ● JPA ● JMX ● Tooling (JBoss Eclipse extensions) ... see Snowdrop examples and Marius' presentation 10 CZJUG JAN-2010 | LUKAS VLCEK
  • 11. Snowdrop Status ● 1.0.0GA released in October 2009 ● Supports ● JBoss AS 5.x (preferably 5.1.0 GA) ● Spring 2.5.x (preferably 2.5.6 SEC01) ● 1.1.0GA to be released soon 11 CZJUG JAN-2010 | LUKAS VLCEK
  • 12. Snowdrop Roadmap ● Spring AOP integration with JBoss AOP ● Spring integration with JBoss MC ● Clustering support for Spring through Infinispan ● Spring 3 ● JBoss AS 6 12 CZJUG JAN-2010 | LUKAS VLCEK
  • 13. Related Articles ● Spring and EJB 3.0 in Harmony, Aleš Justin (2006 ~ little dated) http://java.sys-con.com/node/180386 Spring deployer, Injecting Spring into EJB ● DZone JBoss Microcontainer Series, Aleš Justin (2008-2009) Component Model, Advanced Dependency Injection and IoC, Virtual File System, ClassLoading Layer 13 CZJUG JAN-2010 | LUKAS VLCEK
  • 14. Questions? 14 CZJUG JAN-2010 | LUKAS VLCEK