routing facilities and hot-deployability of the
connector components. The platform core is made
up of several modules (“service units” in JBI
language), whose detailed description is behind the
scope of this article. As for the connector
components, there are no limitations for their
internal structure (as long as they are able to provide
the WSDL and the declared functionality). In
secondary connectors, services can be easily
orchestrated using a declarative notation of BPEL.
In cases where the descriptive power of BPEL is not
sufficient, a full strength of the Java language can be
used.
3.3 Selection of the Right Services
There are no technological barriers preventing
incorporation of virtually any Web 2.0 service with
public API into the “Web 2.0 Platform”. However,
choosing the right service to deliver the functionality
needed may not be an easy task.
As stated in (Drášil et al, 2008), a substantial
number of services, that use the fashionable
“Web 2.0” label, were created for direct usage by
humans only and do not allow any programmatic
access. There are also services that offer an
application interface, but it does not cover all the
functionality provided by the service. Another aspect
affecting the practical usability of particular service
in the platform is the design of the API. Not all
Web 2.0 service APIs, we have met so far, are
designed for the communication to be seamless and
effective. For example in Digitalbucket, a storage-
oriented Web 2.0 service, many request-response
interactions may be necessary for converting the
name and path of a known file to its system id,
required for any further operation with the file.
In addition to functional and technological
aspects, one should consider also legal and other
non-functional characteristics of the selected
Web 2.0 service. From the legal point of view, there
are at least two points that one should find out in the
selected service’s “terms-of-service” document.
Firstly, one should ensure that the service allows
using its API for the intended purpose and in the
intended way. Secondly, one should carefully
consider if the rights reserved by the service
provider are acceptable with respect to the character
of the data to be stored in the service.
One may be hesitant about storing sensitive or
critical data in a remote service. Web 2.0 services
provided free of charge often give no guarantees
regarding users’ data security or availability.
However, if this is a concern, there are also Web 2.0
services that pledged to keep a high standard of
provided service, such as Amazon S3 promising to
ensure at least 99.9% service availability under
financial penalties. A free choice of the services
used is therefore one of the most important features
of the “Web 2.0 platform”. It allows platform
adopters to choose the services that best satisfy their
particular requirements or, if no such Web 2.0
service can be found, even to implement the
functionality on their own.
3.4 Evaluation
The proposed architecture has all the advantages and
disadvantages inherent for all service-oriented
architectures. However, there are some notable
characteristics with respect to Web 2.0 service
integration:
Advantages:
Any Web 2.0 service with public API can be
incorporated, provided that its terms-of-
service allow such a usage.
Legacy systems can be reused.
Specific or critical services can be implemented
locally.
As long as the primary connector’s interface is
designed carefully, the service used to deliver
the functionality can be replaced if needed.
As long as the required functional base is
covered by existing primary connectors, new
mashups can be added in a declarative manner
using BPEL-based secondary connectors.
It takes advantage of a high standard of
enterprise technologies and tools.
Challenges:
Reliability of the “Web 2.0 platform” depends
on the reliability of the selected services and
on the reliability of the Internet connection.
Users have to create accounts in all Web 2.0
services in use and provide their credentials to
the platform. However, a single user account
if often used in all services run by the same
company and there is also a growing number
of services ready for single sign-on systems
such as OpenID.
Graphical user interface, a key aspect of many
Web 2.0 services, is not utilised and client
applications have to provide their own.
However, there are also Web 2.0 services,
such as Amazon S3, that do not have user
interface at all.
The impression of being a member of a
community, another key feature of many
Web 2.0 services, is lost. However, the
BUILDING COMPLEX SYSTEMS ON TOP OF WEB 2.0 - Integration of Web 2.0 Services using Enterprise Service Bus
181