Dec 20, 2015
2
Objective
SOA :: Collaboration
Human Tasks :: Approvals :: UI :: Collaboration
SOA :: WS :: Business Processes :: Human Tasks
3
SOA and Collaboration Agenda
Introduction
Patterns
Architecture / Design
Mashups – In depth
Summary
4
Leverage information for business optimization Deliver trusted information real time and in
context Reduce risk and improve visibility into
business operations
Business model & process innovation Seamless coordination between
automated and people/information driven business processes
Increase organizational effectiveness
Extend the ability to collaborate inside & outside Enhancing people to people collaboration Support multi-channel delivery
Beyond SOA Entry PointsGetting started with Collaboration in SOA
5
Software innovation through collaborationModeling to Governance
transparent integrated presence
wikis OPEN real-time reporting
chat automated hand-offs Web 2.0 custom dashboards automated data gathering EXTENSIBILITY Eclipse plug-ins
services architecture FREEDOM TO CREATE
Collaboration
Clarity
Continuity
Community
Real time, in-context team collaboration Software development more automated,
transparent and predictive "Think and work in unison"
Integrated source control, work item and build management
Assess real-time project health Capture data automatically and
unobtrusively Automate best practices
Dynamic processes accelerate team workflow
Out-of-the-box or custom processes Unify software teams
Integrate a broad array of tools and clients
6
Process Portal MethodologyExtended to eForms…also applicable to Web 2.0
Modeler
IDE
Portal Architect
Process Developer
Tester
Business Analyst
Process Server
Business Processes
Export BPEL
project
Import BPEL
project
Portlet Developer
Tester
DeployDeploy Code
EAR(JAR+BPEL) IDE
ITE
IDE
Export WAR
WAR(portletDD) IDE
ITE
DeployWhite BoardSession
Page Layout
Deployer/ Admin
Portal Server
Portlets
Integration Specialist
Portlet Design
Monitor
Dashboards
Forms Designer
FormDesigner
Export eForm
Import eForm
Forms Servlet
Forms
Deployer/ Admin
*
7
Time spent on…
Structured, planned workHandling calls in a center
Unstructured, planned work
Attending meetings
Unstructured, unplanned work
Phone calls, interrupts
Structured, unplanned work
Workflow requests
User InteractionNature of Individual’s work, Roles, & Collaboration Points
Planned activities Unplanned activities(Interrupted)
Formalized processes(structured)
Informal processes(unstructured)
Process-oriented User
LOB User Casual User
Administrative User
Tooling to support…
8
SOA and Collaboration Agenda
Introduction
Patterns
Architecture / Design
Mashups – In depth
Summary
9
Interaction Patterns with Human Tasks
Tas
k P
artic
ipan
tIn
terf
ace
Tas
k P
artic
ipan
tIn
terf
ace
Tas
k O
rigin
ator
Inte
rfac
eT
ask
Orig
inat
orIn
terf
ace
create
start
notify
query
claim
complete
Tas
k W
ebS
ervi
ce I
nter
face
Tas
k W
ebS
ervi
ce I
nter
face
Tas
k P
artic
ipan
tIn
terf
ace
Tas
k P
artic
ipan
tIn
terf
ace
invoke
return
query
claim
complete
Web service
create
start
notify
invoke
return
Web
Ser
vice
Inte
rfac
eW
eb S
ervi
ceIn
terf
ace
Tas
k O
rigin
ator
Inte
rfac
eT
ask
Orig
inat
orIn
terf
ace
Web service
To-do TaskTo-do Task
CollaborationTask
CollaborationTask
Invocation Task
Invocation Task
10
Invocation Task PatternProcess/UI Integration
Description: UI artifact is used to start a business process
Usage: Use the UI to obtain input parameters from the user, click “Submit” button to initiate the business process
Examples:
– Online in browser-based environment or rich client (Form Viewer)
– Offline with rich client the business process is started after reconnect
– e-File Tax Form
– Remote Insurance Claim
11
To-Do Task PatternProcess/UI Integration
Description: UI artifact is used to interact with the business process
Usage: Business process encounters a Human Task, it pauses and notifies a human. User claims the task to work on, provides relevant values and clicks “Continue” button. Business process proceeds to the next task.
Examples
– Custom Forms, JSPs, Process Portlets
– Travel Booking
– Approvals Process
12
Collaboration Task PatternProcess/Portal Integration
Description: Use collaborative UI artifacts to communicate with other humans and obtain information required to complete a task in a business process
Usage: Human Task in a business process may require sub-tasks. Spawn other tasks, gather all information and provide it to the business process so it can continue to the next task.
Examples
– Provide “helper applications” outside of process domain
– Use collaborative portlets
– Page Aggregation, people awareness, personalization portlets
– Document Approval
– Subtasks & Ad hoc Tasks
13
Mashup
eForm
Portal
JSP/JSF
OOTB UI
User Interaction choices for Business ProcessesHuman Tasks :: UI :: Collaboration
14
Traditional Web
– JSP/JSF
Portal
– Task List Portlets and Interaction Portlets
eForms
– XFDL Forms, XPDL Forms
Web 2.0
– AJAX / Dojo
Google Maps
– Google Gadgets
Social Networking
– Spaces
User Interaction choices in SOASOA :: Processes :: Human Tasks :: UI :: Collaboration
15
SOA and Collaboration Agenda
Introduction
Patterns
Architecture / Design
Mashups – In depth
Summary
16
Portal as your SOA User InterfaceP
rese
nta
tio
n
Lay
er
WebBrowser
RichClient
MobileClient
Portal SOA foundation elementsIBM WebSphere Portal
Integration and collaboration
Real-time access & decisions
Composite applications
Process portal services
Federation services
Offline use of services
WebSphere Portal provides the user experience which enablespeople to interact effectively with business process services
17
Motivation for eForm Process Portals
Humans drive business processes and vice versa
eForm Process Portal expedites decision making– Related information needed to complete a task can be
provided by others portlets on same page
– Built-in human task support for role based activities, notifications, escalations, assignments
Forms support provides– Pixel-perfect precision layout for industry regulated forms– Treat an entire transaction as a single document with
business logic
– Portable documents across platforms and systems
– Ability to have the process workflow move from one form-page to another
– Digitally signed documents
18
What is the Motivation for Mashups in SOA?
Human to human collaboration– New twist to the term M2M : Machine to Mashup
Rapid Response Visualization– Dynamic decision making
Information overlay gives a different perspective
19
Different Types of MashupsMashups :: Collaboration
Data
Logic
Presentation Presentation- focused Mashups Assemble + wire
Data Mashups Access + transform data sources
Mashup encompasses both data and presentation mashups.
20
SOA and Collaboration Agenda
Introduction
Patterns
Architecture / Design
Mashups – In depth
Summary
21
Web 2.0 is…
about connecting people, and making technology efficient for people.
rich user experiences that encourages end users to become significant producers and consumers of data
making content and services mixable – giving rise to mashups
evolving dozens of markets of millions of people into millions of markets of dozens of people
22
When you think of Web 2.0…
Data-Driven - Business Value centered on Content
Emphasis on Simplicity –new classes of content-developers are being empowered
Improved Experience – helps attract, serve and retain users
User Generated Content – users becoming active participants and self-organizing
Collaboration – sharing of content harnesses collective intelligence
Remixability – Mixing data from various sources helps yield hidden insights
23
Collaboration…
Social tagging and Social bookmarking enables a community to cultivate a common vocabulary, find related information, and ranks data to aid consumption
Blogs provide a platform for individuals to share their perspective and create derivative content based on raw data
Communities enable groups of people that share a common interest, need or passion to interact and grow their understanding
Social Networks provide individuals to link to friends, associates and colleagues
Benefits for IT: Deployment of new collaboration solutions within the organization facilitates responsiveness, and enables timely information exchange
Collaboration with external stakeholders (i.e. customers, partners) will foster stronger business relationships and potentially encourage self-service
24
The real secret behind Web 2.0!
…beyond the technology what makes Rich Web Experiences possible???
…what initiates collaboration??? What makes collaboration essential???
Organizations often find that their data is hidden or locked within applications or other specialized data sources
In Web 1.0, even web-content was inseparable from presentation structure, and style
Unlocking data from existing data sources and making web-content more easily consumable makes the data more reusable and shareable
Web 2.0 has spurred adoption of XML-based Content Syndication formats, which make data “mashable”
RSS & Atom
25
Tapping into the potential of Web 2.0 with Mashups!
A “mashup” is a lightweight web application created by combining information or capabilities from more than one existing source to deliver new functions & insights.
Rapid creation (days not months)
Reuses existing capabilities, but delivers new functions + insights
Requires limited to no technical skills
Often mixes internal and external sources
2626
What is a Data Mashup?
A “data mashup” is a new feed that is made out of one or more feeds. The input feeds can be combined, transformed, filtered, etc, in order to make the new feed.
Data Mashups Access + transform
data sources Example Scenario:
Take an excel spreadsheet of insurance policies and merge with feed from National Weather Service to generate a new feed
27
What is a Feed?
A web feed is a data format used for providing users with frequently updated content
Content distributors syndicate a web feed, thereby allowing users to subscribe to it
Making a collection of web feeds accessible in one spot is known as aggregation, which is performed by an Internet aggregator
A web feed is also sometimes referred to as a syndicated feed
28
Widgets?
A widget is a small program or piece of dynamic content that can be easily placed into a web site.
Widgets are called different names by different vendors: gadgets, blocks, flakes.
Widgets can be written in any language (Java™, .NET, PHP, etc.) and can be as simple as an HTML fragment.
Widgets can be non-visual.
Widgets often encapsulate an API.
“Mashable” widgets pass events, so that they can be wired together to create something new.
There are no standards around widgets yet, but IBM is moving towards a common definition called iWidget.
29
Leading Interoperability and Openness
IBM formed the Open AJAX alliance to drive interoperability among AJAX toolkits and more recently has been driving initiatives to develop standards for widgets, mashups and mashup security
More than 100 members including Microsoft, Oracle, SAP
30
Mashups Arm IT and Empower Line of Business
“Integration on the glass” enables disparate data sources, and services across the organization and external sources to be remixed
Rapid prototyping ability aligns LOB requirements with IT implementation
Cost of personalization and customization is now significantly reduced
Productivity gains will enable IT to improve organizational responsiveness to emerging business opportunities
IT investments in SOA can now be translated into visible business value
– By unlocking core content and surfacing componentized services, IT simultaneously reduces the IT Delivery Gap and empowers LOB to be more responsive
31
Mashups Can Solve Pent-up Demand for Applications
Situational Applications
1. Rapidly created to address an immediate need of an individual or community
2. Typically, but not necessarily, short-lived (a just-in-time solution)
3. Good enough
4. Built by domain experts (knowledge workers) to solve their own problems
Why Companies want Mashups:• Foster innovation by unlocking and remixing
information in ways not originally planned for
• Quickly uncover new business insights by easily assembling information from multiple sources on the glass
• Increase agility by supporting dynamic assembly and configuration of applications
• Speed development and reduce development costs through lightweight integration, reuse and sharing
Num
ber
of
user
s pe
r ap
plic
atio
n
Spectrum of applications
Longer term, strategic applications
Simple, situational applications built by Domain Experts
US Estimates for 2006(double for WW)
32
What Makes Enterprise Mashup Platforms Unique?
Mashup Development Traditional IT
Scope Time to value Days to weeks Months to years
Lifespan Variable, often short Long lived
ProcessDev. phases Ad-hoc or good-enough
Defined, scheduled
GovernanceDe-centralized, community
Formal, centralized
Evolution OrganicTop-down, centrally driven
UsersApplication builders
LOB, individuals, groups Corporate IT
Targeted usersSmall teams or known user
Large groups
Technology TechnologyREST, RSS, ATOM, AJAX, JSON, XML, etc.
SOAP, WS-*, J2EE, BPEL, etc.
3333
How Customers are Using Mashups
Use CaseSelf-service Aggregation of Information
Enabling customer-centric applications
“Quick and Dirty” app development
Web 2.0. enable legacy systems
Effortless syndication of content
Goals
LOB creation of situational applications that support:- Quick analysis- Better decision making- Improved collaboration- Increased visibility into business information
- Support customer assembly of personalized applications for specific functions- Improve customer satisfaction + loyalty - Add “Web 2.0.” features, appealing to younger demographic
- Good enough applications- Rapid app development - Speed over governance- Quick iterations
- Unlock personal, enterprise data - Create mashable + consumable feeds - Unlock information without forcing upgrades or duplication of data
- Unlock & wrap data as feeds + widgets- Embed and mash into customer sites- Reduce integration costs- Support new revenue models
Examples
- Risk assessment- Emergency response- Market research- Competitive analysis- Customer intelligence- Reporting
- Custom online banking experience- Custom real estate app- Custom travel site
- Prototypes- Demos- Project and task-specific apps for small teams (typically built by LOB IT)
- Exposing LOB silo-ed systems, including spreadsheets and access databases, as consumable feeds
- Providers of rich information services: weather, financial, company, etc.
Alternative
solutions
- Manual assembly- Spreadsheets
- Develop custom Web 2.0. assembly framework- Portals (can be used in conjunction with mashup assembly tools)
Apps built from scratch (not very agile): - VB-.Net- HTML- Photoshop
-Custom development-Disruptive upgrades or replacements
- Google gadgets- Manual approaches
34
Blueprint of Mashup Enablement Technologies
Visual Mashup Makers
Data/ContentMashup Makers
Basic Dashboards
RIA Builders
Widget Model
Feed Management
Data Connectors & Extraction
Transformation
Data/ContentDelivery &
Management
Mashup Environment
Business and Internet Data Sources
Google Gadgets PortletsJDBC DBFeedsDomino DBWeb/HTML Spreadsheets
<WSDL>
Web servicesMQMQSeries
Busi
ness
Secu
rity
& M
anagem
en
t
Op
en S
tan
dard
s and A
PIs
Widget & Content Catalog
3535
IBM: focused on Mashup Security and Standards
Widget 1 Widget 2
Widget 3
Trusted Company Server
Untrusted Public Server
Untrusted Public Server
Communicates in background with public
server
Communicates in background with public
server
Communicates in background with
enterprise web service
Protecting against malicious 3rd party widgets by donating secure mashup technology to OpenAjax Alliance
3636
Consumer Created Applications – Banking Mashups
Select an account
View account history
Send a message to bank
Assemble and view mashup on web and mobile
On a Web page
On your iPhone
37
Logistics Management: Usable Airport Search Mashup
Customer Motivation: Utilize existing data sources to improve rapid response capabilities for FAA.
Scenario:– Enable government officials, in
response to local or widespread emergency, to quickly identify the nearest airport that can safely handle an incoming aircraft based on aircraft’s performance characteristics– Airport location– Airport status– Runway length– Local weather
Mashup was demonstrated to FAA officials and Cabinet members in mid-May
IBM Mashup Center
38
Real-time Coordination & Communication
Customer Motivation: Connect with colleagues and associates based on their availability and location
Scenario: Locate and contact contacts
• Using network-based services, locate and contact available colleagues
Contacts ListPresenceLocationThird-party callSend SMS
Demonstration has been used as part of Web 2.0 briefings with Telecoms
IBM Mashup Center
39
Situational Awareness: Shipment Monitoring Dashboard
Customer Motivation: Role-based visualization of data across supply chain
Scenario: Shipment Monitoring Dashboard
In-transit shipment detailsShipment locationEvents that could disrupt shipment
Mashup combines organization’s shipping data and Internet-based data (piracy incidents and weather)
40
Where to get more information
Visit our IBM Mashup Center website– http://www-306.ibm.com/software/info/mashup-center/
Lotus Greenhouse url:– https://greenhouse.lotus.com/mum/bootstrap/login.jsp2
IBM Mashup Center external Wiki:
– http://www-10.lotus.com/ldd/mashupswiki.nsf Keep Up with New Developments at our “Mix and Mash” blog
– http://www.mix-and-mash.com Checkout some videos
– How-to Details for IBM Mashup Center– http://youtube.com/user/ItsMashtastic
– Getting Started with IBM Mashup Center Beta (Parts 1-3)– http://youtube.com/watch?v=SAPM_h12riw
Contacts for more information:
Lotus Mashups Lead Architect:
John Boezeman([email protected])
41
Additional Session
42
SOA and Collaboration Agenda
Introduction
Patterns
Architecture / Design
Mashups – In depth
Summary
43
User Interface Decision Matrix
UI Options Benefits Considerations
Traditional Web UI Generator in WID Some custom coding
Portal OOTB PortletsUI Generator in WIDWPF (Eclipse)
Large footprintChallenging configuration
eForms UI Generator in WIDLFD (Eclipse)Works standalone
Forms maintenance
Web 2.0 Dynamic & LightweightAJAX’s asynchronous model fits well within SOA
JS maintenanceSteep learning curve
Google Maps Eye catchingWell defined API
Licensing
Social Networking Gets everybody involved Very new technologyTooling has to catch up
Choices are combined to create best-suited collaborative UIs
44
Get teams involved at Modeling time
Collaboration when creating Web Services and governance helps in re-use of services
Collaborative Development
– Look into new IDEs
Collaborate on User Interface design
– UI should be intuitive enough for non-technical users and powerful enough to drive SOA solutions
SummarySOA and Collaboration
45
SOA and Collaboration Agenda
Questions?
Federal SOA Lecture Series - Web 2.0 by David Barnes – November 13th
– 1301 K Street, NW, Washington, D.C
47
SOA and Collaboration Agenda
Thank You