38
Model-driven Development of Social Network-enabled Applications Marco Brambilla, Andrea Mauri marco.brambilla @polimi.it marcobrambi marcobrambi MDWE workshop, July 25, 2012. Berlin. Colocated with ICWE 2012

Model-driven Development of Social Network-enabled Applications

Embed Size (px)

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.

Citation preview

Page 1: Model-driven Development of Social Network-enabled Applications

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

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

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

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

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

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

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

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

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

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

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

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

13

Application design patterns and components usage

Page 14: Model-driven Development of Social Network-enabled Applications

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

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

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

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

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

19

Social Components Behaviour

WebML model of wall posting and commenting

Page 20: Model-driven Development of Social Network-enabled Applications

20

Social Components Behaviour

WebML model for posting (on Twitter)

Page 21: Model-driven Development of Social Network-enabled Applications

21

Social Components Behaviour

WebML model for voting in a poll (on Doodle)

Page 22: Model-driven Development of Social Network-enabled Applications

Demonstration

Page 23: Model-driven Development of Social Network-enabled Applications

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

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

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

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

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

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

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

30

The to-be process: SBPM at work

Overview:

Page 31: Model-driven Development of Social Network-enabled Applications

31

The to-be process: SBPM at work

Page 32: Model-driven Development of Social Network-enabled Applications

32

The to-be process: SBPM at work

Page 33: Model-driven Development of Social Network-enabled Applications

33

SBPM at work: Architecture

BPM engine

Social BPM application (WebRatio + RUX-Tool)

Page 34: Model-driven Development of Social Network-enabled Applications

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 36: Model-driven Development of Social Network-enabled Applications

36

Materials and links

BPM4People Web Site http://www.bpm4people.org

Page 37: Model-driven Development of Social Network-enabled Applications

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

38

Standards and Training

Joint effort of POLIMI and WebRatio

Standardization of the user interaction language IFML

Training onsocial networking(summer school)