SlideShare a Scribd company logo
1 of 18
JAX WS using CXF
Kayalvizhi K




                   1
Agenda
   Requirements
   Why CXF?
   Proposed Architecture
   How To Implement?
   POC




                            2
Requirements

 Exposing CS as Web Services
     –   Without Code Changes
     –   With ensured Security
 Why should CS be exposed as WS?
     –   For making it accessible for different clients
         running on different platforms
     –   For making it accessible on various transports
         (HTTP, JMS etc...)




                                           3
Why CXF?
 Generating WSDL from POJO
 Spring Integration
 Support for RESTful services via HTTP
  Binding
 WS-* Support




                                    4
Alternatives to CXF

   Apache AXIS 2 - A little heavyweight, especially
    in the deployment

   Sun Metro - Spring integration may not be
    production ready

   JBoss Web - Tight EJB3 integration; No direct
    Spring integration



                                        5
Proposed Architecture
 Client



 Adapter




 Container




 Service      Common Services




                                6
How to Implement?
 Annotate
     –   Interface
     –   Implementer Class
 Configure JAXWS Endpoints for various
  transports (HTTP & JMS)
 Configure CXF Servlet
 Deploy application (which generates WSDL)
 Test the services



                                   7
POC - Features

  Publishes endpoints for HTTP & JMS
   Transport
  Ensures WS-Security using Interceptors
  Uploads Binary Data / Large Files using MTOM




                                   8
Appendix I: Acronyms

     #   Acronym                            Description

 1       CXF       Combination of two projects (Celtic and XFire)

 2       JAX WS    Java API for XML Web Services


 3       JAX RS    Java API for RESTful Web Services

 4       SEI       Service Endpoint Interface

 5       MTOM      Message Transmission Optimization Mechanism


 6       CS        Common Services

 7       REST      Representational State Transfer


 8       WSDL      Web Services Description Language
                                                             9
 9       POJO      Plain Old Java Objects
Appendix II: Why MTOM?
 Problem: With Text Encoding, it uses base 64 encoding
  format which can inflate the message size by 30%. This can
  be a heavy penalty while carrying large binary attachments.
 MTOM
   – extracts the base64Binary data from the SOAP message
     and packages it as separate binary attachments within the
     MIME message, in a similar manner to e-mail attachments
 Ref:
   – http://docs.oracle.com/cd/E12840_01/wls/docs103/webser
     v_adv/mtom.html
   – http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.j
     sp?topic=%2Fcom.ibm.cics.ts.webservices.doc
     %2Fmtomxop%2Fdfhws_attachments_overview.html
                                                10
Appendix III: Known Issue
No JMS address information in WSDL for JMS Transport
We prefer to use 'JMSConfigFeature approach' for exposing
 services in JMS Transport instead of 'SOAP over JMS'
 approach as it involves no changes in WSDL/ Java Code.
 And the JAX WS Annotations does not have any ref. To JMS
 transport
  Ref:
  – http://cxf.apache.org/docs/soap-over-jms-10-support.html
  – http://cxf.apache.org/docs/using-the-jmsconfigfeature.html
  – http://jax-ws.java.net/jax-ws-ea3/docs/annotations.html



                                              11
Appendix IV: POC – Load Testing
 SOAP UI Tool is used for load testing the POC
 The following parameters are set to execute it for 60 s
   – Threads: 5
   – Strategy: Simple
   – Test Delay: 1000 (ms)
   – Random: (0.5)
 Ref:
   – http://www.soapui.org/Getting-Started/load-testing.html
   – http://www.soapui.org/Load-Testing/load-test-window.html
Appendix IV: POC – Load Testing (continued)

1. Load Test Report - JAX WS

Operation           min(ms)       max(ms)        avg(ms)      bytes     bps

getPatient                    2             11         3.83    127190          2122
getDoctor                     2              9         3.35    119290          1990

getAppointment                3             17         5.44    208955          3486

deleteAppointment             2              8         3.14     99540          1660

createAppointment             3             20         5.22    200265          3341

updateAppointment             4             62         6.95    208165          3473
Overall                   16            127           27.96    963405         16075
Appendix IV: POC – Load Testing (continued)
2. Load Test Report – JAX RS with JSON payload

Operation           min(ms)       max(ms)       avg(ms)     bytes     bps


getPatient                    2             8        2.37    21728           362


getDoctor                     1             8        2.77    15520           259

getAppointment                2         14           4.48    74496          1244

deleteAppointment             2        137           3.28      1552          25

createAppointment             2        244           5.25    74884          1250


updateAppointment             3         34           5.74    74496          1244


Overall                  13            445          23.93   262676          4388
Appendix V: Decision – JAX WS/ RS?
  Parameter                 JAX WS                         REST

Weight           Heavy                           Light

WS-Standards     Supports                        No Support

Implementation   Takes time as                   Faster & Easier
Cycle            understanding the standards
                 takes more time
Documentation    Less as is based on standards   More as is tailor-made


Maintenance      Easier                          Complex as is derived
                                                 from standard-less
                                                 development
Appendix V: Decision – JAX WS/ RS?                                             -
Continued

      Parameter                JAX WS                         REST

Integration with other   Easier as they follow   Need to write adapter for each
Apps/ 3rd Party          standards               integrating application

Payload Efficiency       Always XML              Flexible and efficient when
                                                 combined with JSON

Ref:
 – http://docs.oracle.com/javaee/6/tutorial/doc/gjbji.htmll
 – https://devcentral.f5.com/weblogs/macvittie/archive/2008/12/0
 – http://blogs.captechconsulting.com/blog/jack-cox/soap-vs-
   rest-mobile-services
Appendix VI: Other References

   http://docs.oracle.com/javaee/6/tutorial/doc/gijti.html
   http://predic8.com/axis2-cxf-jax-ws-comparison.htm
   http://cxf.apache.org/docs/index.html
   http://cxf.apache.org/docs/jax-rs-and-jax-ws.html
   http://cxf.apache.org/docs/ws-security.html
   http://cxf.apache.org/docs/mtom.html
   http://www.crosschecknet.com/intro_to_mtom.php




                                                 17
Thank you



            18

More Related Content

What's hot

VMware vSphere 4.1 deep dive - part 1
VMware vSphere 4.1 deep dive - part 1VMware vSphere 4.1 deep dive - part 1
VMware vSphere 4.1 deep dive - part 1Louis Göhl
 
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEX
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEXVMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEX
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEXDavid Pasek
 
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月VirtualTech Japan Inc.
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!Cumulus Networks
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabricdejanb
 
Nexus 1000V Support for VMWare vSphere 6
Nexus 1000V Support for VMWare vSphere 6Nexus 1000V Support for VMWare vSphere 6
Nexus 1000V Support for VMWare vSphere 6Tony Antony
 
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD projectsangyun han
 
Cisco data center switch nexus series training presentation by zerone
Cisco data center switch nexus series training presentation by zeroneCisco data center switch nexus series training presentation by zerone
Cisco data center switch nexus series training presentation by zerone零壹科技股份有限公司
 
Layer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchLayer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchNetronome
 
Cisco nexus 7009 overview
Cisco nexus 7009 overviewCisco nexus 7009 overview
Cisco nexus 7009 overviewHamza Al-Qudah
 
Cisco Nexus Family Platform Overview
Cisco Nexus Family Platform OverviewCisco Nexus Family Platform Overview
Cisco Nexus Family Platform OverviewCybera Inc.
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at NuxeoNuxeo
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneYoshikazu Nojima
 
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...Cloud Native Day Tel Aviv
 

What's hot (20)

Cumulus Linux 2.5.3
Cumulus Linux 2.5.3Cumulus Linux 2.5.3
Cumulus Linux 2.5.3
 
VMware vSphere 4.1 deep dive - part 1
VMware vSphere 4.1 deep dive - part 1VMware vSphere 4.1 deep dive - part 1
VMware vSphere 4.1 deep dive - part 1
 
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEX
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEXVMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEX
VMware Networking, CISCO Nexus 1000V, and CISCO UCS VM-FEX
 
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月Mellanox for OpenStack  - OpenStack最新情報セミナー 2014年10月
Mellanox for OpenStack - OpenStack最新情報セミナー 2014年10月
 
Cumulus Linux 2.5.4
Cumulus Linux 2.5.4Cumulus Linux 2.5.4
Cumulus Linux 2.5.4
 
Linux networking is Awesome!
Linux networking is Awesome!Linux networking is Awesome!
Linux networking is Awesome!
 
Inf net2227 heath
Inf net2227 heathInf net2227 heath
Inf net2227 heath
 
Deploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse FabricDeploying FuseMQ with Fuse Fabric
Deploying FuseMQ with Fuse Fabric
 
Nexus 1000V Support for VMWare vSphere 6
Nexus 1000V Support for VMWare vSphere 6Nexus 1000V Support for VMWare vSphere 6
Nexus 1000V Support for VMWare vSphere 6
 
Introduction to CORD project
Introduction to CORD projectIntroduction to CORD project
Introduction to CORD project
 
What's New in WildFly 9?
What's New in WildFly 9?What's New in WildFly 9?
What's New in WildFly 9?
 
Cisco data center switch nexus series training presentation by zerone
Cisco data center switch nexus series training presentation by zeroneCisco data center switch nexus series training presentation by zerone
Cisco data center switch nexus series training presentation by zerone
 
Layer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitchLayer 3 Tunnel Support for Open vSwitch
Layer 3 Tunnel Support for Open vSwitch
 
Cisco nexus 7009 overview
Cisco nexus 7009 overviewCisco nexus 7009 overview
Cisco nexus 7009 overview
 
Cisco Nexus Family Platform Overview
Cisco Nexus Family Platform OverviewCisco Nexus Family Platform Overview
Cisco Nexus Family Platform Overview
 
[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo[NYC Meetup] Docker at Nuxeo
[NYC Meetup] Docker at Nuxeo
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced Zone
 
OCI Support in Mesos
OCI Support in MesosOCI Support in Mesos
OCI Support in Mesos
 
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...
Erez Cohen & Aviram Bar Haim, Mellanox - Enhancing Your OpenStack Cloud With ...
 
Grizzly Comet Aquarium Paris
Grizzly Comet Aquarium ParisGrizzly Comet Aquarium Paris
Grizzly Comet Aquarium Paris
 

Similar to Cxf jaxws using http & jms tranports

Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admJeffrey Nunn
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitDon Marti
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM MessagingMorag Hughson
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEQAware GmbH
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEMario-Leander Reimer
 
DevOps Course Contents.docx
DevOps Course Contents.docxDevOps Course Contents.docx
DevOps Course Contents.docxFuturepoint13
 
MQ Support for z/OS Connect
MQ Support for z/OS ConnectMQ Support for z/OS Connect
MQ Support for z/OS ConnectMatt Leming
 
VMWARE Professionals - Security, Multitenancy and Flexibility
VMWARE Professionals -  Security, Multitenancy and FlexibilityVMWARE Professionals -  Security, Multitenancy and Flexibility
VMWARE Professionals - Security, Multitenancy and FlexibilityPaulo Freitas
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
Mazda siv - web services
Mazda   siv - web servicesMazda   siv - web services
Mazda siv - web servicesOlivier Lépine
 
WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)Roman Kharkovski
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deploymentDavid Szöke
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Wojciech Barczyński
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesQAware GmbH
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
PLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined NetworkPLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined NetworkPROIDEA
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 

Similar to Cxf jaxws using http & jms tranports (20)

Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 
What's New in IBM Messaging
What's New in IBM MessagingWhat's New in IBM Messaging
What's New in IBM Messaging
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
DevOps Course Contents.docx
DevOps Course Contents.docxDevOps Course Contents.docx
DevOps Course Contents.docx
 
MQ Support for z/OS Connect
MQ Support for z/OS ConnectMQ Support for z/OS Connect
MQ Support for z/OS Connect
 
VMWARE Professionals - Security, Multitenancy and Flexibility
VMWARE Professionals -  Security, Multitenancy and FlexibilityVMWARE Professionals -  Security, Multitenancy and Flexibility
VMWARE Professionals - Security, Multitenancy and Flexibility
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Mazda siv - web services
Mazda   siv - web servicesMazda   siv - web services
Mazda siv - web services
 
WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
Effective Kubernetes - Is Kubernetes the new Linux? Is the new Application Se...
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
FIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart SystemsFIWARE Wednesday Webinars - Short Term History within Smart Systems
FIWARE Wednesday Webinars - Short Term History within Smart Systems
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
PLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined NetworkPLNOG 13: Jacek Wosz: User Defined Network
PLNOG 13: Jacek Wosz: User Defined Network
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 

Recently uploaded

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
 
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
 
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 slidevu2urc
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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.pdfsudhanshuwaghmare1
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
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.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 

Recently uploaded (20)

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
 
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
 
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
 
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...
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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)
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 

Cxf jaxws using http & jms tranports

  • 1. JAX WS using CXF Kayalvizhi K 1
  • 2. Agenda  Requirements  Why CXF?  Proposed Architecture  How To Implement?  POC 2
  • 3. Requirements  Exposing CS as Web Services – Without Code Changes – With ensured Security  Why should CS be exposed as WS? – For making it accessible for different clients running on different platforms – For making it accessible on various transports (HTTP, JMS etc...) 3
  • 4. Why CXF?  Generating WSDL from POJO  Spring Integration  Support for RESTful services via HTTP Binding  WS-* Support 4
  • 5. Alternatives to CXF  Apache AXIS 2 - A little heavyweight, especially in the deployment  Sun Metro - Spring integration may not be production ready  JBoss Web - Tight EJB3 integration; No direct Spring integration 5
  • 6. Proposed Architecture Client Adapter Container Service Common Services 6
  • 7. How to Implement?  Annotate – Interface – Implementer Class  Configure JAXWS Endpoints for various transports (HTTP & JMS)  Configure CXF Servlet  Deploy application (which generates WSDL)  Test the services 7
  • 8. POC - Features  Publishes endpoints for HTTP & JMS Transport  Ensures WS-Security using Interceptors  Uploads Binary Data / Large Files using MTOM 8
  • 9. Appendix I: Acronyms # Acronym Description 1 CXF Combination of two projects (Celtic and XFire) 2 JAX WS Java API for XML Web Services 3 JAX RS Java API for RESTful Web Services 4 SEI Service Endpoint Interface 5 MTOM Message Transmission Optimization Mechanism 6 CS Common Services 7 REST Representational State Transfer 8 WSDL Web Services Description Language 9 9 POJO Plain Old Java Objects
  • 10. Appendix II: Why MTOM?  Problem: With Text Encoding, it uses base 64 encoding format which can inflate the message size by 30%. This can be a heavy penalty while carrying large binary attachments.  MTOM – extracts the base64Binary data from the SOAP message and packages it as separate binary attachments within the MIME message, in a similar manner to e-mail attachments  Ref: – http://docs.oracle.com/cd/E12840_01/wls/docs103/webser v_adv/mtom.html – http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.j sp?topic=%2Fcom.ibm.cics.ts.webservices.doc %2Fmtomxop%2Fdfhws_attachments_overview.html 10
  • 11. Appendix III: Known Issue No JMS address information in WSDL for JMS Transport We prefer to use 'JMSConfigFeature approach' for exposing services in JMS Transport instead of 'SOAP over JMS' approach as it involves no changes in WSDL/ Java Code. And the JAX WS Annotations does not have any ref. To JMS transport Ref: – http://cxf.apache.org/docs/soap-over-jms-10-support.html – http://cxf.apache.org/docs/using-the-jmsconfigfeature.html – http://jax-ws.java.net/jax-ws-ea3/docs/annotations.html 11
  • 12. Appendix IV: POC – Load Testing  SOAP UI Tool is used for load testing the POC  The following parameters are set to execute it for 60 s – Threads: 5 – Strategy: Simple – Test Delay: 1000 (ms) – Random: (0.5)  Ref: – http://www.soapui.org/Getting-Started/load-testing.html – http://www.soapui.org/Load-Testing/load-test-window.html
  • 13. Appendix IV: POC – Load Testing (continued) 1. Load Test Report - JAX WS Operation min(ms) max(ms) avg(ms) bytes bps getPatient 2 11 3.83 127190 2122 getDoctor 2 9 3.35 119290 1990 getAppointment 3 17 5.44 208955 3486 deleteAppointment 2 8 3.14 99540 1660 createAppointment 3 20 5.22 200265 3341 updateAppointment 4 62 6.95 208165 3473 Overall 16 127 27.96 963405 16075
  • 14. Appendix IV: POC – Load Testing (continued) 2. Load Test Report – JAX RS with JSON payload Operation min(ms) max(ms) avg(ms) bytes bps getPatient 2 8 2.37 21728 362 getDoctor 1 8 2.77 15520 259 getAppointment 2 14 4.48 74496 1244 deleteAppointment 2 137 3.28 1552 25 createAppointment 2 244 5.25 74884 1250 updateAppointment 3 34 5.74 74496 1244 Overall 13 445 23.93 262676 4388
  • 15. Appendix V: Decision – JAX WS/ RS? Parameter JAX WS REST Weight Heavy Light WS-Standards Supports No Support Implementation Takes time as Faster & Easier Cycle understanding the standards takes more time Documentation Less as is based on standards More as is tailor-made Maintenance Easier Complex as is derived from standard-less development
  • 16. Appendix V: Decision – JAX WS/ RS? - Continued Parameter JAX WS REST Integration with other Easier as they follow Need to write adapter for each Apps/ 3rd Party standards integrating application Payload Efficiency Always XML Flexible and efficient when combined with JSON Ref: – http://docs.oracle.com/javaee/6/tutorial/doc/gjbji.htmll – https://devcentral.f5.com/weblogs/macvittie/archive/2008/12/0 – http://blogs.captechconsulting.com/blog/jack-cox/soap-vs- rest-mobile-services
  • 17. Appendix VI: Other References  http://docs.oracle.com/javaee/6/tutorial/doc/gijti.html  http://predic8.com/axis2-cxf-jax-ws-comparison.htm  http://cxf.apache.org/docs/index.html  http://cxf.apache.org/docs/jax-rs-and-jax-ws.html  http://cxf.apache.org/docs/ws-security.html  http://cxf.apache.org/docs/mtom.html  http://www.crosschecknet.com/intro_to_mtom.php 17
  • 18. Thank you 18