11.07.2015 Views

Full text preview of the chapter [PDF] - Politecnico di Milano

Full text preview of the chapter [PDF] - Politecnico di Milano

Full text preview of the chapter [PDF] - Politecnico di Milano

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A Model-driven Approachto Social BPM ApplicationsPiero Fraternali, Marco Brambilla,Carmen Vaca<strong>Politecnico</strong> <strong>di</strong> <strong>Milano</strong>, ItalyINTRODUCTIONSocial technologies have transformed <strong>the</strong> Web from a platform for passivecontent consumption to a place where users actively contribute to contentproduction and opinion making. The first-generation social tools, like blogs,wikis, and content sharing applications, have been followed by a second generation<strong>of</strong> solutions, specifically focused on interpersonal interaction: socialnetworks are intended primarily for people to meet virtually and establishnetworks <strong>of</strong> relations. Several variants <strong>of</strong> <strong>the</strong> concept exist, from generalpurpose platforms like Facebook and mySpace, to location-based social applicationslike Gowalla and Foursquare, to special purpose networks, likePlaxo and LinkedIn.As <strong>the</strong> <strong>di</strong>ffusion <strong>of</strong> <strong>the</strong> original Web quickly impacted pr<strong>of</strong>essional use, pushingcompanies to migrate most <strong>of</strong> <strong>the</strong>ir B2C, B2B and B2E applications to aWeb/SOA architecture and employ browser based interfaces in <strong>the</strong> workplace, also <strong>the</strong> advent <strong>of</strong> <strong>the</strong> Social Web is affecting business practices. Severalexamples <strong>of</strong> this trend are visible: pr<strong>of</strong>essional networking platformshave started being used by <strong>the</strong> HR departments <strong>of</strong> companies as a tool forrecruiting and skill search; brand management and marketing use <strong>the</strong> viral<strong>di</strong>ssemination power <strong>of</strong> social networks to test or promote products and services;Customer Relationship Management exploits enterprise blogs and socialnetwork communication (e.g., product news twittering) to install a multilateral<strong>di</strong>alogue with customers.It is easy to foresee that <strong>the</strong> abovementioned initiatives will become systematicin enterprise management and <strong>the</strong> socialization <strong>of</strong> processes will takeplace both outside and outside <strong>the</strong> enterprise, affecting also those processesthat today are supported by ICT tools in a tra<strong>di</strong>tional way. This evolution hasbeen recently witnessed by business analysts [ORS10] who defined SocialBusiness Process Management (Social BPM) as <strong>the</strong> effort <strong>of</strong> designing andexecuting business processes collaboratively.Only a very limited number <strong>of</strong> vendors (inclu<strong>di</strong>ng IBM, Oracle [Ora11], Intalio[Int11], S<strong>of</strong>tware AG [S<strong>of</strong>11] and a few o<strong>the</strong>rs) have announced strategiesfor incorporating social features in <strong>the</strong>ir BPM suites, starting from 2010. Thepotential Social BPM product space spans three families <strong>of</strong> solutions: Tra<strong>di</strong>tional BPM systems: classic BPM solutions, like Pegasystem,Savvion, Metastorm BizAgi, WebRatio BPM presently do not supportsocial interactions in business processes, but could be integratedwith social tools. Enterprise Social S<strong>of</strong>tware: corporate Wiki, blogs and intranet portalsaugmented with user interaction capabilities (e.g., Intalio Social1


HEADINGSOCIAL BPM ADOPTION LEVELSThe introduction <strong>of</strong> social features in business processes can be achieved at<strong>di</strong>fferent levels, accor<strong>di</strong>ng to a spectrum <strong>of</strong> possibilities, pictorially illustrate<strong>di</strong>n Figure 1.Fig. 1. The continuum <strong>of</strong> Social Business Process Management.At <strong>the</strong> top <strong>of</strong> <strong>the</strong> spectrum, Closed BPM denotes <strong>the</strong> tra<strong>di</strong>tional approachsupported by state-<strong>of</strong>-<strong>the</strong>-practice BPM suites. The schema <strong>of</strong> <strong>the</strong> process isdecided centrally and deployed to an execution platform (e.g., a BPEL engineor a proprietary runtime). Tasks are defined rigidly, <strong>the</strong> process actors arepreregistered, and allocation <strong>of</strong> actors to task follows statically defined assignmentand escalation rules. The communication among <strong>the</strong> actors ischanneled through <strong>the</strong> task execution interfaces, with <strong>the</strong> exception <strong>of</strong> notifications,which can be delivered through informal channels, like email andSMS.At <strong>the</strong> next level Participatory Design opens <strong>the</strong> process design to multipleactors. Ei<strong>the</strong>r <strong>the</strong> stakeholders can actually participate to <strong>the</strong> definition <strong>of</strong><strong>the</strong> process model or multiple process versions are fused into one sharedprocess model. The latter technique is relevant, for example, after mergerand acquisition, when companies have to align <strong>di</strong>fferent versions <strong>of</strong> <strong>the</strong> sameprocess [LRDtHM11].Participatory enactment shifts <strong>the</strong> focus <strong>of</strong> socialization from design toenactment. Although actors are fixed, as in closed BPM, <strong>the</strong> communicationis not restricted to <strong>the</strong> input and output <strong>of</strong> activities but typical functions <strong>of</strong>social tools are integrated into <strong>the</strong> process enactment application to supportcollateral communications, like following up <strong>the</strong> status <strong>of</strong> tasks, commentingon <strong>the</strong> result <strong>of</strong> task execution, voting on quality <strong>of</strong> service, etc.Social enactment entails opening <strong>the</strong> process execution (at least in part) toactors that are not known at process deployment time and allowing <strong>the</strong> collectiveexecution <strong>of</strong> a task. Social task execution can take a variety <strong>of</strong> forms:from <strong>the</strong> most structured, like <strong>the</strong> use <strong>of</strong> crowd-sourcing platforms for microtasksexecution, to less controlled forms, like community-based productand content rating, cooperative s<strong>of</strong>tware development and testing, etc. The3


HEADINGcommon denominator <strong>of</strong> social task execution is <strong>the</strong> capability to launch atask to be executed by an open-ended community <strong>of</strong> performers and tomonitor its progress until completion.Finally, Process Mining is <strong>the</strong> less structured approach, where activities areexecuted freely and <strong>the</strong> process constraints are recovered a posteriori, by observing<strong>the</strong> behavior <strong>of</strong> <strong>the</strong> actors, e.g., inspecting execution traces[vdAPS10].This Chapter addresses specifically participatory and social enactment.OVERVIEW OF THE APPROACHThe goal <strong>of</strong> <strong>the</strong> described work is to provide a method for <strong>the</strong> design, fastprototyping and deployment <strong>of</strong> BPM solutions extended with social interactions,which employs high-level models for representing both <strong>the</strong> BPM requirementsand <strong>the</strong> design <strong>of</strong> <strong>the</strong> process enactment application. Using modelsin all design stages grants important benefits: Process models are an intuitive yet formal way to represent businessprocess, which can be shared with non-technical stakeholders andformally checked for desirable properties. Application models describe <strong>the</strong> structure and behavior <strong>of</strong> an applicationindependently <strong>of</strong> <strong>the</strong> technical details <strong>of</strong> <strong>the</strong> deployment platform,can be formally verified for desirable properties, and used forquick prototyping and automatic code generation.Figure 2 shows schematically <strong>the</strong> phases and ingre<strong>di</strong>ents <strong>of</strong> <strong>the</strong> proposedmodel driven Social BPM solution development.The Process specification phase takes in input <strong>the</strong> business requirementsand workflow description <strong>of</strong> an organization and outputs a model <strong>of</strong> <strong>the</strong>business processes that formally describes <strong>the</strong> organization <strong>of</strong> activities necessaryfor satisfying <strong>the</strong> business requirements. We assume that <strong>the</strong>process model is encoded in BPMN, extended to support <strong>the</strong> specification <strong>of</strong>social interaction. The social process model can be used <strong>di</strong>rectly to produce aprototype <strong>of</strong> <strong>the</strong> enactment application, whereby a business analyst or astakeholder can: 1) impersonate any actor <strong>of</strong> <strong>the</strong> process, at all <strong>the</strong> levels <strong>of</strong>social interaction; 2) start/suspend/resume/terminate <strong>the</strong> process activitiesin accordance with <strong>the</strong> process constraints; 3) create and inspect project artifactsand parameters, accor<strong>di</strong>ng to <strong>the</strong> process specification; 4) impersonateexternal user roles and simulate social actions.Social application design takes in input <strong>the</strong> Social BPMN model and producesin output a model <strong>of</strong> <strong>the</strong> application(s) needed for enacting it. The designphase is formally driven by model-to-model transformation rules, which <strong>di</strong>ctate<strong>the</strong> way in which each (social or conventional) BPMN construct has to beturned into a construct <strong>of</strong> <strong>the</strong> social application model. The output model isencoded in <strong>the</strong> WebML Domain Specific Language, extended with socialcomponents and patterns (Social WebML). A social component is defined asa DSL primitive that represents an atomic unit <strong>of</strong> business or interface logicused to perform a social interaction (e.g., a component can support <strong>the</strong> posting<strong>of</strong> a message in a social network wall; ano<strong>the</strong>r component can support<strong>the</strong> registration <strong>of</strong> a user to <strong>the</strong> application using her pr<strong>of</strong>ile in a social network).A social pattern is a fragment <strong>of</strong> application design that comprisesseveral components and connections to perform a full-fledged social activity4


HEADING(e.g., an application page for selecting an activity and posting its status onone or more social networks).Finally, Social process deployment is <strong>the</strong> technical phase that produces <strong>the</strong>actual executable version <strong>of</strong> <strong>the</strong> social process enactment application. It isdriven by model-to-code transformation rules that map each construct <strong>of</strong> <strong>the</strong>application model into appropriate artifacts <strong>of</strong> <strong>the</strong> deployment platform. In<strong>the</strong> case <strong>of</strong> WebML, existing rules, implemented in <strong>the</strong> WebRatio tool suite[WebRatio], map standard WebML projects onto <strong>the</strong> JEE platform. The extensionto social BPM requires an enrichment <strong>of</strong> <strong>the</strong> existing model-to-codetransformation rules to map <strong>the</strong> novel social WebML components into <strong>the</strong>irrespective implementation-level primitives. This code generation rules typicallyproduce service calls to <strong>the</strong> Web APIs (Application Programming Interface)<strong>of</strong> <strong>the</strong> specified Social Networking Platform (e.g., <strong>the</strong> Facebook API tointeract with such social network).Fig 2. Model driven approach to Social BPM developmentRUNNING EXAMPLEWe will <strong>di</strong>scuss our approach through a running example inspired from areal business case described in [CFB+02] and implemented using a modeldrivenapproach based on WebML.The business process <strong>of</strong> interest deals with <strong>the</strong> publication <strong>of</strong> contents in <strong>the</strong>B2C and B2B portals <strong>of</strong> a multinational company that sells branded PCs.The process actors comprise worldwide managers, country managers andemployees <strong>of</strong> <strong>the</strong> Marketing and Communication (MarCom) department.5


HEADINGFigure 3 shows <strong>the</strong> BPMN representation <strong>of</strong> <strong>the</strong> process: <strong>the</strong> content productionprocess can be initiated by <strong>the</strong> local employees that generate localizedcontent, which can be approved by <strong>the</strong> country manager and published locally.However, <strong>the</strong> country manager may also decide that <strong>the</strong> content can be<strong>of</strong> worldwide interest. In such case, <strong>the</strong> regional-level content becomes amaster copy proposal (written in English) can<strong>di</strong>date for global publication.The worldwide manager decides about <strong>the</strong> actual relevance and, based onthat decision, <strong>the</strong> document is promoted to master content (and <strong>the</strong>reforeassigned and translated into all <strong>the</strong> local languages) or kept at <strong>the</strong> local level(and thus approved only for local publication).Fig. 3. BPMN representation <strong>of</strong> <strong>the</strong> running example process withoutsocial aspects.We now extend <strong>the</strong> abovementioned process by introducing (simplified) socialinteraction requirements, to improve <strong>the</strong> effectiveness <strong>of</strong> <strong>the</strong> process for both<strong>the</strong> internal personnel and <strong>the</strong> external customers. We restrict <strong>the</strong> exampleto two exemplary scenarios: B2E (Business to Employee) and a B2C (Businessto Consumer).B2E scenario (Content Management Process)Let’s assume <strong>the</strong> Company has setup an Enterprise Social Network (ESN),where all employees subscribe and interact, using blogs, wikis and o<strong>the</strong>r socialtools. The regional MarCom manager would like to take advantage <strong>of</strong> <strong>the</strong>ESN to favor <strong>the</strong> emergence <strong>of</strong> quality content in a bottom-up manner. Tothis end, <strong>the</strong> revised process should allow master content proposals to becommented and enriched by managers and employees <strong>of</strong> o<strong>the</strong>r countries,who do not see <strong>the</strong> local approval process but only <strong>the</strong> resulting content proposal.The worldwide MarCom manager follows <strong>the</strong> feedbacks and may decideto promote a “popular” content proposal to master status based on <strong>the</strong>social activities that happened upon it. As an aside to <strong>the</strong> socialization <strong>of</strong> <strong>the</strong>e<strong>di</strong>torial process, <strong>the</strong> worldwide MarCom manager gets an idea <strong>of</strong> <strong>the</strong> intercountrycommunication paths and <strong>of</strong> <strong>the</strong> proactivity <strong>of</strong> national managers6


HEADINGfication services (e.g., through accounts at public social networks or standardopen accounts); <strong>the</strong>y can perform <strong>the</strong> same tasks as <strong>the</strong> internal observersand influence case advancement only in<strong>di</strong>rectly.Visibility <strong>of</strong> <strong>the</strong> process status. The interaction with cases and activity instancescan occur at <strong>di</strong>fferent levels <strong>of</strong> control: an actor can interact via <strong>the</strong>explicit publication and manipulation <strong>of</strong> <strong>the</strong> case and activity status (<strong>di</strong>rectaccess); via <strong>the</strong> right <strong>of</strong> publication and manipulation <strong>of</strong> a restricted set <strong>of</strong>case- and activity-related parameters (view access); or in an implicit and in<strong>di</strong>rectway, via <strong>the</strong> publication and manipulation <strong>of</strong> objects or o<strong>the</strong>r derive<strong>di</strong>nformation (artifact-me<strong>di</strong>ated access). When <strong>the</strong> access to process status isin<strong>di</strong>rect, <strong>the</strong> influence on activity advancement can still take place, via <strong>the</strong>me<strong>di</strong>ation <strong>of</strong> a human task executed by an internal performer or a decisiongateway testing some con<strong>di</strong>tion formally expressed in <strong>the</strong> process modelLevel <strong>of</strong> social participation. The interaction <strong>of</strong> external social actors witha business process can produce <strong>di</strong>fferent impacts on case advancement; externalusers can: be informed about <strong>the</strong> progress <strong>of</strong> a case or an activity;create comments used for (<strong>of</strong>fline) process evaluation; create events that trigger<strong>the</strong> state transition <strong>of</strong> activities; create data objects or mo<strong>di</strong>fy parametervalues that alter <strong>the</strong> status <strong>of</strong> activities or <strong>the</strong> control flow <strong>of</strong> <strong>the</strong> case.Table 2 summarizes <strong>the</strong> social BPM <strong>di</strong>mensions relevant to <strong>the</strong> analysis <strong>of</strong><strong>the</strong> running example.Actor CategoriesInternal performersInternal observersWorldwide manager, Country managers and Local employeesinvolved in a Content Management Process caseManagers and employees <strong>of</strong> o<strong>the</strong>r countries, not assignedto or owning <strong>the</strong> active Content Management Process caseExternal observers Customers self-registering in <strong>the</strong> portal for <strong>the</strong> CampaignManagement ProcessVisibility <strong>of</strong> Process StatusDirect accessWorldwide manager, country managers and employeesacting on activities <strong>of</strong> <strong>the</strong> Content Management Processcase <strong>the</strong>y own/ participate inView accessManagers and employees <strong>of</strong> o<strong>the</strong>r countries viewing andcommenting content proposals produced in a non-ownedprocess caseArtifact-me<strong>di</strong>ated Customers receiving campaign announcements (readaccess) and creating user invitations (write access)Level <strong>of</strong> Social ParticipationInformCommentGenerate a signalWorldwide managers receiving notifications <strong>of</strong> commentsto content proposalsCountry managers and employees rea<strong>di</strong>ng and commentingcontent proposalsWorldwide managers promoting content proposals to mastercontent statusProduce dataPortal users creating friend invitationsTable 2. Social <strong>di</strong>mensions in <strong>the</strong> running example8


HEADINGSOCIAL REQUIREMENTS FOR BPMNBPMN is one <strong>of</strong> <strong>the</strong> most complete visual languages for expressing businessprocess models. The current version (2.0) incorporates a native extensionmechanism that makes <strong>the</strong> language well suited for <strong>the</strong> adaptation to specialprocess requirements, like those arising in Social BPM.Tables 3, 4, and 5 illustrate how BPMN can be used or extended to represent<strong>the</strong> essential aspects <strong>of</strong> socially enacted processes. In particular, Table 3presents <strong>the</strong> requirements associated to <strong>the</strong> implementation <strong>of</strong> social actionsat large (at process and flow level); Table 4 describes <strong>the</strong> requirements at <strong>the</strong>single task level; and Table 5 describes <strong>the</strong> requirements at <strong>the</strong> event managementlevel.The main extension is <strong>the</strong> concept <strong>of</strong> Community Pool, which is defined as<strong>the</strong> pool devoted to social activities: it may represent a public social networksor an enterprise social network.Requirement BPMN notation CommentActor category and communitypoolActivity inheritanceCommunity executed activityUser vs. Automatic GatewaysHierarchical definition <strong>of</strong>user rolesAd hoc Activity within acommunity poolAnnotation in <strong>the</strong> pool/laneheader, respectively for: Internalperformer, internalobserver, external observer.The last two categories characterizecommunity poolsTo avoid duplication <strong>of</strong> activities,hierarchies <strong>of</strong> roleswith inheritance <strong>of</strong> task executioncan be definedA sub-process or a task delegatedto a community <strong>of</strong> observerusers. Ad hoc markdenotes complex / nonstructure<strong>di</strong>nteractionsThe execution <strong>of</strong> <strong>the</strong> choiceis performed by a human orby an automatic procedure/ruleTable 3. Social requirements for BPMN at pool and process level.Table 3 describes social BPMN extensions at pool and process level: Actor categories are denoted by proper icons in <strong>the</strong> pool/lane header; The hierarchical definition <strong>of</strong> user roles is provided to avoid duplication<strong>of</strong> activities across lanes. This is a general requirement, but getsparticularly critical in social applications where multiple roles mayperform social tasks; to avoid specifying activities repeatedly in everylane, a parent role factoring out <strong>the</strong> activities common to multiplesub-roles can be used, which makes <strong>the</strong> specification <strong>of</strong> social behaviormore compact. The BPMN 2.0 concept <strong>of</strong> ad hoc parallel task is proposed as an effectivesolution for describing social activities, which are inherently unstructured;9


HEADING User gateways are introduced to express human choices. The specification<strong>of</strong> human-executed choices in BPMN is an open issue currentlyunder <strong>di</strong>scussion in <strong>the</strong> BP analyst community 1 . Social applicationscorroborate <strong>the</strong> need <strong>of</strong> a better way to explicitly model humandecisions, which can be achieved simply by <strong>di</strong>stinguishing user gateways,which entail a user’s decision; and automatic/service gateways,which entail a decision taken accor<strong>di</strong>ng to a rule (this is <strong>the</strong>standard semantics for BPMN gateways) or performed by a service.Notice that <strong>the</strong> visibility <strong>of</strong> process status and <strong>the</strong> level <strong>of</strong> social participationdo not require an ad hoc notation because <strong>the</strong>y can be inferred from <strong>the</strong>BPMN <strong>di</strong>agram, by looking at <strong>the</strong> flow, task, and event definitions.While most social interaction may be described with standard message flowswithin <strong>the</strong> community pool or between <strong>the</strong> community and <strong>the</strong> enterprisepool, a simplified notation may be convenient in several cases. Table 4 proposesa set <strong>of</strong> annotations describing social interactions at <strong>the</strong> task level.These annotations are a shortcut for social activities: <strong>the</strong>y express <strong>the</strong>broadcasting <strong>of</strong> messages/contents from a task to <strong>the</strong> entire social network(or a subset <strong>the</strong>re<strong>of</strong>), <strong>the</strong> posting <strong>of</strong> messages/contents to one member <strong>of</strong> <strong>the</strong>network, <strong>the</strong> invitation <strong>of</strong> people from <strong>the</strong> social network to perform a specifictask, <strong>the</strong> invitation to comment or vote on a task or on its outcomes, <strong>the</strong>login <strong>of</strong> users in <strong>the</strong> BPM system using credentials from a social network,and <strong>the</strong> search for user’s skills or reputation within a social network (e.g., forchecking recommendations before assigning tasks to users). These annotationsgreatly simplify <strong>the</strong> expression <strong>of</strong> typical social activities, because <strong>the</strong>yavoid <strong>the</strong> visual clutter due to <strong>the</strong> introduction in <strong>the</strong> BPMN <strong>di</strong>agram <strong>of</strong> <strong>the</strong>community pool and to <strong>the</strong> plethora <strong>of</strong> messages flowing into/from it.Finally, Table 5 shows <strong>the</strong> event types needed for supporting case advancementtriggered by social interactions. A generic social event conceptrepresents any kind <strong>of</strong> occurrence within <strong>the</strong> social network; this can bespecialized to express more detailed event types like: <strong>the</strong> ad<strong>di</strong>tion <strong>of</strong> a newuser to <strong>the</strong> community, <strong>the</strong> establishment <strong>of</strong> a new social relationships, <strong>the</strong>notification <strong>of</strong> acceptance/rejection <strong>of</strong> a social request (e.g., for friendship,invitation to groups or applications), and so on.1 The interested reader may refer to <strong>the</strong> online <strong>di</strong>scussions proposed by Keith Swenson,Anatoly Belychook, Bruce Silver, and our own blog respectively at:http://social-biz.org/2009/04/06/representing-choice-in-a-process-<strong>di</strong>agram/,http://mainthing.ru/item/361/,http://www.brsilver.com/wordpress/2009/04/10/keiths-choice/, andhttp://marcobrambi.blogspot.com/2011/01/user-gateways-in-bpmn.html .10


HEADINGRequirement BPMN notation CommentTask Type: SocialbroadcastAnnotation <strong>of</strong> taskData flow to a communitypoolTask Type: Social postingAnnotation <strong>of</strong> taskData flow to a singleuser in a communitypoolTask Type: Invitation toactivityAnnotation <strong>of</strong> taskDynamic enrollment toa task in <strong>the</strong> processcaseTask Type: CommentingAnnotation <strong>of</strong> task Submission <strong>of</strong> commentsabout <strong>the</strong> activityTask Type: Voting Annotation <strong>of</strong> task Voting (y/n) on an activity,ei<strong>the</strong>r within asocial network platformor <strong>di</strong>rectly in <strong>the</strong> BPMsystemTask Type: Login Annotation <strong>of</strong> task Use a social pr<strong>of</strong>ile tologin into a systemTask Type: Invitation tojoin a network in acommunity (e.g.,friendship)Annotation <strong>of</strong> task Invitation betweencommunity members tojoin a specific network(e.g., friend network,group, and so on)Task Type: Search foractor’s informationAnnotation <strong>of</strong> taskLookup query to <strong>the</strong>community to searchfor actor with specificpr<strong>of</strong>ile attributesTable 4. Social requirements for BPMN at task level.11


HEADINGRequirement BPMN notation CommentCommunity-generatedeventsEvent: New user engage<strong>di</strong>n <strong>the</strong> socialcommunityEvent: New social relationshiplinkEvent: Invitation acceptance/rejection(Generic) events raisedby <strong>the</strong> communityAn event is raised whena user dynamicallyenrolls to <strong>the</strong> processcaseAn event is raised whena user establishes a socialrelationship withano<strong>the</strong>r userAn event is raised whena user accepts/rejectsan invitationTable 5. Social requirements for BPMN at event level.SOCIAL BPMN SPECIFICATION OF THE RUNNING EXAMPLETo exemplify social BPMN extensions, Figure 4 shows <strong>the</strong> BPM model <strong>of</strong> <strong>the</strong>social B2E scenario <strong>of</strong> <strong>the</strong> running example: with respect to <strong>the</strong> originalmodel, <strong>di</strong>splayed in Figure 3, <strong>the</strong> process is extended with <strong>the</strong> publication <strong>of</strong><strong>the</strong> Master content proposal to <strong>the</strong> social community. Notice that <strong>the</strong> activityis annotated with <strong>the</strong> social commenting stereotype (as from Table 3), to specifythat a request for comments is issued to <strong>the</strong> social network. The activityaccepts non-blocking social events (representing <strong>the</strong> received comments).The activity runs for a week (as marked by <strong>the</strong> temporal event). Fur<strong>the</strong>rmore,if <strong>the</strong> Master content is actually promoted, <strong>the</strong> new state is notified <strong>the</strong>community through a social broadcasting stereotyped activity.Fig. 4. Social BPMN extensions applied to <strong>the</strong> B2E scenario(Content Management Process).12


HEADINGTo exemplify <strong>the</strong> B2C scenario, we describe two important processes <strong>of</strong> <strong>the</strong>Campaign Management Process presented in <strong>the</strong> running example. Figure 5shows <strong>the</strong> user registration process, representing <strong>the</strong> log on phase exploitinga social user pr<strong>of</strong>ile. The user registers in <strong>the</strong> company portal using his credentialsin a social network; <strong>the</strong> company gets <strong>the</strong> enrollment social eventand automatically replies with a request for friendship (or authorization forany o<strong>the</strong>r kind <strong>of</strong> social interaction) posted in <strong>the</strong> user’s social network. If<strong>the</strong> user accepts, <strong>the</strong> company updates his pr<strong>of</strong>ile in its member <strong>di</strong>rectory(upon reception <strong>of</strong> a friendship confirmation event) and will exploit this informationfor future promotional campaigns.Fig. 5. User enrollment and authorization in <strong>the</strong> B2C example.Figure 6 shows <strong>the</strong> Social Campaign Management process, which implies anexplicit interaction between <strong>the</strong> company’s MarCom personnel and <strong>the</strong> observerusers clustered in a social pool. The process initiates when <strong>the</strong> company’smarketing manager decides that a new campaign has to be launched;a marketing employee prepares <strong>the</strong> campaign content and broadcasts <strong>the</strong>event (toge<strong>the</strong>r with <strong>the</strong> content) to <strong>the</strong> social pool with an explicit messageflow; as a consequence, each user that previously accepted to receive campaignannouncements will get a message in her favorite social network applications.The process <strong>the</strong>n continues within <strong>the</strong> social pool. A social networkmember may comment back to <strong>the</strong> company, suggest <strong>the</strong> service/product tohis own friends, or invite new friends to <strong>the</strong> company network or socialgroup. As a result, new actors can enroll to <strong>the</strong> company’s portal and dynamicallybecome part <strong>of</strong> <strong>the</strong> social pool. Each action from a social pool actoris notified to <strong>the</strong> company, which in turn registers <strong>the</strong> events for <strong>the</strong> wholeduration <strong>of</strong> <strong>the</strong> campaign. If <strong>the</strong> user reaches <strong>the</strong> agreed objectives, a task isactivated that notifies <strong>the</strong> reward from <strong>the</strong> company to <strong>the</strong> user in <strong>the</strong> communitypool, by means <strong>of</strong> an in<strong>di</strong>vidual communication in <strong>the</strong> user’s preferredsocial network(s). The campaign terminates at <strong>the</strong> end <strong>of</strong> a designatedtime interval; after <strong>the</strong> temporal event, <strong>the</strong> marketing manager can analyze<strong>the</strong> final report on <strong>the</strong> campaign results.13


HEADINGNotice that en explicit BPMN representation <strong>of</strong> <strong>the</strong> social task is used in thiscase, to describe in detail what happens in <strong>the</strong> social community pool; thisrequires using a parallel ad hoc task inside <strong>the</strong> community pool. Messageflows are also shown explicitly to describe <strong>the</strong> message sources and contents.On <strong>the</strong> o<strong>the</strong>r hand, <strong>the</strong> “send rewards to user” activity is specified using<strong>the</strong> task stereotype notation, because <strong>the</strong> task behavior is standard and<strong>the</strong> message follows can be deduced from <strong>the</strong> short notation and from rest <strong>of</strong><strong>the</strong> process <strong>di</strong>agram.Fig. 6. Social Campaign Management in <strong>the</strong> B2C social example.14


HEADINGDESIGN OF SOCIAL APPLICATIONS WITH WEBMLAs shown in Figure 2, once <strong>the</strong> BPMN specification is completed, applicationmodels are designed that describe <strong>the</strong> s<strong>of</strong>tware solutions required for enacting<strong>the</strong> process; such application models specify, for each role involved in <strong>the</strong>social process, <strong>the</strong> interface, interaction commands, service calls, and dataexchange flow necessary to carry out <strong>the</strong> tasks specified for that role in <strong>the</strong>process. When <strong>the</strong> Web is elected as <strong>the</strong> platform <strong>of</strong> choice for <strong>the</strong> implementation<strong>of</strong> <strong>the</strong> process enactment solution, <strong>the</strong> application model can be naturallyencoded in <strong>the</strong> WebML notation [CFB+02], a visual language for designingdata- and service-intensive Web/SOA applications. A WebML model consists<strong>of</strong> one or more site views, which represent hyper<strong>text</strong> application used topublish or manipulate data and interact with <strong>the</strong> back end business logic. A<strong>di</strong>fferent site views can be defined for each process actor; internally, a siteview consists <strong>of</strong> a set <strong>of</strong> pages, atomic units <strong>of</strong> interface, containing units,representing data publishing components. Units are related to each o<strong>the</strong>rthrough links, representing navigational paths and parameter passing rules.Ad<strong>di</strong>tionally, <strong>the</strong> WebML application model comprises <strong>the</strong> definition <strong>of</strong> Webservices (when needed) and <strong>the</strong>ir invocations.Starting from a BPMN specification, an automatic model-to-model transformationproduces <strong>the</strong> WebML model <strong>of</strong> <strong>the</strong> process enactment applications <strong>of</strong>each role, and a database schema for storing <strong>the</strong> case advancement data.The standard model-to-model transformation from BPMN to WebML is alreadysupported in <strong>the</strong> WebRatio BPM commercial tool suite [ABBB07]; thishas been augmented to cover <strong>the</strong> social extensions <strong>of</strong> BPMN described in thisChapter, thanks to three new features: 1) <strong>the</strong> social BPMN primitives <strong>of</strong> Table3, 4 and 5 are added to <strong>the</strong> BPMN e<strong>di</strong>tor; 2) novel components modeling<strong>the</strong> application design patterns and s<strong>of</strong>tware components for interaction withsocial networks are added to <strong>the</strong> WebML languages, using its native extensionmechanism; 3) <strong>the</strong> BPMN-to-WebML mapping rules are enriched to mapeach social BPMN primitive into <strong>the</strong> appropriate social WebML design pattern.Example <strong>of</strong> social BPMN to WebML mapping and quick prototypingTo exemplify how <strong>the</strong> social BPMN model is mapped to WebML, we show asimple activity with social effects, <strong>the</strong> WebML model produced from it, and<strong>the</strong> quick prototype generated by WebRatio.Figure 7(a) shows <strong>the</strong> BPMN model <strong>of</strong> a task publishing some materials andwaiting for comments from a social network (for a period up to one week).Figure 7(b) shows <strong>the</strong> WebML application model generated for <strong>the</strong> task: <strong>the</strong>entry point to <strong>the</strong> task is expressed by <strong>the</strong> Input unit, which is <strong>the</strong> componentthat collects <strong>the</strong> input parameters <strong>of</strong> <strong>the</strong> task from <strong>the</strong> case enactmentdatabase. The Publish to <strong>the</strong> social community page denotes <strong>the</strong> home page <strong>of</strong><strong>the</strong> task, which retrieves <strong>the</strong> task parameters from <strong>the</strong> input unit and <strong>di</strong>splaysa form (Prepare content unit) allowing <strong>the</strong> user to enter <strong>the</strong> content tobe submitted to <strong>the</strong> social network. Once <strong>the</strong> content is ready, an outgoinglink from <strong>the</strong> Prepare Content unit permits <strong>the</strong> user to trigger a sequence <strong>of</strong>operations: <strong>the</strong> social network API is first invoked to publish <strong>the</strong> content;next <strong>the</strong> task parameters are updated and finally <strong>the</strong> task is suspended. Theuser can come back at any time and resume <strong>the</strong> task for looking at <strong>the</strong>comments received so far (<strong>the</strong>se are <strong>di</strong>splayed in <strong>the</strong> Comments index unit15


HEADINGwithin <strong>the</strong> See Comments page). The activity terminates after 1 week as requeste<strong>di</strong>n <strong>the</strong> BPMN model.(a)(b)(c)Fig. 7. (a) BPMN notation for a social-based activity; (b) Correspon<strong>di</strong>ngWebML application model; (c) Visual rendering <strong>of</strong> an activity UI in <strong>the</strong>prototype generated by WebRatio.16


HEADINGFigure 7(c) shows <strong>the</strong> snapshot <strong>of</strong> <strong>the</strong> Publish to social community Web pagegenerated as a prototype from <strong>the</strong> WebML model <strong>of</strong> Figure 7(b). The user cansee: his name (Roland Still), his role (Worldwide Manager), <strong>the</strong> details about<strong>the</strong> process and <strong>the</strong> task toge<strong>the</strong>r with <strong>the</strong> correlated social history registeredso far (in <strong>the</strong> Process Details box). A link leads to <strong>the</strong> See Commentspage. The actual inputs required by <strong>the</strong> current process step must be submitte<strong>di</strong>n <strong>the</strong> Prepare Content and Attachment boxes). The Social Activitybox contains <strong>the</strong> possible actions that can be performed at <strong>the</strong> communitylevel. In <strong>the</strong> example, <strong>the</strong> user can share <strong>the</strong> outcomes on Facebook (<strong>the</strong> socialnetwork <strong>of</strong> choice). The Activity Events box <strong>di</strong>splays <strong>the</strong> list <strong>of</strong> BPMevents to be handled (in <strong>the</strong> example, <strong>the</strong> deadline for closing <strong>the</strong> activity).Finally, in <strong>the</strong> bottom part <strong>of</strong> <strong>the</strong> page, <strong>the</strong> list <strong>of</strong> all <strong>the</strong> social platforms involve<strong>di</strong>n <strong>the</strong> whole application is listed (and <strong>the</strong> one <strong>of</strong> <strong>the</strong> current task ishighlighted). By clicking on <strong>the</strong> various icons, <strong>the</strong> user can see <strong>the</strong> respectiveevents happened so far.Implementation within <strong>the</strong> WebRatio toolsuiteThe described generative framework has been implemented as an extension<strong>of</strong> <strong>the</strong> WebRatio Model-Driven Web application environment, which enablesdevelopers to e<strong>di</strong>t WebML models and automatically transform <strong>the</strong>m intorunning applications for <strong>the</strong> JEE and Service Oriented Architectures. WebRatiois commercially available and has been used to produce large scaleWeb and BPM solutions; <strong>the</strong> BPM e<strong>di</strong>tion, presented at <strong>the</strong> BPM 2010 Conference(Hoboken, NJ) [BBF10], comprises: a BPMN e<strong>di</strong>tor, a code generatorthat includes <strong>the</strong> transformation from BPMN to WebML and a quick prototypingfunction that produces JEE-compliant process enactment applications(one-click prototyping). This functionality invokes in sequence <strong>the</strong> twotransformations from BPMN to WebML and from WebML to JEE, yiel<strong>di</strong>ng adynamic, multi-actor enactment application with a default look & feel. Thegenerator creates a few exemplary users for each BPMN actor, which allows<strong>the</strong> analyst to impersonate each role in <strong>the</strong> process. We are now exten<strong>di</strong>ngthis framework to support <strong>the</strong> newly introduced social features: BPMN socialartifacts, new WebML components implementing <strong>the</strong> <strong>di</strong>fferent behaviors and<strong>the</strong> interaction with various social networks APIs, and <strong>the</strong> new model transformationrules that generate <strong>the</strong> WebML models from <strong>the</strong> social BPMN notation.As a result, <strong>the</strong> prototyping function will deliver in one-click socialprocess enactment applications, whereby <strong>the</strong> analyst can actuate both <strong>the</strong>structured and <strong>the</strong> social part <strong>of</strong> <strong>the</strong> BPMN specification, impersonating allroles: internal performers, internal observers and also external users in a socialcommunity <strong>of</strong> choice. The rapid prototype validated in this way can <strong>the</strong>nbe evolved by <strong>the</strong> WebML designer into <strong>the</strong> final version <strong>of</strong> <strong>the</strong> processenactment applications, deployable on top <strong>of</strong> any industrial-strength JEEplatform.CONCLUSIONSThis <strong>chapter</strong> has <strong>di</strong>scussed <strong>the</strong> levels <strong>of</strong> adoptions <strong>of</strong> social features insideorganizations and business process models, and examined <strong>the</strong> requirementsthat Social BPM poses to process specification languages. Based on that, wehave illustrated a set <strong>of</strong> extensions and exemplary scenarios for designingsocial BPM applications with BPMN 2.0 and briefly described <strong>the</strong> technicalarchitecture <strong>of</strong> a tool suite for <strong>the</strong> generation <strong>of</strong> rapid prototypes <strong>di</strong>rectlyfrom socially-extended BPMN models. Our future work will concentrate on17


HEADINGcompleting <strong>the</strong> implementation <strong>of</strong> <strong>the</strong> social extension <strong>of</strong> WebRatio BPM, validatingit on real-world industrial cases, and quantitatively measuring <strong>the</strong>benefits that process socialization brings to organizations, by means <strong>of</strong> novelBusiness Analysis Monitoring dashboard applications that take into accountboth <strong>the</strong> structured and <strong>the</strong> social part <strong>of</strong> a business process.REFERENCES[ABBB07] Roberto Acerbis, Aldo Bongio, Marco Brambilla, and Stefano Butti.Webratio 5: An eclipse-based case tool for engineering web applications.In Luciano Baresi, Piero Fraternali, and Geert-Jan Houben, e<strong>di</strong>tors,ICWE, volume 4607 <strong>of</strong> Lecture Notes in Computer Science, pages 501-505.Springer, 2007.[BBF10] Marco Brambilla, Stefano Butti, Piero Fraternali. Business ProcessModeling and Quick Prototyping with WebRatio BPM. Proc. <strong>of</strong> BPM DemonstrationTrack 2010, Hoboken, USA, September 14-16, 2010, Vol. 615CEUR-WS.org. online: http://ceur-ws.org/Vol-615.[CFB00] Stefano Ceri, Piero Fraternali, and Aldo Bongio. Web Modeling Language(WebML): a modeling language for designing Web sites. In Procee<strong>di</strong>ngs<strong>of</strong> <strong>the</strong> 9th international World Wide Web conference on ComputerNetworks : <strong>the</strong> international journal <strong>of</strong> computer and telecommunicationsnetworking, pages 137-157, Amsterdam, The Ne<strong>the</strong>rlands, 2000.North-Holland Publishing Co.[CFB+02] S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, and M.Matera. Designing Data- Intensive Web Applications. Morgan Kaufmann,USA, 2002.[IBM11] IBM. IBM BlueWorks Live, 2011. https://www.blueworkslive.com,Last accessed: May 2011.[Int11] Intalio. Intalio Social BPM, 2011. http://www.intalio.com/socialbpm,Last accessed: May 2011.[LRDtHM11] Marcello La Rosa, Marlon Dumas, Arthur H. M. ter H<strong>of</strong>stede,and Jan Mendling. Configurable multi-perspective business processmodels. Inf. Syst., 36:313-340, April 2011.[Ora11] Oracle. Oracle Business Process Management Suite 11g, 2011.http://www.oracle.com/us/technologies/bpm, Last accessed: May 2011.[ORS10] Elise Ol<strong>di</strong>ng, Carol Rozwell, and Jim Sinur. Social bpm: Design bydoing. Technical report, Gartner, May 2010. Gartner research ID Number:G00200281.[Rpowit11] Prowit Projecthttp://www.ariscampus.com/community/research/prowit[S<strong>of</strong>11] S<strong>of</strong>twareAG. ArisAlign space, 2011. http://www.arisalign.com, Lastaccessed: May 2011.[vdAPS10] Wil M. P. van der Aalst, Maja Pesic, and Minseok Song. Beyondprocess mining: From <strong>the</strong> past to present and future. In Barbara Pernici,e<strong>di</strong>tor, CAiSE, volume 6051 <strong>of</strong> Lecture Notes in Computer Science, pages38{52. Springer, 2010.18


HEADINGEXAMPLE OF INDEXActor Category, 8Application model, 4BPMN, 2, 4, 6, 9, 10, 11, 12, 13,14, 15Business Process ManagementSystem (BPMS), 1Enterprise Social S<strong>of</strong>tware, 1IBM Blueworks Live, 2Process Mining, 3Process model, 4reputation, 12Social BPM, 2social participation, 4, 8, 10Social process deployment, 5social relationship, 12social tool, 1Web Modeling Language (WebML),2, 4, 5, 6, 14, 15WebRatio, 1419

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!