Json Web Token (JWT)

JSON Web Token (JWT) is an open standard and are just one piece of the puzzle in ensuring trust and security in our application. The reason why JWT are used is to prove that the sent data was actually created by an authentic source. (are not used to secure data)

A JSON Web Token consists of three parts: Header, Payload and Signature.

The header component of the JWT contains information about how the JWT signature should be computed. The header is a JSON object in the following format:
“typ”: “JWT”,
“alg”: “HS256”

In this JSON, the value of the “typ” key specifies that the object is a JWT, and the value of the “alg” key specifies which hashing algorithm is being used to create the JWT signature component. Continue reading “Json Web Token (JWT)”

Software Architecture

What is Software architecture?
Software architecture is the process of defining a structured solution that fulfils all of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability.

Architectural decision is based on several factors

Series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application.
Architectural decision includes the selection of the structural elements and their interfaces by which the system is composed.

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?
Software architectural documents need to be simple and to be created with different views based on requirement of viewers which can be business analyst, software developers, tech leads.

Continue reading “Software Architecture”