0% found this document useful (0 votes)
40 views28 pages

Arquitecturas de Software

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 28

PRESENTATION

SOFTWARE
ARCHITECTURES
By: Esteban Novoa Quiñones, Jorge
Steven Ayala Benitez, Henry Duvan
Bonilla Urrego
what is software
architecture?
The software architecture of a system is the set of structures
needed to reason about the system, comprising software
elements, relationships between them and properties of both.
Benefits of software architecture
1. It creates a solid foundation for the software project
2. Makes your platform scalable
3. Increases performance of the platform
4. Reduces costs, avoids codes duplicity
5. Better code maintainability.
6. Enables quicker changes in IT Systems.
7. Reduces its time to market, reduces development time
6 main Software
Architectures

01 Microkernel
or plugin 02 Microservices
architecture

03 Event based
architecture
6 main Software
Architectures

04 05
Model - View - Controller
Client / Server

06 Blackboard
Microkernel
Architecture
The main feature of this architecture is its decomposition by
components that provees facilities to implement plugins, that
makes it customizable and adaptative to variable requirements

Minimal core OS
Plugins
Microkernel Diagram

Plug-in Plug-in
component component
Core
System
Plug-in Plug-in
component component
Microservices Architecture
Decomposition in independent

services

Distributed services

Independent
databases

Smart endpoint

Microservices
Diagram
Event-driven
architecture

This architecture is centralized in events, that means, every


component have specifics function to process events, either it
communicates them, recives them or manage them.

Events producers
Events Channels
Events Proccesors
Event-driven architecture
topologies

Mediator Topology
The mediator gets the event form event
queue, makes a process and then send it by
events channel for the events processor.
Event-driven architecture
topologies

Broker Topology
The broker gets the event and puts it in a
specific channel to be processed by the event
processor interested in this event.
Financial Forecasts
Your projections for expense, sales, profit, growth, etc.

40

30

20

10

0
Expense Sales Profit Growth
Development costs Human resources
Booklets are printed materials with Booklets are printed materials with
four or more pages, containing four or more pages, containing
details about a business, event, details about a business, event,
product, promotion, etc. product, promotion, etc.

Advertising costs Sources of capital


Booklets are printed materials with Booklets are printed materials with
four or more pages, containing four or more pages, containing
details about a business, event, details about a business, event,
product, promotion, etc. product, promotion, etc.
Model - View -
Controller
MVC is a software architecture proposal used to separate the
code by its different responsibilities, maintaining different
layers that are responsible for doing a very specific task,
which offers various benefits
Why MVC?
Software engineers are dedicated to studying
how software creation processes can be
improved and one of the solutions they have
come up with is the architecture based on
layers that separate the code according to
their responsibilities or concepts. Therefore,
when we study MVC, the first thing we have to
know is that it is there to help us create
applications with higher quality.
Examples of MVC

Example 1 Example 2 Example 3


In the beginning, HTML mixed both In a work team with different profiles, While manipulating data in an
content and presentation. everyone would have to work with the application, we may be accessing the
same files. same data in different places.
MVC concepts

1 2 3
Model View Controller
Model
It is the layer where you work with the data, therefore it
will contain mechanisms to access the information and
also to update its status. We will usually have the data
in a database, so in the models we will have all the
functions that will access the tables and make the
corresponding selects, updates, inserts, etc.
View
The views, as their name makes us understand, contain
the code of our application that will produce the
visualization of the user interfaces, that is, the code that
will allow us to render the states of our application in
HTML.
Controller
It really is a layer that serves as a link between the
views and the models, responding to the mechanisms
that may be required to implement the needs of our
application. However, its responsibility is not to directly
manipulate data, nor to display any type of output, but
to serve as a link between models and views to
implement the various development needs.
MVC desing pattern
Client / Server

Client-server denotes a relationship between cooperating


programs in an application, composed of clients initiating
requests for services and servers providing that function or
service.
Categories of
Client-Server

One-Tier architecture: Two-Tier architecture:


consists of a simple program running on a consists of the client, the server, and the
single computer without requiring access protocol that links the two tiers. The
to the network. User requests don’t Graphical User Interface code resides
manage any network protocols, therefore on the client host and the domain logic
the code is simple and the network is resides on the server host
relieved of the extra traffic.

Three-Tier architecture: N-Tier architecture:


consists of a presentation tier, which is the divides an application into logical layers,
User Interface layer, the application tier, which separate responsibilities and
which is the service layer that performs manage dependencies, and physical
detailed processing, and the data tier, tiers, which run on separate machines,
which consists of a database server that improve scalability, and add latency from
stores information. the additional network communication.
Blackboard

The blackboard architecture is a powerful expert system


architecture and model of cooperative, distributed problem
solving. It can deal with large amounts of diverse, erroneous
and incomplete knowledge to solve problems. The basic
blackboard architecture consists of a shared data region call
the blackboard, a set of independent knowledge sources, and
a control unit, also called the scheduler
Components

1 2 3
Blackboard ( BB ) Knowledge Control unit
sources ( KSs)
References
https://www.oreilly.com/library/view/software-architecture-
patterns/9781491971437/ch02.html
https://refactorizando.com/arquitectura-de-microservicios/
https://www.techtarget.com/searchapparchitecture/tip/What-is-
a-microkernel-architecture-and-is-it-right-for-
you#:~:text=A%20microkernel%20architecture%20is%20called,can%
20offer%20software%20lifecycle%20benefits.
Sommerville, I. (2022). Software Engineering. Pearson.
Bass, L. (2022). Software Architecture in Practice. Pearson India.
https://desarrolloweb.com/articulos/que-es-mvc.html
https://www.indeed.com/career-advice/career-
development/what-is-client-server-model
https://www.eolss.net/sample-chapters/C18/E6-43-25-04.pdf
https://aprendearquitecturasoftware.wordpress.com/2018/10/05/
patron-pizarra-blackboard-grupo-8/

You might also like