Transcript 下載/瀏覽
A Web-based Mashup Environment for On-the-fly Service Composition 2008 IEEE International Symposium on Service-Oriented System Engineering Speaker:房欣漢 1 Outline • • • • • • • Introduction Motivation Scenario On-the-fly Approach Overview Web-based Service Component Model Programming Interface Composition Discussion 2 Introduction • Firstly, developers should qualify each WBS component before assembling them. • Secondly, even if each component has been qualified, there are still many problems which prevent components from being assembled in a correct and desired way. 3 Introduction(cont.) • An on-the-fly approach to web-based service composition • Implements a browser-based mashup tool 4 Motivation Scenario • In this scenario, there are three WBS components: – A city weather forecast component, which displays 24-hours weather for a given cities – A Google Map which displays locations of given addresses and a geo-position detector – That can find users’ geographical position from their IP addresses. 5 Motivation Scenario(cont.) 6 Motivation Scenario(cont.) • Three problems: – There is no effective way to discover this without really using it. – When developers assemble the geo-position detector and map, the geo-data of detector and map may be mismatched because of an offset. – The weather forecast information should be nested in the maps position markers and redundant UI elements (i.e. city search input) should be removed. • There should be an on-the-fly way to customize UI and assemble them together. 7 On-the-fly • This is a style of programming in which the programmer/performer/composer augments and modifies the program while it is running, without stopping or restarting, • Programmable control for performance, composition, and experimentation at runtime. 8 Approach Overview • Differently from other WBS component models, our component model is not distinguished as design-time and run-time. 9 Approach Overview(cont.) 10 Approach Overview(cont.) • If components do not satisfy the requirements, developers could adapt them on-the-fly. • Our component model decouples the UI and service business logic. • The model leaves the capability of configuring UI structure and presentation to developers. 11 Web-based Service Component Model 12 Web-based Service Component Model • The programming interface exposes the business logic of WBS component. • WBS components interact with others by their programming interface. 13 Web-based Service Component Model 14 Web-based Service Component Model • The UI responds to users’ actions and invokes the corresponding functions in the implementation. • An interface of a reusable component consists of two parts: – The fixed part • It’s consists of the part of the component that must be used – The variable part • It’s depends on the particular use 15 Web-based Service Component Model • Our WBS component UI makes elements in UI as the fixed part, while presentation and structure of the elements as the variable part. 16 Web-based Service Component Model 17 Web-based Service Component Model • The weather forecast component’s programming interface includes: – “keyword” property – “search” methods – “onSearchCompoleted” events. • The component also has three UI elements: – A key word – A button – A weather displayer 18 Web-based Service Component Model 19 Programming Interface Composition • The first connector type is simple connector, which enables two components to interact directly. • This connector supports a one-to-many publisher/subscriber relationship among components. • That is, one component publishes an event, and other components subscribe to it. 20 Programming Interface Composition 21 Programming Interface Composition • Since programming interfaces of component models describe the methods and events of components, our composition environment can get this information at runtime by using reflection. • Thus developers can select required methods and events, assemble them together in an on-the-fly manner. 22 Programming Interface Composition 23 Discussion • 經由On-the-fly的概念,使用者更改系統設 計項目以及內容,可以不用停止系統的運 行。 • 將使用者介面和程式處理介面將列為同一 模組,可以讓系統與收集來資料更加的磨 合。 • 讓使用者可以在使用者介面更改系統內部 項目,親和力的操作方式可以方便系統的 設計與編輯。 24