Abstract
Designing heterogeneous distributed systems requires of the use of tools that facilitate the deployment and the interaction between platforms. In this paper we propose using Simple Object Access Protocol (SOAP) and REpresentational State Transfer (REST), two main approaches for creating applications based on distributed services, for distributed computation. Our aim is to demonstrate how they could be used to develop evolution- ary computation systems on heterogeneous platforms, taking advantage of their ability to deal with heterogeneous infrastructures and environments, and giving support for parallel implementations with a high platform flexibility. Both approaches are different and present some advantages and disadvantages for interfacing to web services: SOAP is conceptually more difficult (has a steeper learning curve) and more â€heavy-weight†than REST, although it lacks of standards support for security. The results obtained on different experiments have shown that both SOAP and REST can be used as communication protocol for distributed evolutionary computation. Results obtained are comparable, however for large amounts of data (big messages), REST communications take longer than SOAP communications.
Highlights
Nowadays, the design of distributed systems should ensure interaction among very different platforms
We propose using them for distributed evolutionary computation, taking advantage of their ability to deal with heterogeneous infrastructures and environments
The Simple Object Access Protocol (SOAP) model was implemented using the SOAP::Lite module, while the REpresentational State Transfer (REST) implementation was carried out using the Perl Dancer module; both were chosen for their stability and maturity
Summary
The design of distributed systems should ensure interaction among very different platforms. Using web services technologies for distributed computation might provide a common interface that can be called from almost any programming language to develop evolutionary computation systems on heterogeneous platforms. Services are computational resources that can be utilized and organized through the Service Oriented Architecture (SOA) [67] paradigm. An important SOA capability is that it is not focused on a specific implementation, but offers a set of guidelines to help the developers [11]. Services can be dynamically discovered and used (while in Object Oriented Programming must be previously known and can not change during execution), being one of the most important capabilities the (optional) distribution in a network
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have