TITLE SLIDE: HEADLINE
    Bridging the gap between web services
    technologies and real world needs
      Presenter
      name Soldano
      Alessio
      Title, Red Hat
      Web Services Lead
      Date
      September 16, 2011



1
From application requirements to WS offer



Application / design requirements:     Web Services offer:
    ●   Integration of heterogeneous   ●   Interoperability
        systems
                                       ●   Standards
    ●   Vendor neutral communication
                                       ●   Security
    ●   Loosely coupled components
        design                         ●   Reliability

    ●   QoS                            ●   Transactions

    ●   ...                            ●   ...




2
Understanding webservices offer
      ●   SOAP                                           ●   How do I use them?
      ●   WSDL                                           ●   Which of them do I really need?
      ●   UDDI                                           ●   Will my customers/partners
      ●   WS-*                                               support them?

      ●   ...
                                                     ?             ... and also... (!)


                                                         ●   How to match these technologies
                                                             with my architecture design?
                                                         ●   What about SOA ?
                                                         ●   ... and REST?
                                                         ●   ... and clouds?
                                                         ●   ...

Web Services Standars Overview poster – 2007 innoQ
  3
JBoss / Red Hat roles


                             Provide tools / products   Consulting & support




    Drive / participate in                                              Iteroperability tests
    standards definition




                             Participate in defining        Community fostering
                             APIs for using standards       and evangelization



4
Standards and specifications involvement
                    ...taking part in defining the webservices world...




      ●   WS-RA                                   ●   WS-TX
                ●    WS-Transfer                            ●   WS-Coordination
                ●    WS-Fragment                            ●   WS-AtomicTransaction
                ●    WS-Eventing                            ●   WS-BusinessActivity
                ●    WS-Enumeration               ●   WS-RX
                ●    WS-MetadataExchange
                                                            ●   WS-ReliableMessaging
      ●   WS-Addressing
                                                  ●   WS-SX
      ●   WS-Policy                                         ●   WS-Trust
      ●   ...                                               ●   WS-SecureConversation
                                                            ●   WS-SecurityPolicy

                                                  ●   SAML

5                                                 ●   ...
Standards and specifications involvement
    ... and in the way vendors and implementors are to leverage standards...




         ●
             JSR-224 JavaTM API for XML-based Web Services (JAX-WS) 2.0
         ●
             JSR-181 Web Services Metadata for the JavaTM platform
         ●   JSR-109 Enterprise Web Services
         ●
             JSR-101 JavaTM APIs for XML-based RPC
         ●   ...




6
Interoperability efforts

    ●   Ensuring compliance against WS-I profiles


    ●   Taking part in W3C standards' testing


    ●   Joining thirdparty independent testing
        groups


    ●   Performing internal interop tests as part of
        platforms productization




7
JBoss webservices projects
    ●   JBossWS: JSR-224 (JAX-WS), JSR-109, JSR-181, JSR-101, WS-
        Addressing, WS-ReliableMessaging, WS-Security, WS-Policy*
    ●   RestEASY: JSR-311 (JAX-RS)



                      JBossWS                            RESTEasy

                                                                                          JBossTools
             SwitchYard                  RiftSaw               Savara


             PicketLink            JBoss Transactions             ...


                      WS-Trust,      WS-TX              Design validation/verification:
                      SAML                              tooling WS-CDL, WS-BPEL

        Develop, deploy, manage               BPEL processes orchestration:        IDE tooling including WS
        service-oriented applications:        WS-BPEL 2.0                          features
        ESB
8
Integration for solving real world issues

    ●   JBoss Application Server as target container
    ●   Thirdparty OS projects integration
         ●   Apache CXF
         ●   Apache jUDDI
         ●   Apache Camel
         ●   ...
    ●   Added value
         ●   Tooling
         ●   New features
         ●   Simplified APIs for non-standard stuff
         ●   Pre-built solutions for common needs
                   ●   WS-Security UsernameToken Profile JAAS integration
                   ●   STS provider
         ●   ...
9
Tools
 ●   Tools for code-first / contract-fist development
       ●   IDE
       ●   Command line
       ●   Maven plugins
       ●   Ant tasks
 ●   Management




10
Examples & solutions
 ●   WS-Security EJB3 endpoint w/ authentication & authorization
     based on policy relying on username token profile...
     package org.jboss.test.ws.jaxws.samples.wsse.policy.jaas;
     import javax.*;
     import org.apache.cxf.interceptor.InInterceptors;
     import org.jboss.ws.api.annotation.EndpointConfig;
     @WebService (
         portName = "SecurityServicePort",
         serviceName = "SecurityService",
         wsdlLocation = "META-INF/wsdl/SecurityService.wsdl",
         targetNamespace = "http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy",
         endpointInterface = "org.jboss.test.ws.jaxws.samples.wsse.policy.jaas.ServiceIface")
     @Stateless(name=”EjbEndpoint”)
     @EndpointConfig(configFile = "META-INF/jaxws-ep-cfg.xml", configName = "Custom wsse ep")
     @InInterceptors(interceptors = {       "org.jboss.wsf.stack.cxf.security.authentication.SubjectCreatingPolicyInterceptor"})
     @SecurityDomain(“JBossWS”)
     public class ServiceImpl {
         @RolesAllowed(“friend”)
         public String sayHello() { return "Secure Hello World!"; }
     }



11
Examples & solutions
 ●   JBoss ESB: Web Services functionalities as part of the ESB approach to enterprise
     application integration


      ●   SOAP Client - Wise


      ●   SOAP Processor


      ●   SOAP Proxy
           ●   More loose coupling
           ●   Modified contract
           ●   Versioning
           ●   Added features
           ●   Complex routing




12
JBoss Community and JBoss Enterprise Middleware



●    Focus “release early,         ●   Use case driven
     release often”                    platforms that integrate
                                       multiple projects into a
●    40+ projects with                 single distribution
     different release
     schedules, versions,          ●   Focus on long- term
     dependencies, etc.                stability, supportability,
                                       & sustainability
●    100,000+ registered
     developers                    ●   Includes patches &
                                       updates for up to 5
●    Community support                 years
     with forums, project
     developers, wiki, issue       ●   Up to 24x7 enterprise
     trackers, etc.                    support for mission
                                       critical applications




13

JBoss / Red Hat: bridging the gap between web services technologies and real world needs

  • 1.
    TITLE SLIDE: HEADLINE Bridging the gap between web services technologies and real world needs Presenter name Soldano Alessio Title, Red Hat Web Services Lead Date September 16, 2011 1
  • 2.
    From application requirementsto WS offer Application / design requirements: Web Services offer: ● Integration of heterogeneous ● Interoperability systems ● Standards ● Vendor neutral communication ● Security ● Loosely coupled components design ● Reliability ● QoS ● Transactions ● ... ● ... 2
  • 3.
    Understanding webservices offer ● SOAP ● How do I use them? ● WSDL ● Which of them do I really need? ● UDDI ● Will my customers/partners ● WS-* support them? ● ... ? ... and also... (!) ● How to match these technologies with my architecture design? ● What about SOA ? ● ... and REST? ● ... and clouds? ● ... Web Services Standars Overview poster – 2007 innoQ 3
  • 4.
    JBoss / RedHat roles Provide tools / products Consulting & support Drive / participate in Iteroperability tests standards definition Participate in defining Community fostering APIs for using standards and evangelization 4
  • 5.
    Standards and specificationsinvolvement ...taking part in defining the webservices world... ● WS-RA ● WS-TX ● WS-Transfer ● WS-Coordination ● WS-Fragment ● WS-AtomicTransaction ● WS-Eventing ● WS-BusinessActivity ● WS-Enumeration ● WS-RX ● WS-MetadataExchange ● WS-ReliableMessaging ● WS-Addressing ● WS-SX ● WS-Policy ● WS-Trust ● ... ● WS-SecureConversation ● WS-SecurityPolicy ● SAML 5 ● ...
  • 6.
    Standards and specificationsinvolvement ... and in the way vendors and implementors are to leverage standards... ● JSR-224 JavaTM API for XML-based Web Services (JAX-WS) 2.0 ● JSR-181 Web Services Metadata for the JavaTM platform ● JSR-109 Enterprise Web Services ● JSR-101 JavaTM APIs for XML-based RPC ● ... 6
  • 7.
    Interoperability efforts ● Ensuring compliance against WS-I profiles ● Taking part in W3C standards' testing ● Joining thirdparty independent testing groups ● Performing internal interop tests as part of platforms productization 7
  • 8.
    JBoss webservices projects ● JBossWS: JSR-224 (JAX-WS), JSR-109, JSR-181, JSR-101, WS- Addressing, WS-ReliableMessaging, WS-Security, WS-Policy* ● RestEASY: JSR-311 (JAX-RS) JBossWS RESTEasy JBossTools SwitchYard RiftSaw Savara PicketLink JBoss Transactions ... WS-Trust, WS-TX Design validation/verification: SAML tooling WS-CDL, WS-BPEL Develop, deploy, manage BPEL processes orchestration: IDE tooling including WS service-oriented applications: WS-BPEL 2.0 features ESB 8
  • 9.
    Integration for solvingreal world issues ● JBoss Application Server as target container ● Thirdparty OS projects integration ● Apache CXF ● Apache jUDDI ● Apache Camel ● ... ● Added value ● Tooling ● New features ● Simplified APIs for non-standard stuff ● Pre-built solutions for common needs ● WS-Security UsernameToken Profile JAAS integration ● STS provider ● ... 9
  • 10.
    Tools ● Tools for code-first / contract-fist development ● IDE ● Command line ● Maven plugins ● Ant tasks ● Management 10
  • 11.
    Examples & solutions ● WS-Security EJB3 endpoint w/ authentication & authorization based on policy relying on username token profile... package org.jboss.test.ws.jaxws.samples.wsse.policy.jaas; import javax.*; import org.apache.cxf.interceptor.InInterceptors; import org.jboss.ws.api.annotation.EndpointConfig; @WebService ( portName = "SecurityServicePort", serviceName = "SecurityService", wsdlLocation = "META-INF/wsdl/SecurityService.wsdl", targetNamespace = "http://www.jboss.org/jbossws/ws-extensions/wssecuritypolicy", endpointInterface = "org.jboss.test.ws.jaxws.samples.wsse.policy.jaas.ServiceIface") @Stateless(name=”EjbEndpoint”) @EndpointConfig(configFile = "META-INF/jaxws-ep-cfg.xml", configName = "Custom wsse ep") @InInterceptors(interceptors = { "org.jboss.wsf.stack.cxf.security.authentication.SubjectCreatingPolicyInterceptor"}) @SecurityDomain(“JBossWS”) public class ServiceImpl { @RolesAllowed(“friend”) public String sayHello() { return "Secure Hello World!"; } } 11
  • 12.
    Examples & solutions ● JBoss ESB: Web Services functionalities as part of the ESB approach to enterprise application integration ● SOAP Client - Wise ● SOAP Processor ● SOAP Proxy ● More loose coupling ● Modified contract ● Versioning ● Added features ● Complex routing 12
  • 13.
    JBoss Community andJBoss Enterprise Middleware ● Focus “release early, ● Use case driven release often” platforms that integrate multiple projects into a ● 40+ projects with single distribution different release schedules, versions, ● Focus on long- term dependencies, etc. stability, supportability, & sustainability ● 100,000+ registered developers ● Includes patches & updates for up to 5 ● Community support years with forums, project developers, wiki, issue ● Up to 24x7 enterprise trackers, etc. support for mission critical applications 13