14
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 [email protected] @osgiliathSOA domingo 7 de julio de 2013

Developing services in a Service Oriented Architecture for EAs

Embed Size (px)

DESCRIPTION

Presentation at EVOSOFT workshop in GECCO 2013 conference

Citation preview

Page 1: Developing services in a Service Oriented Architecture for EAs

Developing services in a Service Oriented Architecture for EAsP. García-Sánchez, M. G. Arenas, A. M. Mora, P. A.

Castillo, C. Fernandes, P. de las Cuevas, G. Romero and JJ. Merelo

[email protected]@osgiliathSOA

domingo 7 de julio de 2013

Page 2: Developing services in a Service Oriented Architecture for EAs

Agenda

Frameworks

Service Oriented Architecture

Design principles

Technology

Example of development

domingo 7 de julio de 2013

Page 3: Developing services in a Service Oriented Architecture for EAs

State of the Art

EasyLocal, SIGMA, ECJ, MALLBA, DREAM, Algorithm::Evolutionary, ParadiseEO, OpenBeagle, HeuristicLab, METCO, jMetal, GAlib, GridUFO...

domingo 7 de julio de 2013

Page 4: Developing services in a Service Oriented Architecture for EAs

SOA

domingo 7 de julio de 2013

Page 5: Developing services in a Service Oriented Architecture for EAs

Services

Input/output functions

Must not have state

Order not defined

Designed as abstract as possible

domingo 7 de julio de 2013

Page 6: Developing services in a Service Oriented Architecture for EAs

Design principlesNot 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

Page 7: Developing services in a Service Oriented Architecture for EAs

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

Page 8: Developing services in a Service Oriented Architecture for EAs

OSGi

Specification for SOA in VMs

Packet abstraction

Versioning

Dynamic components

domingo 7 de julio de 2013

Page 9: Developing services in a Service Oriented Architecture for EAs

OSGiLiathBased 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

Page 10: Developing services in a Service Oriented Architecture for EAs

Step 1: Bundle creation

MANIFEST.MF

Service description files

Interfaces

Implementation classes

domingo 7 de julio de 2013

Page 11: Developing services in a Service Oriented Architecture for EAs

Step 2: Implementing services

domingo 7 de julio de 2013

Page 12: Developing services in a Service Oriented Architecture for EAs

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

Page 13: Developing services in a Service Oriented Architecture for EAs

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

Page 14: Developing services in a Service Oriented Architecture for EAs

Thanks!

(and follow @osgiliathSOA!)

domingo 7 de julio de 2013