=Paper= {{Paper |id=Vol-445/paper-4 |storemode=property |title=Current Research on the Design of Web 2.0 Applications Based on Model-Driven Approaches |pdfUrl=https://ceur-ws.org/Vol-445/02icwe2008ws-iwwost04-bozzon.pdf |volume=Vol-445 |dblpUrl=https://dblp.org/rec/conf/icwe/BozzonCFT08 }} ==Current Research on the Design of Web 2.0 Applications Based on Model-Driven Approaches== https://ceur-ws.org/Vol-445/02icwe2008ws-iwwost04-bozzon.pdf
           ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008




                   Current Research on the Design of Web 2.0 Applications
                            Based on Model-Driven Approaches

                    Alessandro Bozzon, Sara Comai, Piero Fraternali, Massimo Tisi
            Dipartimento di Elettronica ed Informazione, Politecnico di Milano, Milano – Italy
                              {bozzon, comai, fraterna, tisi}@elet.polimi.it


                        Abstract                                     been proposed to address particular issues of a social appli-
                                                                     cation design (e.g., [2, 4, 1]).
   This paper presents our research activities on the design             From a technological point of view richer interfaces are
of Web 2.0 applications currently ongoing at Politecnico di          needed to improve user experience. Indeed, traditional
Milano. Our approaches are based on model-driven devel-              HTML interfaces are showing their limits, compared to
opment techniques: in particular, they extend Web 1.0 mod-           desktop applications, both in terms of content presentation
els to cope with the technological characteristics of the new        and manipulation (HTML was designed for documents, not
applications and exploit design patterns to capture the de-          GUIs, and multimedia support is limited) as well as in terms
sired behaviors. Two main research activities are presented,         of interaction (server-side computation implies full page re-
considering two orthogonal issues of Web 2.0 applications:           fresh at each user-generated event). Web 2.0 applications
the social and the technological aspects. Moreover, other            demand a novel development paradigm [12], to overcome
ongoing research directions are outlined.                            such limitations: the technological answer is represented by
                                                                     Rich Internet Applications (RIAs) [7, 6]. RIAs extend tradi-
                                                                     tional Web architectures by allowing computation to be re-
                                                                     liably partitioned between the client and the server; they are
1 Introduction                                                       an essential ingredient of the Web 2.0, because they blend
                                                                     the best of Web-enabled and desktop architectures and ad-
   The advent of the so-called Web 2.0 has shifted the focus         dress core Web 2.0 requirements, like real-time collabora-
of Web application development towards a more prominent              tion among users, sophisticated presentation and manipu-
role of the end-users, now considered as the critical success        lation of multimedia content, and flexible human-machine
factor. Among the many facets of Web 2.0 in our research             interaction (synchronous and asynchronous, connected and
at Politecnico di Milano we have considered both the social          disconnected). As RIA adoption is growing, a multitude of
and the technological aspects.                                       programming frameworks have been proposed to ease their
   From a social point of view, we are witnessing a shift            development (e.g., Flex, OpenLaszlo, Google Gears, Sil-
towards collaborative and community-based applications.              verlight, AIR, Java Web Start, JavaFX, just to name a few).
Community-driven applications can be defined as Web ap-              These increase productivity, but are bound to a specific tech-
plications targeted to a set of users (the community), pur-          nology and therefore not easily portable across different
posely designed for encouraging the social interaction of            platforms.
community members: content production and dissemina-                     In this paper we show how conceptual and platform-
tion, content processing (rating, categorization, transforma-        independent models can be used in the design and devel-
tion), and inter-user relationship development. The success          opment of Web 2.0 applications (considering both social
of Web 2.0 community-based applications depends on sev-              and technological aspects), in the tradition of Model Driven
eral factors, some of which are immaterial: quality of con-          Development (MDD). Compared to several frameworks ad-
tent, cohesion of interests, suitable mechanism for emer-            dressing social issues and supporting specific RIA plat-
gence of outstanding contributions and contributors, which           forms, our approach is technology-neutral and can be au-
add up to the well-known “traditional” criteria of usabil-           tomatically converted into implementations in all the most
ity of the interface and global quality of the user’s experi-        popular RIA technologies and frameworks.
ence. Many tools and algorithms have been developed for                  The envisioned development paradigm is based on the
addressing specific topics related to social network analy-          extension of MDD approaches conceived for traditional
sis [13] and several frameworks, patterns and models have            Web 1.0 applications and on the usage of design patterns.




                                                                19
           ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008



For convenience, we will refer to the WebML [14] nota-                 Concept            Front-end                Back-end
                                                                                          Design Pattern           Design Pattern
tion, but the considerations discussed in this paper apply to
                                                                       Item Clustering    Organization             -
other Web engineering notations and methodologies that al-                                Browse by Tag
low the specification of the interface composition and navi-           User Clustering    Group Creation           -
gation.                                                                                   Group Participation
   The paper is organized as follows: Section 2 explains               Item Relevance     Rating                   Rel. Adjustment
                                                                                          Flagging
how social aspects have been integrated in our methodol-
                                                                       User Reputation    Social Visualization     Rep. Adjustment
ogy. Section 3 gives an overview on the extensions of the              Connections        Relationship Setting     -
WebML model to capture the technological features. Sec-                                   Browse by Connection
tion 4 briefly describes other current research directions re-         Scoring            -                        Payment
lated to Web 2.0. Finally, Section 5 presents future trends                                                        Reward
                                                                       Communication      Talk                     Notification
and draws the conclusions.                                                                Recommendation
                                                                                          Invitation
                                                                       Permissions        Permission Setting       Permission Check
2   Capturing Web 2.0 Social Features in                               Interoperability   Exportation              Syndication
    WebML

    Our research on Web 2.0 social features aims to inte-                Table 1. Community-driven design patterns.
grate the social perspective typical of emerging Web 2.0 ap-
plications within a structured Web Engineering approach,
based on model-driven development. The result is a seam-              content and the individuation of interesting items can be
less development paradigm that is capable of capturing both           eased by providing the user with a group hierarchy. Secon-
conventional Web development issues (data storage, publi-             darily, Item Clustering can be used by the community mem-
cation, management, Web service publication and invoca-               bers, like any metadata, as further information to understand
tion, user profile management, etc.) and the essential de-            the properties of a given item. While traditional Web appli-
sign patterns that appear in state of the art social Web 2.0          cations usually provide users with a standard classification
applications. Our current results comprise a set of classified        (e.g., a hierarchy) for content items, most social application
model-driven design patterns for community-based Web ap-              prefer to implement a collaborative approach to Item Clus-
plications, validated by means of an analysis of pattern oc-          tering.
currence in top-ranking Web 2.0 social applications and the               A general solution for collaborative Item Clustering is
extension of well-known Web development processes (i.e.,              the Organization front-end pattern [10]. The pattern is pro-
RUP [9] or WebML [14]) to incorporate activities specific             posed together with several variants that describe different
to community-driven development.                                      implementation mechanisms. One of the more common
    To identify best practices in social Web applications we          variants of the Organization pattern is the content tagging
analyzed ten of the most popular Web 2.0 community appli-             variant. A tagging mechanism gives to the users the pos-
cations and distilled a number of recurring design patterns.          sibility to associate freely chosen words with the shared
The analysis of the pattern set lead to the individuation of          items and can be considered as an instance of the Orga-
nine core concepts that are the main focus of the social ac-          nization pattern where any user determines the inclusion
tivities in Web 2.0 applications. Table 1 shows the design            of each item into an implicit container associated with the
patterns grouped by their underlying social concept. Pat-             tag. In general, tag containers are public and they can be
terns are further distinguished into front-end patterns and           freely created by any community member. Figure 1 shows
back-end patterns: front-end patterns relate to the inter-            the Organization pattern variant based on content tagging,
face for the community members to express their activity,             expressed using the WebML notation.
back-end patterns reflect the system responses to member-                 Design patterns are not applied in isolation, but within
generated interaction.                                                the framework of analysis and design activities forming the
    The complete list of social features and relative patterns        development process of a certain class of artifacts. Several
can be found in [10]. As a simple example, Item Clustering            process schemes have been tailored to Web applications,
is the feature that allows to group in a Container Element            starting from the more general notion of software life-cycle
items that share some common properties. Depending on                 model. We extended the WebML process [14] to cope with
the type of items, the Item Clustering feature is usually im-         community-based Model-Driven development. In essence,
plemented allowing the user to create and manage photo                the focus on community features affects both the require-
sets, content hierarchies, playlists, and so on. Item Clus-           ments analysis phase, in which ad hoc functional require-
tering answers a twofold purpose. First of all, it provides           ments stem from the goal of fostering community life, and
a structured access to content items: the browsing of shared          design, where the data model must reflect the members pro-




                                                                 20
           ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008




                              Figure 1. Organization design pattern (Tagging variant).


file meta-data and the application design must incorporate                 users’ hierarchy consists simply of moderators and
the appropriate community patterns in the front-end and in                 contributors. Alternatively, in more structured commu-
the back-end.                                                              nities, the governance model could reflect some exist-
    In the analysis of requirements of social Web applica-                 ing formal organization (e.g., a company’s hierarchy).
tions, community governance and social processes emerge
with a prominent role. Communication experts should iden-               • Social behavior: another classification of users can be
tify the social processes needed to foster user participation:            obtained by the observation of their participation: be-
which user activities are critical for the community, which               haviors such as pioneers, killers, lurkers can be defined
strategies are due for community monitoring (e.g., moder-                 and help monitor the community’s status and plan re-
ation, codes of conduct), and what reward and reputation                  inforcement or corrective activities.
mechanism to install; social network experts, instead, de-
fine the abstract models that represent member relationships          Besides users’ roles, the analyst should pinpoint the re-
and meaningful indicators for monitoring them, which will             lationships that members can set-up (e.g., group creation,
allow community administrators to trace the community’s               friend-of-a-friend linking, etc) and the degree of collabora-
trends and govern its evolution. Furthermore, the analysis            tion they can establish (e.g., application sharing, invitation,
of requirements about users is expanded, to address multi-            etc). Once user roles are identified under all the relevant
ple perspectives:                                                     perspectives and the allowed relationships are determined,
                                                                      roles can be mapped into user types and associated to the
  • Content management: as in conventional Web applica-
                                                                      activities that each type is entitled to perform, including
    tions, functional roles must be identified, e.g., by clas-
                                                                      relationship-setting activities.
    sifying users into stakeholders, administrators, editors,
                                                                          In the design of Web applications, several tasks are af-
    etc. The question is “who can read/update what?”.
                                                                      fected by a community-driven focus: 1) the design of the
  • Governance: social roles must be elicited. The ques-              data model of the application should encompass the meta-
    tion is: “who is controlled by whom?”. Different gov-             data needed to reflect the members roles, relationships, pro-
    ernance models may require alternative social roles:              file data, and reward policies; 2) the design of the hypertext
    democratic moderation relies on a shared code of con-             front-end should integrate the selection of the navigation,
    duct whereby every member can monitor others and                  contribution and social interaction pattern; 3) the design of
    draw attention to violations. In such a system, the               the hypertext back-end should comprise the back-end de-




                                                                 21
             ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008



sign patterns needed to support the supported social com-                  asynchronous, possibly bidirectional client-server commu-
munity governance and processes.                                           nication. The proposed RIA model extends the WebML no-
   Once the main design patterns are identified, the model-                tation conceived for traditional data-intensive applications:
driven design of the Web application is guided by the pat-                 the same notation can be used both for Web 1.0 and Web
tern instantiation process and by the gradual integration of               2.0 applications.
the pattern instances. When WebML is used as the mod-                          A RIA application can be described by its structure and
eling language, the WebML models for the front-end and                     behavior. The former comprises a data model, which spec-
back-end can be directly obtained by instantiation and com-                ifies the content objects underlying the applications, and an
position of the proposed patterns.                                         interface model, which describes the front-end exposed to
   As an example, the instantiation procedure of the Orga-                 the user. The latter is represented by a dynamic model that
nization pattern follows these subsequent steps:                           describes what happens when the user or other sources of
                                                                           events interact with the application.
    1. The units specified in the pattern and their connections                Data distribution among client and server can be re-
       are first instantiated in the page (e.g., into a page called        flected by refining the data model in order to provide a de-
       My Videos). The instantiation requires the use of a par-            signer with entities and relationships to represent distributed
       ticular entity (e.g. a Video entity) to perform the Item            query execution: in RIAs, contents reside both on the server
       role in the pattern. The role instantiation is usually re-          and in the clients, in the form of main memory objects as-
       flected by the data model where the role entity and in-             sociated with the server/client applications both in terms of
       stantiated entity are both included in the model, linked            visibility and duration; persistent storage is provided, on the
       by the means of a specialization relationship (e.g., the            server, by means of standard mechanism (e.g., database, file
       Video entity is a specialization of an abstract Item en-            systems etc.), while, on the client, some technologies also
       tity).                                                              allow the permanent storage of data for local (or offline)
                                                                           application access. Data of RIA applications are therefore
    2. The pattern is enriched by selecting the suitable data
                                                                           characterized by two different dimensions: (1) the architec-
       elements to show (e.g. the information attributes of the
                                                                           tural tier of existence, which can be the server or the client,
       current video in the Video DataUnit, typically Title,
                                                                           and (2) the level of persistence, which can be permanent
       Description and the Video itself).
                                                                           or temporary. Figure 2 depicts an example of a RIA data
                                                                           model: it represents a simplified version of a multimedia,
    3. The pattern is integrated with other patterns and model
                                                                           collaborative platform for the publication, sharing and dis-
       elements to obtain the desired functionalities. For ex-
                                                                           covery of contents produced by user’s communities. Graph-
       ample, by design-time decision, the upload function-
                                                                           ically, we mark client entities and relationships with a “C”
       ality can be added to the My Videos page eventually
                                                                           icon, and server elements with a “S” symbol; a filled icon
       reusing suitable units of the pattern. Finally the page
                                                                           denotes temporary persistence and a non-filled icon perma-
       is integrated with the rest of the application with in-
                                                                           nent persistence.
       coming and outgoing hypertext links.
                                                                               The entities/relationships on the left-hand side represent
   The last phase is particularly delicate, as it can involve              data persistently stored on the server, like in traditional Web
a high level of complexity, especially when the design re-                 applications. Content items are the main interaction ob-
quires merging several patterns in the same hypertext page.                jects for the application: the MMItem entity represents con-
The definition of a formal procedure to address the WebML                  tent published on the platform (e.g., photos, videos or au-
pattern composition issues is one of our current research                  dio tracks), while the Member entity represents all applica-
topics.                                                                    tion users. A self-relationship connects each user with his
                                                                           friend list; members manage one or more Playlist, each one
                                                                           aggregating a set of content items. A MMItem belongs to
3     Capturing RIA Technological Features in                              a given member and it is associated to one or more Tag and
      WebML                                                                Comment instances, created by registered users. Data about
                                                                           content items, playlists, comments and tags are persistently
    Our works on the technological aspects of Web2.0 ap-                   stored also on the client, to allow disconnected usage of the
plications focused on the definition of a conceptual model                 application: while off-line, the user can process new items
that supports RIA application design, by abstracting from                  to upload on the platform, update his playlists, and man-
specific implementation technologies [3]; this model cap-                  age associated tags and comments. Reconciliation with the
tures the essential features offered by RIAs such as: dis-                 server can be triggered when he goes online.
tribution of computation and logic across client and server,                   As data model elements are partitioned considering the
temporal and persistent data storage at the client-side, and               architectural tier of existence, a similar approach can be




                                                                      22
            ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008



  NotificationFilter S                          0:N Friend
                                         Member        S                                                                           C
  OID                                                                                                                   MMItem
  QueryString
                                                         0:N                   Comment S
                       CreatedBy     OID                                                                             OID
  FilterFileType     1:1         0:N Name                                       OID                                  Title
                                                                WrittenBy
                                                                                Text
                                 0:N Username             0:N               1:1                                      Description
                                     Password                                   Timestamp                        0:N File              0:N
              AddressedTo        0:N E-mail                                                                          MMFileType
                                                                                  1:1
                   S                      0:N                                                                        UploadTS
      Message
                                                PublishedBy                                                              0:N
  OID
  TimeStamp                                                                                     Contains
                     0:N                  1:1                                                                                                About
  Subject                                             S                                                           TaggedWith
  Body                                   MMItem                     About
                                      OID                                                                                0:N                   1:1
                         BelongsTo                        0:N
                                      Title
                                      Description
                                                                                   Tag      S              0:N            Tag      C     Comment C
                     1:1          0:N
       Playlist    S
                                      File                                OID                        Playlist C       OID                OID
                                                            TaggedWith
  OID                0:N              MMFileType                          Text                    OID                 Text               Text
                                      UploadTS            0:N         0:N Timestamp                                   Timestamp          Timestamp
  Name                   Contains                                                                 Name


                   Figure 2. Data model with permanent client and server Entities/Relationships.


used to mark interface model elements in order to distribute                      nisms, and the operations that may be triggered by the user
computation competencies across client and server. In par-                        using the provided interaction mechanisms. To this aim,
ticular, the designer should be able to specify how the com-                      we refined all the WebML concepts related to content pub-
putation of the page and of its content is distributed between                    lication and management with the explicit specification of
the client and the server, how distributed data are managed                       distribution between the server and the client: content and
(to minimize data transmissions), how and when replicated                         operation units, selectors, and ordering clauses can be de-
data are synchronized, etc. We therefore distinguish three                        fined either as server or as client, with some constraints
different aspects of interface modeling, each one related to                      on the possible combinations. Units contained in a server
a specific feature to represent: structural composition, con-                     page are computed by the server and are defined as server
tent publication, and content management.                                         units, while units contained in a client page are computed
    From the technological standpoint, RIAs have a different                      by the client (possibly invoking the server) and are defined
physical structure than traditional Web 1.0 applications: the                     as client units. For a client unit it is possible to: 1) publish
latter consist of multiple independent templates, processed                       or manipulate content locally stored at the client-side or (by
by the server and simply rendered by the client. RIAs,                            invoking the server) at the server-side (i.e., the reference en-
instead, typically consist of a single application “client-                       tity/relationship of the unit can be either a server or a client
container” (e.g., a Java applet or a FLASH movie), which                          one, persistent or temporary, as seen in the data model);
loads different data and components based on the user’s in-                       2) have client-side selector conditions and/or server-side se-
teraction, Moreover, the structure of the interface consists                      lector conditions; the former are computed locally at the
of a topmost page (eventually contained into a traditional,                       client, whereas the latter are executed at the server-side.
server-computed HTML page) partitioned into peer-level                            3) have client-side or server-side ordering clauses; the for-
sub-pages, independently calculated and rendered by the                           mer are computed locally at the client, whereas the latter are
client, possibly in collaboration with the server. As a con-                      executed at the server-side. Instead, server units are entirely
sequence, we design the structural composition of RIAs                            computed by the server and therefore cannot use client-side
by distinguish between two types of pages, classified into                        entity/relationships and cannot comprise client-side selec-
server pages (marked with a circled “S”, and represent-                           tors and ordering clauses.
ing traditional Web 1.0 pages, where content and presen-                             As in Web 1.0 applications all the computations per-
tation are calculated by the server, whereas rendering and                        formed by the server must rely only on data and operations
event detection are handled by the client) and client pages                       computable at the server side to cope with the asymmetric
(marked with a circled “C”, and representing pages incor-                         nature of the Web (where the client calls the server and not
porating content or logics managed – at least in part – by                        vice versa), in RIAs, instead, Web applications are allowed
the client). To reflect the complex, single-application shell                     to manage bidirectional communications in order to provide
structure of RIA applications, client pages can contain other                     advanced features like distributed event management. Pre-
client sub-pages.                                                                 vious works [8] explored the implications and possibilities
    For each page (or sub-page) the interface model speci-                        stemming from such capabilities but, due to space reasons,
fies the data to be shown, the available interaction mecha-                       we invite the reader to refer to the original paper.




                                                                             23
           ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008



                     C Content Navigation
                      Search Content                                        Search Result                     Content Details
                                             Keyword: String                                   selItem: OID



                                                                  g
                                                           trin
                                                         :S
                                                    pe
                       File Type Filter           Ty
                                              file

                                                                              S MMItem                           S MMItem
                                                                      [ S Title contains Keyword]             [ S OID = selItem]
                                                                      [ C MMFileType = fileType]



                                          Figure 3. Example of RIA interface model.


    Figure 3 shows an examples of RIAs interface models                           a portion of the interface of the application and to main-
based on the data model for the multimedia, collaborative                         tain unchanged all the pieces of information that are not af-
platform of Figure 2. The Content Navigation client page                          fected by the interaction, so that unneeded re-computation
contains two entry units: Search Content accepts a key-                           can be avoided. Dually, the interaction may cause some
word to be matched in the item’s title, while File Type Fil-                      pieces of content, which were previously displayed, to be
ter accepts its file type (e.g., audio, video). Both entry units                  deactivated or invalidated because they are no longer con-
are linked to the Search Result index unit, defined over the                      sistent with the rest of the page. The interface model pre-
server entity MMItem and provide the parameters to be used                        sented in the previous subsection has been extended in [5]
in the parametric conditions of the index unit (e.g., param-                      with the specification of the behavior required to support the
eter Keyword:string is used by the selector condition                             possible effects of user’s interaction, expressed as compu-
[Title contains Keyword]). Notice that the com-                                   tation sequences activated in response to interaction events.
putation of the page is managed by the client: however, be-                       The proposed dynamic model associates each occurrence of
ing the Search Result defined over a server entity, the data                      interaction with the application (e.g., link navigation, Web
of the searched items are retrieved from the database server.                     service calls, temporal events, and data-driven events like
The query is then refined by the client, through the appli-                       data updates) with an ordered sequence of operators that
cation of the second, client selector condition, which filters                    allow to (re)compute or invalidate the content and the pa-
the retrieved instance without the need for a further server                      rameters (used in parametric selectors) of the units of the
request. The selection of a result from the list triggers the                     application.
calculation of the Content Details data unit, which retrieves
the data about the selected item from the server.
                                                                                  4    Other Research Directions
    This example shows how the computation of the selec-
tors of the client index unit can be partitioned between the
server to comply with the trade-off between efficiency and                           Currently, we are working also on other research
usability of the designed functionality: server-side selec-                       projects, which can benefit from the Web 2.0 features.
tors allow reducing the data to be transmitted to the client,                        Within the European PHAROS project1 we are devel-
client-side selectors avoid to invoke the server for their com-                   oping an audio-visual Web search portal, permitting users
putation. Similar considerations apply also to the partition-                     to pose advanced queries to multi-media materials, access
ing of ordering clauses.                                                          results of queries using multi-modal and multi-channel in-
    Further examples combining units defined over client                          terfaces, and personalize the search experience by saving
and server entities/relationships to exploit the client storage                   queries in a personal profile, so that they can be exploited
capacities are available in [3].                                                  for asynchronous notification of new relevant audiovisual
                                                                                  information. This ongoing research demonstrates that the
    While the data and interface model allow to represent
                                                                                  model-driven approach can help the design of such a com-
how content and data management can be distributed be-
                                                                                  plex application and the generation of code of sophisticated
tween the client and the server, the dynamic model explains
                                                                                  Rich Internet Application front-ends, typical of the multi-
what happens upon the interaction of the user or, possibly,
                                                                                  media portals of the future.
of other events (like, for example, Web service calls). Rich
Internet applications offer a very flexible runtime behavior:                        1 Platform for searcHing of Audiovisual Resources across Online

they allow one to selectively (re)compute or refresh only                         Spaces – http://www.pharos-audiovisual-search.eu/




                                                                             24
              ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008



   We are addressing also the problem of defining a Web                      [5] S. Comai and G. T. Carughi. A behavioral model for rich
design process suitable for the multi-cultural audience of                       internet applications. In ICWE 2007, 2007.
a Web application in the globalization era [11]. Cultural                    [6] M. Driver, R. Valdes, and G. Phifer. Rich Internet Applica-
markers are defined as Web design elements and patterns                          tions Are the Next Evolution of the Web. Technical report,
that meet the preferences of a specific cultural group, due to                   Gartner, May 2005.
                                                                             [7] J. Duhl. White paper: Rich Internet Applications. Technical
some influential cultural factor. We are studying a method-                      report, IDC, November 2003.
ology for identifying cultural markers, validating them by                   [8] G. Toffetti Carughi et al. Modeling distributed events in
user testing and turning them into design guidelines.                            data-intensive rich internet applications. In WISE 2007,
                                                                                 pages 593–602, 2007.
5      Future Trends and Conclusions                                         [9] I. Jacobson, G. Booch, and J. Rumbaugh. The unified soft-
                                                                                 ware development process. Addison-Wesley Longman Pub-
                                                                                 lishing Co., Inc., Boston, MA, USA, 1999.
    In this paper we have presented some research directions                [10] P. Fraternali and M. Tisi. Building community-based Web
ongoing at Politecnico di Milano on Web 2.0 applications,                        applications with a Model-Driven approach and design pat-
mainly focussing on the social and the technological aspects                     terns [Submitted]. IGI Global, 2008.
of Web 2.0. The two aspects are orthogonal and in the de-                   [11] P. Fraternali and M. Tisi. Identifying Cultural Markers for
sign of an application including both of them, they can be                       Web Application Design Targeted to a Multi-Cultural Audi-
considered in different steps: for example, first the design of                  ence. In ICWE2008, 2008.
the application including the patterns for the social aspects               [12] Preciado, J.C. et al. Necessity of methodologies to model
can be defined, then it can be refined with the extensions                       Rich Internet Applications. In WSE 2005, pages 7–13,
                                                                                 September 2005.
proposed for implementing the application in a RIA plat-
                                                                            [13] J. Preece. Online Communities: Designing Usability and
form.                                                                            Supporting Socialbilty. John Wiley & Sons, Inc., New York,
    We believe that in the future social Web applications will                   NY, USA, 2000.
be more and more integrated in conventional Web applica-                    [14] S. Ceri et al. Designing Data-Intensive Web Applications.
tions: we foresee that in the next years companies will start                    Morgan Kaufmann Publishers Inc., 2002.
integrating also social features in their B2C portals, organi-
zations will foster user generated content and peer to peer
interaction in their Intranets, and so on. As far as the tech-
nological aspects are concerned, the current trend is already
showing an increasing supply of new tools and several new
Web applications are adopting the new technologies. How-
ever, the focus of the available tools is on the implementa-
tion of the applications for a specific framework/platform.
    We believe that the integration of traditional model-
driven Web Engineering methods supporting conventional
Web development issues (data storage, publication, man-
agement, Web service publication and invocation, user pro-
file management, etc.) with RIAs and social Web 2.0 char-
acteristics is an essential factor for supporting the devel-
opment of well-crafted, maintainable, usable, and socially
effective Web 2.0 applications.

References

    [1] Welie Interaction Pattern Library.
        http://www.welie.com/patterns/.
    [2] J. Bishop. Increasing participation in online communities:
        A framework for human-computer interaction. Comput.
        Hum. Behav., 23(4):1881–1893, 2007.
    [3] A. Bozzon, S. Comai, P. Fraternali, and G. Toffetti Carughi.
        Conceptual modeling and code generation for Rich Internet
        Applications. In ICWE, pages 353–360, 2006.
    [4] R. Cheng and J. Vassileva.         User- and community-
        adaptive rewards mechanism for sustainable online commu-
        nity. pages 332–336. 2005.




                                                                       25