functionality using the JavaScript APIs. By using
this API, user can create new applications that can
store and serve application resources locally. Yahoo
Pipes and Microsoft PopFly are composition tools to
aggregate, manipulate, and mash-up content from
around the web. Some commands can be combined
together to create output that meets users’ demands.
One of the features of them is that the user can
compose the new web site by using GUI based
operation. These examples are new technology on
the Web. But in order to use them, user must have
somewhat of knowledge about JavaScript and Web
APIs. In other words, if a non-technical user wants
to use these services, it takes a while to learn the
usage of them.
For non-technical oriented users, visual
programming tools that allow user to create
programming code easily have been developed. Islay,
an interactive animation-authoring tool based on the
state-transition diagram, was first proposed in 2005
(Okamoto, Kamada, Nakao, 2005) (Okamoto,
Shimomura, Kamada, Yonekura, 2006). Islay uses
the state-transition diagram to make authoring
interactive animation intuitively comprehensible. By
using the authoring tool, non-programmers can
define the animation of the characters. As a side
effect, the user may learn how to define dynamic
objects while having fun with animation. The
GUEST (Graphical User interface Editor by State
diagram) (Obu, Yamamoto, Yonekura, 2007) is a
Firefox (Mozilla org. 2007) extension that enables
users to define the behavior of the browser using a
state-transition diagram. Using the GUEST, the user
can define behaviors easily even if he or she has no
programming experience.
Web API Search (Web API Search, 2007) and
API Compare-and-Matching Service (Metadata,
2007) is a search engine for the Web API. On the
Web API Search, user inputs some keywords, and
then retrieval results from the database are displayed.
API Compare-and-Matching Service provides
functions of the Web API search related to the key
word and the Web API. It is possible to review the
Web APIs by leaving history of inspected API. By
using this search engine, user can create an outline
of the planning document of the mash-up Web
service. These services are helpful to find a suitable
Web API. But the result is a kind of catalogue.
Therefore the user has to understand the functions of
the Web API and how to use it in order to create
new Web site or new mash-up site. Moreover, if the
user needs some Web APIs, user must consider
about the relationship between the APIs.
3 NEW CONCEPT OF SEARCH
ENGINE FOR WEB API
3.1 New Search Engine for the Web
API
The current search engines for the Web API
mentioned above are a kind of searching the
catalogue of the Web APIs. The users input the
keyword according to input, output, or function that
they need. And they needs to have technical
knowledge and comprehend the usage and functions
of the API. Accordingly, we propose a new concept
of a search engine that has more high performance.
Our aim is that user can search the Web API
without considering about the details regarding
functions and codings. Our new concept takes only
one step to find the best Web API, while the current
system needs user to compare the APIs.
In our new concept, the search engine has to be
more semantically. Hence, some data for the system
are defined as below.
(1) Input Data: Data that user input to the Web
API. For example, Japanese, English, and so
on.
(2) Inputdata Type: Data type of input. For
example, sentence, a word, and so on.
(3) Process: The function of the Web API. For
example, translating sentences, looking up
the words from a dictinary, and so on.
(4) Output Data: Data that the user needs.For
example, English, German, and so on.
(5) Output Data Type: Data type of output. For
example, sentence, words, and so on.
By using these data above, the system can find
the best Web API. Let’s assume that we create the
translation service from Japanese sentence to
German sentence. Input data, input data type,
process, output, and output data type are Japanese,
sentence, translation, Germany, and sentence,
respectively. Then the system show results the
translation Web API. Moreover, if there is no Web
API to translate Japanese sentence to German
sentence, we might employ the two possible APIs:
the one that translates sentence from Japanese to
English, and the other that translates English to
German. Then the system searches these two steps
from input data listed above (Figure 1).
WEBIST 2008 - International Conference on Web Information Systems and Technologies
344