cxf 3.0, what's new?

23
Apache CXF 3.0 What’s new? Daniel Kulp VP Open Source Development Talend

Upload: daniel-kulp

Post on 05-Dec-2014

503 views

Category:

Software


2 download

DESCRIPTION

Slides from ApacheCon 2014 in Denver

TRANSCRIPT

Page 1: CXF 3.0, What's new?

Apache CXF 3.0 What’s new?

Daniel Kulp VP Open Source Development

Talend

Page 2: CXF 3.0, What's new?

Your Speaker• VP - Open Source Development at Talend

• Team of engineers devoted to Apache Projects

• Worked on WebService/SOA related technology for over 10 years

• Apache Software Foundation

• Apache CXF - since the beginning

• Apache Maven, Apache WebServices, Apache Camel, Apache ServiceMix, Apache Aries, etc…

• Apache Member

Page 3: CXF 3.0, What's new?

A Little About Apache CXF• Entered the Apache Incubator in August 2006

• Merge of Celtix and XFire

• Compete with Axis/Axis2?

• Graduated in April 2008

• JAX-WS 2.x certified, JAX-RS 1.1 certified

• 8 “minor” versions (2.0 - 2.7), 86 patch releases

• 33 committers - 21 active

Page 4: CXF 3.0, What's new?

• The most complete implementation of WS-* specifications.

• DOSGi Reference Implementation of OSGi Remote Service Specification

• Apache CXF Fediz - Web Security Framework

• Used in products by Talend, JBoss, Fuse, WSO2, Pramati, MuleSoft, TomEE, IBM, etc…

• Embedded all over - Google “CXF - Service List”

Page 5: CXF 3.0, What's new?

2010 - Is CXF Finished?• Go into maintenance mode? NO!!!!

• Development Efforts Centered around:

• Deployment options

• REST/JAX-RS Based Services

• Services

• Security

Page 6: CXF 3.0, What's new?

Deployment Models• Always have had

• Good for standalone applications

• Top notch Spring support

• Good for WAR based applications (other than conflicts with various app servers)

• OSGi support has “improved”

• Single big bundle -> little bundles (big bundle is GONE for 3.0)

• Blueprint support and enhancements

• Better management

Page 7: CXF 3.0, What's new?

Changed for 3.0• Major refactoring of “api”, “core”, and WSDL based

APIs

• No more wsdl4j.jar or neethi.jar or mail.jar needed for JAX-RS (amongst others)

• Smaller core - removed a lot of duplicate functionality, unused code, deprecated code, etc….

• Better hooks for embedders like TomEE, JBoss, and Talend

Page 8: CXF 3.0, What's new?

REST/JAX-RS• 2.3.x-2.6.x are JAX-RS 1.1 Compliant

• 2.7.x started work on JAX-RS 2.0

• Filters, Interceptors, parts of Async Invocation, dynamic features, exception classes, etc…

• 3.0 will implement JAX-RS 2.0

• Client API, Bean Validation, Suspended requests

Page 9: CXF 3.0, What's new?

• OAuth 1, OAuth 2, SAML, Kerberos

• XML Signature/Encryption

• WADL generation from services

• Interface generation from WADL

• $filter query defined as part of Open Data Protocol

• FIQL searches// Find all employees younger than 25 or older than 35 living in London!http://server.com/employees?_s=(age=lt=25,age=gt=35);city==London

Page 10: CXF 3.0, What's new?

Services• 2.5.0 - introduced “out of the box” services based on CXF

technology

• WS-Notification

• Ported from ServiceMix

• WS-Notification Service using ActiveMQ backend

• JBI removed, pure JAX-WS API’s

• API module added

• WS-Eventing - new for CXF 3.0

Page 11: CXF 3.0, What's new?

• Security Token Service (STS)

• Initially developed for a Talend Customer

• Full production ready STS

• Supports Issue, Validate, Cancel, Renew binding

• Pluggable token validators, claims handlers, SAML customizers, etc…

• Advanced use cases: KeyTypes (Public/Symmetric/Bearer), OnBehalfOf, ActAs, Claims, etc…

• Enhanced support for Roles

Page 12: CXF 3.0, What's new?

• WS-Discovery (CXF 2.7)

• “Probe” the network for services

• Services can announce their availability

• Not just “software services”

• ONVIF compliant IP cameras

• Network Printers

• Network Scanners

Page 13: CXF 3.0, What's new?

• XML Key Management Service (XKMS)

• New for CXF 3.0, back ported for 2.7.7

• Normal - Java KeyStores

• XKMS front end for organizations PKI

• Supports LDAP and File based back ends

Page 14: CXF 3.0, What's new?

• XKMS - continued

• WSS4J Crypto Providers

• Adding support to CXF’s STS to validate keys via XKMS

Page 15: CXF 3.0, What's new?

Fediz• Framework that implements WS-

Federation Passive Requestor Profile

• Plugins to Tomcat to redirect to an IDP for authentication

• Contains a light weight IDP

• Support for Tomcat, WebSphere, Jetty, Spring Security, CXF

Page 16: CXF 3.0, What's new?

Security

“I’m going to make CXF’s WS-Security implementation the best WS-Security implementation.”

!- Colm O hEigeartaigh

http://coheigea.blogspot.com/

Page 17: CXF 3.0, What's new?

Security• STS, XKMS services

• XACML/SAML utilities

• SPNego/Kerberos profiles

• Prevent various DOS attacks

• ehCache based Nonce/Timestamp caches

• XML based attacks (DTD, size, limits)

• New algorithms

Page 18: CXF 3.0, What's new?

• Streaming WS-Security Implementation for 3.0

• StAX Based - MUCH lower memory

• No more DOM/SAAJ (unless required)

• Higher performance

• Quicker failures

• Support attachments

Page 19: CXF 3.0, What's new?

Other 3.0 Things• WS-RM updates

• Full 1.1 support, tested extensively with .NET

• Termination of sequences

• JMX management

• Support for WS-RM with WS-Security and WS-SecureConversation

Page 20: CXF 3.0, What's new?

• CXF specific front end code generator

• Allow passing Bus instances, CXF features

• Guarantees that CXF is picked up

• Allows future configuration points

Page 21: CXF 3.0, What's new?

• New Transports

• Netty based HTTP

• WebSocket

• New JMS Transports (no more Spring)

Page 22: CXF 3.0, What's new?

3.0 Roadmap

• Milestone 2 released - PLEASE TEST

• 3.0 by end of April

• Normal 2.7.x patch releases every 8 weeks

• One more 2.6.x patch release

Page 23: CXF 3.0, What's new?

Questions and More Information

• Apache CXF

• http://cxf.apache.org

[email protected]

• Me

[email protected] or [email protected]