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
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
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
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
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
Social networks and tools

   Candidate
    social platforms
        Tens of categories
        Hundreds of solutions
        Different purposes




                                 Source: http://www.theconversationprism.com/
                                                                          5
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
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
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
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
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
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
Application design patterns and
components usage




                                  12
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
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
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
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
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
Social Components Behaviour

   WebML model of wall posting and commenting




                                                 18
Social Components Behaviour

   WebML model for posting (on Twitter)




                                           19
Social Components Behaviour

   WebML model for voting in a poll (on Doodle)




                                                   20
Demonstration
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
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
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
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
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
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
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
The to-be process: SBPM at work

   Overview:




                                      29
The to-be process: SBPM at work


                                  …




                                      30
The to-be process: SBPM at work


 …




                                  31
SBPM at work: Architecture

                             Social BPM
                             application
                             (WebRatio
                             + RUX-Tool)
BPM engine




                                           32
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
Questions?



    Contact:
    marco.brambilla@polimi.it
    marcobrambi
    marcobrambi
Materials and links

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




                                        35
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




                                                      36
Standards and Training

   Joint effort of POLIMI and
    WebRatio

   Standardization of the user
    interaction language IFML

   Training on
    social
    networking
    (summer
    school)


                                           37

Model-driven Development of Social Network-enabled Applications

  • 1.
    Model-driven Development ofSocial 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: adefinition  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 (andopportunity)  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 themarket 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 andtools  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 enterprisebackground  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 patternsto 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 implementedsocial 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
  • 13.
    Application design patternsand components usage 12
  • 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 thegeneration 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 Socialcomponents • “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 andextension 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
  • 19.
    Social Components Behaviour  WebML model of wall posting and commenting 18
  • 20.
    Social Components Behaviour  WebML model for posting (on Twitter) 19
  • 21.
    Social Components Behaviour  WebML model for voting in a poll (on Doodle) 20
  • 22.
  • 23.
    Process specification: ProjectInitiation 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: asis 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 SocialEnterprise 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 SocialBPM  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 rightSocial 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
  • 30.
    The to-be process:SBPM at work  Overview: 29
  • 31.
    The to-be process:SBPM at work … 30
  • 32.
    The to-be process:SBPM at work … 31
  • 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
  • 35.
    Questions? Contact: marco.brambilla@polimi.it marcobrambi marcobrambi
  • 36.
    Materials and links  BPM4People Web Site  http://www.bpm4people.org 35
  • 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 36
  • 38.
    Standards and Training  Joint effort of POLIMI and WebRatio  Standardization of the user interaction language IFML  Training on social networking (summer school) 37

Editor's Notes

  • #6 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.
  • #18 Flo: should we here highlight somehow where the new BLCs will be placed inside the architecture?