Presenter: PhuongNQK. Goal Give an overview of currently prominent app architectures in relation to each other.

Slides:



Advertisements
Similar presentations
Connected Health Framework
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Introducing Campus Networks
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
ARCH-01: Introduction to the OpenEdge™ Reference Architecture Don Sorcinelli Applied Technology Group.
Service Oriented Architecture Concepts March 27, 2006 Chris Armstrong
Public cloud definition Public cloud is a cloud in which Cloud infrastructure is available to the general public. Public cloud define cloud computing.
Ganesh Subramanian 22/12/2010
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
SE 464: Industrial Information systems Systems Engineering Department Industrial Information System LAB 02: Introduction to SAP.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
John Sadd Progress Fellow and OpenEdge Evangelist
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
Logical Architecture and UML Package Diagrams
Oakkar Fall The Need for Decision Engine Automate business processes Implement complex business decision logic Separation of rules and process Business.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Web application architecture
Chapter 7: The Object-Oriented Approach to Requirements
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
SOA, BPM, BPEL, jBPM.
UML - Development Process 1 Software Development Process Using UML (2)
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
Cloud Models – Iaas, Paas, SaaS, Chapter- 7 Introduction of cloud computing.
Domain Driven Design. Set of blog posts spanning 10 months – building an app Fefactored along the way code to Patterns eg repository.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Design Patterns: Structural Design Patterns
Progress SOA Reference Model Explained Mike Ormerod Applied Architect 9/8/2008.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Chapter 13 Logical Architecture and UML Package Diagrams 1CS6359 Fall 2012 John Cole.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Moving On To Design Chapter 9. Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Software Design: Principles, Process, and Concepts Getting Started with Design.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.
1 Moving On To Design Chapter 9. 2 Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase.
Produced in cooperation with: HP Technology Forum & Expo 2009 © 2009 Hewlett-Packard Development Company, L.P. The information contained herein is subject.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
More SQA Reviews and Inspections. Types of Evaluations  Verification Unit Test, Integration Test, Usability Test, etc  Formal Reviews  aka "formal.
Architecture Ecosystem SIG March 2010 Update Jacksonville FL.
Parasoft : Improving Productivity in IT Organizations David McCaw.
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
A service Oriented Architecture & Web Service Technology.
Introduction to Enterprise Systems. Slide 2 Objectives Review the enterprise ecosystem.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
The Holmes Platform and Applications
Introduction to Oracle Forms Developer and Oracle Forms Services
Lecture 12 Attribute Driven Design Again
SERVICE ORIENTED ARCHITECTURE
Agenda Federated Enterprise Architecture Vision
Introduction to Oracle Forms Developer and Oracle Forms Services
Architecting Web Services
Introduction to Oracle Forms Developer and Oracle Forms Services
Architecting Web Services
Software Design and Architecture
Introduction to Enterprise Systems
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Architectural Roadmap
SO-Architectural Roadmap
The changing Development Organization
From Use Cases to Implementation
Michael Stephenson Microsoft MVP - Azure
Presentation transcript:

Presenter: PhuongNQK

Goal Give an overview of currently prominent app architectures in relation to each other

Old lessons What is a software app?  A system designed to automate specific tasks in a logical manner to satisfy a set of requirements Basic design principles  Interface > Implementation  Modularization Design views  Conceptual -> Logical -> Physical

What is app architecture? Organizational design of an entire software application, including all sub-components and external applications interchanges Goals:  Complete the necessary business processes as defined in the system requirements  Support future growth

What will we look at? Layered architecture DDD (Domain-Driven Design) Clean architecture SOA (Service-Oriented Architecture) Cloud-based architecture

Layered architecture Use n layers for allocating the different responsibilities of a software product A layer can depend on any lower layer, but can not depend on any higher one Layer vs. tier Layer 1 Layer 2 … Layer N-1 Layer N

Traditional examples A simple, typical example

Traditional examples Service Interface Layer is separated from Business Layer

Traditional examples Further layer separation

Traditional examples Conceptual and physical views combined

Traditional examples So easy to understand something like this now, right ?

Traditional examples Just to remind, layered architecture is applicable to any application: client-side, server-side, etc.

Q & A What’s wrong with the examples?  They are similar, but not standardized. How can we standardize them?  DDD.

What is D omain D riven D esign ? A standardization of the best implementations of layered architecture An approach to software development for complex needs by connecting the implementation to an evolving model

DDD premises Primary focus = Domain layer Base complex designs on a model of the domain Initiate a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems

DDD Vocabulary Visit here: Visit here:

DDD – Typical layers

Visit here: Visit here:

DDD N-layer architecture

A bit deeper dive

Q & A What’s wrong with that implementation?  Domain layer depends on Infrastructure layer. Why is such dependency wrong?  Because real-world domains do not. How to remove that dependency?  Clean architecture

What is clean architecture? Aim to produce systems:  Testable  Independent of Frameworks UI Database Any External Agency Dependency rule:  Source code dependencies can only point inwards

Clean architecture Visit here: Visit here:

Examples Hexagonal architecture: Hexagonal architecture:

Onion architecture Application core Onion architecture: Onion architecture:

Q & A What’s wrong with all aforementioned stuffs?  They have not focused on delivering sets of functionality independently as well as flexibly integrating with other apps. But they can, using components / modules.  Not as well as SOA services. How better?  They help to maximize the business values. You can deliver smaller parts at cheaper costs, and you can deliver more by better integrating with other apps.

From business view Enterprise Architecture: Enterprise Architecture:

Needs for SOA

SOA principles Service orientation at the core Process integrity at Internet scale Integration with enterprise capibilities and backend systems A basis in industry standards Leveraging and extending open-source techs Providing the platform for a growing ecosystem

SOA platform

Example

Q & A What’s wrong with SOA?  It’s just one side of a coin What coin?  Cloud computing What’s the other side?  Dynamic infrastructure Oh, my god! What are they all about?

Sample need: Socializing with SOA

Cloud computing We already have Internet as the backbone

Cloud application What remain are our applications need to be cloud-ready What remain are our applications need to be cloud-ready

Dynamic infrastructure … and dynamic infrastructure has to be available via Internet … and dynamic infrastructure has to be available via Internet

Cloud-based architecture is simple Then our app architecture is as simple as we used to see

Example with Azure platform

Q & A What’s wrong with the cloud?  Well, it is the current and future trend of software development. The cloud has changed medicine, real estate, small business, enterprise IT and a whole lot more. Engaging businesses will stick to the cloud. More here.here What’s after the cloud?  I’ve answered so far. It’s your turn now (tip in references).

As a summary Layered Architecture solves biz requirements DDD focuses on the Domain layer, thus increases biz semantics Clean Architecture adds more technical value by making the app core technical-independent SOA maximizes biz values by delivering functionality in industry-compliant units Cloud-based Architecture maximizes technical values all over the Internet to deliver SOA services … ( You know what the next will do ?)

Q & A

References Design views:   Layered architecture:   DDD (Domain-Driven Design):      Clean architecture:   Enterprise Architect:  SOA:    SOA Design Principles for Dummies, IBM Limited Edition, Claus T.Jensen, A Wiley Brand Cloud computing:      

For more, please visit: