SlideShare a Scribd company logo
Service Oriented Architecture: 31
Server Side Development
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Server side capabilities of JAX-WS
• A Java EE 5 container provides deployment services for publishing Web
services endpoints and run-time services for processing Web services
requests, responses, and faults.
• Deployment of security services and the run-time implementation of
security are also Server side concerns.
• The handler framework in the Java API for XML Web Services (JAX-WS)
allows applications to address cross-cutting and/or system-level concerns
by opening the service and client runtimes for applications to plug in
modular components.
• Reusability of these components across the services portfolio is one
obvious benefit that this framework brings to service delivery.
• This mechanism also allows the separation of the most fundamental
concerns of application software in Web services development, effectively
abstracting the system service into handlers and leaving the clients and
services to focus on business logic.
Server-side JAX-WS invocation sub-
system
Server Side Invocation Architecture
• 1. The client starts by getting the WSDL for the Web service that has been
deployed.
• WSEE requires that a JAX-WS provider support URL publication.
• Publishing the WSDL at a URL of that form is a common convention across
Web Services providers, but is not mandated by any standard.
• 2. Based on the WSDL, the client composes a SOAP request and does an
HTTP POST1 to the URL specified by the soap:address’s location attribute.
• 3. The HTTP request containing the SOAP message is received by the
Endpoint Listener. This listener is a servlet.
• The listener servlet passes the HTTP request along to the Dispatcher. The
Dispatcher may be implemented as a separate class from the Endpoint
Listener, or the two may be combined, but the functionality is logically
distinct.
• The Dispatcher’s job is to look up the correct Web service endpoint
implementation and dispatch the HTTP request to that endpoint.
Server Side Invocation Architecture
• 4. At this stage, the request processing transitions to the JAX-WS run-time
system. Along with the request, the JAX-WS has received from the
Dispatcher a description of the correct endpoint.
• A javax.xml.ws.handler.MessageContext is built from the contents of the
HTTP request. In this case (since we are talking about SOAP), the message
context is an instance of javax.xml.ws.handler. soap.SOAPMessageContext
and contains the SOAP request as a SAAJ SOAPMessage.
• This SOAPMessageContext is processed by the SOAP protocol binding
before the actual Web service endpoint is invoked.
• The SOAP protocol binding is an example of a JAX-WS protocol binding.
• The primary responsibilities of such aJAX-WS protocol binding are to
extract the message context from the transport protocol (e.g., SOAP/HTTP
or XML/HTTP); process the message context through the handlers that
have been configured for the Web service endpoint; and configure the
result (either a response or an exception) to be sent back to the client
using the appropriate transport.
Server Side Invocation Architecture
• 5. Next, the SOAP protocol binding invokes each handler in its
associated handler chain. The handlers associated with the
endpoint are defined by a deployment descriptor file that is
specified by the @HandlerChain annotation on the service
implementation bean.
• Handlers provide developers with the capability of preprocessing a
message context before the endpoint gets invoked.
• Examples of the types of processing typically done by server-side
handlers include persisting a message to provide recovery in the
event of a server crash; encryption/decryption; sequencing (i.e.,
examining message header sequence IDs to ensure that messages
are delivered in order); and so on.
• SOAP header processing is usually done by handlers, but the JAX-
WS framework provides handlers with access to the SOAP body as
well.
Server Side Invocation Architecture
• 6. After the inbound handlers are finished, the SOAP message is
unmarshalled into instances of the Java objects that are used to
invoke the endpoint method.
• This unmarshalling process is governed by the JAX-WS WSDL to Java
mapping and the JAXB 2.0 XML to Java mapping.
• The WSDL to Java mapping determines (from the wsdl:operation)
which endpoint method to invoke based on the structure of the
SOAP message.
• And the JAXB runtime serializes the SOAP message into the
parameters required to invoke that method.
• If the deployed service implementation bean is an implementation
of javax.xml.ws.Dispatch<T>, this process is much simpler. In that
case, the message payload is simply passed to the Dispatch.invoke()
method and the implementation processes the XML directly.
Server Side Invocation Architecture
• 7. The last step of the inbound request processing
is the invocation of the appropriate method on
the deployed service implementation bean.
• After invocation, the process is reversed.
• The return value from the invocation (along with
any parameters that have been declared OUT or
IN/OUT) is marshaled to a SOAP response
message of the appropriate form based on the
JAX-WS WSDL to Java mapping and the JAXB 2.0
XML to Java mapping.
Server Side Invocation Architecture
• 8. The outbound response processing invokes the handlers
(in reverse order) again.
• If at any point, during inbound handler processing,
endpoint invocation, or outbound handler processing, an
unhandled exception is thrown, the SOAP Fault Processing
component maps the exception to a SOAP fault message.
• In either case, SOAP fault or SOAP response message, the
SOAP protocol binding formats the result for the
appropriate transport (e.g., SOAP/HTTP).
• 9. Lastly, the Endpoint Listener servlet completes its
processing and sends back the result received from the
Dispatcher as an HTTP response to the client.
Assignment
• Explain the Server Side Invocation
Architecture for JAX WS

More Related Content

What's hot

Enterprise java unit-2_chapter-1
Enterprise  java unit-2_chapter-1Enterprise  java unit-2_chapter-1
Enterprise java unit-2_chapter-1
sandeep54552
 
Mule batch
Mule batchMule batch
Mule batch
Gandham38
 
Message processor in mule
Message processor in muleMessage processor in mule
Message processor in mule
Son Nguyen
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mule
javeed_mhd
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with Mule
Bui Kiet
 
Splitters in mule
Splitters in muleSplitters in mule
Splitters in mule
vasanthii9
 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
Praneethchampion
 
Mule Message Chunk Aggregator
Mule Message Chunk AggregatorMule Message Chunk Aggregator
Mule Message Chunk Aggregator
Ankush Sharma
 
Mulesoft Soap Service
Mulesoft Soap ServiceMulesoft Soap Service
Mulesoft Soap Service
Ujjawal Kant
 
Junit in mule demo
Junit in mule demo Junit in mule demo
Junit in mule demo
javeed_mhd
 
Mule Ajax Connector
Mule Ajax ConnectorMule Ajax Connector
Mule Ajax Connector
Ankush Sharma
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
VMahesh5
 
Mule message processor or routers
Mule message processor or routersMule message processor or routers
Mule message processor or routers
Son Nguyen
 
Rabbit Mq in Mule
Rabbit Mq in MuleRabbit Mq in Mule
Rabbit Mq in Mule
Mohammed246
 
File connector
File connectorFile connector
File connector
krishashi
 
Spring integration
Spring integrationSpring integration
Spring integration
Oliver Gierke
 
Servlet api &amp; servlet http package
Servlet api &amp; servlet http packageServlet api &amp; servlet http package
Servlet api &amp; servlet http package
renukarenuka9
 
Shipping your logs to elk from mule app/cloudhub part 1
Shipping  your logs to elk from mule app/cloudhub   part 1Shipping  your logs to elk from mule app/cloudhub   part 1
Shipping your logs to elk from mule app/cloudhub part 1
Alex Fernandez
 
Spring integration
Spring integrationSpring integration
Spring integration
Dominik Strzyżewski
 

What's hot (19)

Enterprise java unit-2_chapter-1
Enterprise  java unit-2_chapter-1Enterprise  java unit-2_chapter-1
Enterprise java unit-2_chapter-1
 
Mule batch
Mule batchMule batch
Mule batch
 
Message processor in mule
Message processor in muleMessage processor in mule
Message processor in mule
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mule
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with Mule
 
Splitters in mule
Splitters in muleSplitters in mule
Splitters in mule
 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
 
Mule Message Chunk Aggregator
Mule Message Chunk AggregatorMule Message Chunk Aggregator
Mule Message Chunk Aggregator
 
Mulesoft Soap Service
Mulesoft Soap ServiceMulesoft Soap Service
Mulesoft Soap Service
 
Junit in mule demo
Junit in mule demo Junit in mule demo
Junit in mule demo
 
Mule Ajax Connector
Mule Ajax ConnectorMule Ajax Connector
Mule Ajax Connector
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Mule message processor or routers
Mule message processor or routersMule message processor or routers
Mule message processor or routers
 
Rabbit Mq in Mule
Rabbit Mq in MuleRabbit Mq in Mule
Rabbit Mq in Mule
 
File connector
File connectorFile connector
File connector
 
Spring integration
Spring integrationSpring integration
Spring integration
 
Servlet api &amp; servlet http package
Servlet api &amp; servlet http packageServlet api &amp; servlet http package
Servlet api &amp; servlet http package
 
Shipping your logs to elk from mule app/cloudhub part 1
Shipping  your logs to elk from mule app/cloudhub   part 1Shipping  your logs to elk from mule app/cloudhub   part 1
Shipping your logs to elk from mule app/cloudhub part 1
 
Spring integration
Spring integrationSpring integration
Spring integration
 

Similar to Soa 31 jax ws server side development architecture

WSRM_WriteUp
WSRM_WriteUpWSRM_WriteUp
WSRM_WriteUp
Shai Levit
 
Axis2
Axis2Axis2
WEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptxWEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptx
karthiksmart21
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
WSO2
 
Servlets
ServletsServlets
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
pkaviya
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
Senthil Kumar
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
SenthilKumar571813
 
Java Web services
Java Web servicesJava Web services
Java Web services
Sujit Kumar
 
Wcf routing kt
Wcf routing ktWcf routing kt
Wcf routing kt
Krunal Trivedi
 
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
QCloudMentor
 
Windows Communication Foundation Extensions
Windows Communication Foundation ExtensionsWindows Communication Foundation Extensions
Windows Communication Foundation Extensions
gabrielcerutti
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
Remoting and serialization
Remoting and serializationRemoting and serialization
Remoting and serialization
Chathurangi Shyalika
 
Rails Request & Middlewares
Rails Request & MiddlewaresRails Request & Middlewares
Rails Request & Middlewares
Santosh Wadghule
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
MouDhara1
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
kstalin2
 
Servlet1.ppt
Servlet1.pptServlet1.ppt
Servlet1.ppt
KhushalChoudhary14
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
WebStackAcademy
 
Liit tyit sem 5 enterprise java unit 1 notes 2018
Liit tyit sem 5 enterprise java  unit 1 notes 2018 Liit tyit sem 5 enterprise java  unit 1 notes 2018
Liit tyit sem 5 enterprise java unit 1 notes 2018
tanujaparihar
 

Similar to Soa 31 jax ws server side development architecture (20)

WSRM_WriteUp
WSRM_WriteUpWSRM_WriteUp
WSRM_WriteUp
 
Axis2
Axis2Axis2
Axis2
 
WEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptxWEB TECHNOLOGY Unit-3.pptx
WEB TECHNOLOGY Unit-3.pptx
 
[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J[WSO2Con EU 2017] Writing Microservices Using MSF4J
[WSO2Con EU 2017] Writing Microservices Using MSF4J
 
Servlets
ServletsServlets
Servlets
 
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database ConnectivityIT2255 Web Essentials - Unit V Servlets and Database Connectivity
IT2255 Web Essentials - Unit V Servlets and Database Connectivity
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Servlet.pptx
Servlet.pptxServlet.pptx
Servlet.pptx
 
Java Web services
Java Web servicesJava Web services
Java Web services
 
Wcf routing kt
Wcf routing ktWcf routing kt
Wcf routing kt
 
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
 
Windows Communication Foundation Extensions
Windows Communication Foundation ExtensionsWindows Communication Foundation Extensions
Windows Communication Foundation Extensions
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
Remoting and serialization
Remoting and serializationRemoting and serialization
Remoting and serialization
 
Rails Request & Middlewares
Rails Request & MiddlewaresRails Request & Middlewares
Rails Request & Middlewares
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Servlet1.ppt
Servlet1.pptServlet1.ppt
Servlet1.ppt
 
Angular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP ServicesAngular - Chapter 7 - HTTP Services
Angular - Chapter 7 - HTTP Services
 
Liit tyit sem 5 enterprise java unit 1 notes 2018
Liit tyit sem 5 enterprise java  unit 1 notes 2018 Liit tyit sem 5 enterprise java  unit 1 notes 2018
Liit tyit sem 5 enterprise java unit 1 notes 2018
 

More from Vaibhav Khanna

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
Vaibhav Khanna
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
Vaibhav Khanna
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
Vaibhav Khanna
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
Vaibhav Khanna
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
Vaibhav Khanna
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
Vaibhav Khanna
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
Vaibhav Khanna
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
Vaibhav Khanna
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
Vaibhav Khanna
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
Vaibhav Khanna
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
Vaibhav Khanna
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
Vaibhav Khanna
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
Vaibhav Khanna
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
Vaibhav Khanna
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
Vaibhav Khanna
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
Vaibhav Khanna
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
Vaibhav Khanna
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
Vaibhav Khanna
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
Vaibhav Khanna
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
Vaibhav Khanna
 

More from Vaibhav Khanna (20)

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
 

Recently uploaded

Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
mohitd6
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
michniczscribd
 

Recently uploaded (20)

Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
 
Beginner's Guide to Observability@Devoxx PL 2024
Beginner's  Guide to Observability@Devoxx PL 2024Beginner's  Guide to Observability@Devoxx PL 2024
Beginner's Guide to Observability@Devoxx PL 2024
 

Soa 31 jax ws server side development architecture

  • 1. Service Oriented Architecture: 31 Server Side Development Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Server side capabilities of JAX-WS • A Java EE 5 container provides deployment services for publishing Web services endpoints and run-time services for processing Web services requests, responses, and faults. • Deployment of security services and the run-time implementation of security are also Server side concerns. • The handler framework in the Java API for XML Web Services (JAX-WS) allows applications to address cross-cutting and/or system-level concerns by opening the service and client runtimes for applications to plug in modular components. • Reusability of these components across the services portfolio is one obvious benefit that this framework brings to service delivery. • This mechanism also allows the separation of the most fundamental concerns of application software in Web services development, effectively abstracting the system service into handlers and leaving the clients and services to focus on business logic.
  • 4. Server Side Invocation Architecture • 1. The client starts by getting the WSDL for the Web service that has been deployed. • WSEE requires that a JAX-WS provider support URL publication. • Publishing the WSDL at a URL of that form is a common convention across Web Services providers, but is not mandated by any standard. • 2. Based on the WSDL, the client composes a SOAP request and does an HTTP POST1 to the URL specified by the soap:address’s location attribute. • 3. The HTTP request containing the SOAP message is received by the Endpoint Listener. This listener is a servlet. • The listener servlet passes the HTTP request along to the Dispatcher. The Dispatcher may be implemented as a separate class from the Endpoint Listener, or the two may be combined, but the functionality is logically distinct. • The Dispatcher’s job is to look up the correct Web service endpoint implementation and dispatch the HTTP request to that endpoint.
  • 5. Server Side Invocation Architecture • 4. At this stage, the request processing transitions to the JAX-WS run-time system. Along with the request, the JAX-WS has received from the Dispatcher a description of the correct endpoint. • A javax.xml.ws.handler.MessageContext is built from the contents of the HTTP request. In this case (since we are talking about SOAP), the message context is an instance of javax.xml.ws.handler. soap.SOAPMessageContext and contains the SOAP request as a SAAJ SOAPMessage. • This SOAPMessageContext is processed by the SOAP protocol binding before the actual Web service endpoint is invoked. • The SOAP protocol binding is an example of a JAX-WS protocol binding. • The primary responsibilities of such aJAX-WS protocol binding are to extract the message context from the transport protocol (e.g., SOAP/HTTP or XML/HTTP); process the message context through the handlers that have been configured for the Web service endpoint; and configure the result (either a response or an exception) to be sent back to the client using the appropriate transport.
  • 6. Server Side Invocation Architecture • 5. Next, the SOAP protocol binding invokes each handler in its associated handler chain. The handlers associated with the endpoint are defined by a deployment descriptor file that is specified by the @HandlerChain annotation on the service implementation bean. • Handlers provide developers with the capability of preprocessing a message context before the endpoint gets invoked. • Examples of the types of processing typically done by server-side handlers include persisting a message to provide recovery in the event of a server crash; encryption/decryption; sequencing (i.e., examining message header sequence IDs to ensure that messages are delivered in order); and so on. • SOAP header processing is usually done by handlers, but the JAX- WS framework provides handlers with access to the SOAP body as well.
  • 7. Server Side Invocation Architecture • 6. After the inbound handlers are finished, the SOAP message is unmarshalled into instances of the Java objects that are used to invoke the endpoint method. • This unmarshalling process is governed by the JAX-WS WSDL to Java mapping and the JAXB 2.0 XML to Java mapping. • The WSDL to Java mapping determines (from the wsdl:operation) which endpoint method to invoke based on the structure of the SOAP message. • And the JAXB runtime serializes the SOAP message into the parameters required to invoke that method. • If the deployed service implementation bean is an implementation of javax.xml.ws.Dispatch<T>, this process is much simpler. In that case, the message payload is simply passed to the Dispatch.invoke() method and the implementation processes the XML directly.
  • 8. Server Side Invocation Architecture • 7. The last step of the inbound request processing is the invocation of the appropriate method on the deployed service implementation bean. • After invocation, the process is reversed. • The return value from the invocation (along with any parameters that have been declared OUT or IN/OUT) is marshaled to a SOAP response message of the appropriate form based on the JAX-WS WSDL to Java mapping and the JAXB 2.0 XML to Java mapping.
  • 9. Server Side Invocation Architecture • 8. The outbound response processing invokes the handlers (in reverse order) again. • If at any point, during inbound handler processing, endpoint invocation, or outbound handler processing, an unhandled exception is thrown, the SOAP Fault Processing component maps the exception to a SOAP fault message. • In either case, SOAP fault or SOAP response message, the SOAP protocol binding formats the result for the appropriate transport (e.g., SOAP/HTTP). • 9. Lastly, the Endpoint Listener servlet completes its processing and sends back the result received from the Dispatcher as an HTTP response to the client.
  • 10. Assignment • Explain the Server Side Invocation Architecture for JAX WS