model-driven development of social network-enabled applications
DESCRIPTION
Social technologies are transforming the Web to a place where users actively contribute to content production and opinion making. Social networking requirements are becoming a core part of the needs of modern enterprises too, which need ad-hoc Web platforms that incorporate the right set of social features for their business. This leads to the need to provide facilities and methods for developing such socially enabled applications. In this paper we propose a model-driven approach that is specifically focused on the development of Web applications that exploit social features. In particular, we describe an extension of the WebML notation (a Domain Specific Language designed to model Web applications), comprising a set of modeling concepts that encapsulate the logic of the interaction with the social platforms. Upon this, we define a set of design patterns that respond to the typical needs of enterprises and we show some sample application scenarios.TRANSCRIPT
![Page 1: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/1.jpg)
Model-driven Development of Social Network-enabled Applications
Marco Brambilla, Andrea Mauri [email protected]
MDWE workshop, July 25, 2012. Berlin. Colocated with ICWE 2012
![Page 2: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/2.jpg)
2
Social Enterprise: a definition A Methodology for bringing more
and diverse voices into process improvement activities [Clay Richardson, Forrester Blogs, April 2010]
Social BPM is a concept that describes collaboratively designed and iterated processes [Gartner, Social BPM: Design by Doing, Apr 2010].
Technically speaking: the integration of Enterprise Systems and social software
![Page 3: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/3.jpg)
3
The problem (and opportunity)
Social Enterprise is not a technology It requires methodological and technical flexibility to
adapt to each organization and its surrounding ecosystem
Enterprise system vendors try to “stitch” some social flavor to their standard BPM suites
This turns into slow adoption and missed opportunities, especially for SMEs who cannot afford a full-fledged Enterprise solution
![Page 4: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/4.jpg)
4
The mission Web Engineering should aim at building a method supported by
tools for the transfer of value between organizations and their reference communities
Organization
Stakeholders’ communities
Stakeholders’ communities
Stakeholders’ communities
Personal values & objectivesSocial ties
Shared values and goalsActivities and RulesE
nte
rpri
se
SO
CIA
L E
nte
rpri
se
![Page 5: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/5.jpg)
5
State of the market
Still in its infancy, limited adoption Very turbulent
Enterprise microblogging Tibco Tibbr, Microsoft OfficeTalk, Salesforce
Personal processes, collaborative
development, community-based work IBM Blueworks Live, ArisAlignspace, Appian, ...
Crowdsourcing Amazon Mechanical Turk, …
![Page 6: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/6.jpg)
6
Social networks and tools
Candidate social platforms
Tens of categories Hundreds of solutions Different purposes
Source: http://www.theconversationprism.com/
![Page 7: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/7.jpg)
7
Requirements: sources
The European Parliament (head of Unit of ICT Services), potential adopter UniCredit Leasing, potential adopter The Province of Brescia ( IT), potential adopter Acer Corporation (CH and IT), potential adopter Potential partner companies: Engineering (IT), Innovation Engineering (IT),
BlogMeter (IT), Atena Informatica (IT) Altroconsumo (IT), ONG, potential adopter Vel Pitar (Romania), potential adopter Volksbank Romania, potential adopter Carrefour Romania, potential adopter OTP Bank Romania, potential adopter County Council Cluj, potential adopter Education2000+ (ONG), potential adopter Junta de Extremadura (Deparment of e-Administration, ES) Pulso Sistemas (ES), potential partner Alma Technologies (ES), potential partner ICM (ICT department at Gov. of Madrid, ES), potential adopter Comune di Como (IT), potential adopter
![Page 8: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/8.jpg)
8
Socialization objectives
Focus groups highlighted the following major areas where Social Networking can help process improvement in organizations
Weak Ties / Tacit Knowledge – e.g. team formation Knowledge sharing – e.g. self-served tech support Social Feedback – e.g. quality monitoring Transparency – e.g. PA, government Participation – e.g. participatory budget Activity distribution – e.g. crowd-sourced tasks Decision distribution – e.g. social CRM
![Page 9: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/9.jpg)
9
The social enterprise background
No matter what the platform is, you need to integrate it The Social Enterprise need to be implemented on top of a variety of
communication tools Open public social networks Enterprise micro-blogging platforms Geo-located services and social networks Utility services (e.g., poll management, Q&A)
It is imperative to provide general concepts (e.g., poll) and then map them to the technical platform of choice (e.g., Doodle)
![Page 10: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/10.jpg)
10
Socialization design patterns
Walkthrough of potential scenarios with user groups highlighted the existence of recurrent patterns
Design patterns help understanding how to use social network functionalities to achieve social BPM objectives:
They capture reusable solutions to recurrent socialization objectives:
Dynamic enrollment Poll People / Skill search Social content publication Social sourcing (vs. crowdsourcing) Progress notification Ranking and commenting
![Page 11: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/11.jpg)
11
Socialization design patterns to objectives mapping
Socialization objectives can be used as drivers for the selection of the social BPM design patterns that are more relevant to a process socialization effort
Weak Ties / Tacit
KnowledgeTransparency Participation
Activity distribution
Decision distribution
Social f.back
Knowledge sharing
Dynamic enrollment X
Poll X X
People / Skill search X X X
Social content publication
X X
Social sourcing X
Progress notification X
Ranking and commenting
X X X X
![Page 12: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/12.jpg)
12
Identified and implemented social components
1. SocialLogin unit2. Facebook unit3. LinkedIn unit4. Doodle unit5. YouTube unit6. GoogleCalendar unit7. Twitter unit8. WordPress unit9. GoogleDocs unit10. Dropbox unit11. GoogleDirection unit12. Chat unit13. Slideshare unit
![Page 13: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/13.jpg)
13
Application design patterns and components usage
![Page 14: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/14.jpg)
14
Application Model Define data, services, logic,
presentation details and user interaction
WebML Notation > IFML(*)
Process Model Define business
processes managed by the application
BPMN notation
(*) the standardization process of the language is in progress within the OMG organization
Step 1
Design the model
![Page 15: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/15.jpg)
15
Step 2
Customize the generation rules
Layout templates for a perfectly fine-tuned
layout, tailored to your visual identity
Custom components for implementing any kind
of business logic, integration or complex task
![Page 16: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/16.jpg)
16
Social components• “Public” social network
integration• Login• Status update• People search
• Tools for content publishing and sharing
• Tools for cloud storage
• Tools for team working• Enterprise social network
integration
Social WebML components
![Page 17: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/17.jpg)
17
Step 3
Generate the application
Get a tailored, yet standard, Java Web application
MobileDesktop
User Interface
On-premises In the cloud
… …
Standard Java
Application Server
Deploy
![Page 18: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/18.jpg)
18
WebRatio runtime architecture and extension for Social Business Logic
JSP engine
Browser
Web Server
RDBMS LDAP XML ...
Unit descriptor 1
Unit descriptor n
Message decomposer
SOAP sender / listener
Message composer
...
...
Conversation Manager
Standard components interactions
Processing of messages received by the site
Construction of messages sent by the site
WebML runtime
JSP pages Business
Layer
Data Layer
Presentation Layer
Client Layer
Legenda
Data Layer
Social networks and social APIs (public or enterprise)
Social BPM Components
![Page 19: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/19.jpg)
19
Social Components Behaviour
WebML model of wall posting and commenting
![Page 20: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/20.jpg)
20
Social Components Behaviour
WebML model for posting (on Twitter)
![Page 21: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/21.jpg)
21
Social Components Behaviour
WebML model for voting in a poll (on Doodle)
![Page 22: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/22.jpg)
Demonstration
![Page 23: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/23.jpg)
23
Process specification: Project Initiation BP
ACME is a large international sw integrator company that develops turnkey projects for customers.
The company is organized in Business Units (BUs), each addressing a different industry (e.g., finance, pharma, etc).
When a new project is started, the manager of the BU of the industry that matches the project more closely creates the project description and defines the required skills for the project, based on his prior experiences.
Then he defines the project staff, based on the skill list and personnel availability, and notifies the selected employee of his BU that will form the team.
Finally, the BU manager defines a date for the official project kick-off in order to initiate the activity.
![Page 24: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/24.jpg)
24
BP Actors
BU Manager: negotiates the project with the customer, selects the required skills, creates the staff list, defines the kickoff date
BU Employee: is selected to enroll in the project, attends the kickoff meeting
![Page 25: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/25.jpg)
25
Process model: as isA
CM
E B
U_X
Establish project
definition & decide skills
AC
ME
em
ploy
ee
Project definition
Finalize stafflist
Identify staff
members Publish kick-off meeting
date
Join staff Confirmed date?
Call kick-off meeting
Attend meeting
Attend meeting
no
BU
man
ager
yes
![Page 26: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/26.jpg)
26
Problem areas
Project Staffing Staffing is done solely on the base of the BU manager
experience ACME employees with relevant experience may be
no longer in the BU, due to career paths, change of country, etc..
Valuable existing expertise is not put to profit Duplication of effort and scarce reuse of artifacts
Kickoff meeting organization Distributed event management need to be integrated
with the Project Initiation Business Process
![Page 27: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/27.jpg)
27
Process Improvement with Social Enterprise Practices
The process as-is is confined within the BU that “wins” the project (owner BU)
In the new BP, other BUs (contributor BUs) can act as “communities of reference” to the owner BU, offering experience with the same customer or in similar areas Employees can declare their skills, irrespective of the
BU where they belong, implicitly proposing themselves as contributors to projects in their areas of expertise (tacit knowledge elicitation)
Employees can endorse colleagues, based on their past experience in projects (weak ties)
![Page 28: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/28.jpg)
28
Actors of Social BPM
Employees of other BUs (that would normally NOT take part in the BP):
can be identified as candidates with a search for people with specific skills
can propagate the invitation to people they know in the company, can endorse selected candidates based on their past experience
![Page 29: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/29.jpg)
29
Selecting the right Social Platform
LinkedIn Supports
Enterprise closed groups Invitation and invitation propagation Skill declaration and search
Doodle Supports
Poll definition Poll answer Poll result consolidation Import in 3rd party platform
![Page 30: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/30.jpg)
30
The to-be process: SBPM at work
Overview:
![Page 31: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/31.jpg)
31
The to-be process: SBPM at work
…
![Page 32: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/32.jpg)
32
The to-be process: SBPM at work
…
![Page 33: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/33.jpg)
33
SBPM at work: Architecture
BPM engine
Social BPM application (WebRatio + RUX-Tool)
![Page 34: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/34.jpg)
34
Conclusions and Outlook
Recognized need of social networking platform integration Mapping of business objectives to model-driven designs Implementation of executability of models
Web engineering is challenged to provide effective and efficient solutions to the problems
Future works Coverage of private and enterprise social networks Coverage of crowdsourcing platforms
![Page 37: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/37.jpg)
37
Demos
Demonstrative videos http://www.youtube.com/watch?v=7qNV1Iw1oiA http://www.youtube.com/watch?v=SA-7GcKInyA http://www.youtube.com/watch?v=ou6N7jWh0kA
![Page 38: Model-driven Development of Social Network-enabled Applications](https://reader031.vdocuments.net/reader031/viewer/2022013003/54c2f1824a795990308b46bb/html5/thumbnails/38.jpg)
38
Standards and Training
Joint effort of POLIMI and WebRatio
Standardization of the user interaction language IFML
Training onsocial networking(summer school)