server-side

Pattern: Server-side service discovery

Context Services typically need to call one another. In a monolithic application, services invoke one another through language-level method or procedure calls. In a traditional distributed system deployment, services run at fixed, well known locations (hosts and ports) and so can easily call one another using HTTP/REST or some RPC …

serverclient

Pattern: Client-side service discovery

Context Services typically need to call one another. In a monolithic application, services invoke one another through language-level method or procedure calls. In a traditional distributed system deployment, services run at fixed, well known locations (hosts and ports) and so can easily call one another using HTTP/REST or some RPC …

EnterpriseAPIMgt_2tier-498x600

Pattern: API Gateway

Context Let’s imagine you building an online store that uses the Microservices pattern and that you are implementing the product details page. You need to develop multiple versions of the product details user interface: HTML5/JavaScript-based UI for desktop and mobile browsers – HTML is generated by a server-side web application …

decentralised-data

Pattern: Microservices Architecture

Context You are developing a server-side enterprise application. It must support a variety of different clients including desktop browsers, mobile browsers and native mobile applications. The application might also expose an API for 3rd parties to consume. It might also integrate with other applications via either web services or a …

single-tier

Pattern: Monolithic Architecture

Context You are developing a server-side enterprise application. It must support a variety of different clients including desktop browsers, mobile browsers and native mobile applications. The application might also expose an API for 3rd parties to consume. It might also integrate with other applications via either web services or a …

SAAS-PAAS-IAAS

IaaS, PaaS, SaaS (Explained and Compared)

SAAS: SOFTWARE AS A SERVICE Cloud application services, or Software as a Service (SaaS), represent the largest cloud market and are still growing quickly. SaaS uses the web to deliver applications that are managed by a third-party vendor and whose interface is accessed on the clients’ side. Most SaaS applications …

MitM

Man-in-the-Middle (MitM)

Intercepting and Redirecting Genuine Web Sites Traffic Man-it-the-Middle attack uses proxy servers, DNS poisoning and local Hosts file tampering to intercept and redirect end user traffic to fake sites. Fraudsters use MitM tactics to capture login credentials and other sensitive data and tamper with transactions in real-time. MitM attacks can be …

bigdata-larger-pane_0

Big Data Analytics

Big data analytics refers to the process of collecting, organizing and analyzing large sets of data (“big data”) to discover patterns and other useful information. Big data analytics will help organizations to better understand the information contained within the data and will also help identify the data that is most …

nobody-listens3

Side Channel Attacks on Cryptographic Software

When it comes to cryptographic software, side channels are an often-overlooked threat. A side channel is any observable side effect of computation that an attacker could measure and possibly influence. Crypto is especially vulnerable to side channel attacks because of its strict requirements for absolute secrecy. In the software world, side …

cookie_2

Cookies and Security

Cookies would seem to have all the security they need by virtue of the domain, path, andsecure options, but the nature of web pages complicates the matter significantly. User logins and session hijacking One of the most common uses for cookies is to track user login state. The mechanism is quite simple: you …

SoftwareArchitect

What I Do As A Software Architect

With thousands of factors to consider when designing and coding software, someone has to provide overall direction when teams are working on multiple apps for multiple clients. That code wrangler is the software architect, who guides projects from concepts to working products. To learn what it means to be a …