SlideShare une entreprise Scribd logo
1  sur  54
SOA and Web Services Sreekanth Narayanan Code samples in Java
SOA -  Definition ,[object Object],[object Object],[object Object]
SOA is not Web Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed Computing ,[object Object],[object Object],[object Object]
Quick Comparison Tight Agnostic (Visual C++, VB, PowerBuilder, Delhi, etc.) Windows Registry IDL ORPC (Object RPC) Binary (Unlike WCP which encourages XML-based SOAP) NDR DCOM (Enables - but does not guarantee) loose coupling Tight Tight Coupling Java RMI registry or JNDI Java Interface JRMP or IIOP Stream Serialized Java Java RMI Java RMI Agnostic COS Naming Service OMG IDL IIOP (Inter-ORB Protocol) GIOP CDR CORBA RMI CORBA Agnostic Programming language & platform WSDL Interface description UDDI Discovery mechanism HTTP, SMTP, FTP, JMS… Transport protocol SOAP Wire format Web services XML Data format JAX-RPC, .NET.. Invocation Mechanism
Why Web Services? ,[object Object],[object Object],[object Object],[object Object]
Other advantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web Service Definition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Anatomy of a XML based WS
Contract based Services ,[object Object],[object Object],[object Object]
SOAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOAP Structure ,[object Object],[object Object],[object Object]
Sample SOAP XML Request ,[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],[object Object],SOAP Envelope Specifies that this message is SOAP Encoded SOAP Header Section Optional Specifies any of the “Control” information which cannot be sent on the payload (Typical example is authentication data) SOAP Body Specifies the operation being invoked It also specifies all the parameters (Called the Payload)
Sample SOAP XML Response ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],SOAP Envelope Specifies that this message is SOAP Encoded Shows that this is the response Value returned from the function call Shows the HTTP Response Status – 200 – OK, You will get the Error codes here
SOAP Error Response Sample HTTP/1.1 500 Internal Server Error Host: www.borland.com Content-Type: text/xml; charset=&quot;utf-8&quot; Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; <SOAP-ENV:Body> <SOAP-ENV:Fault>   <faultcode>SOAP-ENV:Server</faultcode>   <faultstring>Server Error</faultstring>   <detail> <d:message xmlns:d=&quot;some URI&quot;> No Symbol found </d:message>   </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> SOAP Envelope SOAP Fault Code Detailed Error Message from the Server Shows the HTTP Response Status – ERROR
Uses of a SOAP Header  ,[object Object],[object Object],[object Object]
Uses of a SOAP Header  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Looking at the Contract - WSDL  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More on the Contract
WSDL - Details  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL - Structure
WSDL - Example  ,[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],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Note this : will be referred from the messages section – defines input Note this : will be referred from the messages section – defines output
WSDL - Example  ,[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],[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],This is the Operation supported by this Web Service The input message and the output message for this operation The input message and the output message for this operation
WSDL – Parts of the XML  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL – Parts of the XML  ,[object Object],[object Object]
WSDL – Parts of the XML  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],<message name=&quot;GetLastTradePriceInput&quot;> <part name=&quot;body“ element=&quot;xsd1:TradePriceRequest&quot;/> </message> <message name=&quot;GetLastTradePriceOutput&quot;> <part name=&quot;body&quot; element=&quot;xsd1:TradePrice&quot;/> </message>
WSDL – Parts of the XML ,[object Object],[object Object],[object Object],[object Object],[object Object],<portType name=&quot;StockQuotePortType&quot;> <operation name=&quot;GetLastTradePrice&quot;> <input message=&quot;tns:GetLastTradePriceInput&quot;/> <output message=&quot;tns:GetLastTradePriceOutput&quot;/> </operation> <!-- More operations --> </portType>
WSDL – Parts of the XML ,[object Object],<binding name=&quot;StockQuoteSoapBinding&quot; type= &quot;tns:StockQuotePortType&quot;> <soap:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/> <operation name=&quot;GetLastTradePrice&quot;> <soap:operation soapAction= &quot;http://example.com/GetLastTradePrice&quot;/> <input> <soap:body use=&quot;literal&quot;/> </input> <output> <soap:body use=&quot;literal&quot;/> </output> </operation> </binding> Specifies that this uses SOAP Protocol Binding – Could be HTTP or SMTP also Declares the data format of the message Specifies that this service uses SOAP over HTTP
WSDL – Parts of the XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WSDL 1.1 – Summary
How to implement SOAP Services ? ,[object Object],[object Object],[object Object]
Advantages of SOAP Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
Disadvantages of SOAP Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
Alternatives to SOAP Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
REST ,[object Object],[object Object]
REST ,[object Object],[object Object]
REST ,[object Object],Deletes the entire Collection Replaces the Collection with a different collection. Stands for an UPDATE Creates a New Record as part of the collection, but retrieves and assigns a NEW ID to the item which is created. This stands for a CREATE operation in the simpler sense Retrieve a Collection Matching a Criterion. The Criteria might be passed as an input parameter in the HTTP Request. DELETE PUT POST GET
REST ,[object Object],[object Object],[object Object],[object Object],[object Object]
REST ,[object Object]
REST Vs SOAP Better chance of loose coupling due to the non existence of the contract. The Resource processing might be dependent on Parameters, even of they change, it is easier to default them on Server side without the Client changing anything. Strict adherence to contract. The Contract needs to be established first. Tightly couples the Client due to the Contract.  Ease of Development/Change Management REST not being a standard, all the advantages mentioned in SOAP do not come by default. Most cases the implementation has to take care of the Security needs as well as the Error handling. This becomes difficult as Out of the Box Solutions for the same are not available and all is left to the Coder to implement. SOAP based WS have extensive support within all the application containers. As SOAP provides for extensive storage of metadata within the message, a lot of infrastructure support can be built making use of the data which is sent. SOAP provides inherent support for Security and Error Handling Infrastructure Support/Security/Error Handling REST is not defined in any of the standards. It is just an architectural style. It is tightly coupled to the HTTP transport. Rest is suited for mostly Web Driven Architectures where the base mode of transport is HTTP Standards based/Defined in all the WS standards. SOAP becomes heavy because of the amount of metadata it carries. SOAP is transport Agnostic. If you have a heterogeneous messaging infrastructure to integrate, SOAP is a better solution. Environment/Standards/Transport Rest enables sending smaller messages as response.  As the technology is not tied to the use of SOAP for messaging, the designer can use XML, JSON or TEXT. This enables lightweight messaging. SOAP message has a header and a body. In most cases, the need for sending the data as soap is not needed. Sending a SOAP message has considerable overhead due to the stringent structure Size of the message REST SOAP
When to Use SOAP Services ,[object Object],[object Object],[object Object],[object Object]
When to Use REST Services ,[object Object],[object Object],[object Object],[object Object]
Service Granularity ,[object Object]
Service Granularity an Example ,[object Object],[object Object],[object Object],[object Object],[object Object]
Service Granularity ,[object Object]
[object Object],Service Granularity
Service Granularity in design ,[object Object],[object Object],[object Object],[object Object]
[object Object],Web Service Security Digital Signatures can be used to verify whether a message has been tampered with. The Requested can sign the request and send to the provider and the provider can verify whether the message has been modified before it reached the provider. The   XML Signature standard provides a means for signing parts of XML documents, providing end-to-end data integrity across multiple systems. Data Integrity and Verification Standard SSL encryption using HTTPS can be used to provide data privacy between service requestors and service providers. In many cases, the service provider may not be the ultimate destination for the message. A service provider may act as a Integrator of Data, sending pieces of information to multiple services. The XML   Encryption standard permits encryption of portions of the message allowing header and other information to be clear text while leaving the sensitive payload encrypted. Sensitive information can then be left encrypted to the ultimate destination, allowing true end-to-end data privacy. Data Privacy Authorization is the process of verifying what data/functionality the user has access to. The actions a user is able to perform should be based on the user’s credentials.  Authorization Authentication is defined as the process of verifying the identity of the sender or the requestor of the Service. Credentials are embedded in either the headers or body of the SOAP message. Standard Web technologies using passwords, X.509 certificates or LDAP credentials.  Authentication
Types of attacks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Types of attacks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Security Best Practices ,[object Object],[object Object],[object Object],[object Object]
Advanced Topics ,[object Object],[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object]
Thank You !! ,[object Object],[object Object]

Contenu connexe

Tendances

SEO presentation By Dang HA - ECM team
SEO presentation By Dang HA - ECM teamSEO presentation By Dang HA - ECM team
SEO presentation By Dang HA - ECM teamThuy_Dang
 
Technical SEO Introduction
Technical SEO IntroductionTechnical SEO Introduction
Technical SEO IntroductionEitan Helman
 
SEO for developers (session 1)
SEO for developers (session 1)SEO for developers (session 1)
SEO for developers (session 1)RankAbove
 
UProRevs-User Profile Relevant Results
UProRevs-User Profile Relevant ResultsUProRevs-User Profile Relevant Results
UProRevs-User Profile Relevant ResultsRoyston Olivera
 
RESTful API Design Fundamentals
RESTful API Design FundamentalsRESTful API Design Fundamentals
RESTful API Design FundamentalsHüseyin BABAL
 
Overview of how to do SEO
Overview of how to do SEOOverview of how to do SEO
Overview of how to do SEOChris Finne
 
Site Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteSite Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteAdam Audette
 
Developers role in web site seo optimization
Developers role in web site seo optimizationDevelopers role in web site seo optimization
Developers role in web site seo optimizationNaga Harish M
 
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...Kahena Digital Marketing
 
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...Ishan Mishra
 
Architecture Best Practices
Architecture Best PracticesArchitecture Best Practices
Architecture Best PracticesAWS Germany
 
Web architecture - overview of techniques.
Web architecture - overview of  techniques.Web architecture - overview of  techniques.
Web architecture - overview of techniques.Ruslan Shevchenko
 

Tendances (19)

SEO presentation By Dang HA - ECM team
SEO presentation By Dang HA - ECM teamSEO presentation By Dang HA - ECM team
SEO presentation By Dang HA - ECM team
 
Technical SEO Introduction
Technical SEO IntroductionTechnical SEO Introduction
Technical SEO Introduction
 
SEO for developers (session 1)
SEO for developers (session 1)SEO for developers (session 1)
SEO for developers (session 1)
 
Seo onpage & offpage, Search Engine Optimization, SEO
Seo onpage & offpage, Search Engine Optimization, SEOSeo onpage & offpage, Search Engine Optimization, SEO
Seo onpage & offpage, Search Engine Optimization, SEO
 
UProRevs-User Profile Relevant Results
UProRevs-User Profile Relevant ResultsUProRevs-User Profile Relevant Results
UProRevs-User Profile Relevant Results
 
RESTful API Design Fundamentals
RESTful API Design FundamentalsRESTful API Design Fundamentals
RESTful API Design Fundamentals
 
Overview of how to do SEO
Overview of how to do SEOOverview of how to do SEO
Overview of how to do SEO
 
Site Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam AudetteSite Architecture Best Practices for Search Findability - Adam Audette
Site Architecture Best Practices for Search Findability - Adam Audette
 
Developers role in web site seo optimization
Developers role in web site seo optimizationDevelopers role in web site seo optimization
Developers role in web site seo optimization
 
Article16
Article16Article16
Article16
 
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
Advanced Technical SEO - Index Bloat & Discovery: from Facets to Javascript F...
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
Web Architecture
Web ArchitectureWeb Architecture
Web Architecture
 
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...
Online Marketing Company, Social Media Marketing, Digital Marketing, Indore, ...
 
On page Optimization
On page OptimizationOn page Optimization
On page Optimization
 
concepts of SEO
concepts of SEOconcepts of SEO
concepts of SEO
 
Architecture Best Practices
Architecture Best PracticesArchitecture Best Practices
Architecture Best Practices
 
Seo tutorial
Seo tutorialSeo tutorial
Seo tutorial
 
Web architecture - overview of techniques.
Web architecture - overview of  techniques.Web architecture - overview of  techniques.
Web architecture - overview of techniques.
 

Similaire à SOA and web services

Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Web services for developer
Web services for developerWeb services for developer
Web services for developerRafiq Ahmed
 
jkljklj
jkljkljjkljklj
jkljkljhoefo
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Communication Protocols And Web Services
Communication Protocols And Web ServicesCommunication Protocols And Web Services
Communication Protocols And Web ServicesOmer Katz
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technologysanjoysanyal
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technologysanjoysanyal
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesVaibhav Khanna
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]Subin Sugunan
 

Similaire à SOA and web services (20)

Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
jkljklj
jkljkljjkljklj
jkljklj
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
SOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIESSOAP WEB TECHNOLOGIES
SOAP WEB TECHNOLOGIES
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Java web services
Java web servicesJava web services
Java web services
 
Communication Protocols And Web Services
Communication Protocols And Web ServicesCommunication Protocols And Web Services
Communication Protocols And Web Services
 
SOAP Overview
SOAP OverviewSOAP Overview
SOAP Overview
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Web services
Web servicesWeb services
Web services
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Introduction to SOAP
Introduction to SOAPIntroduction to SOAP
Introduction to SOAP
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in services
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]
 

Dernier

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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)
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

SOA and web services

  • 1. SOA and Web Services Sreekanth Narayanan Code samples in Java
  • 2.
  • 3.
  • 4.
  • 5. Quick Comparison Tight Agnostic (Visual C++, VB, PowerBuilder, Delhi, etc.) Windows Registry IDL ORPC (Object RPC) Binary (Unlike WCP which encourages XML-based SOAP) NDR DCOM (Enables - but does not guarantee) loose coupling Tight Tight Coupling Java RMI registry or JNDI Java Interface JRMP or IIOP Stream Serialized Java Java RMI Java RMI Agnostic COS Naming Service OMG IDL IIOP (Inter-ORB Protocol) GIOP CDR CORBA RMI CORBA Agnostic Programming language & platform WSDL Interface description UDDI Discovery mechanism HTTP, SMTP, FTP, JMS… Transport protocol SOAP Wire format Web services XML Data format JAX-RPC, .NET.. Invocation Mechanism
  • 6.
  • 7.
  • 8.
  • 9. Anatomy of a XML based WS
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. SOAP Error Response Sample HTTP/1.1 500 Internal Server Error Host: www.borland.com Content-Type: text/xml; charset=&quot;utf-8&quot; Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Server Error</faultstring> <detail> <d:message xmlns:d=&quot;some URI&quot;> No Symbol found </d:message> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> SOAP Envelope SOAP Fault Code Detailed Error Message from the Server Shows the HTTP Response Status – ERROR
  • 16.
  • 17.
  • 18.
  • 19. More on the Contract
  • 20.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. WSDL 1.1 – Summary
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. REST Vs SOAP Better chance of loose coupling due to the non existence of the contract. The Resource processing might be dependent on Parameters, even of they change, it is easier to default them on Server side without the Client changing anything. Strict adherence to contract. The Contract needs to be established first. Tightly couples the Client due to the Contract. Ease of Development/Change Management REST not being a standard, all the advantages mentioned in SOAP do not come by default. Most cases the implementation has to take care of the Security needs as well as the Error handling. This becomes difficult as Out of the Box Solutions for the same are not available and all is left to the Coder to implement. SOAP based WS have extensive support within all the application containers. As SOAP provides for extensive storage of metadata within the message, a lot of infrastructure support can be built making use of the data which is sent. SOAP provides inherent support for Security and Error Handling Infrastructure Support/Security/Error Handling REST is not defined in any of the standards. It is just an architectural style. It is tightly coupled to the HTTP transport. Rest is suited for mostly Web Driven Architectures where the base mode of transport is HTTP Standards based/Defined in all the WS standards. SOAP becomes heavy because of the amount of metadata it carries. SOAP is transport Agnostic. If you have a heterogeneous messaging infrastructure to integrate, SOAP is a better solution. Environment/Standards/Transport Rest enables sending smaller messages as response. As the technology is not tied to the use of SOAP for messaging, the designer can use XML, JSON or TEXT. This enables lightweight messaging. SOAP message has a header and a body. In most cases, the need for sending the data as soap is not needed. Sending a SOAP message has considerable overhead due to the stringent structure Size of the message REST SOAP
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.

Notes de l'éditeur

  1. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  2. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  3. NDR- Network Data Representation CDR – Common Data Representation
  4. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  5. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  6. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  7. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  8. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  9. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  10. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  11. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  12. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  13. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  14. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  15. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  16. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  17. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  18. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  19. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  20. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,
  21. Business Services, SOA Security, SOA Governance, SOA Management, Messaging Infrastructure (Service Intermediaries), SOA Processes,