SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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