Wednesday, December 17, 2008

A case study on technologies to implement variability in service-oriented product lines


In the course I.N.1.1.7.4 - Advanced Seminars in Software Reuse at CIN/UFPE was presented a case study definition on technologies to implement variability in service-oriented technologies. This post briefly describes the case study definition and some issues founded during the study.



Software Product Line (SPL) and Service-Oriented Architecture(SOA) emerge as two powerful concepts and their combination is a new research area. The combination of these two concepts is expected to become a new development paradigm maximizing reuse and business integration. In order to include services in a product line, developers could include variation points in the architecture implemented as a component or as a service as mentioned in the SOAPL 2007.


Thus, the goal of this case study is to identify the most suitable technology to implement variability in the context of service-oriented product lines. From this perspective, this case study will evaluate service-oriented technologies (OSGi and Web Services) and non-service-oriented technologies (XVCL) through a comparison between the technologies. In conjunction with the technologies, some variability mechanisms are applied to handle the variations in the source code.


Our contribution is that with this evaluation, we can select a technology that will help software engineers or researchers to integrate the technology with guidelines and criteria support in their organization or academic research.


However, some issues remain interesting for discussion:


1. OSGi can be considered as a service-oriented technology?

- The current release of OSGI stated that this technology incorporate interoperability of applications and services based on its component integration platform. However, this the concept of interoperability is not clear, because the OSGi is specific to Java.


2. It is possible combine OSGi and Web Services to solve the first issue?


3. Is it interesting to analyze these two technologies separately or the combination between them?

6 comments:

Hernan said...

Heberth, in the Seminar discipline we discussed about use Aspect-Oriented (AOP) rather than XVCL or compare these technologies, which points can you expose about the use of AOP? And how do you imagine combine AOP with SOA?

Flavio Medeiros said...

Heberth, as stated by Anastasopoulos, I agree that web service and OSGi can not be compared against each other. In my opinion there is no gain in use OSGi to develop service-oriented architecture without interoperability because OSGi is just for Java Technology. The combination of web services and OSGi sounds great in my opinion, OSGi to develop the components and web service to expose them as real services interoperable.

Anonymous said...

Heberth, you speak in your post about two technologies in the context service-oriented (OSGi and Web Services), then I would like of ask if have other technologies in this context and in case positive, because you did not consider these technologies?

Anonymous said...

Heberth, you speak in your post about two technologies in the context service-oriented (OSGi and Web Services), then I would like of ask if have other technologies in this context and in case positive, because you did not consider these technologies.

Heberth Braga said...

Hernan, the idea is to make a comparison between service-oriented technologies and non-service-oriented technologies. So, the comparison betwen non-service-oriented technologies is discarded. I Think that AOP is a alternative for a future work, since the scope and time of the project that the case study will be running is restricted and short. In the literature, some works (http://portal.acm.org/citation.cfm?id=1394279) mention the integration of OSGi and AOP, but i don't know much about it... i'm sorry.
[]'s

Heberth Braga said...

Flávio, i was reading the OSGi forum, and some of the users related that the interoperability is between different Java Versions. So, the idea is combining OSGi and web services. This is the way!
[]'s