SlideShare a Scribd company logo
1 of 16
Tech Talk – Enterprise Architect
[Fundamentals of Architecture - 3]
Roadmap







Architecture vs Design
Architectural Patterns
Architectural Workflow
Diagrams of the key architecture views
Architecture types
Common Enterprise Architecture
Frameworks
Common Questions











What, if anything, makes architecture different from
design?
Does object oriented analysis and design have anything to
do with architecture?
What goes on in the environment in which architecture is
created and turned into a product? Why does the architect
care?
What documents does architect produce, and what’s the
purpose of those documents?
Is it important for the architect to be technology expert?
What are patterns, and why they are relevant?
What is important?


Architecture or Design?
Difference is !!!
Architect
Abstract
Deliverables

Area of Focus

Design

High / broad focus on
few details
System and sub
system plans,
architecture prototypes
Non-functional
requirements, and risk
management

Low / specific focus on
many details
Component design,
code specification
Functional
requirements
Common Principals


Common characteristics of architecture
and design







Abstraction
Encapsulation
Cohesion
Coupling

Its same as of design and implementation,
where refactor is required to incorporate
changes
Architectural Principals









Separation of Concerns
Dependency Inversion Principal
Separate Unstable from Stable
components
Use component and container frameworks
Keep component interfaces simple and
clear
Keep remote component interface coarsegrained
Architecture Patterns and
Design Patterns







Standard solution to recurring problem
To identify problems, and trade-offs with
respect to service level requirements
Split problem, one pattern is not a
solution to all
Synthesize system by combining all
patterns into aggregate construct
Architectural Patterns




The layers pattern
Model View Controller (MVC)
The tiers Pattern
The Layers Pattern


Decompose into sub-tasks and each
represents a particular level of
abstraction.
MVC Pattern


Separate concerns in data presentation,
processing, and storage. A good
example for separation of concern
The Tiers Pattern
Model 1 Architecture
Model 2 - Architecture
PAC Architecture


Presentation Abstraction Control
Pattern
Q&A

More Related Content

What's hot (12)

Beyond a Product View of Architecture
Beyond a Product View of ArchitectureBeyond a Product View of Architecture
Beyond a Product View of Architecture
 
A software design creates meaningful engineering representation
A software design creates meaningful engineering representationA software design creates meaningful engineering representation
A software design creates meaningful engineering representation
 
My Skills in the fiels of EI&C
My Skills in the fiels of EI&CMy Skills in the fiels of EI&C
My Skills in the fiels of EI&C
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Analisis desain sistem informasi ppt.2
Analisis desain sistem informasi ppt.2Analisis desain sistem informasi ppt.2
Analisis desain sistem informasi ppt.2
 
Power point for project
Power point for projectPower point for project
Power point for project
 
solution architect
solution architectsolution architect
solution architect
 
Software Architecture Practices
Software Architecture PracticesSoftware Architecture Practices
Software Architecture Practices
 
Reconstructing Software Architecture
Reconstructing Software ArchitectureReconstructing Software Architecture
Reconstructing Software Architecture
 
Abc cycle in sw architecture ashish
Abc cycle  in sw architecture ashishAbc cycle  in sw architecture ashish
Abc cycle in sw architecture ashish
 
Software System Engineering - Chapter 3
Software System Engineering - Chapter 3Software System Engineering - Chapter 3
Software System Engineering - Chapter 3
 
Ramkumar Kashyap
Ramkumar KashyapRamkumar Kashyap
Ramkumar Kashyap
 

Similar to Tech Talk - Enterprise Architect - 02

02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
stanbridge
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 

Similar to Tech Talk - Enterprise Architect - 02 (20)

O.Savchenko FWDays workshop Software Architecture
O.Savchenko FWDays workshop Software ArchitectureO.Savchenko FWDays workshop Software Architecture
O.Savchenko FWDays workshop Software Architecture
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Technical Architecture
Technical ArchitectureTechnical Architecture
Technical Architecture
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)Cs 1023 lec 3 architecture (week 1)
Cs 1023 lec 3 architecture (week 1)
 
3 analysis and design overview
3 analysis and design overview3 analysis and design overview
3 analysis and design overview
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Business Analysts V Architects
Business Analysts V ArchitectsBusiness Analysts V Architects
Business Analysts V Architects
 
Togaf online training
Togaf online trainingTogaf online training
Togaf online training
 
Online Togaf 9.1 Training in USA
Online Togaf 9.1 Training in USAOnline Togaf 9.1 Training in USA
Online Togaf 9.1 Training in USA
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
An Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture ConceptsAn Introduction To Fundamental Architecture Concepts
An Introduction To Fundamental Architecture Concepts
 
Chapter1
Chapter1Chapter1
Chapter1
 
Bring your own architecture
Bring your own architectureBring your own architecture
Bring your own architecture
 
Lectures 11-17.pptx
Lectures 11-17.pptxLectures 11-17.pptx
Lectures 11-17.pptx
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
SDA 01.pptx
SDA 01.pptxSDA 01.pptx
SDA 01.pptx
 

Recently uploaded

Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
Matteo Carbone
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
Abortion pills in Kuwait Cytotec pills in Kuwait
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
lizamodels9
 

Recently uploaded (20)

Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceEluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
Call Girls Service In Old Town Dubai ((0551707352)) Old Town Dubai Call Girl ...
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 

Tech Talk - Enterprise Architect - 02

Editor's Notes

  1. We typically have this question, which is more important, architecture or design? Can a good architecture make up for a bad design or can a good design overcome a bad architecture? We have typically the question "Did you say the system's architecture was nice and clean? Yes, you just cannot see it because it is hidden behind the codes. Here, we are looking at how architecture looks at the high level and design looks at a low level.
  2. Did not you say this system's Architecture was nice and clean. Yes You just cannot see it because it is hidden behind the code.
  3. Here, we see the difference between architecture and design. So, looking at the architecture, at the abstraction level, typically an architect focuses on the high/broad focus only few details. On the other hand, a designer focuses on the low/specific details of your components. In terms of deliverables, the architect typically has system and subsystem plans architecture prototype that is the delivery before an architect. For a designer, it is a component design and code specification. In terms of the area of focus, the architect focuses more on the nonfunctional requirements, which are the quality of services and risk management. On the other hand, the designer focuses more on the functional requirements, the detailed code of your different components.
  4. Looking at common principles between architecture and design. When we develop the architecture of a system, we focus on planning sub-systems. Therefore, the basis for the architecture is components rather than individual objects. However, these components are essentially high-level object and the principles of good object-oriented design also apply at the architecture level. So, the common characteristics of architecture and design are abstraction, encapsulation, cohesion, and coupling. <br>Abstraction it focuses more on the architecture significant with details of a component. Encapsulation supports abstraction by hiding the details that were ignored at the time the abstraction was defined. Cohesion supports abstraction and encapsulation by ensuring that all of the details hidden by the encapsulation boundary contribute to the definition of the abstraction. Coupling measures the connectedness of components. Inside an encapsulation boundary, coupling can be helpful because it adds to the cohesion of the abstraction. Like design and implementation, the architecture also requires refactoring to incorporate changes.
  5. Let us look now at the architectural principles. Architectural principles are axioms or assumptions that suggest good practices when constructing system architecture. So, we need to focus on the separation of concerns- the principle tells the architect to separate components into different functional or infrastructure purposes. Dependency inversion - depend upon abstractions and do not depend upon concretions. Separate volatile from stable components - as a system changes, you want to reduce the changes to a small number of packages. The use of component and container frameworks - a component is a software component that is managed by a container, for example Servlet, which is managed by the Web container. Keep component interfaces simple and clear - the more complex the component interface is the harder it is for the software developers to understand how to use the component. And keep remote component interfaces coarse-grained so when you are communicating through the network, use the coarse-grained calls rather than fine-grained calls. Architecture principles are axioms or assumptions that suggest good practices when constructing a system architecture Separation of Concerns Dependency Inversion Principle Separate volatile from stable components Use component and container frameworks Keep component interfaces simple and clear Keep remote component interfaces coarse grained
  6. Let us look now at introduction to architecture patterns. Patterns are standard solutions to commonly recurring problems in a particular context. By using a pattern-based reasoning process to plan systems, the architect can analyze systems to identify problems and of course trade-offs with respect to service-level requirements. And every one of these problems might be solved by applying a particular pattern or it might require further analysis and decomposition. So, the architect can then synthesize the system by combining the pattern solutions into aggregate constructs. The idea here is making use of these solutions of common recurring problems that happened again and again.
  7. Looking at the Layers pattern. The Layers pattern structures applications so that they can be decomposed into groups of subtasks and every group represents a particular level of abstraction. So, we can look at it as the low level, which is the hardware level or the hardware platform. Then, we get into the lower platform, which is the OS with installed JVM on it. Then, the upper platform represented by the application server and then the next level would the virtual platform representing the specifications and APIs and frameworks that the application server uses based on the specification. For example, if it is Java A6, then it would be all the APIs inspects related to the Java EE 6 the current Java EE specification, which is the Java EE6. And the application level and that is the in-house application that you typically implement. The Layers pattern structures applications so they can be decomposed into groups of subtasks, and each group represents a particular level of abstraction. A graphic depicting the Layers pattern is displayed.
  8. Looking at the MVC pattern. The MVC pattern enhances the flexibility and maintainability of application by separating the application into three distinct modules. First is the model and that represents the data model. The view are the components for viewing the representation of the data model. Controller are the components for allowing interaction. <br>We can use the MVC pattern to design a data model with clearly specified interfaces that allow the model to be manipulated and queried. You can use the MVC pattern to ensure proper decoupling among components within a particular tier, which helps with the separation of concerns in developing application components.
  9. Looking at the Tiers pattern. The Tiers pattern is made of the client tier and then after that we have the Web tier, which typically handles the presentation application and usually the view components can be used to handle that. We can make use of servlets, JSPs, JSF components, and helpers. <br>The business tier handles the business logic that is where you have your Enterprise Java Bean, like session bean, stateless, stateful or singleton session beans. Also, they can handle the messaging system, can consume messages asynchronously through a message through a bean. You also can handle Web services that interacting with Web service client through either SOAP, JAX-WS Web service or REST, which is JAX-RX Web service. <br>And then you have the integration tier that contains all the components that allow you to integrate to external systems. For example, domain stores, like hibernate or top link accessing the database, JDBC, JMS, JPA, connectors, and so forth to access outside system, external systems, which are the resources tier, which could be database or an EIS system like an Enterprise Information System.
  10. Let us look now at architecture model. Let us look at Model 1 architecture. In the Model 1 architecture, the JSP page alone is responsible for processing the incoming request and relying back to the client. There is still separation of presentation from content because all data access is performed using beans. Obviously, at the JSP access the beans, which access in this case the business tier and/or those Java beans would be representing a business tier or business processes and JSPs can actually contain some code or embed some Java in it to access your business components or your data component. This is typically used for simple small applications. <br>Model 1 suffers from the hard-coded navigation and of the responsibility of the controller model and view. This is not normally used any longer in favor of Model 2 architecture.
  11. In the architecture Model 2, we have servlets, JSF components, and helpers. This is typically used for highly dynamic enterprise applications or particularly presentation tier enterprise applications. <br>So, the Model 2 architecture is actually the way to go and it is a hybrid approach for serving dynamic content. Since it combines the use of both servlets and JSPs, where the servlet act as the controller and it is the in charge of the request processing and the creation of any beans or object by the JSP as well as deciding depending on the user's actions. The JSP is responsible for building the view so that will go back to the client or the browser. The clients do show all the information that the client needs.
  12. Now looking the PAC architecture pattern. Sometimes we use this Presentation Abstraction Control (PAC) pattern. It actually introduce a level of decoupling between the tiers to further define the separation of concerns that was initiated with the MVC pattern. So here we have the abstraction, which is representing data and represents the presentation or the view and control represents all the services or all the controllers that are part of the architecture. <br>So, it separates in a sense that it treats the presentation tier as one level and then the controller would be moved to the business tier and the abstraction represents the data model.