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