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.
Scaling API-first – The story of a global engineering organization
Model-driven Development of Social Network-enabled Applications
1. 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
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
1
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
2
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
Personal values &
objectives
SOCIAL Enterprise
Social ties
Stakeholders’
communities
Stakeholders’ Stakeholders’
communities communities
Enterprise
Organization
Shared values and goals
Activities and Rules
3
5. State of the market Emerging Opportunities
Technology, society, and work are all changing at breakneck speeds. Businesses tha
value from these changes must harness opportunities at their intersection, the hub o
Still in its infancy, limited adoption
Very turbulent
Enterprise microblogging
Tibco Tibbr, Microsoft OfficeTalk, Salesforce
Personal processes, collaborative
development, community-based work
Technology
IBM Blueworks Live, ArisAlignspace, Appian, ...
Crowdsourcing It goes without saying that technological evolution has fueled every major business r
industrial. But every major business shift was spurred on by innovations that were se
Amazon Mechanical Turk, … visible to those with keen foresight.
Currently, the ever-increasing overlap between consumer and enterprise technology
opportunities for businesses to evolve – and this continued overlap will only increase
» Cloud Computing. Cloud computing means faster, more relevant deployments o
financial burden and in a more adaptable tactical environment. Web-based servic
!
4
6. Social networks and tools
Candidate
social platforms
Tens of categories
Hundreds of solutions
Different purposes
Source: http://www.theconversationprism.com/
5
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
6
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
7
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)
8
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
9
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 /
Activity Decision Social Knowledge
Tacit Transparency Participation
distribution distribution f.back sharing
Knowledge
Dynamic enrollment X
Poll X X
People / Skill search X X X
Social content
X X
publication
Social sourcing X
Progress notification X
Ranking and
X X X X
commenting
10
12. Identified and implemented social
components
1. SocialLogin unit
2. Facebook unit
3. LinkedIn unit
4. Doodle unit
5. YouTube unit
6. GoogleCalendar unit
7. Twitter unit
8. WordPress unit
9. GoogleDocs unit
10. Dropbox unit
11. GoogleDirection unit
12. Chat unit
13. Slideshare unit
11
14. Step 1
Design the model
Application Model Process Model
Define data, services, logic, Define business
presentation details and processes managed by
user interaction the application
WebML Notation > IFML(*) BPMN notation
(*) the standardization process of the language is in progress within the OMG organization
13
15. Step 2
Customize the generation rules
Layout templates Custom components
for a perfectly fine-tuned for implementing any kind
layout, tailored to your visual of business logic,
identity integration or complex task
14
16. Social WebML components
Social components
• “Public” social network
integration
• Login
• Status update
• People search
• Tools for content
publishing and sharing
• Tools for cloud storage
• Enterprise social
• Tools for team working network integration
15
17. Step 3
Generate the application
Get a tailored, yet standard, Java Web application
User Interface
Desktop Mobile
Deploy
On-premises In the cloud
Standard
Java
Application
… Server …
16
18. WebRatio runtime architecture
and extension for Social Business Logic
Browser
Client Layer
Web Server SOAP sender / listener Presentation
Layer
JSP pages
Message Message Business
JSP engine composer decomposer Layer
Unit descriptor 1
... Conversation Social BPM
WebML runtime
Manager
Unit descriptor n Components
...
Data Layer Data
XML ...
RDBMS LDAP Layer
Legenda
Processing of messages received by the site
Social networks and social APIs
Construction of messages sent by the site
(public or enterprise)
Standard components interactions
17
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.
22
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
23
25. Process model: as is
BU manager
Establish
Identify
project
definition &
staff no
decide skills
members
Publish
yes
Finalize Call Attend
kick-off
staff kick-off meeting
meeting
list meeting
date
ACME BU_X
Project definition
ACME employee
Join staff Confirmed date? Attend meeting
24
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
25
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)
26
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
27
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
28
33. SBPM at work: Architecture
Social BPM
application
(WebRatio
+ RUX-Tool)
BPM engine
32
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
33
38. Standards and Training
Joint effort of POLIMI and
WebRatio
Standardization of the user
interaction language IFML
Training on
social
networking
(summer
school)
37
Hinweis der Redaktion
Then, the other question is: what does being «Social» mean?It does not mean only to use Facebook or Twitter; there are tens of categories and hundreds of different solutions to answer this need. There are also BPM suites that just work on this new borderline just to mention few of them: IBM Blueworks Live, Appian and so on.
Flo: should we here highlight somehow where the new BLCs will be placed inside the architecture?