SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
Capture                                       Perform                                                      Perform                                                                              Convey
  Business Process
                                Loan                                          Credit                                                     Decisioning                                                                         Application
  (maps to Workflow)
                              Application                                     Check                                                                                                                                      Status (Self­service)
                                                                                                      Automated                                                            Manual
                                                 Customer
                                                                          SOAP service                                                                                                                          Customer
                                                                                                                                           Loan Officer
                                                                                                                                                                    SOFEA Client                                                  Bank Home Page
       SOFEA            Bank Home Page
        Client                                                                         Credit rating 
                                                                                                                                                                                                                                        Screen 
                           Screen                                                        service
                                                                                                                                                                                         Edit                                            flow
                            flow                                                                                                                          Application     Screen 
            Application                      Received, check                                                                                                                          application                                      Application
                                                                                                                                                          List (Inbox)     flow
              Form                              back later,                                                                                                                                                             SOFEA            Status
                                             reference=1234
                        SOFEA Controller
                                                                                                                                                                                                                         Client
        SOAP:
   submitApplication                                                 CreditRatingResponse                         Process Choreography              SOFEA Controller
                                                getCreditRating                                                                                                                                                 SOFEA Controller
  (ApplicationRequest)                       (CreditRatingRequest)                                                   (loose interplay)

                        ApplicationResponse                                Clearcut?             No
                                                                                                                                                     GET                                        200 OK
                                                                                                                                              status=”borderline”        GET
                              Process Orchestration
                                                                                Yes                                                                                                         PUT
                               (tight coordination)
                                                                                                                                                                                    (status=”accepted”
WS­BPEL process                                                                                                                                                                              or
exposed as a SOAP                                                                                      PUT                                                    200 OK                 status=”rejected”)                            GET
                                                                    PUT
service to the client      200 OK +                                                            (status=”borderline”)                                           + List                                                                         200 OK + 
                                                            (status=”accepted”
                           http://.../applications/1234              or                                                                                                                200 OK +                                               Application
                                                                                                                          200 OK
               POST                                          status=”rejected”)       200 OK                                                                                          Application                                               details
                                                                                                                                                                                         details
                                                                                                         http://.../applications/1234        http://.../applications http://.../applications/1234 http://.../applications/1234 http://.../applications/1234
                    http:/.../applications                  http://.../applications/1234


                                                                                    UPDATE apps
         REST                                                                              SET 
        services                                                                   status='accepted' | 
                                                                                        'rejected'
                                                                                   WHERE id='1234'                 UPDATE apps SET SELECT FROM apps 
                                                                                                                                                             SELECT FROM apps 
                                                                                                                    status='borderline'       WHERE           WHERE id='1234'                                    SELECT FROM apps 
                                                                                                                   WHERE id='1234'       status='borderline'
                The SOFEA Model                                                                                                                                           UPDATE apps
                                                                                                                                                                  SET status='accepted' | 'rejected'
                                                                                                                                                                                                                  WHERE id='1234'

                                                                               INSERT INTO apps
       Workflow, Screen flow, Process                                               VALUES                                                                              WHERE id='1234'
                                                                               ('1234',..., 'pending')
        Orchestration and Process                                                                                                                      This  is  a  minimal  example  to  illustrate  concepts.  A  real­life 
                                                                                                                                                       application  will  be  more  robustly  engineered.  E.g.,  The  design  will 
              Choreography                                                                                                                             prevent customers from approving their own applications.

      Copyright © 2008 Ganesh Prasad.Verbatim copying and distribution are allowed, provided this notice is retained.
This diagram illustrates the SOFEA approach to UI design. 

The basic concept is that of the Business Process. We need to proceed top­down from this level. The Business Process does not map to anything visual, so it may be rather abstract to web designers who 
are used to designing applications by working through screen flows. 

Some steps of the business process can be managed in an automated fashion. This is called Process Orchestration and is typically implemented using WS­BPEL. (WS­BPEL can orchestrate both SOAP 
and REST services provided the REST services expose WSDL interfaces. REST services can be described by WSDL 2.0, but not by earlier versions.) 

Workflow is different from either screen flow or process orchestration. Workflow generally covers the whole logical business process. Along the way, both human interaction and machine interaction 
can occur. Parts of the workflow may be automatically orchestrated. Other parts may be choreographed, as when different actors play autonomous, yet well­scripted parts. Choreography is a looser 
interaction than Orchestration. The logic is spread over several nodes rather than controlled at one node.

Screen flow is local to each user's front­end application. The front­end apps seen by users (each with their individual screen flows) are like flies sitting on a huge process buffalo. They are not the main 
act at all, though they may seem to be from a purely visual perspective. 

In the SOFEA view of the world, the business process is supreme. The service steps are part of the business process and are a level below in importance. The UI is the last layer in this ecosystem by way 
of importance, although it is layered right on top. It provides visual coherence to a human user and participates in the overall business process by interacting with services (including the composite 
services represented by orchestrated processes). Hence the name Service­Oriented Front­End Architecture (SOFEA). 

This diagram shows a simplified version of a well­understood loan processing scenario. A customer applies for a loan at a bank's website. The application is lodged and the customer is given a reference 
number to check back later. The screen flow is thus quite simple. Process orchestration begins by kicking off an automated credit check. The credit rating that comes back may not result in a clear­cut 
decision to approve or reject the loan. If the result is clear­cut, the application's status can be automatically set, otherwise it must wait for a manual decision. 

Entirely asynchronously, loan officers periodically check a backlog of pending applications that could not be automatically decisioned. They see a list of such applications, select individual applications 
from the list and either approve or reject them. Then they go back to viewing the list to select other applications. That's their screen flow. 

Again asynchronously, customers check back at the bank's website using the reference number they have been given. Once the decision has been made (either automatically or manually), they can see 
the result. The screen flow is again very simple. 

The interaction between customers and loan officers is not orchestrated by a centralised entity but loosely choreographed. Their roles mesh in ways that are not pre­determined, yet yield meaningful 
outcomes.

We have in effect one business process or workflow, one orchestrated process exposed in turn as a SOAP service, three choreographed interactions, a number of SOAP and REST services and two 
SOFEA apps. That is how SOFEA clients fit into a SOA (Service­Oriented Architecture) based ecosystem. Bank customers may use a browser­based SOFEA app that manages two different screen flows 
(application lodgement and status checking). Loan officers may use either a rich client or a thin client managing a single screen flow. SOFEA is agnostic to the actual technology used, and can speak to 
both REST and SOAP services. Although not obvious in this example, Data Interchange should be in XML to ensure data integrity and seamless integration between the Presentation and Business Logic 
tiers.

This is a simplified illustration. There are gaping security loopholes here. For example, there is nothing that prevents customers from approving their own applications. In a real application, additional 
safeguards would be built into the design to prevent such obvious issues.

In terms of client/server partitioning, only the screen flow and controller live on the client. Business logic is entirely server­side. The Controller manages the Data Interchange between the client and the 
various services and also manages Presentation Flow (screen flow). The REST services that manage the application resources live on one server. The SOAP service that provides the credit rating lives on 
another server. The BPEL process that manages the initial process orchestration lives on a third server and exposes a SOAP interface of its own. Three different server models have been shown to 
represent the REST services, SOAP service and WS­BPEL process. The third aspect of SOFEA (Application Download) is not shown in this diagram. 
Copyright © 2008 Ganesh Prasad.Verbatim copying and distribution are allowed, provided this notice is retained.

Contenu connexe

En vedette

Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Axway Appcelerator
 

En vedette (11)

17 Web Performance Metrics You Should Care About
17 Web Performance Metrics You Should Care About17 Web Performance Metrics You Should Care About
17 Web Performance Metrics You Should Care About
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2 Migrating an application from Angular 1 to Angular 2
Migrating an application from Angular 1 to Angular 2
 
Porque você deveria usar IONIC
Porque você deveria usar IONICPorque você deveria usar IONIC
Porque você deveria usar IONIC
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5The evolution of Angular 2 @ AngularJS Munich Meetup #5
The evolution of Angular 2 @ AngularJS Munich Meetup #5
 
Future of Integration | MuleSoft
Future of Integration | MuleSoftFuture of Integration | MuleSoft
Future of Integration | MuleSoft
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 

Similaire à Sofea in a soa ecosystem v0 4

Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy Steps
AppZero
 
Case study marketing
Case study   marketingCase study   marketing
Case study marketing
Marpij
 
Lynton Aviation Performance management final
Lynton Aviation Performance management finalLynton Aviation Performance management final
Lynton Aviation Performance management final
bsrcrgrieve
 

Similaire à Sofea in a soa ecosystem v0 4 (16)

Metrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & HowMetrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & How
 
ATC Global 2012 - SESAR Forum - Keynote speech Patrick Ky
ATC Global 2012 - SESAR Forum - Keynote speech Patrick KyATC Global 2012 - SESAR Forum - Keynote speech Patrick Ky
ATC Global 2012 - SESAR Forum - Keynote speech Patrick Ky
 
Automation of requisition process for a leading retail chain in us
Automation of requisition process for a leading retail chain in usAutomation of requisition process for a leading retail chain in us
Automation of requisition process for a leading retail chain in us
 
An Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business ProcessesAn Execution Engine For Semantic Business Processes
An Execution Engine For Semantic Business Processes
 
OIC Process Flow V7
OIC Process Flow V7OIC Process Flow V7
OIC Process Flow V7
 
Test Data Management for healthcare
Test Data Management for healthcareTest Data Management for healthcare
Test Data Management for healthcare
 
Digital Payment System ACH
Digital Payment System   ACHDigital Payment System   ACH
Digital Payment System ACH
 
Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy Steps
 
Site Procedure Flow Chart
Site Procedure Flow ChartSite Procedure Flow Chart
Site Procedure Flow Chart
 
Case study marketing
Case study   marketingCase study   marketing
Case study marketing
 
Need an e-invoicing provider? Just use your ERP system!
Need an e-invoicing provider? Just use your ERP system!Need an e-invoicing provider? Just use your ERP system!
Need an e-invoicing provider? Just use your ERP system!
 
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
Webinar - Spagic: Beyond the SOA/BPM frontiers, towards a complete open coope...
 
מיתוג ועיצוב לתחום הייטק חברות טכנולוגיה
מיתוג ועיצוב לתחום הייטק חברות טכנולוגיהמיתוג ועיצוב לתחום הייטק חברות טכנולוגיה
מיתוג ועיצוב לתחום הייטק חברות טכנולוגיה
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009Open APIs in Telecom - Workshop Fokus Berlin 2009
Open APIs in Telecom - Workshop Fokus Berlin 2009
 
Lynton Aviation Performance management final
Lynton Aviation Performance management finalLynton Aviation Performance management final
Lynton Aviation Performance management final
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Sofea in a soa ecosystem v0 4