From an architectural point of view the overall topic of SOA and user interaction are underrepresented in general SOA literature and technical discussions. This session begins by revisiting existing work that has been done in this area, namely UI-Services, Worklists, BPEL4People, Embedded Taskflows, and the controlling of existing applications. We then introduce solution concepts, starting with trivial, workflow-driven TODO-Lists and finishing with complete, service-oriented and process-oriented architectures. As part of the solution examples provided is a design based on the use of the UI Mediator pattern.
Scaling API-first – The story of a global engineering organization
User Interfaces and SOA - OPITZ CONSULTING - Maier - Winterberg
1. User Interfaces and SOA
Berthold Maier
Oracle Consulting Deutschland
Torsten Winterberg
OPITZ CONSULTING GmbH
SOA Symposium, Oktober 2010, Berlin
SOA and User Interfaces Page 1
2. Torsten Winterberg torsten.winterberg@opitz-consulting.com
Position@OPITZ CONSULTING:
Director Strategy and Innovation
Head of Competence Center SOA
Community:
Speaker: Jax, W-
Jax, OOP, DOAG, OOW, SOA
Symposium,…
Author of several SOA/BPM related articles
and books
Head of SOA Special Interest Group (SIG)
of the German Oracle User Group (DOAG)
(together with Hajo Normann)
Oracle ACE Director
Background:
Java EE developer, coach and architect
Started SOA and User Interfaces BPEL PM project in 2004
first Oracle Page 2
3. Berthold Maier Berthold.maier@oracle.com
Oracle Deutschland GmbH:
Chief Architect, Consulting
Background:
Last 17 Years: C++, Java EE
Developer, Trainer, Coach and Architect from small
to very large projects
Many huge SOA projects
MDA/MDSD Expert
Community:
Speaker on several IT conferences: Jax,
W-Jax, OOP, DOAG, ODD, ICIS, …
Co Founder of “MASONS-of-SOA”
Author of several SOA/BPM related articles
Co-Author of Dokumenten-Management
SOA and User Interfaces Page 3
4. The Team: Masons-of-SOA
www.soa-community.com
Bernd Trops (Sopera)
Clemens Utschig-Utschig (Böhringer-Ingelheim)
Berthold Maier (Oracle Consulting)
Hajo Normann (HP Enterprise Services)
Torsten Winterberg (OPITZ CONSULTING)
Jürgen Kress (Oracle Corp.)
SOA and User Interfaces Page 4
5. Where are we today?
SOA and User Interfaces Page 5
8. SOA Reference Architecture*: Conceptual View
Employ Custom Partners Termin IVR Mo Client
ees ers al bil Apps
…..
….
…..
Service Consumers ….
…..
….
& Delivery Composite Applications
Channels Web Apps Portals Mashups BPM Process Fat Clients
Presentation PresentationServices
Shared Portlets Multi-Channel Delivery
Services
Federated Services
SOA-Infrastructure
Business Business Process Services
Workflow Service Orchestration
Service Layers
Process
Services Business Activity Services
Business Enrichment Custom Business Services
Management
Activity
Monitoring &
Governance
Services Decision Services
Discovery
Mediation
Data
Services
Security
Data Caching Data Aggregation Data Synchronization
Services EntityServices
Connectivit System Access Messaging Partner Integration
y Services Connectivity Services
Encapsulation Utility
InfraServicesstructure
Services
Non-Service Enabled Assets
Messaging Adapters Custom APIs JDBC file:// Service Enabled Assets
Service Service
Provider Provider /
Assets Consumer
Assets
*Oracle Fusion Middleware reference architecture
SOA and User Interfaces Page 8
9. Another way of thinking …
Action BPS
P
P A P P P
P
P
Each use case must be closed in itself and
BES BRS BES end with the call of a process or service!
SOA and User Interfaces Page 9
10. What does change for the developer? (I)
Business Services
SOA and User Interfaces Page 10
11. What does change for the developer? (II)
SOA and User Interfaces Page 11
12. Technical aspects…
Collect Data
P P P P P P P
Process (without user interaction) reply
Start process A
A A A A A A
A
Process Runtime: Minutes to weeks 1..10 seconds
MEP: Asynch synch / fast async
SOA and User Interfaces Page 12
13. What does change for the developer? (III)
Central to the ref-architecture
2.poll
4.write
in-box
1. start process 3. push and wait
5. push and wait
UI
A A A A UI A
A
SOA and User Interfaces Page 13
15. In-box as central architecture component of the
enterprise reference architecture (I) – Conceptual view
Service -Konsumenten
Browsers Client UI Cell PDA IVR Applications Events Partners
User System
Interaction Consumers
Channels
Composite Workflow Business
Web Apps Portal Mashup In-box Processes Fat Clients
Applications
Service Mediation & Messaging
Governance
Enterprise Business Intel.
Business Rules
Event Processing
In-box Services
Management
Presentation
Enterprise Security / Identity
Consistent User Interaction Shared Portlets
Services
Business Process Shared Business Processes
Business Process System & Human Centric
Rationalization Processes
Integrationsplattform
Services
Business Activity Atomic Business
Process Integration Custom Business Logic
Services
Services
Data Logical Data Data Data Data
Model Aggregation Synchronization Access
Services
Connectivity System Data
Access Messaging Adapters Access Partner Integration
Services
Service Oriented Infrastructure (DB, Grid, Virtualization, Caching)
Non-Service Enabled Assets Service Enabled Assets
Providers
Service
Legacy Packaged DB
BEA Confidential | 15
PartnerSOA and User Interfaces
Content Collaboratio Search 15
Page
s n
16. In-box as central architecture-component (II)
Copyright: soa.sys-con.com/node/775928?page=0,1
SOA and User Interfaces Page 16
17. In-box as central architecture-component (III)
UI
Taskmngt. IdM Management
Portal
Postkorb API Services
Admin
Postkorb API Services Error Hospital
Task Verwaltung Identity
Integration
(Users, Rol
es) Identity Management
In-box Search
OID, LDAP, JAZN
Routing Task Routing
Eskalation Task Query
Notification Channels
Store
Action Task Action Notification NotificationEmail
Service Service AS Wireless
(Voice, SMS, Pager)
Workflow/
Process Postkorb API Services
ICIS
Control Process
DB API + SOA WS
SOA and User Interfaces Page 17
18. HumanTask is more than Approve or Decline
Elimination of monolithic (web) applications
Divide application in small, re-usable parts
....only fill the payload?
... often a complex entry with validation is needed!
P
P P A P P P
Plugin frameworks needed for web application
Independed deployment, management and start with parameters
P
... re-use of UI tasks!?
SOA and User Interfaces Page 18
19. What does change for the user of the UI?
SOA and User Interfaces Page 19
20. What does change for the user of the UI?
Establish a:
Service Human Interaction
Layer (SHIL)
To emulate a synchronous Request-
Reply behavior
To guide the user through an
amount of not-connected Human
Tasks (Micro-Usecases)
SOA and User Interfaces Page 20
21. The user is not that stupid … most of the times …
Rigid process modelling and automation lead to a very
strong guidance of the user.
There is no room for things happening incidentially.
Today a lot of work is „knowledge work“.
People need flexible systems, flexible processes.
ACM: Adaptive Case Management
Not the process centric, but data centric.
Case Management systems are a next step
SOA and User Interfaces Page 21
24. Event network as component mediator
ESB
EDN
Customer CRM
portal
(no filter)
(no filter)
Bigbank Customer
NewTransfer Provisioning
(US)Customer
[…] Provisioning
Retail Filter Customer
(Canada)
Banking country Provisioning
= „US‟
Filter
(Canada)
Application
country = „Canada‟
(no filter) Filter
country = „UK‟
Bigbank
NewAccount AUDIT
[…]
country=„US‟
[…] (no filter)
Order
Processing
(no filter)
WebUI
(AJAX)
(no filter)
SOA and User Interfaces Page 24
26. Why push?
Push when you need it
SOA and User Interfaces Page 26
27. Example: JBoss ErraiBus or Oracle EDN & Active
Data Service
http://www.jugs.ch/html/events/slides/100302_large_gwt_applications.pdf
JBoss ErraiBus
SOA and User Interfaces Page 27
28. SOFEA
Source: Life above the Service Tier, How to Build Application Front-ends in a Service Oriented World
SOA and User Interfaces Page 28
29. Conclusion
Developer:
UI calls service
UI only consists of one use case
(conversation flow)
Use case typically ends with call of a
process or service
In-box is available for all users
User:
Screens will get simpler (and therefore better re-usable)
Richness going down
Concentration on one and only one use case
Guidance through some free flying UIs, triggert by the process
Watch out: Not everything that„s technical possible, is perfect for the user.
Too many similar tasks in In-box
Check out SHIL and ACM
SOA and User Interfaces Page 29
30. Kontakt:
Torsten Winterberg
Director Strategy & Innovation
Head of Competence Center SOA
Oracle ACE Director
OPITZ CONSULTING GmbH
Kirchstr. 6, D-51647 Gummersbach
Phone: +49 2261 6001 0
torsten.winterberg@opitz-consulting.com
SOA and User Interfaces Page 30
36. Security
1. SSO for all (Web)-Applications
2. Identity Propagation via SAML
3. All processes potentially run in user context
4. Delegation-Rules of In-box need user context
5. IdM is more than a central LDAP
1 2 3
Lookup
WS
4
Identity Propagation & SSO Standards like SAML IdM & Provisioning
SOA and User Interfaces Page 40
Gefahr, dass eine SOA mit vielen Postkörben entsteht: PostkorbDrivenArchitekture.Postkörbe: DMS, E-Mail, BPEL, lokale Anwendungen, ....Architektur: Einen zentralen Postkorb Wichtige Standards: WS-HumanTask , BPEL4PeopleEinzige OpenSource Implementierung: Intalio. Apache HISE eralystage.Hersteller Wie SAP, IBM oder Oracle liefern eine ImplementierungHerausforderung: Die Tasksund Anwender nicht mehr wissen wohin sie schauen müssen
HAT Anwendungen arbeiten meist mit einer Seite zur Eingabe von Payload-Daten und haben einen Genehmigungsbutton.- Geben sie die Kontaktdaten eines Interessenten ein ... und das alles auf einer Seite ?!?!Paradigma: Es wird nicht nur eine UI-Seite geben, sondern einen Flow mit Übergabeparameter und Return-Werten Was wird benötigt: Ein (Web)Framework , das auf verteilt Plugin-Like arbeiten kann. Portlets sind auch in der Version 2.0 hier nicht ausreichen!Viele der bestehenden Frameworks greifen zu kurz – Sie denken noch nicht in Flow-Komponenten und
Portale stellen Mitarbeitern, Partnern und Kundenpersonalisiert und ortsunabhängig Informationen und Anwendungen über Web-Oberflächen zur Verfügung. Und zwar genau die Informationen und Anwendungen, die auf der Basis des jeweiligen Profils und der individuellen Interessenlage tatsächlich von Belang sind. Da diese in verschiedenen Portlets im Portal angezeigt werden, entfällt auch das lästige Wechseln zwischen verschiedenen Anwendungen.SOA fordert jedoch mehr als diese reine Infoportale mit Portletes (JSR168) leisten-Generationen von PortalenNach Gartner Group lassen sich die unterschiedlichen Arten von Portale (teilweise auch aus historischen Gründen) in vier Generationen einteilen:Generation 0: Sammlung von Hyperlinks, einfache SuchfunktionenGeneration 1: Einfache Applikationslogik zur Inhalts-Konsolidierung, einfache PersonalisierungGeneration 2: Applikations-Server basiertes Content-Management, Unterstützung für mobile und drahtlose GeräteGeneration 3: Kontextabhängige Personalisierung, Integration von Web-Services, Prozess-OrientierungGeneration 4: Komponentenbasierte Applikationsentwicklung, Portal dynamisch zusammengestellt und änderbarSecurity: Single Sign On
Alle Elemente kommunizieren über einen effizienten BusImForntend kommen Push und Pull-Techniken des Coment-Frameworks zum EinsatzDie Kommuniaktion kann zwischen mehreren UI‘s und Portlets erfolgen Portallösungen mit Interportletkommunikation lässt sich damit einfacher umsetzen
End2End SecurityKeine lokale Userverwaltung mit Password in einer DB-Tabelle SSO mit SAML und WS-Security Integration notwendigIdM Integration notwendig
Komponentenbasiert aus allen EbenenOracle Fusion Architektur + SAP NetWeaver ist Komponentenbasiert und möglichSAPR3 und Oracle Applicationsit das nicht möglich- Backend Synchronisation mit EAI oder EAI/SOA notwendig