The Trusted Technology Partner in
   Business Innovation




  August 2010                       August 2010                     July 2010                         June 2010
  Ranked as one of the top          Ranked as one of the top        Named Microsoft Partner of        CRN Magazine's list of the
  technology solution providers     technology solution providers   the Year Finalist in 2 separate   largest solution providers in
  in America by CRN Magazine        in America by CRN Magazine      categories                        North America
  for the past 4 years.             for the past 4 years.




  2009 2010     2007 2008



The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
N-Tier Application
                                      Architecture




                                     Manoj Kumar
                                     Sr. Technical Consultant
                                     manoj.kumar@neudesic.com   11 June, 2012




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Bad or no architecture:-




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Good architecture:-




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Architecture??




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Architecture??

                  Standard definition: Noun
                  - The art or practice of designing and constructing buildings.
                  - The style of a building with regard to a specific period, place, or culture.

                             "Architecture is that great living creative spirit which from
                             generation to generation, from age to
                             age, proceeds, persists, creates, according to the nature of
                             man, and his circumstances as they change. That is really
                             architecture.“
                                                    - Frank Lloyd Wright on Architecture



The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Software Architecture??
       “Software architecture encompasses the set of significant decisions about the organization of a
       software system including the selection of the structural elements and their interfaces by which the
       system is composed; behavior as specified in collaboration among those elements; composition of
       these structural and behavioral elements into larger subsystems; and an architectural style that
       guides this organization. Software architecture also involves
       functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology
       constraints, tradeoffs and aesthetic concerns.”
                          - Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman derived and refined a definition of architecture based
                            on work by Mary Shaw and David Garlan (Shaw and Garlan 1996)


       What Software Architecture Is Not?
        Lower-level design (e.g. design of component internals and algorithms) and implementation,
        The information (or data) model,
        Architecture of the physical system, including processors, networks


The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
What if we don’t care about Architecture?




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Why is Architecture Important?
             Like any other complex structure, software must be built on a solid foundation

             Failing to consider key scenarios, design for common problems, or the long
              term consequences of key decisions can put application at risk

             Modern tools and platforms help to simplify the task of building
              applications, but they do not replace the need to design your application
              carefully

             The risks exposed by poor architecture includes:
                Unstable application
                Unable to support existing or future business requirements
                Difficult to deploy or manage in a production environment
The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
The Goals of Architecture
                                                        Consider the following high level concerns when
                                                        thinking about software architecture:
                                                         How will the users be using the application?
                                                         How will the application be deployed into
                                                           production and managed?
                                                         What are the quality attribute requirements for the
                                                           application, such as security, performance,
                                                           concurrency, internationalization, and
                                                           configuration?
                                                         How can the application be designed to be flexible
                                                           and maintainable over time?
                                                         What are the architectural trends that might impact
                                                           your application now or after it has been deployed?

The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
N-Tier Architecture




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Single Tier Application Architecture


                                                        Pros:
                                                         Simple
                                                         Efficient
                                                         Uncomplicated

                                                        Cons:
                                                         Terribly expensive to run




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
2-Tier Application Architecture




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
2 – Tier Pros and Cons




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
3-Tier Application Architecture




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
N-Tier Logical Model




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
3-Tier Application Architecture: Scenario




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
3 – Tier Pros and Cons




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Middleware - Simplifies 3-tier application development
                                                        Characteristics:
                                                         Simplifies partitioning of
                                                          application processing among
                                                          clients and servers
                                                         Manages distributed transactions
                                                          among multiple databases
                                                         Communicates with heterogeneous
                                                          database products within a single
                                                          application
                                                         Supports application scalability
                                                         Supports service requests
                                                          prioritization, load-balancing, data
                                                          dependent routing and queuing

The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Q&A




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Test




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Test
      1. A benefit of the three-tier architecture is which of the following?
      A. New modules can be built to support specific business needs
      B.      Performance improves for compiled SQL statements
      C.      Results in a thinner client and database server
      D. All of the above.

      2. Three-tier architecture includes which of the following?
      A. Three server layers
      B.      A client layer and two server layers
      C.      Two client layers and one server layer
      D. Three client layers



The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Test
      3. The three different application logic components are which of the following?
      A. Presentation, Client, and Storage
      B.      Presentation, Client, and Processing
      C.      Presentation, Processing, and Storage
      D. Presentation, Processing, and Network

      4. A database server is responsible for which of the following?
      A. Database storage
      B.      Data processing logic
      C.      Data presentation logic
      D. All of the above.



The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Test
      5. Scalability defines?
      A. The connectivity in a client/server system.
      B. The size of a database.
      C. The capacity of a system to accommodate growing numbers of users.
      D. The speed of an information system.

      6. As the reliability increases, failure intensity?
      A. Decreases
      B.      Increases
      C.      No effect
      D. These are not related




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Test
      7. Middleware can be present in:

      A. Server.
      B. Client.
      C. Both.




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Answers for Test:

    1.       D
    2.       B
    3.       C
    4.       A
    5.       C
    6.       A
    7.       C




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services
Thank You
                                                         Manoj Kumar
                                                         manoj.kumar@neudesic.com




The Trusted Technology Partner in Business Innovation
Products | Consulting Services | Managed Services

N-Tier Application Architecture

  • 1.
    The Trusted TechnologyPartner in Business Innovation August 2010 August 2010 July 2010 June 2010 Ranked as one of the top Ranked as one of the top Named Microsoft Partner of CRN Magazine's list of the technology solution providers technology solution providers the Year Finalist in 2 separate largest solution providers in in America by CRN Magazine in America by CRN Magazine categories North America for the past 4 years. for the past 4 years. 2009 2010 2007 2008 The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 2.
    N-Tier Application Architecture Manoj Kumar Sr. Technical Consultant manoj.kumar@neudesic.com 11 June, 2012 The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 3.
    Bad or noarchitecture:- The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 4.
    Good architecture:- The TrustedTechnology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 5.
    Architecture?? The Trusted TechnologyPartner in Business Innovation Products | Consulting Services | Managed Services
  • 6.
    Architecture?? Standard definition: Noun - The art or practice of designing and constructing buildings. - The style of a building with regard to a specific period, place, or culture. "Architecture is that great living creative spirit which from generation to generation, from age to age, proceeds, persists, creates, according to the nature of man, and his circumstances as they change. That is really architecture.“ - Frank Lloyd Wright on Architecture The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 7.
    Software Architecture?? “Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization. Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.” - Philippe Kruchten, Grady Booch, Kurt Bittner, and Rich Reitman derived and refined a definition of architecture based on work by Mary Shaw and David Garlan (Shaw and Garlan 1996) What Software Architecture Is Not?  Lower-level design (e.g. design of component internals and algorithms) and implementation,  The information (or data) model,  Architecture of the physical system, including processors, networks The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 8.
    What if wedon’t care about Architecture? The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 9.
    Why is ArchitectureImportant?  Like any other complex structure, software must be built on a solid foundation  Failing to consider key scenarios, design for common problems, or the long term consequences of key decisions can put application at risk  Modern tools and platforms help to simplify the task of building applications, but they do not replace the need to design your application carefully  The risks exposed by poor architecture includes:  Unstable application  Unable to support existing or future business requirements  Difficult to deploy or manage in a production environment The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 10.
    The Goals ofArchitecture Consider the following high level concerns when thinking about software architecture:  How will the users be using the application?  How will the application be deployed into production and managed?  What are the quality attribute requirements for the application, such as security, performance, concurrency, internationalization, and configuration?  How can the application be designed to be flexible and maintainable over time?  What are the architectural trends that might impact your application now or after it has been deployed? The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 11.
    N-Tier Architecture The TrustedTechnology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 12.
    Single Tier ApplicationArchitecture Pros:  Simple  Efficient  Uncomplicated Cons:  Terribly expensive to run The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 13.
    2-Tier Application Architecture TheTrusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 14.
    2 – TierPros and Cons The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 15.
    3-Tier Application Architecture TheTrusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 16.
    N-Tier Logical Model TheTrusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 17.
    3-Tier Application Architecture:Scenario The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 18.
    3 – TierPros and Cons The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 19.
    Middleware - Simplifies3-tier application development Characteristics:  Simplifies partitioning of application processing among clients and servers  Manages distributed transactions among multiple databases  Communicates with heterogeneous database products within a single application  Supports application scalability  Supports service requests prioritization, load-balancing, data dependent routing and queuing The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 20.
    Q&A The Trusted TechnologyPartner in Business Innovation Products | Consulting Services | Managed Services
  • 21.
    Test The Trusted TechnologyPartner in Business Innovation Products | Consulting Services | Managed Services
  • 22.
    Test 1. A benefit of the three-tier architecture is which of the following? A. New modules can be built to support specific business needs B. Performance improves for compiled SQL statements C. Results in a thinner client and database server D. All of the above. 2. Three-tier architecture includes which of the following? A. Three server layers B. A client layer and two server layers C. Two client layers and one server layer D. Three client layers The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 23.
    Test 3. The three different application logic components are which of the following? A. Presentation, Client, and Storage B. Presentation, Client, and Processing C. Presentation, Processing, and Storage D. Presentation, Processing, and Network 4. A database server is responsible for which of the following? A. Database storage B. Data processing logic C. Data presentation logic D. All of the above. The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 24.
    Test 5. Scalability defines? A. The connectivity in a client/server system. B. The size of a database. C. The capacity of a system to accommodate growing numbers of users. D. The speed of an information system. 6. As the reliability increases, failure intensity? A. Decreases B. Increases C. No effect D. These are not related The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 25.
    Test 7. Middleware can be present in: A. Server. B. Client. C. Both. The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 26.
    Answers for Test: 1. D 2. B 3. C 4. A 5. C 6. A 7. C The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services
  • 27.
    Thank You Manoj Kumar manoj.kumar@neudesic.com The Trusted Technology Partner in Business Innovation Products | Consulting Services | Managed Services

Editor's Notes

  • #21 Remember the last note talk about embracing UX team and working closely with them