SlideShare a Scribd company logo
Unit 5: Physical Architecture Design
 Introduction

 Dimensions to be considered

 Architecture Patterns:
        Single server
      
       Separate database
       Replicated Web servers
       Separated scripting engines
       Application servers

 Web Caching

 Cloud Computing

 J2EE architectures for WebApps



dsbw 2008/2009 2q                      1
Physical Architecture Design: A Definition
                    “
    (physical) architecture design concentrates on the choice of the
     hardware, network, and software components that make up the
     system, to find the mix of these components that best meets the
     application requirements, and at the same time respects the

                                                          ”
     technical and economic constraints of the project.
                                                          Ceri et al., 2003




dsbw 2008/2009 2q                                                        2
Architecture: Logical vs. Physical
     3-Layered Logical Architecture         2(+)-Tiered Client/Server
                                              Physical Architecture

                      ......
                                      Client             WB
                                                         WB
                                      (tier #1)

                                                                        .gif
                                                  HTTP
                                                                    .html
               Presentation Layer
                                                         WS
                                                         WS
             Business Logic Layer     Server
                                      (tier #2)
               Data Mapping Layer                   AppServer
                                                   Scripting Eng.
                                                   WapServer
                                                                    DBMS
    File/Database Management System



                                      Server             HOST
                     ......                                         DBMS
                                      (tier #3)


dsbw 2008/2009 2q                                                              3
Logical-Physical Mapping: Distributed Presentation
 One fragment of the Web presentation layer is executed on the Web
     browser:
        Download and rendering of HTML (XML, …) documents
      
       Client-side scripting: JavaScript, VBScript
       Execution of embedded components: Applets, ActiveX

 The other fragment of the Web presentation layer is executed on
     the server side:
       Retrieval and delivery of static documents/files
       Execution of server scripts
       Interaction with the Business Logic Layer

 The other layers are executed on the server tier(s)

 AJAX (RIA) applications may change this paradigm.



dsbw 2008/2009 2q                                                   4
Dimensions of Architecture Design
 Non-functional requirements that pursue the achievement of an
     adequate level of service

 Physical, financial and organizational constraints that may affect
     decision-making

 Alternative scenarios in architecture deployment




dsbw 2008/2009 2q                                                      5
Non-functional requirements that may affect Architecture Design

 Performance
         The application must sustain the expected workload defined in terms of:
            maximum number of concurrent users,

            the number of page requests served per unit of time

            the maximum time for delivering a page to the client

 Scalability
         The architecture must be easily extensible
 Availability
         Faults should not affect significantly the service delivered to users
 State maintenance
         The state of the user interaction must be preserved, even when the
          application is distributed on multiple machines or failures occur
 Security:
       Data should be protected
       Users should be identified and granted access only to the data and
        functions they are entitled to


dsbw 2008/2009 2q                                                                 6
Constraints of Architecture Design
 Cost
       Every configuration requires a different investment, in terms of
        processors, network infrastructure, interfaces, and software licenses
       The application budget may limit the choice of hardware resources and
        software products

 Complexity
       Some configurations are simpler than others to set up and maintain
       The unavailability or the cost of specialized technical skills may
        constrain the architecture design

 Corporate standards and infrastructures
         The WebApp may be deployed within a corporate IT infrastructure,
          which may constrain the selection of hardware resources and software
          products.



dsbw 2008/2009 2q                                                            7
Scenarios of Architecture Deployment
 Internal
         The application architecture is kept inside the enterprise and
          maintained by the internal IT department.

 Housed
         The application architecture is maintained by the internal IT department
          of the enterprise, but is physically installed at an external service
          provider.

 Hosted
         The application architecture is located at the premises of an external
          service provider, who also maintains it.




dsbw 2008/2009 2q                                                                  8
Architecture Pattern: Single Server


                                             Host
                                                    Web server
                                      HTTP
                    HTTP
                                                    Script engine
                           rooter/
                                                    DBMS
                           firewall
         Client
       (browser)




dsbw 2008/2009 2q                                                   9
Single Server Pattern: Evaluation (1/2)
 Performance
       Depends on the configuration of the server: CPU speed, available
        memory, disk access latency, etc.
       The DBMS is both memory and CPU-intensive

 Scalability
         Is bound by the hardware architecture of the selected server

 Availability
       Every software and hardware element is a single point of failure: if it
        breaks, the entire system hangs.
       Can be improved by adding redundant hardware resources (multiple
        CPUs, mirrored disks) and by installing multiple processes running
        different instances of the Web server, script engine, and database …




dsbw 2008/2009 2q                                                                 10
Single Server Pattern: Evaluation (2/2)
 State maintenance
         No problems with none of the three possibilities to store user data:
          client, server or database

 Security:
         This the weakest aspect of is configuration: attackers breaking the
          firewall and the Web server can take control of the host and gain direct
          access to the database, violating data protection

 Low cost, as far as massive parallelism is not required.

 Low complexity




dsbw 2008/2009 2q                                                                11
Architecture Pattern: Separate Database


                                                                                 Host 2
                                                         Host 1


                HTTP
                                  HTTP
                       rooter/
                                                                      firewall
    Client             firewall
                                                                                 DBMS
                                         Web server + Script engine
  (browser)


                                   Demilitarized Zone (DMZ)




dsbw 2008/2009 2q                                                                       12
Separate Database Pattern: Evaluation
 Better performance
       One extra machine
       Each tier can be tuned to the requirements of the installed software

 More scalable
       It is possible to act separately on each tier.
       Normally, the first bottleneck is in the middle tier

 Availability is not improved
         Each component is still a single point of failure
 Significantly improved security
         The inner firewall may disallow HTTP requests at all and let only
          database requests pass, making it more difficult for attackers to reach
          the data tier.




dsbw 2008/2009 2q                                                               13
Architecture Pattern: Replicated Web Server



                                                  WS + Script engine #1
                                                                                     Host 2
                                      HTTP

               HTTP
                                       HTTP

              HTTPS
                  rooter/ firewall/               WS + Script engine #2
                                                                          firewall
   Client          load balancer       HTTPS
                                                                                     DBMS
 (browser)




                                                  WS + Script engine #3
                                                        (secure)

                                      Demilitarized Zone (DMZ)



dsbw 2008/2009 2q                                                                             14
Replicated Web Server Pattern: Evaluation
 Improved performance and scalability:
       Load balancing
       Clustering: A cluster is a group of servers (aka nodes) that provide a
        unified view of the services that they individually offer
 Improved availability:
         Fail-over: if a cluster node fails, its workload can be redistributed to the
          other nodes of the same cluster
 Session state maintenance on the replicated servers
       Session affinity (aka sticky sessions): The load balancer sends all the
        incoming requests pertinent to a given session to the same server.
       Session migration: Session state is shared by the servers in the cluster

 Improved data transmission security
         One of the Web servers may be configured to handle the connections
          that require cryptographic protection.


dsbw 2008/2009 2q                                                                   15
Architecture Pattern: Separate Script Engine




                                        WS #1      SE #1              Host 2
                              HTTP

               HTTP
                               HTTP
              HTTPS
                  rooter/ firewall/     WS #2      SE #2
                                                           firewall
  Client           load balancer
                                                                      DBMS
                                HTTPS
(browser)



                                         WS #3     SE #3
                                        (secure)




dsbw 2008/2009 2q                                                            16
Separate Script Engine Pattern : Evaluation
 Improved performance, scalability and availability
         Web server and the scripting engine can be replicated independently so
          that the number and configuration of the hosts can be optimized: a well-
          balanced configuration may require more machines for the scripting
          engines than for the Web servers.
         The communication overhead introduced by the separation should be
          compensated by the performance increase.




dsbw 2008/2009 2q                                                              17
Architecture Pattern: Application Server



                                                      Application
                                   WS #1      SE #1     Server
                         HTTP                                                  Host 2

              HTTP
                          HTTP
           HTTPS                                      Application
              rooter/ firewall/    WS #2      SE #2     Server      firewall
   Client      load balancer                                                   DBMS
                           HTTPS
 (browser)



                                                      Application
                                    WS #3     SE #3     Server
                                   (secure)




dsbw 2008/2009 2q                                                                     18
Application Server Pattern: Evaluation
 An application server is a software platform, distinct from the Web
  server, dedicated to the efficient execution of business components
  for supporting the construction of dynamic pages.
 Improved performance, scalability and availability:
       Transparent component distribution, replication, and load balancing:
        The application server automatically manages the creation of
        processes, the replication of business objects and their allocation to the
        available processes, and the allotment of client requests to the increase
        and decrease of the actual workload.
       Automatic failure recovery: The application server may detect
        hardware, software and network failures, and avert client requests
        addressed to a failed component and route them to available replicas of
        the same business object.
       Resource pooling: The application server may handle pools of
        expensive resources, like database connections, and share these
        resource among multiple business objects in an optimized way


dsbw 2008/2009 2q                                                              19
Web Caching
 Caching consists of temporarily storing resources in a fast access
     location, for later retrieval.

 Benefits:
       Reduction of the response time
       Reduction of computation effort when the resource is dynamically build

 Anything can be cached:
       Static HTML pages and multimedia files.
       Fragments of pages computed by scripting programs.
       Intermediate data consumed by the scripting programs for producing
        page, e.g. XML files.
       The result of database queries or other application commands




dsbw 2008/2009 2q                                                            20
Web caching: Where to Cache (1/3)
 Browser caching:                    Proxy caching:




                                     Proxy caches store a local copy of
Every Web browser contains a cache
                                     each resource requested by users,
of HTML pages and multimedia files
                                     and avoid accessing the Internet for
used to speed up the rendition of
                                     retrieving frequently asked pages
pages that contain cached objects.



dsbw 2008/2009 2q                                                       21
Web caching: Where to Cache (2/3)
 Server accelerators




          A server accelerator is a “buffer” placed in front of a server cluster that
      
          intercepts requests, caches copies of the objects produced by the
          servers, and delivers them to the subsequent requests.
         Page prefetching: Based on the last request, the server accelerator
          loads into cache those pages that are more probable of being
          requested next.

dsbw 2008/2009 2q                                                                   22
Web caching: Where to Cache (3/3)
 Content delivery networks (CDNs)




       CDNs are systems of computers networked together across the Internet
        that allow content providers to outsource their caching infrastructures
       When a client requests a page to the origin server, this returns a page
        with rewritten links that point to the nodes of the CDN
       The CDN serves requests selecting the optimal copy of the page by
        taking into account the geographical location of the user and the real-
        time traffic conditions.

dsbw 2008/2009 2q                                                           23
Cloud Computing
       Cloud computing is a style of computing in which dynamically
       scalable and often virtualised resources are provided as a
       service over the Internet. (Wikipedia)




                             Source: http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf

dsbw 2008/2009 2q                                                                                    24
Cloud Computing: Some Providers

  Cloud Layer         Examples of Commercial Cloud Systems
  Cloud Application   Google Apps and Salesforce Customer Relation
  Layer               Management (CRM) system
  Cloud Software
                      Google App Engine and Salesforce Apex System
  Environment
                      Computational Resources: Amazon's EC2.
                      Enomalism Elastic Cloud.
  Cloud Software      Storage: Amazon's S3. EMC Storage Managed
  Infrastructure      Service.
                      Communication: Microsoft Connected Service
                      Framework (CSF).
                      Grid and Cluster Computing Systems like Globus
  Software Kernel
                      and Condor.
  Firmware /          IBM-Morgan Stanley's Computing Sublease, and
  Hardware            IBM's Kittyhawk Project.

dsbw 2008/2009 2q                                                 25
J2EE Architectures for Web Applications
 “Classic” J2EE architecture, using remote EJBs and entity beans

 Local EJB architecture, using local EJBs

 Ad hoc J2EE architecture without EJB

 Lightweight container architecture




dsbw 2008/2009 2q                                                   26
“Classic” J2EE Architecture
                    Web Container
                                                           J2EE
                         Servlets / Web Classes
                                                           Server

                           Business Interface



                           Business Delegate


                                    RMI

                                                             J2EE
                    EJB Container
                                                            Server
                                                           (Same or
                              Session EJB
                                                           Separate
                                                             JVM
                             Entity EJB (optional)




                      DBMS                 Legacy System
dsbw 2008/2009 2q                                                     27
Local EJB architecture
                    Web Container
                                                             J2EE
                         Servlets / Web Classes
                                                             Server

                           Business Interface



                           Business Delegate

                                      Local EJB Invocation
                    EJB Container

                                                             (Single
                                                              JVM)
                              Session EJB



                             Entity EJB (optional)




                      DBMS                 Legacy System
dsbw 2008/2009 2q                                                      28
Ad hoc J2EE Architecture without EJB

                    Web Container
                                                         J2EE
                         Servlets / Web Classes
                                                         Server

                             Business Interface




                             Implementation




                      DBMS
                                         Legacy System
dsbw 2008/2009 2q                                                 29
Lightweight Container Architecture
                                                              J2EE
                          MVC Web Framework
                                                              Server
                    Web Container


                         Business Interface

                                           POJO
                                       Implementation
                                         with declarative
                                        services via AOP


                          O/R Mapping Layer




                     RDBMS
                                        (Optional) Other
                                     transactional resource
dsbw 2008/2009 2q                                                      30
J2EE Architectures: A Comparison

  Architect.          Simplicity    Productivity      Transaction        Horizontal           Testability
                                                        Capable          Scalability
 Remote             Complex to      Poor,             Yes             Inherent support      Poor. It's very
 EJBs               implement and   because of                        for distributing      hard to test
                    use business    complexity of                     objects.              EJBs outside a
                    objects.        distribution                                            container. In-
                                    and EJB                                                 container
                                    programming                                             testing is slow
                                    model.                                                  and complex.
 Local EJBs         Slightly less   Slightly better   Yes             Relies on web         Poor. As for
                    complex to      than for                          container to          remote EJBs.
                    access          remote EJBs.                      deliver clustering.
 No EJB, ad         Typically       Productivity is   No. Explicit    Depends on            Depends on
 hoc                simpler than    usually better    use of          implementation        implementation
                    architectures   than with EJB     specific APIs   strategy.             strategy.
                    using EJB.      architectures.    is required.
 Light-             Good, as        High              Yes, if using   Relies on web         Good. Easy to
 weight             business                          AOP.            container to          test business
 container          objects are                                       deliver clustering.   objects outside
                    POJOs.                                                                  an application
                                                                                            server.

dsbw 2008/2009 2q                                                                                       31
References
 S. Ceri et al. Designing Data-Intensive Web Applications. Capítol
     10. Morgan Kaufmann, 2003.

 JOHNSON, Rod and HOELLER Juergen. Expert One-on-One
     J2EE Development without EJB. Willey Publishing, 2004

 Youseff, L.; Butrico, M.; Da Silva, D. Toward a Unified Ontology of
     Cloud Computing. Grid Computing Environments Workshop, 2008.
     GCE '08, pages 1-10.
     http://www.cs.ucsb.edu/~lyouseff/CCOntology/CloudOntology.pdf




dsbw 2008/2009 2q                                                  32

More Related Content

What's hot

Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
Mohammed Kharma
 
Whitepaper Exchange 2007 Changes, Resilience And Storage Management
Whitepaper   Exchange 2007 Changes, Resilience And Storage ManagementWhitepaper   Exchange 2007 Changes, Resilience And Storage Management
Whitepaper Exchange 2007 Changes, Resilience And Storage Management
Alan McSweeney
 
Storage Architectures And Options
Storage Architectures And OptionsStorage Architectures And Options
Storage Architectures And Options
Alan McSweeney
 
Capito Ardoe House VMWare Presentation
Capito Ardoe House VMWare PresentationCapito Ardoe House VMWare Presentation
Capito Ardoe House VMWare Presentation
Capito Livingstone
 
Performance testing virtualized systems v5
Performance testing virtualized systems v5Performance testing virtualized systems v5
Performance testing virtualized systems v5
Mentora
 
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
Paula Koziol
 
Challenges in Cloud Computing – VM Migration
Challenges in Cloud Computing – VM MigrationChallenges in Cloud Computing – VM Migration
Challenges in Cloud Computing – VM Migration
Sarmad Makhdoom
 
Scvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son VuScvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son Vu
vncson
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
Ar Agarwal
 
Psdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computingPsdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computing
ZTech Proje
 
International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)
irjes
 
IRJET- Load Balancing Cluster based on Linux Virtual Server
IRJET- Load Balancing Cluster based on Linux Virtual ServerIRJET- Load Balancing Cluster based on Linux Virtual Server
IRJET- Load Balancing Cluster based on Linux Virtual Server
IRJET Journal
 
Log insight technical overview customer facing (based on 3.x)
Log insight technical overview customer facing (based on 3.x)Log insight technical overview customer facing (based on 3.x)
Log insight technical overview customer facing (based on 3.x)
David Pasek
 
Srdf Vs Dataguard
Srdf Vs DataguardSrdf Vs Dataguard
Srdf Vs Dataguard
Kumar Bangalore
 
SCCM on Microsoft Azure
SCCM on Microsoft AzureSCCM on Microsoft Azure
SCCM on Microsoft Azure
Mohamed Tawfik
 
Symmetrix remote-data-facility
Symmetrix remote-data-facilitySymmetrix remote-data-facility
Symmetrix remote-data-facility
ramparasa
 
Fundamental Cloud Architectures
Fundamental Cloud ArchitecturesFundamental Cloud Architectures
Fundamental Cloud Architectures
Mohammed Sajjad Ali
 
Cloud computing aws -key services
Cloud computing  aws -key servicesCloud computing  aws -key services
Cloud computing aws -key services
Selvaraj Kesavan
 
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackupDATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
Symantec
 
Building Private Iaas Cloud
Building Private Iaas CloudBuilding Private Iaas Cloud
Building Private Iaas Cloud
Lai Yoong Seng
 

What's hot (20)

Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
 
Whitepaper Exchange 2007 Changes, Resilience And Storage Management
Whitepaper   Exchange 2007 Changes, Resilience And Storage ManagementWhitepaper   Exchange 2007 Changes, Resilience And Storage Management
Whitepaper Exchange 2007 Changes, Resilience And Storage Management
 
Storage Architectures And Options
Storage Architectures And OptionsStorage Architectures And Options
Storage Architectures And Options
 
Capito Ardoe House VMWare Presentation
Capito Ardoe House VMWare PresentationCapito Ardoe House VMWare Presentation
Capito Ardoe House VMWare Presentation
 
Performance testing virtualized systems v5
Performance testing virtualized systems v5Performance testing virtualized systems v5
Performance testing virtualized systems v5
 
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
Implementing a Disaster Recovery Solution using VMware Site Recovery Manager ...
 
Challenges in Cloud Computing – VM Migration
Challenges in Cloud Computing – VM MigrationChallenges in Cloud Computing – VM Migration
Challenges in Cloud Computing – VM Migration
 
Scvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son VuScvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son Vu
 
Distributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud ProvisioningDistributed Services Scheduling and Cloud Provisioning
Distributed Services Scheduling and Cloud Provisioning
 
Psdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computingPsdot 15 performance analysis of cloud computing
Psdot 15 performance analysis of cloud computing
 
International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)International Refereed Journal of Engineering and Science (IRJES)
International Refereed Journal of Engineering and Science (IRJES)
 
IRJET- Load Balancing Cluster based on Linux Virtual Server
IRJET- Load Balancing Cluster based on Linux Virtual ServerIRJET- Load Balancing Cluster based on Linux Virtual Server
IRJET- Load Balancing Cluster based on Linux Virtual Server
 
Log insight technical overview customer facing (based on 3.x)
Log insight technical overview customer facing (based on 3.x)Log insight technical overview customer facing (based on 3.x)
Log insight technical overview customer facing (based on 3.x)
 
Srdf Vs Dataguard
Srdf Vs DataguardSrdf Vs Dataguard
Srdf Vs Dataguard
 
SCCM on Microsoft Azure
SCCM on Microsoft AzureSCCM on Microsoft Azure
SCCM on Microsoft Azure
 
Symmetrix remote-data-facility
Symmetrix remote-data-facilitySymmetrix remote-data-facility
Symmetrix remote-data-facility
 
Fundamental Cloud Architectures
Fundamental Cloud ArchitecturesFundamental Cloud Architectures
Fundamental Cloud Architectures
 
Cloud computing aws -key services
Cloud computing  aws -key servicesCloud computing  aws -key services
Cloud computing aws -key services
 
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackupDATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
DATASHEET▶ Enterprise Cloud Backup & Recovery with Symantec NetBackup
 
Building Private Iaas Cloud
Building Private Iaas CloudBuilding Private Iaas Cloud
Building Private Iaas Cloud
 

Similar to [DSBW Spring 2009] Unit 05: Web Architectures

Unit 05: Physical Architecture Design
Unit 05: Physical Architecture DesignUnit 05: Physical Architecture Design
Unit 05: Physical Architecture Design
DSBW 2011/2002 - Carles Farré - Barcelona Tech
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
Carles Farré
 
Get ready for tomorrow, today!
Get ready for tomorrow, today!Get ready for tomorrow, today!
Get ready for tomorrow, today!
Harold Wong
 
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 PresentationMicrosoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft Private Cloud
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
rajivmordani
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
WASdev Community
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
Roman Kharkovski
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
VMware vFabric
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
Ram Vennam
 
Configuring and Troubleshooting XenDesktop Sites
Configuring and Troubleshooting XenDesktop SitesConfiguring and Troubleshooting XenDesktop Sites
Configuring and Troubleshooting XenDesktop Sites
David McGeough
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
floridawusergroup
 
Server2008 R2 Overview
Server2008 R2 OverviewServer2008 R2 Overview
Server2008 R2 Overview
volkerwill
 
SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1
SQLPASSTW
 
Virtualization get ready for tomorrow, today! - cr
Virtualization get ready for tomorrow, today! - crVirtualization get ready for tomorrow, today! - cr
Virtualization get ready for tomorrow, today! - cr
Chris Avis
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric
 
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
EuroCloud
 
TechInsight - Real World Implementation of VDI
TechInsight - Real World Implementation of VDITechInsight - Real World Implementation of VDI
TechInsight - Real World Implementation of VDI
Lai Yoong Seng
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
codebits
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01
Clint Edmonson
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
Mallikarjuna G D
 

Similar to [DSBW Spring 2009] Unit 05: Web Architectures (20)

Unit 05: Physical Architecture Design
Unit 05: Physical Architecture DesignUnit 05: Physical Architecture Design
Unit 05: Physical Architecture Design
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
 
Get ready for tomorrow, today!
Get ready for tomorrow, today!Get ready for tomorrow, today!
Get ready for tomorrow, today!
 
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 PresentationMicrosoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
WebSphere App Server vs JBoss vs WebLogic vs Tomcat (InterConnect 2016)
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Configuring and Troubleshooting XenDesktop Sites
Configuring and Troubleshooting XenDesktop SitesConfiguring and Troubleshooting XenDesktop Sites
Configuring and Troubleshooting XenDesktop Sites
 
Data power v7 update - Ravi Katikala
Data power v7 update - Ravi KatikalaData power v7 update - Ravi Katikala
Data power v7 update - Ravi Katikala
 
Server2008 R2 Overview
Server2008 R2 OverviewServer2008 R2 Overview
Server2008 R2 Overview
 
SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1SQL PASS Taiwan 七月份聚會-1
SQL PASS Taiwan 七月份聚會-1
 
Virtualization get ready for tomorrow, today! - cr
Virtualization get ready for tomorrow, today! - crVirtualization get ready for tomorrow, today! - cr
Virtualization get ready for tomorrow, today! - cr
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al Sargent
 
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
Luis Alves Martins Presentation / CloudViews.Org - Cloud Computing Conference...
 
TechInsight - Real World Implementation of VDI
TechInsight - Real World Implementation of VDITechInsight - Real World Implementation of VDI
TechInsight - Real World Implementation of VDI
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01
 
Servlet programming
Servlet programmingServlet programming
Servlet programming
 

More from Carles Farré

Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)
Carles Farré
 
DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)
Carles Farré
 
Web Usability (Slideshare Version)
Web Usability (Slideshare Version)Web Usability (Slideshare Version)
Web Usability (Slideshare Version)
Carles Farré
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond
Carles Farré
 
[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing
Carles Farré
 
[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security
Carles Farré
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
Carles Farré
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
Carles Farré
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
Carles Farré
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
Carles Farré
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
Carles Farré
 
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
Carles Farré
 
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
Carles Farré
 
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
Carles Farré
 
[ABDO] Data Integration
[ABDO] Data Integration[ABDO] Data Integration
[ABDO] Data Integration
Carles Farré
 
[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language
Carles Farré
 

More from Carles Farré (16)

Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)
 
DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)
 
Web Usability (Slideshare Version)
Web Usability (Slideshare Version)Web Usability (Slideshare Version)
Web Usability (Slideshare Version)
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond
 
[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing[DSBW Spring 2009] Unit 09: Web Testing
[DSBW Spring 2009] Unit 09: Web Testing
 
[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
 
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
 
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
 
[ABDO] Data Integration
[ABDO] Data Integration[ABDO] Data Integration
[ABDO] Data Integration
 
[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 

[DSBW Spring 2009] Unit 05: Web Architectures

  • 1. Unit 5: Physical Architecture Design  Introduction  Dimensions to be considered  Architecture Patterns: Single server   Separate database  Replicated Web servers  Separated scripting engines  Application servers  Web Caching  Cloud Computing  J2EE architectures for WebApps dsbw 2008/2009 2q 1
  • 2. Physical Architecture Design: A Definition “  (physical) architecture design concentrates on the choice of the hardware, network, and software components that make up the system, to find the mix of these components that best meets the application requirements, and at the same time respects the ” technical and economic constraints of the project. Ceri et al., 2003 dsbw 2008/2009 2q 2
  • 3. Architecture: Logical vs. Physical 3-Layered Logical Architecture 2(+)-Tiered Client/Server Physical Architecture ...... Client WB WB (tier #1) .gif HTTP .html Presentation Layer WS WS Business Logic Layer Server (tier #2) Data Mapping Layer AppServer Scripting Eng. WapServer DBMS File/Database Management System Server HOST ...... DBMS (tier #3) dsbw 2008/2009 2q 3
  • 4. Logical-Physical Mapping: Distributed Presentation  One fragment of the Web presentation layer is executed on the Web browser: Download and rendering of HTML (XML, …) documents   Client-side scripting: JavaScript, VBScript  Execution of embedded components: Applets, ActiveX  The other fragment of the Web presentation layer is executed on the server side:  Retrieval and delivery of static documents/files  Execution of server scripts  Interaction with the Business Logic Layer  The other layers are executed on the server tier(s)  AJAX (RIA) applications may change this paradigm. dsbw 2008/2009 2q 4
  • 5. Dimensions of Architecture Design  Non-functional requirements that pursue the achievement of an adequate level of service  Physical, financial and organizational constraints that may affect decision-making  Alternative scenarios in architecture deployment dsbw 2008/2009 2q 5
  • 6. Non-functional requirements that may affect Architecture Design  Performance  The application must sustain the expected workload defined in terms of:  maximum number of concurrent users,  the number of page requests served per unit of time  the maximum time for delivering a page to the client  Scalability  The architecture must be easily extensible  Availability  Faults should not affect significantly the service delivered to users  State maintenance  The state of the user interaction must be preserved, even when the application is distributed on multiple machines or failures occur  Security:  Data should be protected  Users should be identified and granted access only to the data and functions they are entitled to dsbw 2008/2009 2q 6
  • 7. Constraints of Architecture Design  Cost  Every configuration requires a different investment, in terms of processors, network infrastructure, interfaces, and software licenses  The application budget may limit the choice of hardware resources and software products  Complexity  Some configurations are simpler than others to set up and maintain  The unavailability or the cost of specialized technical skills may constrain the architecture design  Corporate standards and infrastructures  The WebApp may be deployed within a corporate IT infrastructure, which may constrain the selection of hardware resources and software products. dsbw 2008/2009 2q 7
  • 8. Scenarios of Architecture Deployment  Internal  The application architecture is kept inside the enterprise and maintained by the internal IT department.  Housed  The application architecture is maintained by the internal IT department of the enterprise, but is physically installed at an external service provider.  Hosted  The application architecture is located at the premises of an external service provider, who also maintains it. dsbw 2008/2009 2q 8
  • 9. Architecture Pattern: Single Server Host Web server HTTP HTTP Script engine rooter/ DBMS firewall Client (browser) dsbw 2008/2009 2q 9
  • 10. Single Server Pattern: Evaluation (1/2)  Performance  Depends on the configuration of the server: CPU speed, available memory, disk access latency, etc.  The DBMS is both memory and CPU-intensive  Scalability  Is bound by the hardware architecture of the selected server  Availability  Every software and hardware element is a single point of failure: if it breaks, the entire system hangs.  Can be improved by adding redundant hardware resources (multiple CPUs, mirrored disks) and by installing multiple processes running different instances of the Web server, script engine, and database … dsbw 2008/2009 2q 10
  • 11. Single Server Pattern: Evaluation (2/2)  State maintenance  No problems with none of the three possibilities to store user data: client, server or database  Security:  This the weakest aspect of is configuration: attackers breaking the firewall and the Web server can take control of the host and gain direct access to the database, violating data protection  Low cost, as far as massive parallelism is not required.  Low complexity dsbw 2008/2009 2q 11
  • 12. Architecture Pattern: Separate Database Host 2 Host 1 HTTP HTTP rooter/ firewall Client firewall DBMS Web server + Script engine (browser) Demilitarized Zone (DMZ) dsbw 2008/2009 2q 12
  • 13. Separate Database Pattern: Evaluation  Better performance  One extra machine  Each tier can be tuned to the requirements of the installed software  More scalable  It is possible to act separately on each tier.  Normally, the first bottleneck is in the middle tier  Availability is not improved  Each component is still a single point of failure  Significantly improved security  The inner firewall may disallow HTTP requests at all and let only database requests pass, making it more difficult for attackers to reach the data tier. dsbw 2008/2009 2q 13
  • 14. Architecture Pattern: Replicated Web Server WS + Script engine #1 Host 2 HTTP HTTP HTTP HTTPS rooter/ firewall/ WS + Script engine #2 firewall Client load balancer HTTPS DBMS (browser) WS + Script engine #3 (secure) Demilitarized Zone (DMZ) dsbw 2008/2009 2q 14
  • 15. Replicated Web Server Pattern: Evaluation  Improved performance and scalability:  Load balancing  Clustering: A cluster is a group of servers (aka nodes) that provide a unified view of the services that they individually offer  Improved availability:  Fail-over: if a cluster node fails, its workload can be redistributed to the other nodes of the same cluster  Session state maintenance on the replicated servers  Session affinity (aka sticky sessions): The load balancer sends all the incoming requests pertinent to a given session to the same server.  Session migration: Session state is shared by the servers in the cluster  Improved data transmission security  One of the Web servers may be configured to handle the connections that require cryptographic protection. dsbw 2008/2009 2q 15
  • 16. Architecture Pattern: Separate Script Engine WS #1 SE #1 Host 2 HTTP HTTP HTTP HTTPS rooter/ firewall/ WS #2 SE #2 firewall Client load balancer DBMS HTTPS (browser) WS #3 SE #3 (secure) dsbw 2008/2009 2q 16
  • 17. Separate Script Engine Pattern : Evaluation  Improved performance, scalability and availability  Web server and the scripting engine can be replicated independently so that the number and configuration of the hosts can be optimized: a well- balanced configuration may require more machines for the scripting engines than for the Web servers.  The communication overhead introduced by the separation should be compensated by the performance increase. dsbw 2008/2009 2q 17
  • 18. Architecture Pattern: Application Server Application WS #1 SE #1 Server HTTP Host 2 HTTP HTTP HTTPS Application rooter/ firewall/ WS #2 SE #2 Server firewall Client load balancer DBMS HTTPS (browser) Application WS #3 SE #3 Server (secure) dsbw 2008/2009 2q 18
  • 19. Application Server Pattern: Evaluation  An application server is a software platform, distinct from the Web server, dedicated to the efficient execution of business components for supporting the construction of dynamic pages.  Improved performance, scalability and availability:  Transparent component distribution, replication, and load balancing: The application server automatically manages the creation of processes, the replication of business objects and their allocation to the available processes, and the allotment of client requests to the increase and decrease of the actual workload.  Automatic failure recovery: The application server may detect hardware, software and network failures, and avert client requests addressed to a failed component and route them to available replicas of the same business object.  Resource pooling: The application server may handle pools of expensive resources, like database connections, and share these resource among multiple business objects in an optimized way dsbw 2008/2009 2q 19
  • 20. Web Caching  Caching consists of temporarily storing resources in a fast access location, for later retrieval.  Benefits:  Reduction of the response time  Reduction of computation effort when the resource is dynamically build  Anything can be cached:  Static HTML pages and multimedia files.  Fragments of pages computed by scripting programs.  Intermediate data consumed by the scripting programs for producing page, e.g. XML files.  The result of database queries or other application commands dsbw 2008/2009 2q 20
  • 21. Web caching: Where to Cache (1/3)  Browser caching:  Proxy caching: Proxy caches store a local copy of Every Web browser contains a cache each resource requested by users, of HTML pages and multimedia files and avoid accessing the Internet for used to speed up the rendition of retrieving frequently asked pages pages that contain cached objects. dsbw 2008/2009 2q 21
  • 22. Web caching: Where to Cache (2/3)  Server accelerators A server accelerator is a “buffer” placed in front of a server cluster that  intercepts requests, caches copies of the objects produced by the servers, and delivers them to the subsequent requests.  Page prefetching: Based on the last request, the server accelerator loads into cache those pages that are more probable of being requested next. dsbw 2008/2009 2q 22
  • 23. Web caching: Where to Cache (3/3)  Content delivery networks (CDNs)  CDNs are systems of computers networked together across the Internet that allow content providers to outsource their caching infrastructures  When a client requests a page to the origin server, this returns a page with rewritten links that point to the nodes of the CDN  The CDN serves requests selecting the optimal copy of the page by taking into account the geographical location of the user and the real- time traffic conditions. dsbw 2008/2009 2q 23
  • 24. Cloud Computing Cloud computing is a style of computing in which dynamically scalable and often virtualised resources are provided as a service over the Internet. (Wikipedia) Source: http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf dsbw 2008/2009 2q 24
  • 25. Cloud Computing: Some Providers Cloud Layer Examples of Commercial Cloud Systems Cloud Application Google Apps and Salesforce Customer Relation Layer Management (CRM) system Cloud Software Google App Engine and Salesforce Apex System Environment Computational Resources: Amazon's EC2. Enomalism Elastic Cloud. Cloud Software Storage: Amazon's S3. EMC Storage Managed Infrastructure Service. Communication: Microsoft Connected Service Framework (CSF). Grid and Cluster Computing Systems like Globus Software Kernel and Condor. Firmware / IBM-Morgan Stanley's Computing Sublease, and Hardware IBM's Kittyhawk Project. dsbw 2008/2009 2q 25
  • 26. J2EE Architectures for Web Applications  “Classic” J2EE architecture, using remote EJBs and entity beans  Local EJB architecture, using local EJBs  Ad hoc J2EE architecture without EJB  Lightweight container architecture dsbw 2008/2009 2q 26
  • 27. “Classic” J2EE Architecture Web Container J2EE Servlets / Web Classes Server Business Interface Business Delegate RMI J2EE EJB Container Server (Same or Session EJB Separate JVM Entity EJB (optional) DBMS Legacy System dsbw 2008/2009 2q 27
  • 28. Local EJB architecture Web Container J2EE Servlets / Web Classes Server Business Interface Business Delegate Local EJB Invocation EJB Container (Single JVM) Session EJB Entity EJB (optional) DBMS Legacy System dsbw 2008/2009 2q 28
  • 29. Ad hoc J2EE Architecture without EJB Web Container J2EE Servlets / Web Classes Server Business Interface Implementation DBMS Legacy System dsbw 2008/2009 2q 29
  • 30. Lightweight Container Architecture J2EE MVC Web Framework Server Web Container Business Interface POJO Implementation with declarative services via AOP O/R Mapping Layer RDBMS (Optional) Other transactional resource dsbw 2008/2009 2q 30
  • 31. J2EE Architectures: A Comparison Architect. Simplicity Productivity Transaction Horizontal Testability Capable Scalability Remote Complex to Poor, Yes Inherent support Poor. It's very EJBs implement and because of for distributing hard to test use business complexity of objects. EJBs outside a objects. distribution container. In- and EJB container programming testing is slow model. and complex. Local EJBs Slightly less Slightly better Yes Relies on web Poor. As for complex to than for container to remote EJBs. access remote EJBs. deliver clustering. No EJB, ad Typically Productivity is No. Explicit Depends on Depends on hoc simpler than usually better use of implementation implementation architectures than with EJB specific APIs strategy. strategy. using EJB. architectures. is required. Light- Good, as High Yes, if using Relies on web Good. Easy to weight business AOP. container to test business container objects are deliver clustering. objects outside POJOs. an application server. dsbw 2008/2009 2q 31
  • 32. References  S. Ceri et al. Designing Data-Intensive Web Applications. Capítol 10. Morgan Kaufmann, 2003.  JOHNSON, Rod and HOELLER Juergen. Expert One-on-One J2EE Development without EJB. Willey Publishing, 2004  Youseff, L.; Butrico, M.; Da Silva, D. Toward a Unified Ontology of Cloud Computing. Grid Computing Environments Workshop, 2008. GCE '08, pages 1-10. http://www.cs.ucsb.edu/~lyouseff/CCOntology/CloudOntology.pdf dsbw 2008/2009 2q 32