Model-driven Development of Social Network-enabled Applications


Published on

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.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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?
  • Model-driven Development of Social Network-enabled Applications

    1. 1. Model-driven Development of Social Network-enabled Applications Marco Brambilla, Andrea Mauri marcobrambi marcobrambiMDWE workshop, July 25, 2012. Berlin. Colocated with ICWE 2012
    2. 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. 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. 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. 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. 6. Social networks and tools Candidate social platforms  Tens of categories  Hundreds of solutions  Different purposes Source: 5
    7. 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. 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. 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. 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. 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 KnowledgeDynamic enrollment XPoll X XPeople / Skill search X X XSocial content X XpublicationSocial sourcing XProgress notification XRanking and X X X Xcommenting 10
    12. 12. Identified and implemented social components1. 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 11
    13. 13. Application design patterns andcomponents usage 12
    14. 14. Step 1 Design the modelApplication 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. 15. Step 2Customize the generation rulesLayout 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. 16. Social WebML componentsSocial 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. 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. 18. WebRatio runtime architectureand 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
    19. 19. Social Components Behaviour WebML model of wall posting and commenting 18
    20. 20. Social Components Behaviour WebML model for posting (on Twitter) 19
    21. 21. Social Components Behaviour WebML model for voting in a poll (on Doodle) 20
    22. 22. Demonstration
    23. 23. Process specification: Project Initiation BPACME 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. 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. 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 dateACME BU_X Project definition ACME employee Join staff Confirmed date? Attend meeting 24
    26. 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. 27. Process Improvementwith 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. 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. 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
    30. 30. The to-be process: SBPM at work Overview: 29
    31. 31. The to-be process: SBPM at work … 30
    32. 32. The to-be process: SBPM at work … 31
    33. 33. SBPM at work: Architecture Social BPM application (WebRatio + RUX-Tool)BPM engine 32
    34. 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 problemsFuture works Coverage of private and enterprise social networks Coverage of crowdsourcing platforms 33
    35. 35. Questions? Contact: marcobrambi marcobrambi
    36. 36. Materials and links BPM4People Web Site  35
    37. 37. Demos Demonstrative videos    36
    38. 38. Standards and Training Joint effort of POLIMI and WebRatio Standardization of the user interaction language IFML Training on social networking (summer school) 37