SlideShare une entreprise Scribd logo
1  sur  50
Asynchronous Web Services Pyounguk Cho, Oracle Corporation Manoj Kumar, Oracle Corporation
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Web Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Web Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction WSDL ,[object Object],[object Object]
WSDL Types ,[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Messages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Port Type ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Binding ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL Service ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Service API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Synchronous Call ,[object Object],[object Object],[object Object]
Introduction Asynchronous Call ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Why Asynchronous? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction Alternatives to JAX-* ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony JAXWS 2.x API ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Synchronous Interface ,[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Asynchronous Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Polling Style ,[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony  Asynchronous Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Callback Style ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Client Side Asynchrony Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony
Server Side Asynchrony ,[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony HTTP ,[object Object],[object Object],[object Object]
Server Side Asynchrony  WS-Addressing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony  Request <soap:Envelope> <soap:Header> <wsa:MessageID>uuid:35f19ca8-c9fe</wsa:MessageID> <wsa:Action>http://lh:80/request/…</wsa:Action> <wsa:ReplyTo> <wsa:Address>http://lh:77/response</wsa:Address> <wsa:ReferenceParameters> <customHeader>correlationKey</customHeader> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:To>http://lh:80/request</wsa:To> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
Server Side Asynchrony  Response <soap:Envelope> <soap:Header> <wsa:To>http://lh:77/response</wsa:To> <wsa:Action>urn:response</wsa:Action> <wsa:MessageID>uuid:cb383139-cdf2</wsa:MessageID> <wsa:RelatesTo>uuid:35f19ca8-c9fe</wsa:RelatesTo> <customHeader wsa:IsReferenceParameter=“1”> correlationKey</customHeader> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Client Implementation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Client Implementation (contd) ,[object Object]
Server Side Asynchrony Client side invocation StockQuote sq = service.getStockQuote(); // Populate headers AddressingVersion av =  AddressingVersion.W3C; WSBindingProvider wsbp = (WSBindingProvider)sq; WSEndpointReference replyTo = new WSEndpointReference( “ http://lh:77/response ” , av ); String uuid = “uuid:” + UUID.randomUUID(); wsbp.setOutboundHeaders( new StringHeader(av.messageIDTag, uuid), new StringHeader(av.toTag,”http://lh:88/…”), replyTo.createHeader(av.replyToTag); sq.getPrice(“ORCL”);
Server Side Asynchrony Callback Implementation // Deal with response @Resource WebServiceContext wsContext; public void getPriceResponse(String _return) { HeaderList hl = wsContext.getMessageContext().get( JAXWSPRopertiers.INBOUND_HEADER_LIST_PROPERTY); Header h = hl.get(AddressingVersion.W3C.relatesToTag()); String relatesToMessageId = h.getStringContents(); … } // How about receiving a fault?
Server Side Asynchrony FaultTo in Callback ,[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony Service Implementation ,[object Object],[object Object],[object Object],[object Object]
Server Side Asynchrony  Using JMS Queue for incoming request
Server Side Asynchrony  Using response queue
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declarative Asynchronous Services ,[object Object],[object Object],[object Object],[object Object]
Declarative Asynchronous Services package com.stock; import …; @ Portable WebService @ AsyncWebService   public class StockQuote { public float getPrice(String ticker) { return 100; } } Yes Just One  Annotation
Declarative Asynchronous Services ,[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics   Policy for Asynchronous Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics Policy for Asynchronous Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advanced Topics   Transaction Control
Advanced Topics   Reliability ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q & A ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Testing RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkTesting RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkMicha Kops
 
JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Languagegiurca
 
Web II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET WorksWeb II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET WorksRandy Connolly
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web developmentalice yang
 
Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution LanguageMartin Necasky
 
Introduction to java script
Introduction to java scriptIntroduction to java script
Introduction to java scriptnanjil1984
 

Tendances (14)

SERVIET
SERVIETSERVIET
SERVIET
 
SCDJWS 3. WSDL
SCDJWS 3. WSDLSCDJWS 3. WSDL
SCDJWS 3. WSDL
 
Testing RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured frameworkTesting RESTful Webservices using the REST-assured framework
Testing RESTful Webservices using the REST-assured framework
 
JSON Rules Language
JSON Rules LanguageJSON Rules Language
JSON Rules Language
 
Web II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET WorksWeb II - 02 - How ASP.NET Works
Web II - 02 - How ASP.NET Works
 
Ajax
AjaxAjax
Ajax
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
 
Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
 
Introduction to java script
Introduction to java scriptIntroduction to java script
Introduction to java script
 
Signal r
Signal rSignal r
Signal r
 
WS-Addressing
WS-AddressingWS-Addressing
WS-Addressing
 
GWT
GWTGWT
GWT
 
JavaScript
JavaScriptJavaScript
JavaScript
 

En vedette

Asynchronous t sql
Asynchronous t sqlAsynchronous t sql
Asynchronous t sqlRemus Rusanu
 
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Chris Richardson
 
Building Asynchronous Services With Sca
Building Asynchronous Services With ScaBuilding Asynchronous Services With Sca
Building Asynchronous Services With ScaLuciano Resende
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Serverguestbba9241
 
The Web Framework Dream Team
The Web Framework Dream TeamThe Web Framework Dream Team
The Web Framework Dream TeamJohan Eltes
 
Designing beautiful REST APIs
Designing beautiful REST APIsDesigning beautiful REST APIs
Designing beautiful REST APIsTomek Cejner
 
Microservices for the rest of us
Microservices for the rest of usMicroservices for the rest of us
Microservices for the rest of usAmbassador Labs
 
OSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPCOSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPCMichael Dürig
 
Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)Tomas Petricek
 
Asynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/SpringAsynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/SpringNaresh Chintalcheru
 
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...Twilio Inc
 
Asynchronous micro-services and the unified log
Asynchronous micro-services and the unified logAsynchronous micro-services and the unified log
Asynchronous micro-services and the unified logAlexander Dean
 
Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...Chris Richardson
 
Introduction to REST and JAX-RS
Introduction to REST and JAX-RSIntroduction to REST and JAX-RS
Introduction to REST and JAX-RSTed Pennings
 
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic SystemsThe Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic SystemsLightbend
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesEberhard Wolff
 

En vedette (18)

Asynchronous t sql
Asynchronous t sqlAsynchronous t sql
Asynchronous t sql
 
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
Consuming web services asynchronously with Futures and Rx Observables (svcc, ...
 
Building Asynchronous Services With Sca
Building Asynchronous Services With ScaBuilding Asynchronous Services With Sca
Building Asynchronous Services With Sca
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Server
 
The Web Framework Dream Team
The Web Framework Dream TeamThe Web Framework Dream Team
The Web Framework Dream Team
 
Designing beautiful REST APIs
Designing beautiful REST APIsDesigning beautiful REST APIs
Designing beautiful REST APIs
 
Asynch Soa
Asynch SoaAsynch Soa
Asynch Soa
 
Microservices for the rest of us
Microservices for the rest of usMicroservices for the rest of us
Microservices for the rest of us
 
OSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPCOSGi Asynchronous Services: more than RPC
OSGi Asynchronous Services: more than RPC
 
Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)Asynchronous programming in F# (QCon 2012)
Asynchronous programming in F# (QCon 2012)
 
Asynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/SpringAsynchronous Processing in Java/JEE/Spring
Asynchronous Processing in Java/JEE/Spring
 
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
Asynchronous Architectures for Implementing Scalable Cloud Services - Evan Co...
 
Asynchronous micro-services and the unified log
Asynchronous micro-services and the unified logAsynchronous micro-services and the unified log
Asynchronous micro-services and the unified log
 
Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...Futures and Rx Observables: powerful abstractions for consuming web services ...
Futures and Rx Observables: powerful abstractions for consuming web services ...
 
Introduction to REST and JAX-RS
Introduction to REST and JAX-RSIntroduction to REST and JAX-RS
Introduction to REST and JAX-RS
 
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic SystemsThe Future of Services: Building Asynchronous, Resilient and Elastic Systems
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 

Similaire à Svcc2009 Async Ws

AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axisgauravashq
 
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side DevelopmentREST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side DevelopmentHyunghun Cho
 
Building Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and GrizzlyBuilding Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and GrizzlyJustin Lee
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITCarol McDonald
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSam Brannen
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...Fwdays
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web ToolkitsYiguang Hu
 
Web services in java
Web services in javaWeb services in java
Web services in javamaabujji
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical ApproachMadhaiyan Muthu
 
GWT Web Socket and data serialization
GWT Web Socket and data serializationGWT Web Socket and data serialization
GWT Web Socket and data serializationGWTcon
 

Similaire à Svcc2009 Async Ws (20)

AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axis
 
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side DevelopmentREST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
 
Building Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and GrizzlyBuilding Websocket Applications with GlassFish and Grizzly
Building Websocket Applications with GlassFish and Grizzly
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSIT
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Steps india technologies
Steps india technologiesSteps india technologies
Steps india technologies
 
Steps india technologies .com
Steps india technologies .comSteps india technologies .com
Steps india technologies .com
 
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
Alexey Kupriyanenko "The State of Modern JavaScript and Web in 2020 - Real us...
 
SCDJWS 5. JAX-WS
SCDJWS 5. JAX-WSSCDJWS 5. JAX-WS
SCDJWS 5. JAX-WS
 
70562-Dumps
70562-Dumps70562-Dumps
70562-Dumps
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
SignalR
SignalRSignalR
SignalR
 
Web services in java
Web services in javaWeb services in java
Web services in java
 
Web services
Web servicesWeb services
Web services
 
T2
T2T2
T2
 
Servlet
ServletServlet
Servlet
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
GWT Web Socket and data serialization
GWT Web Socket and data serializationGWT Web Socket and data serialization
GWT Web Socket and data serialization
 

Dernier

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Dernier (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Svcc2009 Async Ws

  • 1. Asynchronous Web Services Pyounguk Cho, Oracle Corporation Manoj Kumar, Oracle Corporation
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29. Server Side Asynchrony Request <soap:Envelope> <soap:Header> <wsa:MessageID>uuid:35f19ca8-c9fe</wsa:MessageID> <wsa:Action>http://lh:80/request/…</wsa:Action> <wsa:ReplyTo> <wsa:Address>http://lh:77/response</wsa:Address> <wsa:ReferenceParameters> <customHeader>correlationKey</customHeader> </wsa:ReferenceParameters> </wsa:ReplyTo> <wsa:To>http://lh:80/request</wsa:To> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
  • 30. Server Side Asynchrony Response <soap:Envelope> <soap:Header> <wsa:To>http://lh:77/response</wsa:To> <wsa:Action>urn:response</wsa:Action> <wsa:MessageID>uuid:cb383139-cdf2</wsa:MessageID> <wsa:RelatesTo>uuid:35f19ca8-c9fe</wsa:RelatesTo> <customHeader wsa:IsReferenceParameter=“1”> correlationKey</customHeader> </soap:Header> <soap:Body>…</soap:Body> </soap:Envelope>
  • 31.
  • 32.
  • 33.
  • 34. Server Side Asynchrony Client side invocation StockQuote sq = service.getStockQuote(); // Populate headers AddressingVersion av = AddressingVersion.W3C; WSBindingProvider wsbp = (WSBindingProvider)sq; WSEndpointReference replyTo = new WSEndpointReference( “ http://lh:77/response ” , av ); String uuid = “uuid:” + UUID.randomUUID(); wsbp.setOutboundHeaders( new StringHeader(av.messageIDTag, uuid), new StringHeader(av.toTag,”http://lh:88/…”), replyTo.createHeader(av.replyToTag); sq.getPrice(“ORCL”);
  • 35. Server Side Asynchrony Callback Implementation // Deal with response @Resource WebServiceContext wsContext; public void getPriceResponse(String _return) { HeaderList hl = wsContext.getMessageContext().get( JAXWSPRopertiers.INBOUND_HEADER_LIST_PROPERTY); Header h = hl.get(AddressingVersion.W3C.relatesToTag()); String relatesToMessageId = h.getStringContents(); … } // How about receiving a fault?
  • 36.
  • 37.
  • 38. Server Side Asynchrony Using JMS Queue for incoming request
  • 39. Server Side Asynchrony Using response queue
  • 40.
  • 41.
  • 42. Declarative Asynchronous Services package com.stock; import …; @ Portable WebService @ AsyncWebService public class StockQuote { public float getPrice(String ticker) { return 100; } } Yes Just One Annotation
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Advanced Topics Transaction Control
  • 48.
  • 49.
  • 50.

Notes de l'éditeur

  1. For the BPEL entry we should not: &lt;10’s seconds synchronous Asynchronous services &gt;minutes then use BPEL
  2. Note that this style is become more populate in web browser, for example the built in database in HTML 5 uses this form; but it can be harder to write code that works in this way because you need to make sure the main focus of the tool you are working on is ready.
  3. But how do we relate message instances……
  4. http://hyperthink.net/blog/PermaLink,guid,8519a1bf-e1b7-4b9b-b10c-fce8d359b83e.aspx
  5. Can’t use AddressingFeature as once you have created any headers it wont work anymore – really annoying. Hence this longer code above. Could be using handlers but they are more painful when you need to set and extract instance information. Easier to put the code in-line
  6. Annoyed this fix go pulled from Farralon as pyoung didn’t think it was important. I guess we just skirt the issue, or offer a dirty fat patch.
  7. I supose the point to be made here is that The Async Reponder needs to be managed in some way….. Hence we are using JMS…..