Abstract
In this chapter, a high-level comparison of both SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) is made. These are the two main approaches for interfacing to the web with web services. 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. In order to test their efficiency (in time), three experiments have been performed using both technologies: first a basic client-server model implementation to test communications has been implemented; then, a master-slave based genetic algorithm (GA) to solve an optimization problem has been used; and finally, as third experiment, an approach to evolutionary distributed optimization of multilayer perceptrons (MLP) using REST and language Perl has been done. In these experiments, a master-slave based evolutionary algorithm (EA) has been implemented, where slave processes evaluate the costly fitness function (training a MLP to solve a classification problem). As expected, the parallel version of the developed programs obtains similar or better results using much less time than the sequential version, obtaining a good speedup. The results obtained have shown that both SOAP and REST can be used as communication protocol for distributed evolutionary computation, obtaining a good speedup. Results obtained are comparable, and only for large amounts of data (big messages), REST communications take longer than SOAP communications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abramson, J., Abela, A.: Parallel genetic algorithm for solving the school timetabling problem. In: Proceedings of the Fifteenth Australian Computer Science Conference (ACSC-15), vol. 14, pp. 1–11 (1992)
Arenas, M., Foucart, L., Merelo-Guervós, J.J., Castillo, P.A.: JEO: a framework for Evolving Objects in Java. Actas Jornadas de Paralelismo, UPV, Universidad Politécnica de Valencia, 185–191 (2001)
Atienza, J., García, M., González, J., Merelo-Guervós, J.J.: Jenetic: a distributed, fine-grained, asynchronous evolutionary algorithm using Jini. In: Wang, P.P. (ed.) Proc. JCIS 2000 Joint Conference on Information Sciences, vol. I, pp. 1087–1089 (2000) ISBN: 0-9643456-9-2
Ávila, P.: SOAP: revolución en la red. Linux Actual 19, 55–59 (2001)
Box, D.: Inside SOAP (2011), http://www.xml.com/pub/a/2000/02/09/feature/index.html
Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H., Thatte, S., Winer, D.: Simple Object Access Protocol (SOAP) 1.1, W3C Note (May 08, 2000), http://www.w3.org/TR/SOAP
Cantú-Paz, E., Goldberg, D.E.: Modeling idealized bounding cases of parallel genetic algorithms. In: Koza, J., Deb, K., Dorigo, M., Fogel, D., Garzón, M., Iba, H., Riolo, R. (eds.) Proceedings of the Second Annual Conference on Genetic Programming 1997. Morgan Kaufmann, San Francisco (1997)
Cantú-Paz, E., Kamath, C.: Inducing oblique decision trees with evolutionary algorithms. IEEE Trans. Evolutionary Computation 7(1), 54–68 (2003)
Castellano, J.G., García-Arenas, M., Castillo, P.A., Carpio, J., Cillero, M., Merelo-Guervós, J.J., Prieto, A., Rivas, V., Romero, G.: Objetos evolutivos paralelos. In: de Granada, D.A.U. (ed.) XI Jornadas de Paralelismo, pp. 247–252 (2000)
Castillo, P.A., Carpio, J., Merelo, J.J., Rivas, V., Romero, G., Prieto, A.: Evolving multilayer perceptrons. Neural Processing Letters 12, 115–127 (2000)
Castillo, P.A., Merelo-Guervós, J.J., Prieto, A., Rivas, V., Romero, G.: G-Prop: Global optimization of multilayer perceptrons using GAs. Neurocomputing 35, 149–163 (2000)
Castillo, P., Merelo, J., Romero, G., Prieto, A., Rojas, I.: Statistical Analysis of the Parameters of a Neuro-Genetic Algorithm. IEEE Transactions on Neural Networks 13(6), 1374–1394 (2002)
Domeniconi, C., Peng, J., Gunopulos, D.: Adaptive metric nearest neighbor classification. In: Proc. of IEEE Conf. on CVPR, Hilton Head Island, South Carolina, pp. 517–522 (2000)
Duch, W.: Datasets used for classification: comparison of results (2004), http://www.phys.uni.torun.pl/kmk/projects/datasets.html
Dzeroski, S., Zenko, B.: Is combining classifiers with stacking better than selecting the best one? Machine Learning 54(3), 255–273 (2004)
Fahlman, S.: An empirical study of learning speed in back-propagation networks, Tech. rep., Carnegie Mellon University (1988)
Fahlman, S.: Faster-Learning Variations on Back-Propagation: An Empirical Study. In: Proceedings of the 1988 Connectionist Models Summer School. Morgan Kaufmann (1988)
Fielding, R.: Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine (2000)
Fielding, R., Taylor, R.: Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology (TOIT) 2(2), 115–150 (2002)
Fisher, R.: Theory of Statistical Estimation. Proceedings of the Cambridge Philosophical Society 22, 700–725 (1925)
Fisher, R.: The Comparison of Samples with Possibly Unequal Variances. Annals of Eugenics 9, 174–180 (1936)
Fogarty, T., Huang, R.: Implementing the genetic algorithm on transputer based parallel processing systems. Parallel Problem Solving From Nature, 145–149 (1991)
García-Pedrajas, N., Hervás-Martínez, C., Munoz-Pérez, J.: Multiobjective cooperative coevolution of artificial neural networks. Neural Networks 15(10), 1255–1274 (2002)
García-Pedrajas, N., Hervás-Martínez, C., Ortiz, D.: Cooperative coevolution of artificial neural network ensembles for pattern classification. IEEE Transactions on Evolutionary Computation 9(3), 271–302 (2005)
García-Pedrajas, N., Ortíz-Boyer, D., del Castillo-Gomariz, R., Hervás-Martínez, C.: Cascade Ensembles. In: Cabestany, J., Prieto, A.G., Sandoval, F. (eds.) IWANN 2005. LNCS, vol. 3512, pp. 598–603. Springer, Heidelberg (2005)
García-Sánchez, P., González, J., Castillo, P.A., Merelo, J.J., Mora, A.M., Laredo, J.L.J., Arenas, M.G.: A Distributed Service Oriented Framework for Metaheuristics Using a Public Standard. In: González, J.R., Pelta, D.A., Cruz, C., Terrazas, G., Krasnogor, N. (eds.) NICSO 2010. SCI, vol. 284, pp. 211–222. Springer, Heidelberg (2010)
Goldberg, D.E.: Genetic Algorithms in search, optimization and machine learning. Addison Wesley (1989)
Grefenstette, J.: Optimization of control parameters for genetic algorithms. IEEE Trans. Systems, Man, and Cybernetics 16(1), 122–128 (1986)
Grönroos, M.: Evolutionary Design of Neural Networks, Master of Science Thesis in Computer Science. Dept. of Mathematical Sciences. University of Turku (1998)
Harold, E.R.: XML Bible. IDG Books worldwide (1991)
Hauser, R., Männer, R.: Implementation of Standard Genetic Algorithm on Mimd Machines. In: Davidor, Y., Männer, R., Schwefel, H.-P. (eds.) PPSN 1994. LNCS, vol. 866, pp. 504–513. Springer, Heidelberg (1994)
IETF: RFC 1945 (2011), http://tools.ietf.org/html/rfc1945
IETF: RFC 2616 (2011), http://tools.ietf.org/html/rfc2616
Keijzer, M., Merelo, J.J., Romero, G., Schoenauer, M.: Evolving Objects: A General Purpose Evolutionary Computation Library. In: Collet, P., Fonlupt, C., Hao, J.-K., Lutton, E., Schoenauer, M. (eds.) EA 2001. LNCS, vol. 2310, pp. 231–244. Springer, Heidelberg (2002)
Kim, D., Kim, C.: Forecasting time series with genetic fuzzy predictor ensemble. IEEE Transactions on Fuzzy Systems 5(4), 523–535 (1997)
Kuchenko, P.: SOAP: Lite (2011), http://www.soaplite.com
León-Barranco, A., Reyes-García, C.A.: ARGEN + AREPO: Improving the Search Process with Artificial Genetic Engineering. In: Cabestany, J., Prieto, A.G., Sandoval, F. (eds.) IWANN 2005. LNCS, vol. 3512, pp. 637–645. Springer, Heidelberg (2005)
Merelo, J.J.: A perl primer for evolutionary algorithm practitioners. Sigevolution 4(4), 12–19 (2010), Doi http://doi.acm.org/10.1145/1810136.1810138
Merelo-Guervós, J.J., Castillo, P.A., Alba, E.: Algorithm:Evolutionary, a flexible Perl module for evolutionary computation. In: Soft Computing. A Fusion of Foundations, Methodologies and Applications, vol. 14(10), pp. 1091–1109. Springer, Heidelberg (2010)
Merelo, J.J., Mora, A., Castillo, P., Laredo, J.L.J., Fernandes, C.: Optimizing evolutionary algorithms at program level. In: Proceedings META 2010, International Conference on Metaheuristics and Nature Inspired Computing (2010)
Merelo-Guervós, J.J., Prieto, A.: g-lvq, a combination of genetic algorithms and lvq. In: Pearson, N.D.W., Albrecht, R.F. (eds.) Artificial Neural Nets and Genetic Algorithms, pp. 92–95. Springer (1995)
Merelo-Guervós, J.J., Prieto, A., Morán, F.: Optimization of classifiers using genetic algorithms, ch. 4, pp. 91–108. MIT press (2001) ISBN: 0262162016
Merelo, J.J., Romero, G., Arenas, M.G., Castillo, P.A., Mora, A.M., Laredo, J.L.J.: Implementation Matters: Programming Best Practices for Evolutionary Algorithms. In: Cabestany, J., Rojas, I., Joya, G. (eds.) IWANN 2011, Part II. LNCS, vol. 6692, pp. 333–340. Springer, Heidelberg (2011)
Michaeldehaan: XMLRPC vs REST vs SOAP vs all your RPC options (2011), http://bit.ly/MPRXA
Oluyede: If XMLRPC is really better than REST its not for there reasons (2011), http://bit.ly/bThgss
Papazoglou, M., van den Heuvel, W.J.: Service oriented architectures: approaches, technologies and research issues. The VLDB Journal 16, 389–415 (2007), doi:10.1007/s00778-007-0044-3
Pettey, C.B., Leuze, M.R., Grefenstette, J.J.: A parallel genetic algorithm. In: Grefenstette, J.J. (ed.) Proceedings of the Second International Conference on Genetic Algorithms, pp. 155–162. Lawrence Erlbaum Associates (1987)
Prechelt, L.: PROBEN1 — A set of benchmarks and benchmarking rules for neural network training algorithms, Tech. Rep. 21/94, Fakultät für Informatik, Universität Karlsruhe, D-76128 Karlsruhe, Germany (1994)
Ray, E.T.: Learning XML: creating self-describing data. O´Reilly (2001)
Ryman, A.: Understanding web services (2011), http://bit.ly/tPHPOQ
soaprpc.com: SOAP software (2011), http://www.soaprpc.com/software
Sukrieh, A.: PerlDancer. Documentation (2011), http://perldancer.org/documentation
Sukrieh, A.: PerlDancer. The easiest way to write web applications with Perl (2011), http://perldancer.org
Tanese, R.: Parallel genetic algorithms for a hypercube. In: Grefenstette, J.J. (ed.) Proceedings of the Second International Conference on Genetic Algorithms, pp. 177–184. Lawrence Erlbaum Associates (1987)
Vasudevan, V.: A web services primer (2011), http://oreil.ly/u4tJM6
Venners, B.: Jini FAQ (frequently asked questions), http://www.artima.com/jini/faq.html
Wikipedia: Representational State Transfer (2011), http://bit.ly/t9Xy1c
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Castillo, P.A., García-Sánchez, P., Arenas, M.G., Bernier, J.L., Merelo, J.J. (2012). Distributed Evolutionary Computation Using SOAP and REST Web Services. In: Kołodziej, J., Khan, S., Burczy´nski, T. (eds) Advances in Intelligent Modelling and Simulation. Studies in Computational Intelligence, vol 422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30154-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-30154-4_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-30153-7
Online ISBN: 978-3-642-30154-4
eBook Packages: EngineeringEngineering (R0)