SlideShare une entreprise Scribd logo
1  sur  14
The Service doing “Ping”
In a Service-Oriented Architecture, implementing
“ping” utilities to monitor services and to deduce
business information such as checking SLAs is prone
to error Ignaz Wanders
The Ping Utility
• Ping is originally a computer network administration utility used to test the
reachability of a host on an IP network and to measure the round-trip time for
messages sent from the originating host to a destination computer. (Wikipedia)
• The term originates from active sonar technology
• Defined in 1983
• Phased out from 2003 onwards
– Exploited by internet worms to find new computers
– Added load to the system, causing problems with routers across the internet
– Considered a security risk
• E.g., Ping of Death (malformed ping resulting in buffer overflow)
See http://en.wikipedia.org/wiki/Ping_(networking_utility)
The world of services
Service
Consumer
application
Service
Service
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2
“My service depends on
another service, so I will not
make my service available if
my service provider is not
available.”
3
1
“If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
“I need a ping!”
The world of service pings
Service
Consumer
application
Service
Service
Ping()
Ping()
Ping()
Each service offers a Ping operation
in the interface (WSDL)
“I need a ping!”
Real-life example 1: A service with special ping operation
<wsdl:operation name="ping">
<soap:operation style="document" soapAction="" />
<wsdl:input>
<soap:header message="tns:Ping" part="header" use="literal" />
<soap:body parts="body" use="literal" />
</wsdl:input>
<wsdl:output>
<soap:header message="tns:PingResponse" part="header" use="literal" />
<soap:body parts="body" use="literal" />
</wsdl:output>
</wsdl:operation>
Real-life example 2: A special ping service
See if it is there, by using ping
1 “If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
This is brilliant. The network is known to have availability
issues every now and then, especially with synchronous
protocols like HTTP.
So before calling a SOAP web service, let’s do a ping first. If the
service doesn’t answer, we don’t call it with the real request.
Flaws:
1. There is no guarantee that after a successful ping, the real
request will pass through.
2. An unsuccessful ping does not guarantee that the real
request would not have passed through.
The conclusion drawn from the result of the ping can very well be wrong
See if it is there, by using ping
1 “If I depend on the availability of
another service, I’ll ask if it is
available, just before I use it.”
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
This way, you have never taken the wrong decision.
Compared with the ping “solution,” there will be more
successful hits, which means more business.
Monitoring, by using ping
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2 Let’s do a ping every n minutes, and calculate the availability
percentage of the provider. This is a measure of the uptime of
the service provider.
Flaws:
1. There is no guarantee that between two successful
pings, the service was really available.
2. An unsuccessful ping can be an intermittent network
issue of very short duration, but it may be counted as n
minutes
The conclusion drawn from the monitoring by pinging has nothing to do with
the real statistics of uptime of the provider
Monitoring, by using ping
“My service provider says he is
available at least 90% of the time, so
I will check him out regularly if he
keeps his promise!”
2
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
It doesn’t matter if the service provider is off-air in between
requests. All that matters is that at least x percent of your
requests are served correctly. That’s what needs to be stated
in a service level agreement. And that is what is measurable.
Proactive service provisioning, by using ping
“My service depends on another
service, so I will not make my service
available if my service provider is
not available.”
3 Let’s do a ping of the service provider. If he doesn’t answer I
will close down my web application so consumers can’t use
this functionality. That avoids frustration of the people
receiving connection errors.
I’ll open the web application again after a successful ping.
(no kidding, this exists in real life!)
Flaws:
1. There can be no guarantee the service is down. The web
application will sometimes be shut down erroneously.
This can result in missed business.
The conclusion drawn from the unsuccessful ping is invalid.
Proactive service provisioning, by using ping
“My service depends on another
service, so I will not make my service
available if my service provider is
not available.”
3
Solution:
Just call the service with the real request and make sure that
you handle a connection error properly.
Even in this way you can shut down the web application, for
example after p unsuccessful requests.
Compared with the ping “solution,” there will be more
successful hits, which means more business.
Conclusion
Death to ping services or
operations.
Conclusion
Rather use proper error
handling!

Contenu connexe

Similaire à The Service doing "Ping"

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2Ian McDonald
 
False Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceFalse Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceDavis J Martin
 
Presentation File (1).pdf
Presentation File (1).pdfPresentation File (1).pdf
Presentation File (1).pdfballjay
 
UX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnUX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnCode & Pepper
 
Service workers and their role in PWAs
Service workers and their role in PWAsService workers and their role in PWAs
Service workers and their role in PWAsIpsha Bhidonia
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated CustomersBarry Greene
 
Test execution
Test executionTest execution
Test executionadarsh j
 
Presentation File.pdf
Presentation File.pdfPresentation File.pdf
Presentation File.pdfballjay
 
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Naresh Chintalcheru
 
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...Lounge47
 
Troubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationTroubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationUniface
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Nightahamilton55
 
A-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersA-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersLime VPN
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App MetricsApteligent
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsDynatrace
 
Software not working or agents lying
Software not working or agents lyingSoftware not working or agents lying
Software not working or agents lyingSpectrum
 
HSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMHSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMKent Cartwright
 
Integration testing with PACT
Integration testing with PACTIntegration testing with PACT
Integration testing with PACTKnoldus Inc.
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For StartupsIdo Green
 

Similaire à The Service doing "Ping" (20)

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
 
False Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a NuisanceFalse Website Downtime Alerts Are More Than a Nuisance
False Website Downtime Alerts Are More Than a Nuisance
 
Presentation File (1).pdf
Presentation File (1).pdfPresentation File (1).pdf
Presentation File (1).pdf
 
UX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus OnUX & FinTech: 3 Ideas to Focus On
UX & FinTech: 3 Ideas to Focus On
 
Service workers and their role in PWAs
Service workers and their role in PWAsService workers and their role in PWAs
Service workers and their role in PWAs
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated Customers
 
Test execution
Test executionTest execution
Test execution
 
Presentation File.pdf
Presentation File.pdfPresentation File.pdf
Presentation File.pdf
 
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
Lie Cheat & Steal to build Hyper-Fast Applications using Event-Driven Archite...
 
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...Vivint Wireless   How to De-Risk a New Venture & Build a Better ISP  - Luke L...
Vivint Wireless How to De-Risk a New Venture & Build a Better ISP - Luke L...
 
Troubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx PresentationTroubleshooting Urouter Problems: WebEx Presentation
Troubleshooting Urouter Problems: WebEx Presentation
 
When Things Go Bump in the Night
When Things Go Bump in the NightWhen Things Go Bump in the Night
When Things Go Bump in the Night
 
A-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For BeginnersA-Z Of LimeVPN For Beginners
A-Z Of LimeVPN For Beginners
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics
 
Top 5 IT challenges for 2017
Top 5 IT challenges for 2017Top 5 IT challenges for 2017
Top 5 IT challenges for 2017
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Software not working or agents lying
Software not working or agents lyingSoftware not working or agents lying
Software not working or agents lying
 
HSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APMHSI's Cloud-Hosted Foglight IT Monitoring & APM
HSI's Cloud-Hosted Foglight IT Monitoring & APM
 
Integration testing with PACT
Integration testing with PACTIntegration testing with PACT
Integration testing with PACT
 
Progressive Web Apps For Startups
Progressive Web Apps For StartupsProgressive Web Apps For Startups
Progressive Web Apps For Startups
 

Dernier

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 

The Service doing "Ping"

  • 1. The Service doing “Ping” In a Service-Oriented Architecture, implementing “ping” utilities to monitor services and to deduce business information such as checking SLAs is prone to error Ignaz Wanders
  • 2. The Ping Utility • Ping is originally a computer network administration utility used to test the reachability of a host on an IP network and to measure the round-trip time for messages sent from the originating host to a destination computer. (Wikipedia) • The term originates from active sonar technology • Defined in 1983 • Phased out from 2003 onwards – Exploited by internet worms to find new computers – Added load to the system, causing problems with routers across the internet – Considered a security risk • E.g., Ping of Death (malformed ping resulting in buffer overflow) See http://en.wikipedia.org/wiki/Ping_(networking_utility)
  • 3. The world of services Service Consumer application Service Service “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” “I need a ping!”
  • 4. The world of service pings Service Consumer application Service Service Ping() Ping() Ping() Each service offers a Ping operation in the interface (WSDL) “I need a ping!”
  • 5. Real-life example 1: A service with special ping operation <wsdl:operation name="ping"> <soap:operation style="document" soapAction="" /> <wsdl:input> <soap:header message="tns:Ping" part="header" use="literal" /> <soap:body parts="body" use="literal" /> </wsdl:input> <wsdl:output> <soap:header message="tns:PingResponse" part="header" use="literal" /> <soap:body parts="body" use="literal" /> </wsdl:output> </wsdl:operation>
  • 6. Real-life example 2: A special ping service
  • 7. See if it is there, by using ping 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” This is brilliant. The network is known to have availability issues every now and then, especially with synchronous protocols like HTTP. So before calling a SOAP web service, let’s do a ping first. If the service doesn’t answer, we don’t call it with the real request. Flaws: 1. There is no guarantee that after a successful ping, the real request will pass through. 2. An unsuccessful ping does not guarantee that the real request would not have passed through. The conclusion drawn from the result of the ping can very well be wrong
  • 8. See if it is there, by using ping 1 “If I depend on the availability of another service, I’ll ask if it is available, just before I use it.” Solution: Just call the service with the real request and make sure that you handle a connection error properly. This way, you have never taken the wrong decision. Compared with the ping “solution,” there will be more successful hits, which means more business.
  • 9. Monitoring, by using ping “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 Let’s do a ping every n minutes, and calculate the availability percentage of the provider. This is a measure of the uptime of the service provider. Flaws: 1. There is no guarantee that between two successful pings, the service was really available. 2. An unsuccessful ping can be an intermittent network issue of very short duration, but it may be counted as n minutes The conclusion drawn from the monitoring by pinging has nothing to do with the real statistics of uptime of the provider
  • 10. Monitoring, by using ping “My service provider says he is available at least 90% of the time, so I will check him out regularly if he keeps his promise!” 2 Solution: Just call the service with the real request and make sure that you handle a connection error properly. It doesn’t matter if the service provider is off-air in between requests. All that matters is that at least x percent of your requests are served correctly. That’s what needs to be stated in a service level agreement. And that is what is measurable.
  • 11. Proactive service provisioning, by using ping “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 Let’s do a ping of the service provider. If he doesn’t answer I will close down my web application so consumers can’t use this functionality. That avoids frustration of the people receiving connection errors. I’ll open the web application again after a successful ping. (no kidding, this exists in real life!) Flaws: 1. There can be no guarantee the service is down. The web application will sometimes be shut down erroneously. This can result in missed business. The conclusion drawn from the unsuccessful ping is invalid.
  • 12. Proactive service provisioning, by using ping “My service depends on another service, so I will not make my service available if my service provider is not available.” 3 Solution: Just call the service with the real request and make sure that you handle a connection error properly. Even in this way you can shut down the web application, for example after p unsuccessful requests. Compared with the ping “solution,” there will be more successful hits, which means more business.
  • 13. Conclusion Death to ping services or operations.
  • 14. Conclusion Rather use proper error handling!