Upload
ecows2011
View
1.700
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
1
TITLE SLIDE: HEADLINE
Presenter
nameTitle, Red HatDate
Bridging the gap between web services
technologies and real world needs
Alessio Soldano
Web Services Lead
September 16, 2011
2
From application requirements to WS offer
Web Services offer:
● Interoperability
● Standards
● Security
● Reliability
● Transactions
● ...
Application / design requirements:
● Integration of heterogeneous systems
● Vendor neutral communication
● Loosely coupled components design
● QoS
● ...
3
Understanding webservices offer
● How do I use them?
● Which of them do I really need?
● Will my customers/partners support them?
... and also... (!)
● How to match these technologies with my architecture design?
● What about SOA ?
● ... and REST?
● ... and clouds?
● ...
● SOAP
● WSDL
● UDDI
● WS-*
● ... ?
Web Services Standars Overview poster – 2007 innoQ
4
JBoss / Red Hat roles
Provide tools / products
Iteroperability testsDrive / participate in standards definition
Community fostering and evangelization
Participate in defining APIs for using standards
Consulting & support
5
Standards and specifications involvement...taking part in defining the webservices world...
● WS-RA
● WS-Transfer
● WS-Fragment
● WS-Eventing
● WS-Enumeration
● WS-MetadataExchange
● WS-Addressing
● WS-Policy
● ...
● WS-TX
● WS-Coordination
● WS-AtomicTransaction
● WS-BusinessActivity
● WS-RX
● WS-ReliableMessaging
● WS-SX
● WS-Trust
● WS-SecureConversation
● WS-SecurityPolicy
● SAML
● ...
6
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
● ...
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
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)
Develop, deploy, manage service-oriented applications: ESB
JBossWS RESTEasy
SwitchYard RiftSaw Savara
PicketLink JBoss Transactions ...
JBossTools
WS-Trust, SAML
BPEL processes orchestration: WS-BPEL 2.0
WS-TX Design validation/verification: tooling WS-CDL, WS-BPEL
IDE tooling including WS features
9
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
● ...
10
Tools● Tools for code-first / contract-fist development
● IDE
● Command line
● Maven plugins
● Ant tasks
● Management
11
Examples & solutions
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!"; }
}
● WS-Security EJB3 endpoint w/ authentication & authorization based on policy relying on username token profile...
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
13
JBoss Community and JBoss Enterprise Middleware
● Focus “release early, release often”
● 40+ projects with different release schedules, versions, dependencies, etc.
● 100,000+ registered developers
● Community support with forums, project developers, wiki, issue trackers, etc.
● Use case driven platforms that integrate multiple projects into a single distribution
● Focus on long- term stability, supportability, & sustainability
● Includes patches & updates for up to 5 years
● Up to 24x7 enterprise support for mission critical applications