Reusable functional composition patterns for Web services

Laurence Melloul, Armando Fox · 2004

Developers write Web service composition programs in terms of functionalities (e.g., "WebSearch") to postpone choosing which services of the same functionality to invoke (Google or Yahoo). We provide a higher level of abstraction than this for higher reuse. We express high-level "patterns" (e.g., "SearchAndCollectData") as both objects that can be "specialized" to particular applications ("SearchAndDownloadPapers " vs. "SearchAndAddBooksInCart") and objects that are reusable in the construction of higherlevel ones. Our approach lets developers write patterns in terms of high-level functionalities (e.g., "CollectData") and later decide on services to compose that have lower-level functionalities (e.g., "DownloadPapers" or "addBooksInCarts "). We describe our prototype and show an example of nested pattern specialization. We also discuss a reuse trade-off, showing that too much abstraction makes the pattern less expressive. Rather, we suggest developers capture what must be guaranteed in every context of invocation, regardless of the service selection.

Read the paper · More papers on PaperTik