Developing services in a Service Oriented Architecture for EAs
1. Developing services in a Service
Oriented Architecture for EAs
P. García-Sánchez, M. G. Arenas, A. M. Mora, P. A.
Castillo, C. Fernandes, P. de las Cuevas, G. Romero and
JJ. Merelo
pgarcia@atc.ugr.es
@osgiliathSOA
domingo 7 de julio de 2013
3. State of the Art
EasyLocal, SIGMA, ECJ, MALLBA, DREAM,
Algorithm::Evolutionary, ParadiseEO, OpenBeagle,
HeuristicLab, METCO, jMetal, GAlib, GridUFO...
domingo 7 de julio de 2013
6. Design principles
Not global variables. Example: not use a fitness with a counter.
Undistinguishable from local or remote. Example: Population
or Parameters
Request response function. Example: list of fitness in Fitness
service
Not make assumptions in order. Example: calculate fitness with
each change
domingo 7 de julio de 2013
7. Other technological restrictions
Services can be dynamically bound
Services can appear or disappear in execution time
Not specific source code for distribution must be added in the
code
domingo 7 de julio de 2013
8. OSGi
Specification for SOA in VMs
Packet abstraction
Versioning
Dynamic components
domingo 7 de julio de 2013
9. OSGiLiath
Based in SOA-EA: Service Oriented Evolutionary Algorithms, Soft.
Comp. 2013.
OSGi Laboratory for implementation and testing of heuristics
Based in OSGi:
Event administration
Declarative Services
ECF
domingo 7 de julio de 2013
10. Step 1: Bundle creation
MANIFEST.MF
Service description files
Interfaces
Implementation classes
domingo 7 de julio de 2013
12. Step 3: adding communication
Discovery (Zeroconf, Zookeeper...) and distribution (R-OSGi,
ActiveMQ, REST, SOAP...)
Not code added for distribution/modification
domingo 7 de julio de 2013
13. Conclusions
SOA offers independence of language, distribution or OS
Services must be designed taking into account stateless
behavior, unordered execution and volatile existence
OSGi fulfills the previous requirements
Future work: scalability, service aggregation, integration with
other frameworks
domingo 7 de julio de 2013