GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

Software architecture

Andrea Quintero Informática Englisch

Inhalt der Mindmap

Software architecture

  1. Types

    • CLIENT - SERVER
      • What is it?
        • is a distributed application structure that partitions task or workload between the providers of a resource or service, called servers, and service requesters called clients. In the client-server architecture, when the client computer sends a request for data to the server through the internet, the server accepts the requested process and deliver the data packets requested back to the client. Clients do not share any of their resources.
      • Characteristics
        • Client
          • Always initiates requests to servers.
            • Waits for replies.
              • Receives replies.
                • Usually connects to a small number of servers at one time.
                  • Usually interacts directly with end-users using any user interface such as graphical user interface.
        • Server
          • Always wait for a request from one of the clients.
            • Serves clients' requests then replies to the clients with the requested data.
              • A server may communicate with other servers in order to serve a client request.
                • If additional information is required to process a request (or security is implemented), a server may request additional data (passwords) from a client before processing a request.
                  • End users typically do not interact directly with a server, but use a client.
      • Types
        • 1-tier architecture
        • 2-tier architecture
        • 3-tier architecture
    • LAYERS
      • What is it?
        • Components within the layered architecture pattern are organized into horizontal layers, each layer performing a specific role within the application
        • Although the layered architecture pattern does not specify the number and types of layers that must exist in the pattern, most layered architectures consist of four standard layers:
          • presentation
          • business
          • database
          • persistence
    • MONOLITHIC
      • What is it?
        • Monolith means composed all in one piece. The Monolithic application describes a single-tiered software application in which different components combined into a single program from a single platform.
      • Components
        • Authorization
          • responsible for authorizing a user
        • Presentation
          • responsible for handling HTTP requests and responding with either HTML or JSON/XML (for web services APIs)
        • Business logic
          • the application’s business logic.
        • Database layer
          • data access objects responsible for accessing the database.
        • Application integration
          • integration with other services (e.g. via messaging or REST API). Or integration with any other Data sources.
        • Notification module
          • responsible for sending email notifications whenever needed.
      • Benefits
        • Simple to develop
          • Simple to test
            • Simple to deploy
              • Simple to scale horizontally
      • Disadvantage
        • Large and Complex Applications
          • Slow Development
            • Unscalable
              • Unreliable
                • Inflexible
    • SOA
      • What is it?
        • Style of software design where services are provided to the other components by application components, through a communication protocol over a network.
      • Major roles
        • Service provider
        • Service consumer
      • Components
        • Application fronted
        • Service
          • Contract
          • Implementation
            • Business Logic
            • Data
          • Interface
        • Service repository
        • Service bus
      • Guiding Principles
        • Standardized service contract
        • Loose coupling
        • Abstraction
        • Reusability
        • Autonomy
        • Discoverability
        • Composability
    • MICROSERVICES
      • What is it?
        • Microservice architecture, or simply microservices, is a distinctive method of developing software systems that tries to focus on building single-function modules with well-defined interfaces and operations.
      • Characteristics
        • Focuses on decoupling and bounded context
        • Systematic Change creates new service
        • Focuses on continuous delivery and DevOps
        • Uses the simple messaging system for communication
        • Use lightweight protocols such as HTTP, REST etc.
        • Provides independent data storage
      • Philosophy
        • Componentization to perform the single functionality
        • Organized as per business capabilities
        • Focuses on products, not process
        • Service is elastic, resilient, composable, minimal, and complete
        • Decentralized governance and data management
    • DISTRIBUTED
      • What is it?
        • In distributed architecture, components are presented on different platforms and several components can cooperate with one another over a communication network in order to achieve a specific objective or goal.
      • Basis
        • Reliability
        • Transparency
          • Failure
          • Access
          • Persistence
          • Location
          • Technology
          • Migration / Relocation
          • Replication
          • Concurrency
        • Availability
      • Advantages
        • Resource sharing
          • Openness
            • Concurrency
              • Scalability
                • Fault tolerance
      • Disadvantages
        • Complexity
          • Security
            • Manageability
              • Unpredictability

Informationen

Beschreibung
Informática Mindmap am Software architecture, erstellt von Andrea Quintero am 19/05/2020.
Erstellt von
Andrea Quintero
Aufrufe
0
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck