• 沒有找到結果。

The Internet has become indispensable nowadays as people rely on various kinds of Internet applications for their daily activities. In addition to performing personal tasks such as Web surfing or e-commerce activities, people also use the Internet to connect and collaborate with each other. Early Internet applications such as E-mail and FTP already provide basic information exchange mechanisms for people to collaborate. The Web also supports collaboration through information sharing, i.e. publishing personal Web pages and accessing others’ Web pages.

Recently, the trend in user-centric collaborative computing has gained further momentum.

Consider the widespread use of Web applications such as blogs and Wikipedia [1]. These applications provide easy-to-use interfaces that allow people to create contents such as opinions and photos for others to see. Equally importantly, they provide storage and content management facilities behind the scene to host these user-provided contents. Although the user interfaces are often limited (to increase ease of use), these applications already provide sufficient functionality people want. For example, blogs are often confined to certain Web page layouts prescribed by the designer, and people can only submit comments in terms of HTML documents. However, this simple design already provides sufficient functionality for most people wishing to share their thoughts. As a result, the simplicity helps these applications gain huge user base in a short period of time, which is commonly attributes by Web 2.0 [2] promoters as the network effect. Accordingly, it can be expected that further innovations along this trend will emerge in near future, due to their tremendous commercial potentials.

If the trend continues, one can envision many scenarios in which people create and share arbitrary resources – not just simple Web contents but also more complex software artifacts – on the Internet and make them accessible to others, making the Internet as an all-encompassing, universal, and virtual workspace (VW). In such a workspace, people can

programming logics using powerful languages and tools. In fact, most users favor simplicity over flexibility, and they find novel uses of “primitive” tools that are simple in concept and easy to use, as long as they can achieve their goal.

Despite the feasibility concern, however, the Internet is in fact moving towards a universal virtual workspace gradually if we do not limit the audience to average users but also professionals. In the scientific community, for example, many e-Science portals (e.g. [3]) have been operational for a long time to help researchers perform scientific experiments and data analysis tasks on line. Frequently, when the scientists need to exercise new ways of data analysis and visualization schemes, they may write scripts using simpler languages without going further into the implementation details. However, when the available resources become insufficient or new tools and algorithms need to be developed, skilled programmers should still be handy.

From this perspective, it is more suitable to view the future VW as a complex ecosystem, where information and software artifacts are created and consumed among people with diverse background, skills, and needs. If the demands become substantial for tools that can help end users compose novel applications, developers with necessary background and skills may be motivated more. Similarly, new groups of people can emerge to help less skilled users create custom applications using resources available in the same VW. In other words, the ecosystem should promote both specialization and reuse, resulting in more efficient resource utilization when compared to custom application development practice that is more typical today.

In this thesis, we are concerned with requirements and challenges towards the VW goal, which requires not only robust infrastructure support for the development, deployment, and assembly of diverse software artifacts, but also effective strategies and mechanisms that can handle the implied complexity. Although many technologies exist today can relax some of the challenges, many issues remain to be tackled. For example, the Web Services [4, 5, 6]

movement is pursuing a universal interoperability platform on top of which heterogeneous software systems can exchange information in terms of standard XML messages. However, the movement is developer-centric and standardizes only the minimal communication protocols among software systems. Aspects regarding service composition and hosting are either left for higher-level standards or to be supported by vendor-dependent mechanisms.

Instead of relying on existing distributed computing platforms, we believe it is beneficial to redesign a platform with the VW requirements in mind since the beginning, even if it is just for the sake of gaining better insights about what are essential and currently missing. One reason is that the WWW architecture, although powerful and indeed successful, are designed for information exchange rather than for VW. On the other hand, it is the simplicity that made WWW successful simply because it incurs much less efforts for companies and people to enter the WWW when compared to other mature or emerging, but less open and often heavy-weighted computing platforms.

We propose an abstract, protocol-based service-oriented architecture to overcome some of the obstacles mentioned thus far. Specifically, to handle the diversity in terms of problem domains and existing hardware/software resources, in our architecture, resources to be published over the Internet are associated with syntactical descriptors, called metaphors, based on which run-time services can be instantiated and managed. Because metaphors can be created and manipulated, and static and dynamic service composition can be achieved through syntactical metaphor composition, the resulting framework can be conceptualized as a universal development environment. By defining metaphors for specific problem domains and by implementing suitable interpreters on a community basis, the architecture is designed to serve as a common infrastructure hosting multiple P2P applications with substantial reuse.

To demonstrate our approach and to address many issues raised when tackling the VW challenge, we have also been developing an e-Science portal which allows user to utilize distributed computing and storage resources via familiar WIMP-style user interfaces. The rest of the thesis is organized below. In chapter 2 we clarify the concept of VW and reason about the infrastructure requirements. In chapter 3 we describe a resource-oriented architecture that is designed with the requirements described in chapter 2. In chapter 4 we describe the generic resource description language used to denote and/or annotate diverse resources. In chapter 5 we describe case studies employing the architecture. In chapter 6 we discuss additional characteristics and issues related to UVM in general, and also related work in this section.

Finally, in chapter 7 we conclude the thesis.

相關文件