SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Web Services



   Alessio Soldano
alessio.soldano@jboss.com

 Principal Software Eng.
     JBoss - Red Hat

     April 12th, 2012
Who is Alessio?

●   JBoss WS[1] committer since early 2007
●   JBoss / Red Hat employee since end of 2007
●   JBoss Web Service Lead, 2008
●   Contributor to JBoss AS[2] and other JBoss
    Community projects
●   Current Red Hat representative at JSR-224 EG
    and W3C WS-ResourceAccess WG
●   Apache CXF[3] committer and PMC member

    [1] http://www.jboss.org/jbossws   [2] http://www.jboss.org/jbossas

    [3] http://cxf.apache.org
Agenda

●   What is JBoss WS ?

    ●   Apache CXF integration

    ●   Features


●   JBoss AS 7.1
    ●   Key features

    ●   WS components

●   Demo
What is JBossWS?

●   “Just” a feature-rich JAX-WS compatible ws
    stack till early 2008...
        –   AS 4.x, AS 5.x target containers

●   ... a web services framework providing
    integration layers for 3rd party ws stacks on top
    of multiple JBoss AS versions
        –   CXF, Native and Metro stack
        –   AS 5.x, AS 6.x target containers

●   ... the interface and integration point of Apache
    CXF in JBoss application server
        –   AS 6.x, AS 7.x target containers
Reasons for integrating

●   really good open source implementations
    already available - NIH syndrome
●   focus on added value
●   ... a lot of Web Services specifications!
Who benefits from this move

●   The JBoss community:
        –   greater joint community support
        –   core devs can work on added value and
             application server specific integration

●   The integrated ws project and its community:
        –   additional tests
        –   bugs detection and fix
        –   ...
Why Apache CXF?
●   tech analysis: features, quality of code, performances,
    extensibility ...
●   community size / activity
●   opennes to participation / involvement
        –   commit rights
        –   support paths
        –   need for a deal?
●   driving forces behind the project?
●   future potential


    Apache CXF perfectly fitted, others didn't...
A contribution balance
●   JBoss -> Apache CXF community
        –   Java EE TCK6 testing
        –   Additional testing scenarios
        –   Multiple bug fixes
        –   Endpoint.publish() API additions in JAXWS 2.2


●   Apache CXF community -> JBoss
        –   Quick time-to-market with JAXWS 2.2
        –   Many WS-* features, especially in the WS-Security
             area
        –   Multiple bug fixes
        –   ...
Features
●   Inherited from Apache CXF
       –   JAXWS 2.2
       –   WS-* (RM, Security, Policy, Addressing, ...)
●   JBossWS Integration
       –   AS integration (authentication, authorization, ...)
       –   Additional API (e.g. @EndpointConfig)
       –   Tooling (Maven, Ant, ...)
       –   JSR109 1.3
       –   JAXBIntroductions
       –   Common JAX-WSA JSR-261 API
       –   Management (console, record system, ...)
Do I really need your integration
                  layer?
●   Home-brew solutions for running CXF on JBoss
    AS might work for specific usecases, but you...
        –   need to embed the stack in your apps
        –   will suffer from classloading issues
        –   can just use pojo endpoints
        –   have no webserviceref injection in ejb3
        –   loose additional JBossWS features
        –   ...
How it works - runtime

                                     Request flow



                                       WS-*         ...
 Endpoint servlet



                    RequestHandler




                                                          Invoker
                                                                    JBoss
                                         Apache CXF                  AS

                                               JAX-WS
                                        ...    handlers




                                     Response flow
How it works - deployment

●   POJO endpoint
    @WebService(...)               <web-app ...>                   [optional web.xml]
                                    <servlet>
    public class MyEndpoint {        <servlet-name>TestService</servlet-name>
      public String sayHello() {     <servlet-class>org.jboss.test.ws.jaxws.samples.MyEndpoint</servlet-class>
        return "Hello World!";      </servlet>
      }                             <servlet-mapping>
    }                                <servlet-name>TestService</servlet-name>
                                     <url-pattern>/*</url-pattern>
                                    </servlet-mapping>
                                   </web-app>



●   EJB3 endpoint                                                         ● Create metadata to
                                                                          deploy jboss-web app
    @WebService(...)                                                      ● Create CXF bus

    @Stateless                                                            ● Customize CXF bus

    public class MyEndpoint {                                             ● Start web app for

      public String sayHello() {                                            published endpoints
        return "Hello World!";
      }
    }
JBoss Application Server 7.1

●   JavaEE 6 Full Profile compliant
●   Fast and lighweight
●   Domain management (DMR)
●   Multiple management interfaces (CLI, API,
    console)
●   Modular classloading
●   Standalone and Domain operational modes
●   Arquillian support
JBossWS in AS 7

●   webservices subsystem part of AS7 DMR
       –   wsdl soap:address rewrite
       –   pre-defined endpoint configs
●   Modules
       –   org.jboss.ws.*
       –   org.jboss.as.webservices.*
       –   org.apache.cxf
       –   misc dependencies (Santuario, WSS4J, WSDL4J, etc.)
●   Command line tools
       –   wsconsume.sh/bat, wsprovide.sh/bat
So, why JBossAS 7 for WS?

●   Lightweight yet full JavaEE6 compliant container
●   Fast start-up / easy development & testing
●   Apache CXF integration
        –   Wide range of WS specs coverage
        –   Performances
●   Peace of mind coming from
        –   “joint” JBoss / Apache CXF community
        –   Red Hat support if moving to Enterprise Platform
Demo

●   Basic WS endpoint deployment
        –   AS7 console
●   WS-Security UT Profile JAAS integration
        –   Policy driven approach
        –   AS7 / CXF security integration
            <subsystem xmlns="urn:jboss:domain:security:1.1">
              <security-domains>
                 <!-- ... other security domains ... -->
                 <security-domain name="JBossWS">
                    <authentication>
                         <login-module code="UsersRoles" flag="required">
                           <module-option name="usersProperties" value="jbossws-users.properties"/>
                           <module-option name="unauthenticatedIdentity" value="anonymous"/>
                           <module-option name="rolesProperties" value="jbossws-roles.properties"/>
                        </login-module>
                     </authentication>
                 </security-domain>
              </security-domains>
            </subsystem>
Demo -> OpenShift

●   WS-Security interoperability endpoints
         –    http://jbossws.blogspot.it/2012/04/ws-endpoints-on-openshift.html



●   Try it!
         –    http://jbossws-asoldano.rhcloud.com/jbossws-cxf-wsse-interop
●   Read some doc ;-)
         –    https://docs.jboss.org/author/display/JBWS/WS-Security
●   Clone the repo!
         –    https://github.com/asoldano/jbossws-cxf-wsse-interop-openshift
●   Look at the webapp sources
         –    http://anonsvn.jboss.org/repos/jbossws/projects/interop/cxf/wsse-webapp/
                  (webapp)
         –    http://download.jboss.org/jbossws/jbossws-cxf-4.0.2.GA.zip
                 (endpoints)
Links

●   AS 7.1 documentation (WS and anything)
        –   https://docs.jboss.org/author/display/JBWS
        –   https://docs.jboss.org/author/display/AS71/
●   http://www.jboss.org/jbossws
●   http://www.jboss.org/jbossas
●   http://jbossws.blogspot.com/
Thanks!




          Q&A

Mais conteúdo relacionado

Mais procurados

JBoss Negotiation in AS7
JBoss Negotiation in AS7JBoss Negotiation in AS7
JBoss Negotiation in AS7Josef Cacek
 
RESTful web service with JBoss Fuse
RESTful web service with JBoss FuseRESTful web service with JBoss Fuse
RESTful web service with JBoss Fuseejlp12
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기jbugkorea
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7Lukáš Fryč
 
JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7Ray Ploski
 
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7Samuel Tauil
 
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
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
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.
 
Server Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoServer Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoJUG Genova
 
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
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overviewsbobde
 
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
 
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
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Arun Gupta
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Codecamp Romania
 

Mais procurados (19)

JBoss Negotiation in AS7
JBoss Negotiation in AS7JBoss Negotiation in AS7
JBoss Negotiation in AS7
 
RESTful web service with JBoss Fuse
RESTful web service with JBoss FuseRESTful web service with JBoss Fuse
RESTful web service with JBoss Fuse
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기
 
Web Technologies in Java EE 7
Web Technologies in Java EE 7Web Technologies in Java EE 7
Web Technologies in Java EE 7
 
JBoss Application Server 7
JBoss Application Server 7JBoss Application Server 7
JBoss Application Server 7
 
JBoss AS 7
JBoss AS 7JBoss AS 7
JBoss AS 7
 
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7JUDCon Brazil 2013 - Domain Models with JBoss AS 7
JUDCon Brazil 2013 - Domain Models with JBoss AS 7
 
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
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
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
 
Server Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoServer Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio Soldano
 
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
 
Sun Java EE 6 Overview
Sun Java EE 6 OverviewSun Java EE 6 Overview
Sun Java EE 6 Overview
 
Java EE 6 Component Model Explained
Java EE 6 Component Model Explained Java EE 6 Component Model Explained
Java EE 6 Component Model Explained
 
Java 7 workshop
Java 7 workshopJava 7 workshop
Java 7 workshop
 
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
 
Apache Maven for AT/QC
Apache Maven for AT/QCApache Maven for AT/QC
Apache Maven for AT/QC
 
Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3Java EE 6 & GlassFish 3
Java EE 6 & GlassFish 3
 
Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010Java EE6 CodeCamp16 oct 2010
Java EE6 CodeCamp16 oct 2010
 

Destaque

Destaque (15)

Aku bangga menjadi seorang muslim
Aku bangga menjadi seorang muslimAku bangga menjadi seorang muslim
Aku bangga menjadi seorang muslim
 
Aku muslim
Aku muslimAku muslim
Aku muslim
 
CRCM 20131121
CRCM 20131121CRCM 20131121
CRCM 20131121
 
JBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testingJBoss Wise: breaking barriers to WS testing
JBoss Wise: breaking barriers to WS testing
 
Odd2012w ドロンくんふたたび
Odd2012w ドロンくんふたたびOdd2012w ドロンくんふたたび
Odd2012w ドロンくんふたたび
 
Odd2011f アプリで楽しむドロンくん
Odd2011f アプリで楽しむドロンくんOdd2011f アプリで楽しむドロンくん
Odd2011f アプリで楽しむドロンくん
 
Infographie Opendata Begles
Infographie Opendata BeglesInfographie Opendata Begles
Infographie Opendata Begles
 
Kebanggaan Muslim
Kebanggaan MuslimKebanggaan Muslim
Kebanggaan Muslim
 
Mengelola Waktu
Mengelola WaktuMengelola Waktu
Mengelola Waktu
 
Adi
AdiAdi
Adi
 
Agama islam
Agama islamAgama islam
Agama islam
 
ODD2013fドロンくん
ODD2013fドロンくんODD2013fドロンくん
ODD2013fドロンくん
 
Makalah aku bangga jadi anak indonesia
Makalah aku bangga jadi anak indonesiaMakalah aku bangga jadi anak indonesia
Makalah aku bangga jadi anak indonesia
 
Islam agamaku
Islam agamakuIslam agamaku
Islam agamaku
 
Keistimewaan muslimin dan mukminin
Keistimewaan muslimin dan mukmininKeistimewaan muslimin dan mukminin
Keistimewaan muslimin dan mukminin
 

Semelhante a As7 web services - JUG Milan April 2012

JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJava User Group Roma
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris Andreadis
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
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
 
Shake Hooves With BeEF - OWASP AppSec APAC 2012
Shake Hooves With BeEF - OWASP AppSec APAC 2012Shake Hooves With BeEF - OWASP AppSec APAC 2012
Shake Hooves With BeEF - OWASP AppSec APAC 2012Christian Frichot
 
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
 
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
 
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
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
Java Web services
Java Web servicesJava Web services
Java Web servicesvpulec
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyWASdev Community
 
Building assets on the fly with Node.js
Building assets on the fly with Node.jsBuilding assets on the fly with Node.js
Building assets on the fly with Node.jsAcquisio
 
JBoss AS Upgrade
JBoss AS UpgradeJBoss AS Upgrade
JBoss AS Upgradesharmami
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)David Chou
 

Semelhante a As7 web services - JUG Milan April 2012 (20)

JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
 
JBossWS Project by Alessio Soldano
JBossWS Project by Alessio SoldanoJBossWS Project by Alessio Soldano
JBossWS Project by Alessio Soldano
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
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
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Shake Hooves With BeEF - OWASP AppSec APAC 2012
Shake Hooves With BeEF - OWASP AppSec APAC 2012Shake Hooves With BeEF - OWASP AppSec APAC 2012
Shake Hooves With BeEF - OWASP AppSec APAC 2012
 
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
 
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
 
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 ...
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
jsf2 Notes
jsf2 Notesjsf2 Notes
jsf2 Notes
 
Play framework
Play frameworkPlay framework
Play framework
 
Java Web services
Java Web servicesJava Web services
Java Web services
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
Building assets on the fly with Node.js
Building assets on the fly with Node.jsBuilding assets on the fly with Node.js
Building assets on the fly with Node.js
 
JBoss AS Upgrade
JBoss AS UpgradeJBoss AS Upgrade
JBoss AS Upgrade
 
Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)Java on Windows Azure (Cloud Computing Expo 2010)
Java on Windows Azure (Cloud Computing Expo 2010)
 
Jboss
JbossJboss
Jboss
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

As7 web services - JUG Milan April 2012

  • 1. Web Services Alessio Soldano alessio.soldano@jboss.com Principal Software Eng. JBoss - Red Hat April 12th, 2012
  • 2. Who is Alessio? ● JBoss WS[1] committer since early 2007 ● JBoss / Red Hat employee since end of 2007 ● JBoss Web Service Lead, 2008 ● Contributor to JBoss AS[2] and other JBoss Community projects ● Current Red Hat representative at JSR-224 EG and W3C WS-ResourceAccess WG ● Apache CXF[3] committer and PMC member [1] http://www.jboss.org/jbossws [2] http://www.jboss.org/jbossas [3] http://cxf.apache.org
  • 3. Agenda ● What is JBoss WS ? ● Apache CXF integration ● Features ● JBoss AS 7.1 ● Key features ● WS components ● Demo
  • 4. What is JBossWS? ● “Just” a feature-rich JAX-WS compatible ws stack till early 2008... – AS 4.x, AS 5.x target containers ● ... a web services framework providing integration layers for 3rd party ws stacks on top of multiple JBoss AS versions – CXF, Native and Metro stack – AS 5.x, AS 6.x target containers ● ... the interface and integration point of Apache CXF in JBoss application server – AS 6.x, AS 7.x target containers
  • 5. Reasons for integrating ● really good open source implementations already available - NIH syndrome ● focus on added value ● ... a lot of Web Services specifications!
  • 6.
  • 7. Who benefits from this move ● The JBoss community: – greater joint community support – core devs can work on added value and application server specific integration ● The integrated ws project and its community: – additional tests – bugs detection and fix – ...
  • 8. Why Apache CXF? ● tech analysis: features, quality of code, performances, extensibility ... ● community size / activity ● opennes to participation / involvement – commit rights – support paths – need for a deal? ● driving forces behind the project? ● future potential Apache CXF perfectly fitted, others didn't...
  • 9. A contribution balance ● JBoss -> Apache CXF community – Java EE TCK6 testing – Additional testing scenarios – Multiple bug fixes – Endpoint.publish() API additions in JAXWS 2.2 ● Apache CXF community -> JBoss – Quick time-to-market with JAXWS 2.2 – Many WS-* features, especially in the WS-Security area – Multiple bug fixes – ...
  • 10. Features ● Inherited from Apache CXF – JAXWS 2.2 – WS-* (RM, Security, Policy, Addressing, ...) ● JBossWS Integration – AS integration (authentication, authorization, ...) – Additional API (e.g. @EndpointConfig) – Tooling (Maven, Ant, ...) – JSR109 1.3 – JAXBIntroductions – Common JAX-WSA JSR-261 API – Management (console, record system, ...)
  • 11. Do I really need your integration layer? ● Home-brew solutions for running CXF on JBoss AS might work for specific usecases, but you... – need to embed the stack in your apps – will suffer from classloading issues – can just use pojo endpoints – have no webserviceref injection in ejb3 – loose additional JBossWS features – ...
  • 12. How it works - runtime Request flow WS-* ... Endpoint servlet RequestHandler Invoker JBoss Apache CXF AS JAX-WS ... handlers Response flow
  • 13. How it works - deployment ● POJO endpoint @WebService(...) <web-app ...> [optional web.xml] <servlet> public class MyEndpoint { <servlet-name>TestService</servlet-name> public String sayHello() { <servlet-class>org.jboss.test.ws.jaxws.samples.MyEndpoint</servlet-class> return "Hello World!"; </servlet> } <servlet-mapping> } <servlet-name>TestService</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> ● EJB3 endpoint ● Create metadata to deploy jboss-web app @WebService(...) ● Create CXF bus @Stateless ● Customize CXF bus public class MyEndpoint { ● Start web app for public String sayHello() { published endpoints return "Hello World!"; } }
  • 14. JBoss Application Server 7.1 ● JavaEE 6 Full Profile compliant ● Fast and lighweight ● Domain management (DMR) ● Multiple management interfaces (CLI, API, console) ● Modular classloading ● Standalone and Domain operational modes ● Arquillian support
  • 15. JBossWS in AS 7 ● webservices subsystem part of AS7 DMR – wsdl soap:address rewrite – pre-defined endpoint configs ● Modules – org.jboss.ws.* – org.jboss.as.webservices.* – org.apache.cxf – misc dependencies (Santuario, WSS4J, WSDL4J, etc.) ● Command line tools – wsconsume.sh/bat, wsprovide.sh/bat
  • 16. So, why JBossAS 7 for WS? ● Lightweight yet full JavaEE6 compliant container ● Fast start-up / easy development & testing ● Apache CXF integration – Wide range of WS specs coverage – Performances ● Peace of mind coming from – “joint” JBoss / Apache CXF community – Red Hat support if moving to Enterprise Platform
  • 17. Demo ● Basic WS endpoint deployment – AS7 console ● WS-Security UT Profile JAAS integration – Policy driven approach – AS7 / CXF security integration <subsystem xmlns="urn:jboss:domain:security:1.1"> <security-domains> <!-- ... other security domains ... --> <security-domain name="JBossWS"> <authentication> <login-module code="UsersRoles" flag="required"> <module-option name="usersProperties" value="jbossws-users.properties"/> <module-option name="unauthenticatedIdentity" value="anonymous"/> <module-option name="rolesProperties" value="jbossws-roles.properties"/> </login-module> </authentication> </security-domain> </security-domains> </subsystem>
  • 18. Demo -> OpenShift ● WS-Security interoperability endpoints – http://jbossws.blogspot.it/2012/04/ws-endpoints-on-openshift.html ● Try it! – http://jbossws-asoldano.rhcloud.com/jbossws-cxf-wsse-interop ● Read some doc ;-) – https://docs.jboss.org/author/display/JBWS/WS-Security ● Clone the repo! – https://github.com/asoldano/jbossws-cxf-wsse-interop-openshift ● Look at the webapp sources – http://anonsvn.jboss.org/repos/jbossws/projects/interop/cxf/wsse-webapp/ (webapp) – http://download.jboss.org/jbossws/jbossws-cxf-4.0.2.GA.zip (endpoints)
  • 19. Links ● AS 7.1 documentation (WS and anything) – https://docs.jboss.org/author/display/JBWS – https://docs.jboss.org/author/display/AS71/ ● http://www.jboss.org/jbossws ● http://www.jboss.org/jbossas ● http://jbossws.blogspot.com/
  • 20. Thanks! Q&A