models. Then, FOCAS assists the developer in “grounding” the high level application
definition toward the actual available services (or any other available piece of code),
automatically inserting mediation when needed and transparently generating the
executable code.
The resulting framework and its user interface are simple to understand and use. To
reach that result, FOCAS hides the technology, it consistently reuse (sic) state of the
art technologies developed in different fields: services, of course, but also AOP,
mediation, and most of all, model and metamodel composition. None of these
technologies is visible from the user perspective. FOCAS is seen as an Eclipse plug
with a set of editors and wizards.
We believe that FOCAS represents the current answer to the basic Software
Engineering principles: information hiding (encapsulation, abstraction) and reuse
(decomposition, part library, and composition). High level models are the new
technology for encapsulation and abstraction. Reuse relies on the availability, on the
web, of very many services; decomposition is performed in term of abstract services
and a number of concerns; composition is performed based on model and metamodel
composition (conceptually), Aspect Oriented Programming (AOP; technically) and
mediation (process and data) to solve the various incompatibilities.
We consider that the major contribution of our work is the consistent use of these
recent technologies at the service of the old and fundamental basic software
engineering principles, inside a single, consistent and simple to use framework
CADSE and FOCAS are available at http://cadse.imag.fr
References
1. OSGi Alliance.: OSGi 4.0 release. Specification available at http://www.osgi.org/ (October
2005)
2. Alonso, G., Casati, F., Kuno, H., Machiraju, H.: Web Services - Concepts, Architectures
and Applications. Springer Verlag (2003)
3. OWL Services Coalition.: OWL-S 1.1 release. Specification available at
http://www.daml.org/services/owl-s/1.1/ (November 2004)
4. Roman, D., Keller, U., Lausen, H., Bruijn, J., Lara, R., Stollberg, M., Polleres, A., Feier,
C., Bussler, C., Fensel, D.: Web Service Modeling Ontology. Applied Ontology 1(1) (2005)
77–106
5. Thatte, S.: XLANG: web services for business process design. Microsoft, Specification
available at http://www.gotdotnet.com/team/xmlwsspecs/xlang-c/default.htm (June 2001)
6. Leymann, F.: Web Service Flow Language (WSFL 1.0). IBM, Specification available at
http://www.ibm.com/software/solutions/webservices/pdf/WSFL.pdf (May 2001)
7. OASIS: Web Services Business Process Execution Language. Specification available at
http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf (april 2007)
8. Khalaf, A., Mukhi, N.K., Weerawarana, S.: Service-oriented composition in bpel4ws. In:
Proceedings of the 12th International World Wide Web Conference, Budapest (May 2003) 1–10
9. Blow, M., Goland, Y., Kloppmann, M., Leymann, F., Pfau, G., Roller, D., Rowley, M.:
BPELJ: BPEL for Java. A Joint White Paper by BEA and IBM (March 2004)
10. Kloppmann, M., Koening, D., Leymann, F., Pfau, G., Rickayzen, A., von Riegen, C.,
Schmidt, P., Trickovic, I.: WS-BPEL extension for people - BPEL4People. A Joint White
Paper by IBM and SAP (July 2005)
31