How to re-invent the
Process Portal
Donato Marrazzo, WebSphere Technical Sales
2
Please Note
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal
without notice at IBM’s sole discretion. Information regarding potential future products is
intended to outline our general product direction and it should not be relied on in making a
purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise,
or legal obligation to deliver any material, code or functionality. Information about potential
future products may not be incorporated into any contract. The development, release, and
timing of any future features or functionality described for our products remains at our sole
discretion
Performance is based on measurements and projections using standard IBM benchmarks in a
controlled environment. The actual throughput or performance that any user will experience
will vary depending upon many factors, including considerations such as the amount of
multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and
the workload processed. Therefore, no assurance can be given that an individual user will
achieve results similar to those stated here.
3
Agenda
BPMcapabilities
The 3rd
Way
Demo NewPortal
Security Implications
Mash-up your development organization
4© 2014 IBM Corporation
What is the Business Process Management?
Business Process Management is a discipline
made of m e tho do lo g y and to o ls aiming to
constantly improve business processes:
–Improve efficiency
–Improve effectiveness
–Adapt to business strategy
What are the key benefits of a BPM platform?
–Simplify the process automation
–Collect process metrics to gain visibility
–Provide insights for a process optimization
5© 2014 IBM Corporation
Often the UserInterface is the XfactorforBPM
tool
Human Intensive processes requires a lot of effort to build
an effective UI (60%-70% of total project time)
–Designing a process often require to re-work the data model
and adapt the UI that collects such data
6© 2014 IBM Corporation
When the useris the king the Process Portal is the
realm
 Human Intensive processes requires a
continual exchange of information among
users
 Process Portal is profiled for the User
–Task List
–Perform Tasks
• Co ache s are tig htly inte g rate d with
the pro ce ss
• Re usable co m po ne nt & UIte m plate s
–Dashboards
• O ut o f bo x re po rts
• Exte nsible thro ug h g raphicalwidg e t
that e xpo se s pro ce ss info rm atio n and
KPI
–Social enabled
• Info rm alco llabo ratio n e xpand the
7© 2014 IBM Corporation
One Portal does not fit all
 End users does not work exclusively
with BPM
–They expect that BPM integrates
activities that they usually carry on
with other application
 Some users should not be exposed
to the complete portal amenities:
–E.g. remove the social
communications
 Other users should perform their
task in mobility:
–Standard Process Portal can be
enjoyed by a modern wide screen
device
8© 2014 IBM Corporation
The escape exit
The common solution is to externalize the User Interface in
alien technology (e.g. Java EE, .Net, PHP)
–BPM is invoked through REST APIs
 UI Developers uses tools they know
 Process Designer get rid of UI details
getTaskList
claimTask
(...)
Everybody stay in their comfort zone
Custom code
9© 2014 IBM Corporation
When the BPMlose the head
BPM initiative become traditional application development
project
BPM turns into a backend system
–State Machine
–Task Dispatcher
Challenges
–Keep in sync UI with processes
–Mapping Business Object into the application
–Reuse UI Assets across Process Applications
–Reuse specific BPM UI Skills across projects
–UI Refactoring
“Fo r hum an inte nsive pro ce ss, the q ue stio ns are :
•Is it stilla use fulto o l?
•Ho w do e s it sim plify the Pro ce ss Auto m atio n? ”
10
Agenda
BPM capabilities
The 3rd
Way
Demo NewPortal
Security Implications
Mash-up your development organization
11© 2014 IBM Corporation
The 3rd
way: re-invent the Process Portal
Process Portal is just a containerof
reusable Human Services
We can save the Human Services
–Building a tailored version of the Process Portal
–Using an existing application as a frame
Task List
/ Human
Service
Existing App
BPM Server
Existing App Server
12© 2014 IBM Corporation
The BPMframe
This is a m ash-up approach common in
modern Web 2.0 application
–All the integration logic lives in the browser
The core of this technique is the
<iframe> HTML tag that exposes BPM Human Service
–It isolates the Human Service navigation from hosting application
navigation
 HTML page require just this code<script type="text/javascript" src="js/newportal­app.js"></script>
(...)
<iframe id="bpmframe" bpm­frame></iframe>
13© 2014 IBM Corporation
What is an iframe?
It's an inline frame
–A standard HTML way to host an external application
The hosting application (the container) can exchange
messages with the iframe content through JavaScript APIs
Encapsulated
Application
Hosting App
14© 2014 IBM Corporation
The outernavigation
The container application can trigger the BPM frame to
serve a specific Human Service
–The “on click” listener of the button changes the iframe src
attribute
• E. g . "/te am wo rks/e xe cute Se rvice ByNam e ?
pro ce ssApp= NEWPO RT& se rvice Nam e = Ne wTaskList"
Human
Service
Other App
Task List Dashboard ...
15© 2014 IBM Corporation
The innernavigation
 The navigation logic is based on the coach wiring that relies on
“traditional” web navigation mechanism
–Location changes (iframe manages this seamlessly)
–Container is not affected
 When a Human Service complete the navigation
send a message to say “I have completed”
–The container can decide what to at completion
• Usually, it g o e s back to the Task List
Human
Service
Other App
Task List Dashboard ...
An event is sent to
the container that
warn about HS
completion
16© 2014 IBM Corporation
The outernavigation triggered by the Human
Services
 There are some Human Services that has to navigate over other
Human Services
–E.g. Task List links Task Implementation
 They send a message to say “GO there”
 The container application listen such kind of messages, changes
iframe src attribute and loads the next Human Services
Human
Service
Other App
Task List Dashboard 2
1
17© 2014 IBM Corporation
Start a new process
“Start Process” button trigger 2 actions:
–Invoke the start process REST service, from response know
which is the first task of the process
–If the task is assigned to the starter, then load the target task
in the BPM frame
Human
Service
MyApp
Task List
Dashboard
Start Proc
BPM Server
18© 2014 IBM Corporation
Prepare BPMforthe Mash-up
Human Services with internal navigation
–The navigation logic is based on the coach wiring
–These Human Services are ready to be m ashe d up
• User Task Implementation
• Stand Alone Human Services
Human Services with external navigation
–Require some adaptation
19© 2014 IBM Corporation
Human Services with external navigation
 The navigation relies on the container service
–Portal Navigation Handler
 These Human Services need a bit of adaptation
–E.g. the Task List dashboard
Task List Coach
Dashboard HS
Navigation Controller
Send Navigation direction to the
Navigation Controller.
Using Dojo pub / sub mechanism
Act as a mediation point: receive
direction from the coach view and
translate it for the container
NEW
20
Agenda
BPM capabilities
The 3rd
Way
Demo NewPortal
Security Implications
Mash-up your development organization
21© 2014 IBM Corporation
The NewPortal Demo
 NewPortal Demo is a working demo of the described techniques
 The design concepts are:
– Provide the key portal capabilities: Task List, Dashboard, Start a Process
– Light user experience consumable on mobile devices
 The Navigation Bar is part of Bootstrap: “the m o st po pular HTML, CSS,
and JS fram e wo rk fo r de ve lo ping re spo nsive , m o bile first pro je cts o n
the we b. ”
 In the demo we'll see the NewPortal in conjunction with the new Client
Side Human Services
– Together offers a Responsive Web UI
 “Responsive Web Design (RWD) is a web design approach aimed at
crafting sites to provide an optimal viewing experience—easy reading
and navigation with a minimum of resizing, panning, and scrolling—
across a wide range of devices (from mobile phones to desktop
computer monitors)” (source: Wikipedia)
22© 2014 IBM Corporation
The controllerlogic - Javascript
Navigation Bar
React to Bar commands
Trigger outer navigation
Call BPM service
Frame Listener
Listen messages coming from
frame content and send directions
to Frame
Frame Directive
Receive high level navigation
directions and translate in low
level URL for the src attribute of
the iframe or send messages to
the inner Human Services
Process Service
Provide a simpler interface
wrapping low level REST APIs
23© 2014 IBM Corporation
Furtherneed... Advanced Mash-up: data exchange
Intra-Browser communication
Direct read/write MyApp DB
Hosting Application
Task List
Dashboard
Start Proc
Data
MyApp DB
MyApp
Services
24
Agenda
BPM capabilities
The 3rd
Way
Demo NewPortal
Security Implications
Mash-up your development organization
25© 2014 IBM Corporation
Security implications
Authentication & Authorization for BPM
–How to transfer the credential to the BPM
Same Origin Policy
–The same-origin policy restricts how a document or script
loaded from one origin can interact with a resource from
another origin
–Two pages have the same origin if the protocol, port and host
are the same for both pages
–It implies that iframe content cannot exchange messages with
the parent window
26© 2014 IBM Corporation
Same Application Server
Share
–User Registry
–Host Name
–Authentication Token
BPM
Process
Server
WebSphere
App Server
HTTP Server
27© 2014 IBM Corporation
Security Access Manager
Share
–User Registry
–Host Name
Reverse Proxy handle the Authentication Token
–Establish trust partnership with the backend servers
BPM
Process
Server
Other Web
Server
Reverse Proxy
28
Agenda
BPM capabilities
The 3rd
Way
Demo NewPortal
Security Implications
Mash-up yourdevelopment organization
29© 2014 IBM Corporation
Mash-up yourdevelopment organization
BPM Competence Center
–Requires two roles “Process Analyst” and “BPM UI Specialist”
Business
Analyst
Process
Analyst
Application
Developer
BPM UI
Specialist Web UI
Services
Coach
View
Process
Model
Business
Requirement
Application Project TeamBPMCompetence Center
For Additional Information
 IBM Training
http://www.ibm.com/training
 IBM WebSphere
http://www-01.ibm.com/software/be/websphere/
 IBM developerWorks
www.ibm.com/developerworks/websphere/websphere2.html
 WebSphere forums and community
www.ibm.com/developerworks/websphere/community/
32© 2014 IBM Corporation
How the containerapplication interacts with the
frame content
The container can influence the frame content in two ways
–Changing the iframe src attribute
–Sending events
The iframe content can communicate with the container
only through the event mechanism
var win = document.getElementById("iframe").contentWindow;
win.postMessage(payload, "*");
var win = window.parent;
win.postMessage(payload, "*");
Mash-up and Web API are all around us NO
34© 2014 IBM Corporation
Trusted Association with Credential Vault Service
Share
–Nothing
Trusted Association Interceptor implement a
Credential Vault logic
Same Origin Policy addressed by a special HTTP-Headers
–Access­Control­Allow­Origin:*
–X­Frame­Options ALLOW­FROM uri 
BPM
Process
Server
Other Web
Server
References
https://developer.mozilla.org/en-US/docs/Web/Security/Same-ori

How to reinvent process portal

  • 1.
    How to re-inventthe Process Portal Donato Marrazzo, WebSphere Technical Sales
  • 2.
    2 Please Note IBM’s statementsregarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  • 3.
    3 Agenda BPMcapabilities The 3rd Way Demo NewPortal SecurityImplications Mash-up your development organization
  • 4.
    4© 2014 IBMCorporation What is the Business Process Management? Business Process Management is a discipline made of m e tho do lo g y and to o ls aiming to constantly improve business processes: –Improve efficiency –Improve effectiveness –Adapt to business strategy What are the key benefits of a BPM platform? –Simplify the process automation –Collect process metrics to gain visibility –Provide insights for a process optimization
  • 5.
    5© 2014 IBMCorporation Often the UserInterface is the XfactorforBPM tool Human Intensive processes requires a lot of effort to build an effective UI (60%-70% of total project time) –Designing a process often require to re-work the data model and adapt the UI that collects such data
  • 6.
    6© 2014 IBMCorporation When the useris the king the Process Portal is the realm  Human Intensive processes requires a continual exchange of information among users  Process Portal is profiled for the User –Task List –Perform Tasks • Co ache s are tig htly inte g rate d with the pro ce ss • Re usable co m po ne nt & UIte m plate s –Dashboards • O ut o f bo x re po rts • Exte nsible thro ug h g raphicalwidg e t that e xpo se s pro ce ss info rm atio n and KPI –Social enabled • Info rm alco llabo ratio n e xpand the
  • 7.
    7© 2014 IBMCorporation One Portal does not fit all  End users does not work exclusively with BPM –They expect that BPM integrates activities that they usually carry on with other application  Some users should not be exposed to the complete portal amenities: –E.g. remove the social communications  Other users should perform their task in mobility: –Standard Process Portal can be enjoyed by a modern wide screen device
  • 8.
    8© 2014 IBMCorporation The escape exit The common solution is to externalize the User Interface in alien technology (e.g. Java EE, .Net, PHP) –BPM is invoked through REST APIs  UI Developers uses tools they know  Process Designer get rid of UI details getTaskList claimTask (...) Everybody stay in their comfort zone Custom code
  • 9.
    9© 2014 IBMCorporation When the BPMlose the head BPM initiative become traditional application development project BPM turns into a backend system –State Machine –Task Dispatcher Challenges –Keep in sync UI with processes –Mapping Business Object into the application –Reuse UI Assets across Process Applications –Reuse specific BPM UI Skills across projects –UI Refactoring “Fo r hum an inte nsive pro ce ss, the q ue stio ns are : •Is it stilla use fulto o l? •Ho w do e s it sim plify the Pro ce ss Auto m atio n? ”
  • 10.
    10 Agenda BPM capabilities The 3rd Way DemoNewPortal Security Implications Mash-up your development organization
  • 11.
    11© 2014 IBMCorporation The 3rd way: re-invent the Process Portal Process Portal is just a containerof reusable Human Services We can save the Human Services –Building a tailored version of the Process Portal –Using an existing application as a frame Task List / Human Service Existing App BPM Server Existing App Server
  • 12.
    12© 2014 IBMCorporation The BPMframe This is a m ash-up approach common in modern Web 2.0 application –All the integration logic lives in the browser The core of this technique is the <iframe> HTML tag that exposes BPM Human Service –It isolates the Human Service navigation from hosting application navigation  HTML page require just this code<script type="text/javascript" src="js/newportal­app.js"></script> (...) <iframe id="bpmframe" bpm­frame></iframe>
  • 13.
    13© 2014 IBMCorporation What is an iframe? It's an inline frame –A standard HTML way to host an external application The hosting application (the container) can exchange messages with the iframe content through JavaScript APIs Encapsulated Application Hosting App
  • 14.
    14© 2014 IBMCorporation The outernavigation The container application can trigger the BPM frame to serve a specific Human Service –The “on click” listener of the button changes the iframe src attribute • E. g . "/te am wo rks/e xe cute Se rvice ByNam e ? pro ce ssApp= NEWPO RT& se rvice Nam e = Ne wTaskList" Human Service Other App Task List Dashboard ...
  • 15.
    15© 2014 IBMCorporation The innernavigation  The navigation logic is based on the coach wiring that relies on “traditional” web navigation mechanism –Location changes (iframe manages this seamlessly) –Container is not affected  When a Human Service complete the navigation send a message to say “I have completed” –The container can decide what to at completion • Usually, it g o e s back to the Task List Human Service Other App Task List Dashboard ... An event is sent to the container that warn about HS completion
  • 16.
    16© 2014 IBMCorporation The outernavigation triggered by the Human Services  There are some Human Services that has to navigate over other Human Services –E.g. Task List links Task Implementation  They send a message to say “GO there”  The container application listen such kind of messages, changes iframe src attribute and loads the next Human Services Human Service Other App Task List Dashboard 2 1
  • 17.
    17© 2014 IBMCorporation Start a new process “Start Process” button trigger 2 actions: –Invoke the start process REST service, from response know which is the first task of the process –If the task is assigned to the starter, then load the target task in the BPM frame Human Service MyApp Task List Dashboard Start Proc BPM Server
  • 18.
    18© 2014 IBMCorporation Prepare BPMforthe Mash-up Human Services with internal navigation –The navigation logic is based on the coach wiring –These Human Services are ready to be m ashe d up • User Task Implementation • Stand Alone Human Services Human Services with external navigation –Require some adaptation
  • 19.
    19© 2014 IBMCorporation Human Services with external navigation  The navigation relies on the container service –Portal Navigation Handler  These Human Services need a bit of adaptation –E.g. the Task List dashboard Task List Coach Dashboard HS Navigation Controller Send Navigation direction to the Navigation Controller. Using Dojo pub / sub mechanism Act as a mediation point: receive direction from the coach view and translate it for the container NEW
  • 20.
    20 Agenda BPM capabilities The 3rd Way DemoNewPortal Security Implications Mash-up your development organization
  • 21.
    21© 2014 IBMCorporation The NewPortal Demo  NewPortal Demo is a working demo of the described techniques  The design concepts are: – Provide the key portal capabilities: Task List, Dashboard, Start a Process – Light user experience consumable on mobile devices  The Navigation Bar is part of Bootstrap: “the m o st po pular HTML, CSS, and JS fram e wo rk fo r de ve lo ping re spo nsive , m o bile first pro je cts o n the we b. ”  In the demo we'll see the NewPortal in conjunction with the new Client Side Human Services – Together offers a Responsive Web UI  “Responsive Web Design (RWD) is a web design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling— across a wide range of devices (from mobile phones to desktop computer monitors)” (source: Wikipedia)
  • 22.
    22© 2014 IBMCorporation The controllerlogic - Javascript Navigation Bar React to Bar commands Trigger outer navigation Call BPM service Frame Listener Listen messages coming from frame content and send directions to Frame Frame Directive Receive high level navigation directions and translate in low level URL for the src attribute of the iframe or send messages to the inner Human Services Process Service Provide a simpler interface wrapping low level REST APIs
  • 23.
    23© 2014 IBMCorporation Furtherneed... Advanced Mash-up: data exchange Intra-Browser communication Direct read/write MyApp DB Hosting Application Task List Dashboard Start Proc Data MyApp DB MyApp Services
  • 24.
    24 Agenda BPM capabilities The 3rd Way DemoNewPortal Security Implications Mash-up your development organization
  • 25.
    25© 2014 IBMCorporation Security implications Authentication & Authorization for BPM –How to transfer the credential to the BPM Same Origin Policy –The same-origin policy restricts how a document or script loaded from one origin can interact with a resource from another origin –Two pages have the same origin if the protocol, port and host are the same for both pages –It implies that iframe content cannot exchange messages with the parent window
  • 26.
    26© 2014 IBMCorporation Same Application Server Share –User Registry –Host Name –Authentication Token BPM Process Server WebSphere App Server HTTP Server
  • 27.
    27© 2014 IBMCorporation Security Access Manager Share –User Registry –Host Name Reverse Proxy handle the Authentication Token –Establish trust partnership with the backend servers BPM Process Server Other Web Server Reverse Proxy
  • 28.
    28 Agenda BPM capabilities The 3rd Way DemoNewPortal Security Implications Mash-up yourdevelopment organization
  • 29.
    29© 2014 IBMCorporation Mash-up yourdevelopment organization BPM Competence Center –Requires two roles “Process Analyst” and “BPM UI Specialist” Business Analyst Process Analyst Application Developer BPM UI Specialist Web UI Services Coach View Process Model Business Requirement Application Project TeamBPMCompetence Center
  • 30.
    For Additional Information IBM Training http://www.ibm.com/training  IBM WebSphere http://www-01.ibm.com/software/be/websphere/  IBM developerWorks www.ibm.com/developerworks/websphere/websphere2.html  WebSphere forums and community www.ibm.com/developerworks/websphere/community/
  • 32.
    32© 2014 IBMCorporation How the containerapplication interacts with the frame content The container can influence the frame content in two ways –Changing the iframe src attribute –Sending events The iframe content can communicate with the container only through the event mechanism var win = document.getElementById("iframe").contentWindow; win.postMessage(payload, "*"); var win = window.parent; win.postMessage(payload, "*");
  • 33.
    Mash-up and WebAPI are all around us NO
  • 34.
    34© 2014 IBMCorporation Trusted Association with Credential Vault Service Share –Nothing Trusted Association Interceptor implement a Credential Vault logic Same Origin Policy addressed by a special HTTP-Headers –Access­Control­Allow­Origin:* –X­Frame­Options ALLOW­FROM uri  BPM Process Server Other Web Server
  • 35.

Editor's Notes

  • #5 Ogni azienda vuole essere più efficiente: per aumentare i ricavi. Ogni manager in qualche misura è impegnato ad ottenere migliore efficienza per l’azienda. Fino al 1903 la costruzione di un automobile era un attività artigianale, fino a quando Henry Ford migliorò il processo di business inventando la catena di montaggio.
  • #8 Process Portal can be enjoyed by a modern wide screen device (like an iPad), but unfortunately, right now, it is not designed to be responsive, so it&amp;apos;s not easy to work with it using phones or small tablets.
  • #9 IBM BPM is designed to be accessed in many ways
  • #13 Iframes are not beloved by Web Designer because they introduce an “alien” context with his own navigation logic and scrolling layer: but these effects can be removed
  • #20 Create a new Task List Human Services is really easy Standard Task List Coach View with minimal configuration Standard Navigation Controller require a small hacking Some CSS??? Receive direction and translate in context aware actions: In portal: generate an URL for PNH and send a window event Out of portal: generate an absolute URL and open it in a new window
  • #30 To Make BPM initiative repeatable and more efficient, we have to introduce a BPM Competence Center
  • #32 Author Note: Mandatory Rational closing slide (includes appropriate legal disclaimer). Graphic is available in English only.
  • #34 Emphasize Benefits of Mash-up Central BPM Competence center