SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Ganesh Prasad
                                                                     Rajat Taneja
                                                                     Vikrant Todankar


                                                                     October 2007




                                                                  © Copyright Ganesh Prasad, Rajat Taneja, Vikrant Todankar, 2007

Life above the Service Tier                                       This  work  is  licensed  under  a  Creative  Commons  Attribution­No 
                                                                  Derivative Works 2.0 License.
How to Build Application Front­ends in a Service­Oriented World




                                                                  Illustration: “Three Worlds”,
                                                                  M.C.Escher, 1955 Lithograph

                                                                  All M.C. Escher works © 2007 The M.C. Escher 
                                                                  Company  ­  the  Netherlands.  All  rights  reserved. 
                                                                  Used by permission. www.mcescher.com 
Who Are We?



        Ganesh Prasad
        Senior Architect, Westpac Banking Corporation

        Rajat Taneja
        Chief Architect, Zurich Financial Services Australia

        Vikrant Todankar
        Senior Consultant, Hyro Limited (formerly with EDS)




                        Life above the Service Tier            2
Life in the Business Logic Tier is Moving Along SOAmmingly...

   ...but the Presentation Tier is a mess.


   SOA principles - Loosely coupled systems, no implicit dependencies, all
   legitimate dependencies in the form of explicit contracts.

   No such architectural blueprint exists for the Presentation Tier.


   Two Service Models today:

   
       SOAP-based Web Services
   
       REST

   Both are based on XML document exchange.


   Any Presentation Tier technology should be able to interface to legacy
   services painlessly, i.e., should support both SOAP and REST.



                               Life above the Service Tier                   3
The Presentation Tier and its Three Main Processes

                      Application Download        Download
    Client                                         Server
  Application
                              Network
                                                  Business
  Application
                                                    Logic           Persistence
   Container
                                                  (Service)

  Presentation Flow

                                                  Download
    Client                                         Server
  Application
                              Network

  Application                                    Business
   Container                                       Logic            Persistence
                                                 (Service)




    Client                                        Download
  Application                                      Server
                              Network
  Application                                    Business
   Container                                       Logic
                      Data Interchange                              Persistence
                                                 (Service)

                                                Service Interface




                                             Life above the Service Tier          4
The Presentation Tier and its Three Main Processes

                      Application Download        Download
    Client                                         Server
  Application
                              Network
                                                  Business
  Application
                                                    Logic           Persistence
   Container
                                                  (Service)

  Presentation Flow

                                                  Download
    Client                                         Server
  Application
                              Network

  Application                                    Business
   Container                                       Logic            Persistence
                                                 (Service)




    Client                                        Download
  Application                                      Server
                              Network
  Application                                    Business
   Container                                       Logic
                      Data Interchange                              Persistence
                                                 (Service)

                                                Service Interface




                                             Life above the Service Tier          5
The Presentation Tier and its Three Main Processes

                      Application Download        Download
    Client                                         Server
  Application
                              Network
                                                  Business
  Application
                                                    Logic           Persistence
   Container
                                                  (Service)

  Presentation Flow

                                                  Download
    Client                                         Server
  Application
                              Network

  Application                                    Business
   Container                                       Logic            Persistence
                                                 (Service)




    Client                                        Download
  Application                                      Server
                              Network
  Application                                    Business
   Container                                       Logic
                      Data Interchange                              Persistence
                                                 (Service)

                                                Service Interface




                                             Life above the Service Tier          6
The Presentation Tier and its Three Main Processes

                      Application Download        Download
    Client                                         Server
  Application
                              Network
                                                  Business
  Application
                                                    Logic           Persistence
   Container
                                                  (Service)

  Presentation Flow

                                                  Download
    Client                                         Server
  Application
                              Network

  Application                                    Business
   Container                                       Logic            Persistence
                                                 (Service)




    Client                                        Download
  Application                                      Server
                              Network
  Application                                    Business
   Container                                       Logic
                      Data Interchange                              Persistence
                                                 (Service)

                                                Service Interface




                                             Life above the Service Tier          7
The Presentation Tier and its Three Main Processes

                      Application Download        Download
    Client                                         Server
  Application
                              Network
                                                  Business
  Application
                                                    Logic           Persistence
   Container
                                                  (Service)

  Presentation Flow

                                                  Download
    Client                                         Server                         With Thin Clients,
  Application
                              Network                                             the Web Server
  Application                                    Business                         plays a role in all
   Container                                       Logic
                                                 (Service)
                                                                    Persistence   three processes.


    Client                                        Download
  Application                                      Server
                              Network
  Application                                    Business
   Container                                       Logic
                      Data Interchange                              Persistence
                                                 (Service)

                                                Service Interface




                                             Life above the Service Tier                                8
However...




  The Thin Client Model has Three Flaws




               Life above the Service Tier   9
Flaw 1 – Lack of Respect for Data
                                                                                  Data Structures

        From Browser to Web Server                                            Flattened to a set of
                                                                               Name-Value pairs


                          Name                   “Joe Bloggs”
                                                                                     Data Types
                        BirthDate               “01-JUL-1978”
                                                                              Everything reduced to
                      AnnualSalary               “120000.00”                         a String

                    NoOfDependents                   “3”

                                                                          Data Constraints

                                                                                   None



                                                     From Web Server to Browser
          Data as Data?

       Specialised formatting
          and markup for                   <Presentation-Markup>Data</Presentation-Markup>
           Presentation




                                                                We can do better than this!

                                 Life above the Service Tier                                        10
Flaw 2 – Coupling of Presentation Flow and Data Interchange
 Symptom – Remember the Browser Back-Button Problem?


                                             Server

                    GET             POST              GET




                           Page             Page            Page
                            1                2               3

                                             Client


   What the user wants to do (Presentation Flow)

  Page 1               Page 2              Page 3




   What the browser does in response (Data Interchange)
                                                                   Unsafe operation!
   GET            POST               GET



                                                              Yes, the POST-Redirect-GET pattern fixes
                                                              this problem, but the fundamental
                                                              architecture is broken.

                                        Life above the Service Tier                                      11
Flaw 3 – No Support for Peer-to-Peer Data Interchange



 Client/Server (Request/Response)



     Client
   Application
                                                                      Business
                       Network               Web Server                 Logic          Persistence
   Application                                                        (Service)
    Container




                                                          Server messages can only
                                                            be in response to client
                                                           requests – no unsolicited
                                                           messages such as event
                                                                  notifications




                                    Life above the Service Tier                                      12
AJAX is the Answer!
NOT!

AJAX provides Raw Capability, not Architecture.

We can build badly architected applications even with AJAX.


            Web Server acts as                                               Web Server drives
           intermediary for Data                                             Presentation Flow
                Interchange                                                    based on Data
                                                                           Interchange requests


Data is still
 treated
 shabbily                                        Web Server
                     Application Download
                        Presentation Flow                            Data Interchange
                         Data Interchange



       Thin Client                                                        Business Logic
                             Network                                                              Persistence
       (Browser)                                                            (Service)
                                                   AJAX Data
                                                  Interchange
                                                                            Service Interface



                                                                                So what is the answer?

                                            Life above the Service Tier                                     13
The Answer
...is an architecture that decouples orthogonal concerns and respects data.




                            Life above the Service Tier                       14
So What Technologies Can We Use?

The following technologies and frameworks are available today:

DHTML/AJAX frameworks for Current Browsers
     1. Handcrafted DHTML/AJAX with Third-Party JavaScript Libraries
     2. Google Web Toolkit (GWT, GWT-Ext)
     3. TIBCO General Interface Builder
XML Dialects for Advanced Browsers
     4. XForms embedded in XHTML 2
     5. Mozilla XUL
     6. Microsoft SilverLight/XAML
Java-based Technologies
     7. Java WebStart (Swing, SWT, Spring Rich Client)
     8. JavaFX
Adobe Flash Runtime-based frameworks
     9. Adobe Flex
    10. OpenLazslo

The degree of fit with the SOFEA model varies, but designers play a critical role
in ensuring compliance with the model. We also need to consider factors like
performance, ease of use, etc.

                             Life above the Service Tier                      15
What Is Our Contribution?
   A cleaner architectural model for the Presentation Tier that
  decouples the orthogonal concerns of Application Download,
  Presentation Flow and Data Interchange.
   Positioning the web server as a Download Server alone. The evils
  of web server involvement in Presentation Flow and Data
  Interchange are avoided.
   Affirmation of MVC rather than Front Controller as the natural
  pattern to control Presentation Flow.
   End-to-end data integrity in Data Interchange, which traditional
  thin-client technology does not and cannot enforce.
   Unification of the thin-client and rich-client models, now seen as
  an artificial distinction.
   Support for SOAP- and REST-based business services, and a
  natural integration point between the Presentation and Service Tiers




                           Life above the Service Tier                   16
Thanks!




Life above the Service Tier   17

Contenu connexe

Tendances

CCitDG Presenation
CCitDG PresenationCCitDG Presenation
CCitDG PresenationDatabarracks
 
Application Performance Management in the Clouds - Lessons Learned
Application Performance Management in the Clouds - Lessons LearnedApplication Performance Management in the Clouds - Lessons Learned
Application Performance Management in the Clouds - Lessons LearnedMichael Kopp
 
20120620 moving to windows azure
20120620 moving to windows azure20120620 moving to windows azure
20120620 moving to windows azureLuis Martins
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 
Extending Enterprise Security into the Cloud
Extending Enterprise Security into the CloudExtending Enterprise Security into the Cloud
Extending Enterprise Security into the CloudCA API Management
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2Digicomp Academy AG
 
FewebPlus @ microsoft 19 april 2010 cloud continuum
FewebPlus @ microsoft 19 april 2010 cloud continuumFewebPlus @ microsoft 19 april 2010 cloud continuum
FewebPlus @ microsoft 19 april 2010 cloud continuumTom Crombez
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...CloudOps Summit
 
Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Prolifics
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud BusinessACMBangalore
 
Layer 7 & Burton Group: New Cloud Security Model Requirements
Layer 7 & Burton Group: New Cloud Security Model RequirementsLayer 7 & Burton Group: New Cloud Security Model Requirements
Layer 7 & Burton Group: New Cloud Security Model RequirementsCA API Management
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudKristian Nese
 
The role of hyper-v in nist model
The role of hyper-v in nist modelThe role of hyper-v in nist model
The role of hyper-v in nist modelAlexey Bokov
 
Cisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinCisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinOptusBusiness
 
03.egovFrame Runtime Environment Training Book
03.egovFrame Runtime Environment Training Book03.egovFrame Runtime Environment Training Book
03.egovFrame Runtime Environment Training BookChuong Nguyen
 
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...Novell
 

Tendances (20)

CCitDG Presenation
CCitDG PresenationCCitDG Presenation
CCitDG Presenation
 
Application Performance Management in the Clouds - Lessons Learned
Application Performance Management in the Clouds - Lessons LearnedApplication Performance Management in the Clouds - Lessons Learned
Application Performance Management in the Clouds - Lessons Learned
 
20120620 moving to windows azure
20120620 moving to windows azure20120620 moving to windows azure
20120620 moving to windows azure
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
 
Extending Enterprise Security into the Cloud
Extending Enterprise Security into the CloudExtending Enterprise Security into the Cloud
Extending Enterprise Security into the Cloud
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2
 
Chris millercloud
Chris millercloudChris millercloud
Chris millercloud
 
FewebPlus @ microsoft 19 april 2010 cloud continuum
FewebPlus @ microsoft 19 april 2010 cloud continuumFewebPlus @ microsoft 19 april 2010 cloud continuum
FewebPlus @ microsoft 19 april 2010 cloud continuum
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
 
Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...Managing Enterprise Services through Service Versioning & Governance - Impact...
Managing Enterprise Services through Service Versioning & Governance - Impact...
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 
65 72
65 7265 72
65 72
 
Layer 7 & Burton Group: New Cloud Security Model Requirements
Layer 7 & Burton Group: New Cloud Security Model RequirementsLayer 7 & Burton Group: New Cloud Security Model Requirements
Layer 7 & Burton Group: New Cloud Security Model Requirements
 
FederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdfFederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdf
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private Cloud
 
The role of hyper-v in nist model
The role of hyper-v in nist modelThe role of hyper-v in nist model
The role of hyper-v in nist model
 
Cisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakinCisco live 2013 anything as a service david deakin
Cisco live 2013 anything as a service david deakin
 
03.egovFrame Runtime Environment Training Book
03.egovFrame Runtime Environment Training Book03.egovFrame Runtime Environment Training Book
03.egovFrame Runtime Environment Training Book
 
Deja vu.idc.solutions
Deja vu.idc.solutionsDeja vu.idc.solutions
Deja vu.idc.solutions
 
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
 

En vedette

Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4Ganesh Prasad
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...Kunal Ashar
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Ganesh Prasad
 
Sofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworksSofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworksAndré Neubauer
 
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 AboutEvgeny Tsarkov
 
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
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSLeonardo Zanivan
 

En vedette (8)

Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4
 
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for...
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1
 
Sofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworksSofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworks
 
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
 
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...
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 

Similaire à Life above the service tier preso v1 0

Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAIMC Institute
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper DiveBIOVIA
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
 
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...Club Cloud des Partenaires
 
Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Sandro Pereira
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackbuildacloud
 
Cloud congress 2012_herbert_wanner_cisco_v3
Cloud congress 2012_herbert_wanner_cisco_v3Cloud congress 2012_herbert_wanner_cisco_v3
Cloud congress 2012_herbert_wanner_cisco_v3Herbert Wanner
 
Tech Ed 09 - Arc302 - Analysis and Architecture
Tech Ed 09 -  Arc302  - Analysis and ArchitectureTech Ed 09 -  Arc302  - Analysis and Architecture
Tech Ed 09 - Arc302 - Analysis and Architecturemhessinger
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformSpiffy
 
Building and Managing Cloud Applications and Infrastructure
Building and Managing Cloud Applications and InfrastructureBuilding and Managing Cloud Applications and Infrastructure
Building and Managing Cloud Applications and InfrastructureDarren Cunningham
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Servicesukdpe
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...rsnarayanan
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析George Ang
 
TechEd Preconference
TechEd PreconferenceTechEd Preconference
TechEd PreconferenceSimon Guest
 

Similaire à Life above the service tier preso v1 0 (20)

Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Cliser
CliserCliser
Cliser
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...
2012.11.20 - Managed Service Providers - RV des Experts du Club Cloud des Par...
 
Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
Cloud congress 2012_herbert_wanner_cisco_v3
Cloud congress 2012_herbert_wanner_cisco_v3Cloud congress 2012_herbert_wanner_cisco_v3
Cloud congress 2012_herbert_wanner_cisco_v3
 
Tech Ed 09 - Arc302 - Analysis and Architecture
Tech Ed 09 -  Arc302  - Analysis and ArchitectureTech Ed 09 -  Arc302  - Analysis and Architecture
Tech Ed 09 - Arc302 - Analysis and Architecture
 
Soa
SoaSoa
Soa
 
Soa
SoaSoa
Soa
 
Soa
SoaSoa
Soa
 
Ria Enterprise
Ria EnterpriseRia Enterprise
Ria Enterprise
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
 
Building and Managing Cloud Applications and Infrastructure
Building and Managing Cloud Applications and InfrastructureBuilding and Managing Cloud Applications and Infrastructure
Building and Managing Cloud Applications and Infrastructure
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Services
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析
 
TechEd Preconference
TechEd PreconferenceTechEd Preconference
TechEd Preconference
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 2024Rafal Los
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[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.pdfhans926745
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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 Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Life above the service tier preso v1 0

  • 1. Ganesh Prasad Rajat Taneja Vikrant Todankar October 2007 © Copyright Ganesh Prasad, Rajat Taneja, Vikrant Todankar, 2007 Life above the Service Tier This  work  is  licensed  under  a  Creative  Commons  Attribution­No  Derivative Works 2.0 License. How to Build Application Front­ends in a Service­Oriented World Illustration: “Three Worlds”, M.C.Escher, 1955 Lithograph All M.C. Escher works © 2007 The M.C. Escher  Company  ­  the  Netherlands.  All  rights  reserved.  Used by permission. www.mcescher.com 
  • 2. Who Are We? Ganesh Prasad Senior Architect, Westpac Banking Corporation Rajat Taneja Chief Architect, Zurich Financial Services Australia Vikrant Todankar Senior Consultant, Hyro Limited (formerly with EDS) Life above the Service Tier 2
  • 3. Life in the Business Logic Tier is Moving Along SOAmmingly... ...but the Presentation Tier is a mess. SOA principles - Loosely coupled systems, no implicit dependencies, all legitimate dependencies in the form of explicit contracts. No such architectural blueprint exists for the Presentation Tier. Two Service Models today:  SOAP-based Web Services  REST Both are based on XML document exchange. Any Presentation Tier technology should be able to interface to legacy services painlessly, i.e., should support both SOAP and REST. Life above the Service Tier 3
  • 4. The Presentation Tier and its Three Main Processes Application Download Download Client Server Application Network Business Application Logic Persistence Container (Service) Presentation Flow Download Client Server Application Network Application Business Container Logic Persistence (Service) Client Download Application Server Network Application Business Container Logic Data Interchange Persistence (Service) Service Interface Life above the Service Tier 4
  • 5. The Presentation Tier and its Three Main Processes Application Download Download Client Server Application Network Business Application Logic Persistence Container (Service) Presentation Flow Download Client Server Application Network Application Business Container Logic Persistence (Service) Client Download Application Server Network Application Business Container Logic Data Interchange Persistence (Service) Service Interface Life above the Service Tier 5
  • 6. The Presentation Tier and its Three Main Processes Application Download Download Client Server Application Network Business Application Logic Persistence Container (Service) Presentation Flow Download Client Server Application Network Application Business Container Logic Persistence (Service) Client Download Application Server Network Application Business Container Logic Data Interchange Persistence (Service) Service Interface Life above the Service Tier 6
  • 7. The Presentation Tier and its Three Main Processes Application Download Download Client Server Application Network Business Application Logic Persistence Container (Service) Presentation Flow Download Client Server Application Network Application Business Container Logic Persistence (Service) Client Download Application Server Network Application Business Container Logic Data Interchange Persistence (Service) Service Interface Life above the Service Tier 7
  • 8. The Presentation Tier and its Three Main Processes Application Download Download Client Server Application Network Business Application Logic Persistence Container (Service) Presentation Flow Download Client Server With Thin Clients, Application Network the Web Server Application Business plays a role in all Container Logic (Service) Persistence three processes. Client Download Application Server Network Application Business Container Logic Data Interchange Persistence (Service) Service Interface Life above the Service Tier 8
  • 9. However... The Thin Client Model has Three Flaws Life above the Service Tier 9
  • 10. Flaw 1 – Lack of Respect for Data Data Structures From Browser to Web Server Flattened to a set of Name-Value pairs Name “Joe Bloggs” Data Types BirthDate “01-JUL-1978” Everything reduced to AnnualSalary “120000.00” a String NoOfDependents “3” Data Constraints None From Web Server to Browser Data as Data? Specialised formatting and markup for <Presentation-Markup>Data</Presentation-Markup> Presentation We can do better than this! Life above the Service Tier 10
  • 11. Flaw 2 – Coupling of Presentation Flow and Data Interchange Symptom – Remember the Browser Back-Button Problem? Server GET POST GET Page Page Page 1 2 3 Client What the user wants to do (Presentation Flow) Page 1 Page 2 Page 3 What the browser does in response (Data Interchange) Unsafe operation! GET POST GET Yes, the POST-Redirect-GET pattern fixes this problem, but the fundamental architecture is broken. Life above the Service Tier 11
  • 12. Flaw 3 – No Support for Peer-to-Peer Data Interchange Client/Server (Request/Response) Client Application Business Network Web Server Logic Persistence Application (Service) Container Server messages can only be in response to client requests – no unsolicited messages such as event notifications Life above the Service Tier 12
  • 13. AJAX is the Answer! NOT! AJAX provides Raw Capability, not Architecture. We can build badly architected applications even with AJAX. Web Server acts as Web Server drives intermediary for Data Presentation Flow Interchange based on Data Interchange requests Data is still treated shabbily Web Server Application Download Presentation Flow Data Interchange Data Interchange Thin Client Business Logic Network Persistence (Browser) (Service) AJAX Data Interchange Service Interface So what is the answer? Life above the Service Tier 13
  • 14. The Answer ...is an architecture that decouples orthogonal concerns and respects data. Life above the Service Tier 14
  • 15. So What Technologies Can We Use? The following technologies and frameworks are available today: DHTML/AJAX frameworks for Current Browsers 1. Handcrafted DHTML/AJAX with Third-Party JavaScript Libraries 2. Google Web Toolkit (GWT, GWT-Ext) 3. TIBCO General Interface Builder XML Dialects for Advanced Browsers 4. XForms embedded in XHTML 2 5. Mozilla XUL 6. Microsoft SilverLight/XAML Java-based Technologies 7. Java WebStart (Swing, SWT, Spring Rich Client) 8. JavaFX Adobe Flash Runtime-based frameworks 9. Adobe Flex 10. OpenLazslo The degree of fit with the SOFEA model varies, but designers play a critical role in ensuring compliance with the model. We also need to consider factors like performance, ease of use, etc. Life above the Service Tier 15
  • 16. What Is Our Contribution?  A cleaner architectural model for the Presentation Tier that decouples the orthogonal concerns of Application Download, Presentation Flow and Data Interchange.  Positioning the web server as a Download Server alone. The evils of web server involvement in Presentation Flow and Data Interchange are avoided.  Affirmation of MVC rather than Front Controller as the natural pattern to control Presentation Flow.  End-to-end data integrity in Data Interchange, which traditional thin-client technology does not and cannot enforce.  Unification of the thin-client and rich-client models, now seen as an artificial distinction.  Support for SOAP- and REST-based business services, and a natural integration point between the Presentation and Service Tiers Life above the Service Tier 16
  • 17. Thanks! Life above the Service Tier 17