@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} } @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 {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} }