Upload
marco-brambilla
View
5.746
Download
0
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
Model-driven Development of Social Network-enabled Applications
Marco Brambilla, Andrea Mauri [email protected]
MDWE workshop, July 25, 2012. Berlin. Colocated with ICWE 2012
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
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
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
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, …
6
Social networks and tools
Candidate social platforms
Tens of categories Hundreds of solutions Different purposes
Source: http://www.theconversationprism.com/
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
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
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)
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
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
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
13
Application design patterns and components usage
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
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
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
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
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
19
Social Components Behaviour
WebML model of wall posting and commenting
20
Social Components Behaviour
WebML model for posting (on Twitter)
21
Social Components Behaviour
WebML model for voting in a poll (on Doodle)
Demonstration
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.
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
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
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
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)
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
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
30
The to-be process: SBPM at work
Overview:
31
The to-be process: SBPM at work
…
32
The to-be process: SBPM at work
…
33
SBPM at work: Architecture
BPM engine
Social BPM application (WebRatio + RUX-Tool)
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
Questions?
Contact:[email protected]
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
38
Standards and Training
Joint effort of POLIMI and WebRatio
Standardization of the user interaction language IFML
Training onsocial networking(summer school)