SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Apache CXF
New Directions in
Integration
Daniel Kulp
VP Open Source Development
Talend
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
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), 82 patch releases

•

33 committers - 21 active
•

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”
2010 - Is CXF Finished?
•

Go into maintenance mode? NO!!!!

•

Development Efforts Centered around:
•

Deployment options

•

REST/JAX-RS Based Services

•

Services

•

Security
Deployment Models
•

Always have had
•
•

Top Notch Spring support

•

•

Good for standalone applications

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

OSGi support has “improved”
•

Single big bundle -> little bundles

•

Blueprint support and enhancements

•

Better management
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
REST/JAX-RS
•

2.3.x-2.6.x is JAX-RS 1.1 Compliant

•

2.7.x started work on JAX-RS 2.0
•

•

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

3.0 will be JAX-RS 2.0 compliant
•

Client API, Bean Validation
•

OAuth 1, OAuth 2, SAML, Kerberos

•

WADL generation from services

•

Interface generation from WADL

•

Started discussions about RAML

•

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
Services
•

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

•

WS-Notification
•
•

WS-Notification Service using ActiveMQ backend

•

JBI removed, pure JAX-WS API’s

•
•

Ported from ServiceMix

API module added

WS-Eventing - new for CXF 3.0
•

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
•

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
•

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
•

XKMS - continued
•

WSS4J Crypto
Providers

•

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

Framework that implements WSFederation Passive Requestor
Profile

•

Plugins to Tomcat to redirect to
an IDP for authentication

•

Contains a light weight IDP

•

Soon: support for Jetty, Spring
Security, CXF
Security
“I’m going to make CXF’s WS-Security implementation the
best WS-Security implementation.”
!

- Colm O hEigeartaigh
http://coheigea.blogspot.com/
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
•

Streaming WS-Security Implementation for 3.0
•

StAX Based

•

No more DOM/SAAJ (unless required)

•

Higher performance

•

Quicker failures

•

Support MIME attachments
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 WSSecureConversation
•

CXF specific front end code generator
•

Allow passing Bus instances, CXF features

•

Guarantees that CXF is picked up

•

Allows future configuration points
3.0 Roadmap
•

A “milestone” release in the next week or so

•

A second milestone or beta before the end of
the year

•

3.0 in early Q1

•

Normal 2.7.x/2.6.x patch releases every 8 weeks

•

Fediz 1.1 release (voting now)
Questions and
More Information
•

Apache CXF
•
•

•

http://cxf.apache.org
users@cxf.apache.org

Me
•

dkulp@apache.org or dkulp@talend.com

Contenu connexe

Tendances

Tendances (20)

MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
Whitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-ServicesWhitebase : Assault Carrier for Micro-Services
Whitebase : Assault Carrier for Micro-Services
 
Uit 2015-cloud-v2
Uit 2015-cloud-v2Uit 2015-cloud-v2
Uit 2015-cloud-v2
 
Protecting your site by detection
Protecting your site by detectionProtecting your site by detection
Protecting your site by detection
 
Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block
 
Dependencies, dependencies, dependencies
Dependencies, dependencies, dependenciesDependencies, dependencies, dependencies
Dependencies, dependencies, dependencies
 
Cloud computing, SaaS, and security
Cloud computing, SaaS, and securityCloud computing, SaaS, and security
Cloud computing, SaaS, and security
 
Developing Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and PayaraDeveloping Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and Payara
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
 
Nikto
NiktoNikto
Nikto
 
OpsStack--Integrated Operation Platform
OpsStack--Integrated Operation PlatformOpsStack--Integrated Operation Platform
OpsStack--Integrated Operation Platform
 
Developing JavaEE 7 based apps with Payara Micro
Developing JavaEE 7 based apps with Payara MicroDeveloping JavaEE 7 based apps with Payara Micro
Developing JavaEE 7 based apps with Payara Micro
 
Week4 cmap
Week4 cmapWeek4 cmap
Week4 cmap
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Service Discovery in Distributed Systems
Service Discovery in Distributed SystemsService Discovery in Distributed Systems
Service Discovery in Distributed Systems
 
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk ServerUsing ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
Flisol 2018 - Microsoft + Open Source
Flisol 2018 - Microsoft + Open SourceFlisol 2018 - Microsoft + Open Source
Flisol 2018 - Microsoft + Open Source
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 

En vedette

OpenNMS Reporting - Enhancement
OpenNMS Reporting - EnhancementOpenNMS Reporting - Enhancement
OpenNMS Reporting - Enhancement
Ronny
 
OpenStack Hybrid Cloud Management and Orchestration - James Bond
OpenStack Hybrid Cloud Management and Orchestration - James BondOpenStack Hybrid Cloud Management and Orchestration - James Bond
OpenStack Hybrid Cloud Management and Orchestration - James Bond
scoopnewsgroup
 
RHTE2015_CloudForms_OpenStack
RHTE2015_CloudForms_OpenStackRHTE2015_CloudForms_OpenStack
RHTE2015_CloudForms_OpenStack
Jerome Marc
 

En vedette (20)

Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
Authentication - Alberto Bellotti - ManageIQ Design Summit 2016
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & Keycloak
 
Samsung presentation
Samsung presentationSamsung presentation
Samsung presentation
 
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin PovolnyDesign Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
OpenCloudConf: It takes an (Open Source) Village to Build a Cloud
OpenCloudConf: It takes an (Open Source) Village to Build a CloudOpenCloudConf: It takes an (Open Source) Village to Build a Cloud
OpenCloudConf: It takes an (Open Source) Village to Build a Cloud
 
Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
 
OpenNMS Reporting - Enhancement
OpenNMS Reporting - EnhancementOpenNMS Reporting - Enhancement
OpenNMS Reporting - Enhancement
 
DevOps, A path to Enterprises to Adopt [Decoding DevOps Conference - InfoSep...
DevOps, A path to Enterprises to Adopt  [Decoding DevOps Conference - InfoSep...DevOps, A path to Enterprises to Adopt  [Decoding DevOps Conference - InfoSep...
DevOps, A path to Enterprises to Adopt [Decoding DevOps Conference - InfoSep...
 
OpenStack and CloudForms Do's and Dont's
OpenStack and CloudForms Do's and Dont'sOpenStack and CloudForms Do's and Dont's
OpenStack and CloudForms Do's and Dont's
 
Intro to-puppet
Intro to-puppetIntro to-puppet
Intro to-puppet
 
Replication - Nick Carboni - ManageIQ Design Summit 2016
Replication - Nick Carboni - ManageIQ Design Summit 2016Replication - Nick Carboni - ManageIQ Design Summit 2016
Replication - Nick Carboni - ManageIQ Design Summit 2016
 
Managed Services - Mike Hulsman - ManageIQ Design Summit 2016
Managed Services - Mike Hulsman - ManageIQ Design Summit 2016Managed Services - Mike Hulsman - ManageIQ Design Summit 2016
Managed Services - Mike Hulsman - ManageIQ Design Summit 2016
 
OpenStack Hybrid Cloud Management and Orchestration - James Bond
OpenStack Hybrid Cloud Management and Orchestration - James BondOpenStack Hybrid Cloud Management and Orchestration - James Bond
OpenStack Hybrid Cloud Management and Orchestration - James Bond
 
Building Enterprise Clouds - Key Considerations and Strategies - RED HAT
Building Enterprise Clouds - Key Considerations and Strategies - RED HATBuilding Enterprise Clouds - Key Considerations and Strategies - RED HAT
Building Enterprise Clouds - Key Considerations and Strategies - RED HAT
 
Introduction to OpenNMS
Introduction to OpenNMSIntroduction to OpenNMS
Introduction to OpenNMS
 
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
UI Improvements - Dan Clarizio, Eric Winchell - ManageIQ Design Summit 2016
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the Cloud
 
Meetup
MeetupMeetup
Meetup
 
RHTE2015_CloudForms_OpenStack
RHTE2015_CloudForms_OpenStackRHTE2015_CloudForms_OpenStack
RHTE2015_CloudForms_OpenStack
 

Similaire à Apache CXF New Directions in Integration

Similaire à Apache CXF New Directions in Integration (20)

VMware Integrated OpenStack
VMware Integrated OpenStackVMware Integrated OpenStack
VMware Integrated OpenStack
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
AWS CodeDeploy Getting Started
AWS CodeDeploy Getting StartedAWS CodeDeploy Getting Started
AWS CodeDeploy Getting Started
 
OpenStack for VMware Administrators
OpenStack for VMware AdministratorsOpenStack for VMware Administrators
OpenStack for VMware Administrators
 
Olivier_Tisserand_projects
Olivier_Tisserand_projectsOlivier_Tisserand_projects
Olivier_Tisserand_projects
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016Getting Started with OpenStack, Red Hat Summit 2016
Getting Started with OpenStack, Red Hat Summit 2016
 
Application portability with kubernetes
Application portability with kubernetesApplication portability with kubernetes
Application portability with kubernetes
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 
2013.07.05 [IBM] Cloud Ecosystem Forum - Atelier Directions Techniques
2013.07.05   [IBM] Cloud Ecosystem Forum - Atelier Directions Techniques2013.07.05   [IBM] Cloud Ecosystem Forum - Atelier Directions Techniques
2013.07.05 [IBM] Cloud Ecosystem Forum - Atelier Directions Techniques
 
Vert.X and MSA - DevOps
Vert.X and MSA - DevOpsVert.X and MSA - DevOps
Vert.X and MSA - DevOps
 
Cisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIsCisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIs
 
Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric Global Azure Bootcamp: Azure service fabric
Global Azure Bootcamp: Azure service fabric
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 
AWS Summit Singapore - More Containers, Less Operations
AWS Summit Singapore - More Containers, Less OperationsAWS Summit Singapore - More Containers, Less Operations
AWS Summit Singapore - More Containers, Less Operations
 
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptxIBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
IBM BP Session - Multiple CLoud Paks and Cloud Paks Foundational Services.pptx
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

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 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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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?
 
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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Apache CXF New Directions in Integration

  • 1. Apache CXF New Directions in Integration Daniel Kulp VP Open Source Development Talend
  • 2. 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
  • 3. 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), 82 patch releases • 33 committers - 21 active
  • 4. • 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”
  • 5. 2010 - Is CXF Finished? • Go into maintenance mode? NO!!!! • Development Efforts Centered around: • Deployment options • REST/JAX-RS Based Services • Services • Security
  • 6. Deployment Models • Always have had • • Top Notch Spring support • • Good for standalone applications Good for WAR based applications (other than conflicts with various app servers) OSGi support has “improved” • Single big bundle -> little bundles • Blueprint support and enhancements • Better management
  • 7. 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
  • 8. REST/JAX-RS • 2.3.x-2.6.x is JAX-RS 1.1 Compliant • 2.7.x started work on JAX-RS 2.0 • • Filters, Interceptors, parts of Async Invokation, dynamic features, exception classes, etc… 3.0 will be JAX-RS 2.0 compliant • Client API, Bean Validation
  • 9. • OAuth 1, OAuth 2, SAML, Kerberos • WADL generation from services • Interface generation from WADL • Started discussions about RAML • 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
  • 10. Services • 2.5.0 - introduced “out of the box” services based on CXF technology • WS-Notification • • WS-Notification Service using ActiveMQ backend • JBI removed, pure JAX-WS API’s • • Ported from ServiceMix API module added WS-Eventing - new for CXF 3.0
  • 11. • 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
  • 12. • 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
  • 13. • 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
  • 14. • XKMS - continued • WSS4J Crypto Providers • Adding support to CXF’s STS to validate keys via XKMS
  • 15. Fediz • Framework that implements WSFederation Passive Requestor Profile • Plugins to Tomcat to redirect to an IDP for authentication • Contains a light weight IDP • Soon: support for Jetty, Spring Security, CXF
  • 16. Security “I’m going to make CXF’s WS-Security implementation the best WS-Security implementation.” ! - Colm O hEigeartaigh http://coheigea.blogspot.com/
  • 17. 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
  • 18. • Streaming WS-Security Implementation for 3.0 • StAX Based • No more DOM/SAAJ (unless required) • Higher performance • Quicker failures • Support MIME attachments
  • 19. 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 WSSecureConversation
  • 20. • CXF specific front end code generator • Allow passing Bus instances, CXF features • Guarantees that CXF is picked up • Allows future configuration points
  • 21. 3.0 Roadmap • A “milestone” release in the next week or so • A second milestone or beta before the end of the year • 3.0 in early Q1 • Normal 2.7.x/2.6.x patch releases every 8 weeks • Fediz 1.1 release (voting now)
  • 22. Questions and More Information • Apache CXF • • • http://cxf.apache.org users@cxf.apache.org Me • dkulp@apache.org or dkulp@talend.com