@article {peternier2012CPE,
	title = {High Performance Execution of Service Compositions: a Multicore-aware Engine Design},
	journal = {Concurrency and Computation: Practice and Experience (CPE)},
	volume = {26},
	year = {2014},
	month = {January},
	pages = {71-97},
	publisher = {Wiley},
	abstract = {Although modern computer hardware offers an increasing number of processing elements organized in nonuniform memory access (NUMA) architectures, prevailing middleware engines for executing business processes, workflows, and Web service compositions have not been optimized for properly exploiting the abundant processing resources of such machines. Amongst others, factors limiting performance are inefficient thread scheduling by the operating system, which can result in suboptimal use of system memory and CPU caches, and sequential code sections that cannot take advantage of multiple available cores.
In this article, we study the performance of the JOpera process execution engine on recent multicore machines. We first evaluate its performance without any dedicated optimization for multicore hardware, showing that additional cores do not significantly improve performance, although the engine has a multithreaded design. Therefore, we apply optimizations on the basis of replication together with an improved, hardware-aware usage of the underlying resources such as NUMA nodes and CPU caches. Thanks to our optimizations, we achieve speedups from a factor of 2 up to a factor of 20 (depending on the target machine) when compared with a baseline execution {\textquoteleft}as is{\textquoteright}. },
	keywords = {JOpera, multicores, nonuniform memory access architecture, performance optimization, service composition and execution},
	doi = {10.1002/cpe.2948},
	author = {Achille Peternier and Walter Binder and Cesare Pautasso and Daniele Bonetta}
}
@conference {jopera:2010:icwe,
	title = {Engineering autonomic controllers for virtualized web applications},
	booktitle = {10th international conference on Web engineering (ICWE 2010)},
	series = {ICWE{\textquoteright}10},
	volume = {6189},
	year = {2010},
	note = {Best Paper Award},
	month = {July},
	pages = {66{\textendash}80},
	publisher = {Springer},
	organization = {Springer},
	address = {Berlin, Heidelberg},
	keywords = {autonomic computing, cloud computing, control system synthesis, JOpera},
	isbn = {3-642-13910-8, 978-3-642-13910-9},
	doi = {10.1007/978-3-642-13911-6_5},
	author = {Giovanni Toffetti-Carughi and Alessio Gambi and Mauro Pezz{\`e} and Cesare Pautasso}
}
@conference {jopera:2010:soca,
	title = {Exploiting multicores to optimize business process execution},
	booktitle = {International Conference on Service-Oriented Computing and Applications (SOCA 2010)},
	year = {2010},
	month = {December},
	pages = {1-8},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Perth, Australia},
	abstract = {While modern CPUs offer an increasing number of cores with shared caches, prevailing execution engines for business processes, workflows, or Web service compositions have not been optimized for properly exploiting the abundant processing resources of such CPUs. One factor limiting performance is the inefficient thread scheduling by the operating system, which can result in suboptimal use of shared caches. In this paper we study performance of the JOpera business process execution engine on a recent multicore machine. By analyzing the engine{\textquoteright}s architecture and by binding threads that are likely to access shared data to cores with a common cache, we achieve speedups up to 13\% for a variety of workloads, without modifying the engine{\textquoteright}s architecture and implementation, apart from binding threads to CPUs. As the engine is implemented in Java, we provide a new Java library to manage thread bindings and hardware performance counters. We also leverage hardware performance counters to explain the observed speedup in our performance analysis.},
	keywords = {business data processing, business process execution engines, business process execution optimization, hardware performance counters, Java, JOpera, multicores, performance optimization, thread-CPU bindings, Web service composition, Web services, workflow},
	doi = {10.1109/SOCA.2010.5707156},
	author = {Achille Peternier and Daniele Bonetta and Cesare Pautasso and Walter Binder}
}
@inproceedings {1948635,
	title = {Towards scalable service composition on multicores},
	year = {2010},
	month = {October},
	pages = {655{\textendash}664},
	publisher = {Springer},
	address = {Crete},
	abstract = {The advent of modern multicore machines, comprising several chip multi-processors each offering multiple cores and often featuring a large shared cache, offers the opportunity to redesign the architecture of service composition engines in order to take full advantage of the underlying hardware resources. In this paper we introduce an innovative service composition engine architecture, which takes into account specific features of multicore machines while not being constrained to run on any particular processor architecture. Our preliminary performance evaluation results show that the system can scale to run thousands of concurrent business process instances per second.},
	keywords = {JOpera, multicore, Web service composition},
	isbn = {3-642-16960-0},
	doi = {10.1007/978-3-642-16961-8_90},
	author = {Daniele Bonetta and Achille Peternier and Cesare Pautasso and Walter Binder}
}
@conference {jopera:2009:sc,
	title = {Composing RESTful Services with JOpera},
	booktitle = {8th International Conference on Software Composition},
	volume = {5634},
	year = {2009},
	month = {July},
	pages = {142-159},
	publisher = {Springer},
	organization = {Springer},
	address = {Zurich, Switzerland},
	abstract = {The REST architectural style is emerging as an alternative technology platform for the realization of service-oriented architectures. In this paper, we apply the notion of composition to RESTful services and derive a set of language features that are required by composition languages for RESTful services: dynamic late binding, dynamic typing, content-type negotiation, state inspection, and compliance with the uniform interface principle. To show how such requirements can be satisfied by an existing composition language, we include a case-study using the JOpera visual composition language. In it, we present how to build a composite application (DoodleMap) out of some well-known, public and currently existing RESTful service APIs.},
	keywords = {JOpera, REST, Web service composition},
	doi = {10.1007/978-3-642-02655-3_11},
	author = {Cesare Pautasso}
}
@conference {jophealthgrid07,
	title = {Grid-based Analysis of Tandem Mass Spectrometry Data in Clinical Proteomics},
	booktitle = {Health Grid 2007},
	year = {2007},
	address = {Geneva, Switzerland},
	abstract = {Biomarker detection is one of the greatest challenges in Clinical Proteomics. Today, great hopes are placed into tandem mass spectrometry (MS/MS) to discover potential biomarkers. MS/MS is a technique that allows large scale data analysis, including the identification, characterization, and quantification of molecules. Especially the identification process, that implies to compare experimental spectra with theoretical amino acid sequences stored in specialized databases, has been subject for extensive research in bioinformatics since many years. Dozens of identification programs have been developed addressing different aspects of the identification process but in general, clinicians are only using a single tools for their data analysis along with a single set of specific parameters. Hence, a significant proportion of the experimental spectra do not lead to a confident identification score due to inappropriate parameters or scoring schemes of the applied analysis software. The swissPIT (Swiss Protein Identification Toolbox) project was initiated to provide the scientific community with an expandable multi-tool platform for automated and in-depth analysis of mass spectrometry data. The swissPIT uses multiple identification tools to automatic analyze mass spectra. The tools are concatenated as analysis workflows. In order to realize these calculation-intensive workflows we are using the Swiss Bio Grid infrastructure. A first version of the web-based front-end is available (http://www.swisspit.cscs.ch) and can be freely accessed after requesting an account. The source code of the project will be also made available in near future.},
	keywords = {grid computing, JOpera, scientific workflow management},
	url = {http://www.ncbi.nlm.nih.gov/pubmed/17476043},
	author = {Andreas Quandt and Patricia Hernandez and Peter Kunzst and Cesare Pautasso and Marc Tuloup and Ron D. Appel}
}
@inproceedings {jopera:mashups07,
	title = {Let it flow: Building Mashups with Data Processing Pipelines},
	volume = {4907},
	year = {2007},
	month = {September},
	pages = {15-28},
	publisher = {Springer},
	address = {Vienna, Austria},
	abstract = {Mashups are a new kind of interactive Web application, built out of the composition of two or more existing Web service APIs and data sources. Whereas "pure" mashups are built relying entirely on the Web browser as a platform for integration at the presentation layer, this approach is not always feasible and part of the mashup integration logic must be deployed on the Web server instead. In the case study presented in this paper, we explore a novel approach to build mashups out of heterogeneous sources of streaming data. In particular, we introduce a layered mashup architecture, with a clear separation between the mashup user interface and the mashup integration logic run by a mashup engine. To do so, we show how to build a mashup application that displays in real time the location of visitors connecting to a Website. The integration logic feeding a map widget by processing the Web site logs is developed using a data flow model that connects a set of reusable and heterogeneous components into a data processing pipeline. We conduct a brief performance evaluation of the mashup showing that the pipeline introduces minimal delay and discuss several extensions of the mashup.},
	keywords = {JOpera, streaming, Web mashups},
	doi = {10.1007/978-3-540-93851-4_3},
	author = {Bi{\"o}rn Bi{\"o}rnstad and Cesare Pautasso}
}
@inbook {116,
	title = {Autonomic Computing for Virtual Laboratories},
	booktitle = {Dependable Systems: Software, Computing, Networks},
	number = {4028},
	year = {2006},
	pages = {211-230},
	publisher = {Springer},
	organization = {Springer},
	abstract = {Virtual laboratories can be characterized by their long-lasting, large-scale computations, where a collection of heterogeneous tools is integrated into data processing pipelines. Such virtual experiments are typically modeled as scientific workflows in order to guarantee their reproduceability. In this chapter we present JOpera, one of the first autonomic infrastructures for managing virtual laboratories. JOpera provides a sophisticated Eclipse-based graphical environment to design, monitor and debug distributed computations at a high level of abstraction. The chapter describes the architecture of the workflow execution environment, emphasizing its support for the integration of heterogeneous tools and evaluating its autonomic capabilities, both in terms of reliable execution (self-healing) and automatic performance optimization (self-tuning).},
	keywords = {autonomic computing, JOpera, scientific workflow management},
	isbn = {3-540-36821-3},
	doi = {10.1007/11808107_10},
	author = {Cesare Pautasso and Win Bausch and Gustavo Alonso},
	editor = {J{\"u}rg Kohlas and Bertrand Meyer and Andr{\'e} Schiper}
}
@conference {jopera:2006:scc,
	title = {Control the Flow: How to Safely Compose Streaming Services into Business Processes},
	booktitle = {2006 IEEE International Conference on Services Computing},
	year = {2006},
	pages = {206 - 213},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Chicago, USA},
	abstract = {Although workflow languages are widely used for composing discrete services, these are not suitable for stream based interactions. In this paper we address the problem of how to extend a conventional Web service composition language with the ability to deal with data streaming services. The paper discusses several modeling alternatives and presents a marker based semantics for safely dealing with pipelined processing in service compositions. The paper also presents application examples that illustrate the advantages of the proposed approach},
	keywords = {JOpera, streaming, Web service composition},
	doi = {10.1109/SCC.2006.38},
	author = {Bi{\"o}rn Bi{\"o}rnstad and Cesare Pautasso and Gustavo Alonso}
}
@article {119,
	title = {Developing scientific workflows from heterogeneous services},
	journal = {SIGMOD Rec.},
	volume = {35},
	year = {2006},
	month = {June},
	pages = {22{\textendash}28},
	abstract = {Scientific Workflows (SWFs) need to utilize components and applications in order to satisfy the requirements of specific workflow tasks. Technology trends in software development signify a move from component-based to service-oriented approach, therefore SWF will inevitably need appropriate tools to discover and integrate heterogeneous services. In this paper we present the SODIUM platform consisting of a set of languages and tools as well as related middleware, for the development and execution of scientific workflows composed of heterogeneous services.},
	keywords = {JOpera, scientific workflow management},
	issn = {0163-5808},
	doi = {10.1145/1147376.1147380},
	author = {Aphrodite Tsalgatidou and Georgios Athanasopoulos and Michael Pantazoglou and Cesare Pautasso and Thomas Heinis and Roy Gr{\o}nmo and Hoff Hj{\o}rdis and Arne-J{\o}rgen Berre and Magne Glittum and Simela Topouzidou}
}
@article {115,
	title = {Enforcing Web Services Business Protocols at Run-Time: a Process Driven Approach},
	journal = {International Journal of Web Engineering and Technology (IJWET)},
	volume = {2},
	year = {2006},
	pages = {396-411},
	abstract = {Business processes provide abstractions for modelling business protocols that define the correct interactions between two or more Web services (WS). It has been shown that it is possible to automatically derive role-specific processes from a global protocol definition and also statically verify the compliance of a local process with the corresponding global business process. In this paper, we show that a similar approach can be used at run-time. We propose to employ process-based tools to enforce that the messages exchanged between different WS comply with a given business protocol, both in terms of sequencing constraints and data flow characteristics. Our solution simplifies the implementation of WS because it helps to separate the concern of business protocol compliance from the actual service implementation. To do so, we show how to transparently add a protocol enforcement layer to the WS messaging stack. Our experimental results indicate that this imposes a minimal overhead.},
	keywords = {business process modeling, business protocols, choreography, conversation controller, data flow, JOpera, Web services},
	issn = {1476-1289},
	doi = {10.1504/IJWET.2006.010422},
	url = {http://www.inderscience.com/info/inarticle.php?artid=10422},
	author = {Bi{\"o}rn Bi{\"o}rnstad and Cesare Pautasso and Gustavo Alonso}
}
@article {117,
	title = {JOpera: Autonomic Service Orchestration},
	journal = {IEEE Data Engineering Bulletin},
	volume = {29},
	year = {2006},
	month = {September},
	pages = {32-39},
	keywords = {autonomic computing, JOpera, Web service composition},
	url = {ftp://ftp.research.microsoft.com/pub/debull/A06sept/issue1.htm},
	author = {Cesare Pautasso and Thomas Heinis and Gustavo Alonso}
}
@conference {jopera:2006:ccgrid,
	title = {Mirroring Resources or Mapping Requests: implementing WS-RF for Grid workflows},
	booktitle = {6th IEEE International Symposium on Cluster Computing and the Grid (CCGrid2006)},
	year = {2006},
	month = {May},
	address = {Singapore},
	abstract = {The Web Services Resource Framework (WS-RF) and the Web Services Notification (WS-N) specifications are a crucial component of Grid infrastructures. They provide a standardized interface to stateful services so that they can be managed remotely. There are already several implementations of these specifications and initial performance studies have compared them in terms of the overhead observed by a single client. In this paper we address the problem of implementing the WS-RF and WS-N specifications for large scale systems. In particular, we discuss how to implement WS-RF and WSN as the management interfaces to a Grid workflow engine. In the paper we describe and compare two different architectures for mapping resources to processes. The first one mirrors the state of the process as a resource. The second one maps the client requests to access the state of a resource embedded into the Grid workflow engine. We include an extensive performance evaluation, comparing the resulting systems in terms of scalability when servicing a large number of concurrent clients. },
	keywords = {grid computing, JOpera, scientific workflow management},
	doi = {10.1109/CCGRID.2006.69},
	author = {Thomas Heinis and Cesare Pautasso and Gustavo Alonso}
}
@conference {jopera:2005:icws,
	title = {Autonomic Execution of Service Compositions},
	booktitle = {3rd International Conference on Web Services (ICWS 2005)},
	year = {2005},
	month = {July},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Orlando, Florida},
	abstract = {An increasing amount of Web services are being implemented using process management tools and languages (BPML, BPEL, etc.). The main advantage of processes is that designers can express complex business conversations at a high level of abstraction, even reusing standardized business protocols. The downside is that the infrastructure behind the Web service becomes more complex. This is particularly critical for Web services that may be subjected to high variability in demand and suffer from unpredictable peaks of heavy load. In this paper we present a flexible architecture for process execution that has been designed to support autonomic scalability. The system runs on a cluster of computers and reacts to workload variations by altering its configuration in order to optimally use the available resources. Such changes happen automatically and without any human intervention. This feature completely removes the need for the manual monitoring and reconfiguration of the system, which in practice is a difficult and time-consuming operation. In the paper we describe the architecture of the system and present an extensive performance evaluation of its autonomic capabilities.},
	keywords = {autonomic computing, JOpera, Web service composition},
	doi = {10.1109/ICWS.2005.28},
	author = {Cesare Pautasso and Thomas Heinis and Gustavo Alonso}
}
@conference {jopera:2005:icac,
	title = {Design and Evaluation of an Autonomic Workflow Engine},
	booktitle = {2nd International Conference on Autonomic Computing (ICAC-05)},
	year = {2005},
	month = {June},
	pages = {27 - 38},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Seattle, Washington},
	abstract = {In this paper we present the design and evaluate the performance of an autonomic workflow execution engine. Although there exist many distributed workflow engines, in practice, it remains a difficult problem to deploy such systems in an optimal configuration. Furthermore, when facing an unpredictable workload with high variability, manual reconfiguration is not an option. Thanks to its autonomic controller, the engine features self-configuration, self-tuning and self-healing properties. The engine runs on a cluster of computers using a tuple space to coordinate its various components. Its autonomic controller monitors its performance and responds to workload variations by altering the configuration. In case failures occur, the controller can recover the workflow execution state from persistent storage and migrate it to a different node of the cluster. Such interventions are carried out without any human supervision. As part of the results of our performance evaluation, we compare different autonomic control strategies and discuss how they can automatically tune the system},
	keywords = {automatic configuration, autonomic computing, JOpera, Web service composition},
	doi = {10.1109/ICAC.2005.21},
	author = {Thomas Heinis and Cesare Pautasso and Gustavo Alonso}
}
@inproceedings {jopera:2005:sc,
	title = {Flexible Binding for Reusable Composition of Web Services},
	year = {2005},
	month = {April},
	pages = {151-166},
	publisher = {Springer},
	address = {Edinburg, Scotland},
	abstract = {In addition to publishing composite services as reusable services, compositions can also be reused by applying them to orchestrate different component services. To do so, it is important to describe compositions using flexible bindings, which define only the minimal constraints on the syntax and semantics of the services to be composed. This way, the choice of which service to invoke can be delayed to later stages in the life cycle of the composition. In the context of Web service composition, we refine the concept of binding beyond the basic distinction of static and dynamic binding. Bindings can be evaluated during the design, the compilation, the deployment, the beginning of the execution of a composition, or just before the actual service invocation takes place. Considering the current limited support of dynamic binding in the BPEL service composition language, we show how we addressed the problem in JOpera, where modeling bindings does not require a specific language construct as it can be considered a special application of reflection.},
	keywords = {dynamic binding, JOpera, Web service composition},
	doi = {10.1007/11550679_12},
	author = {Cesare Pautasso and Gustavo Alonso}
}
@conference {jopera:2005:vlhcc,
	title = {JOpera: an Agile Environment for Web Service Composition with Visual Unit Testing and Refactoring},
	booktitle = {2005 IEEE Symposium on Visual Languages and Human Centric Computing (VL/HCC{\textquoteright}05)},
	year = {2005},
	month = {September},
	pages = {311 - 313},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Dallas, TX},
	abstract = {Agile methodologies employ light-weight development practices emphasizing a test-driven approach to the development of software systems. Modern agile development environments support this approach by providing tools that automate most of the work required to effectively deal with change, including unit testing and different forms of refactoring. In this paper we discuss how to apply such techniques within the JOpera Visual Composition Language. More precisely, we show how we used the visual language to implement a regression testing framework for compositions written in the language itself and how we introduced support in the visual environment for refactorings such as renaming, synchronization of service interface changes, and extraction/inlining across different levels of nesting. This is done in the context of the Web service composition tools provided with the JOpera for Eclipse research platform.},
	keywords = {agile, JOpera, refactoring, visual composition languages},
	doi = {10.1109/VLHCC.2005.48},
	author = {Cesare Pautasso}
}
@article {106,
	title = {The JOpera visual composition language},
	journal = {J. Vis. Lang. Comput.},
	volume = {16},
	year = {2005},
	month = {February},
	pages = {119{\textendash}152},
	abstract = {Composing Web services into a coherent application can be a tedious and error-prone task when using traditional textual scripting languages or emerging XML-based approaches. As an alternative, complex interactions patterns and data exchanges between different Web services can be effectively modeled using a visual language. In this paper, we discuss the requirements of such an application scenario and we fully describe the JOpera Visual Composition Language. An extensive set of visual editing tools, a compiler and a debugger for the language have been implemented as part of the JOpera system with the goal of providing a true visual environment for Web service composition with usability features emphasizing rapid development and visual scalability. },
	keywords = {data flow, JOpera, visual composition languages, Web service composition, Web services},
	issn = {1045-926X},
	doi = {10.1016/j.jvlc.2004.08.004},
	author = {Cesare Pautasso and Gustavo Alonso}
}
@conference {jopera:2005:escience,
	title = {Publishing Persistent Grid Computations as WS Resources},
	booktitle = {1st IEEE International Conference on e-Science and Grid Computing (e-Science 2005)},
	year = {2005},
	month = {December},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Melbourne, Australia},
	abstract = {Grid services can be composed into processes, providing a high level definition of the computations involved in terms of their data exchanges and control flow dependencies. We show how processes themselves can be efficiently published as Grid services by mapping the persistent state of the process executions to standard compliant interfaces as defined by the Web Services Resource Framework (WS-RF). Mapping processes to resources is a fundamental step to enable recursive Grid service composition, where composite Grid services are themselves published as services. This gives processes a standardized and wellunderstood interface that enables their management, monitoring, steering and adaptation. Additionally it eases their reusability and simplifies integration into existing Grid applications and portals. In order to determine the mapping{\textquoteright}s overhead, we include the results of a comprehensive performance evaluation.},
	keywords = {grid computing, JOpera, scientific workflow management},
	doi = {10.1109/E-SCIENCE.2005.67},
	author = {Thomas Heinis and Cesare Pautasso and Oliver Deak and Gustavo Alonso}
}
@phdthesis {97,
	title = {A Flexible System for Visual Service Composition},
	volume = {PhD},
	year = {2004},
	school = {ETH Zurich, Computer Science Department},
	type = {PhD Thesis},
	abstract = {This dissertation brings together ideas of different research areas. First of all, we propose the application of visual languages to service composition. In order to connect basic services of various kinds into a larger system, their interactions along the time dimension are defined with the JOpera Visual Composition Language. As opposed to the textual or XML-based syntax of existing approaches, our language features a very simple graphical notation. This visual syntax is used to specify the data flow and control flow graphs linking the various service invocations. This way, it becomes possible to rapidly build distributed applications out of a set of reusable services by literally drawing the interactions between them. To achieve this, we present how usability features such as automatic, incremental graph layout and visual scalability features such as multiple views have been driving the design of JOpera{\textquoteright}s visual service composition environment. To provide support for realistic application scenarios, we have also included recursion, iteration and reflection constructs with minimal changes to the syntax of the visual language. Supported by the JOpera system, our visual language for service composition has been applied to many scenarios, as documented by the examples shown throughout the dissertation. Underneath the visual syntax, our approach to modeling service composition is based on the concept of process. In this dissertation we borrow the notion of business process so that it can be extended to model service oriented architectures. Thus, the structure of a process defines the partial order of invocation of its services, the data exchanges between them and the necessary failure handling behavior. In this context, an important contribution of this dissertation is the idea that a composition language should be orthogonal with respect to the types of components that are employed. More precisely, in our approach, composition is defined at the level of service interfaces. Therefore, a process is completely independent from the mechanisms and protocols used to access the implementation of its services. In other words, we introduce a composition language which is not limited to describing how components of a specific type (e.g., Web services) should be composed. Instead, in our open component meta-model, we generalize the notion of service by abstracting common features among a large set of different component types. This abstraction has several important implications. By supporting a large and open set of types of services, the composition language is simplified because many constructs (e.g., modeling synchronous or asynchronous service invocation) can be shifted from the composition language to the component meta-model. Also, the service composer is free to choose the most appropriate mechanism to access the functionality of an existing service. Thus, the runtime overhead of a service invocation can be minimized as it becomes possible to choose the most effcient access mechanism. This optimization regarding the service access mechanism would not make much of a difference regarding the overall system{\textquoteright}s performance if the execution of the visual language would incur in a high overhead, as typically process-based languages are executed by an interpreter. On the contrary, in this dissertation we propose to compile the visual specification of a process into executable code. One of the challenges of doing so is that the resulting code should still support the concurrent execution of multiple process instances. The choice of applying compilation to the execution of processes brings the following benefits. In addition to the potential for providing better performance through the optimization of the generated code, compiling processes also helps to simplify the design of the corresponding runtime system. As opposed to having a full-blown process interpreter, it is enough to design and build a flexible container of compiled processes. Following this approach, in the last part of the dissertation we present the design of a flexible architecture for a process support system. Flexibility is an important aspect of our design which, according to our experimental results, does not contradict the goal of building an efficient system. First, flexibility enables JOpera to support heterogeneous types of services. To do so, plug-ins are used to map the invocation of a service to the corresponding protocol in the most effcient manner. Second, the flexible architecture of JOpera{\textquoteright}s kernel can be deployed in a variety of configurations. This way, costly features such as reliable process execution can be added only if they are truly needed. Likewise, the system shows good scalability when deployed in a cluster-based configuration, as large workloads are shared among multiple cluster nodes. Thanks to a wise choice of architectural abstractions, the code generated by the compiler is kept independent of the actual configuration of the kernel into which it is loaded. Third, flexibility is also a fundamental property for an autonomic system, where the optimal configuration is determined automatically at runtime.},
	keywords = {JOpera, visual service composition, Web service composition},
	doi = {10.3929/ethz-a-004860667},
	url = {https://www.research-collection.ethz.ch/handle/20.500.11850/72796},
	author = {Cesare Pautasso}
}
@inproceedings {95,
	title = {From Web Service Composition to Megaprogramming},
	volume = {3324},
	year = {2004},
	month = {August},
	pages = {39 - 53},
	publisher = {Springer},
	address = {Toronto, Canada},
	abstract = {With the emergence of Web service technologies, it has become possible to use high level megaprogramming models and visual tools to easily build distributed systems using Web services as reusable components. However, when attempting to apply the Web service composition paradigm in practical settings, some limitations become apparent. First of all, all kinds of existing {\textquotedblleft}legacy{\textquotedblright} components must be wrapped as Web services, incurring in additional development, maintenance, and unnecessary runtime overheads. Second, current implementations of Web service protocols guarantee interoperability at high runtime costs, which justifies the composition of only coarse-grained Web services. To address these limitations and support the composition of also fine-grained services, in this paper we generalize the notion of service by introducing an open service meta-model. This offers freedom of choice between different types of services, which also include, but are not limited to, Web services. As a consequence, we argue that service composition {\textendash} defined at the level of service interfaces {\textendash} should be orthogonal from the mechanisms and the protocols which are used to access the actual service implementations.},
	keywords = {heterogeneity, JOpera, megaprogramming, Web services},
	isbn = {978-3-540-25049-4},
	doi = {10.1007/b10662610.1007/978-3-540-31811-8_4},
	author = {Cesare Pautasso and Gustavo Alonso}
}
@article {96,
	title = {JOpera: a Toolkit for Efficient Visual Composition of Web Services},
	journal = {International Journal of Electronic Commerce (IJEC)},
	volume = {9},
	year = {2004},
	month = {Winter 2004/2005},
	pages = {107-141},
	abstract = {Web services are attracting attention because of their ability to provide standard interfaces to heterogeneous distributed services. Standard interfaces make it possible to compose more complex services out of basic ones. This paper tackles the problem of visual service composition and the efficient and scalable execution of the resulting composite services. The effort revolves around the JOpera system, which combines a visual programming environment for Web services with a flexible execution engine that interacts with Web services through the simple object access protocol (SOAP), described with Web services language description (WSDL) and registered with a universal description discovery and integration (UDDI) registry. The paper explains the syntax and implementation of the JOpera Visual Composition Language (JVCL) and its ability to provide different quality of service (QoS) levels in the execution of composite services. },
	keywords = {JOpera, Scalable Process Execution, visual languages, Web service composition},
	issn = {1086-4415 },
	url = {http://www.ijec-web.org/past-issues/volume-9-number-2-winter-2004-05/ijecv9n2-6/},
	author = {Cesare Pautasso and Gustavo Alonso}
}
@article {98,
	title = {JOpera: Visual Composition of Grid Services},
	year = {2004},
	month = {October},
	pages = {46-47},
	abstract = {The recent shift to service-based Grids enables the use of service composition tools for rapidly building and efficiently running distributed computations. At ETH Zurich, we have developed JOpera, a visual composition language and a set of integrated software development tools for composing Grid services. The system can be freely downloaded and has been successfully tested with data-intensive bioinformatics applications as well as large-scale, Monte-Carlo network simulations.},
	keywords = {grid computing, JOpera, scientific workflow management},
	url = {http://www.ercim.eu/publication/Ercim_News/enw59/pautasso.html},
	author = {Cesare Pautasso}
}
@conference {94,
	title = {Visual composition of Web services},
	booktitle = {IEEE Symposium on Human Centric Computing Languages and Environments (HCC 2003)},
	year = {2003},
	month = {October},
	pages = {92 - 99},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Auckland, New Zealand},
	abstract = {Composing Web services into a coherent application can be a tedious and error prone task when using traditional textual scripting languages. As an alternative, complex interactions patterns and data exchanges between different Web services can be effectively modeled using a visual language. In this paper we discuss the requirements of such an application scenario and we present the design of the BioOpera Flow Language. This visual composition language has been fully implemented in a development environment for Web service composition with usability features emphasizing rapid development and visual scalability.},
	keywords = {JOpera, visual languages, visual service composition, Web service composition, Web services},
	doi = {10.1109/HCC.2003.1260208},
	url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1260208},
	author = {Cesare Pautasso and Gustavo Alonso}
}
