Get started
Bring yourself up to speed with our introductory content.
Get started
Bring yourself up to speed with our introductory content.
The raw -- yet burgeoning -- potential of coreless banking
While coreless banking is still a novel concept, it shows strong potential to liberate banks from the rigid software systems that have dominated the industry for decades. Continue Reading
The fundamentals of achieving high cohesion and low coupling
It's easy to say, 'high cohesion, low coupling,' but is it as easy to put into practice? We examine some of the basics behind cohesion, coupling and the right balance between them. Continue Reading
client-side framework
A client-side framework is a software development framework that focuses on executing application processes on end user devices rather than the application's own server. Continue Reading
-
What developers need to know about open banking
Open banking has made financial transactions easier and more secure for those with multiple banking accounts; however, vulnerabilities within open APIs raise security concerns. Continue Reading
dependency injection
In object-oriented programming (OOP) software design, dependency injection is the process of supplying a resource that a given piece of code requires. Continue Reading
API testing
API testing is a type of software testing that analyzes an application program interface (API) to verify that it fulfills its expected functionality, security, performance and reliability.Continue Reading
native code
Native code is binary data compiled to run on a processor, such as an Intel x86-class processor.Continue Reading
polyglot persistence
Polyglot persistence is a conceptual term that refers to the use of different data storage approaches and technologies to support the unique storage requirements of various data types that live within enterprise applications.Continue Reading
GraphQL
GraphQL is an open source query language that describes how a client should request information through an API.Continue Reading
enterprise architecture framework
An enterprise architecture framework (or simply EA framework) is the collection of processes, templates and tools that software teams use to plan and build large, enterprise-grade application architecture systems.Continue Reading
-
componentization (component-based development)
Componentization is an approach to software development that involves breaking software down into identifiable and reusable pieces that application developers can independently build and deploy.Continue Reading
5 ways to survive the challenges of monolithic architectures
Those unable to make the jump to microservices still need a way to improve architectural reliability. Here are five ways software teams can improve a monolith's reliability.Continue Reading
What are the types of APIs and their differences?
Enterprises increasingly rely on APIs to interact with customers and partners. It all starts with knowing which type of API is right for your needs.Continue Reading
How architects can use napkin math to forecast performance
Although modern software systems can be inordinately complex, architects can still use simple napkin math to glean quick overviews of system performance and architecture alignment.Continue Reading
state management
Application state management is the process of maintaining knowledge of an application's inputs across multiple related data flows that form a complete business transaction -- or a session -- to understand the condition of the app at any given ...Continue Reading
source code
Source code is the fundamental component of a computer program that is created by a programmer, often written in the form of functions, descriptions, definitions, calls, methods and other operational statements.Continue Reading
gRPC
GRPC is a high-performance remote procedure call framework released by Google in August 2016.Continue Reading
data dictionary
A data dictionary is a collection of descriptions of the data objects or items in a data model to which programmers and others can refer.Continue Reading
application programming interface (API)
An application programming interface (API) is code that enables two software programs to communicate.Continue Reading
A primer on core development team structure concepts
To establish the right development team size, managers must look at each member's responsibilities and communication paths, as well as know when to split teams.Continue Reading
feature flagging
Feature flagging is a simple programming design pattern that allows developers to turn application features on or off without having to redeploy or change code already in production.Continue Reading
12 API security best practices to protect your business
As with any software development cycle, API security must be built in from the start. Follow these guidelines to design, deploy and protect your APIs.Continue Reading
The basics, benefits and risks of cell-based architecture
Developers who work with microservices may find the concept familiar, but cell-based architecture takes its own spin on modularity to address large-scale system failover issues.Continue Reading
3 common CQRS pattern problems, and how teams can avoid them
While CQRS can provide a lot of value when it comes to structuring an event-driven architecture, improper practices can cause this pattern to be more of a burden than a blessing.Continue Reading
Why API naming conventions matter, and how to master the art
Naming APIs can be a daunting process, since it requires a balance between simplicity and clarity. JJ Geewax, author of 'API Design Patterns,' has some advice for developers.Continue Reading
10 application performance metrics and how to measure them
You've deployed your application, now what? To keep your application performing well, you need to track various metrics. Take a look at these ten critical KPIs.Continue Reading
parser
In computer technology, a parser is a program that's usually part of a compiler. It receives input in the form of sequential source program instructions, interactive online commands, markup tags or some other defined interface.Continue Reading
A 7-point language comparison of Ballerina vs. Golang
This comparison takes a look at both Ballerina and Golang, including their support for high-level programming, libraries, built-in management features and community support.Continue Reading
How viable is it to create microservices in Python?
Python offers microservices developers access to advanced scripting, embedded testing and plugin tooling. But is it a good fit for you? And what are the alternatives if it isn't?Continue Reading
Frameworks for an observability maturity model
Observability helps developers and IT operations teams identify and fix system issues. And with the right setup, it can improve on itself over time to catch potential problems.Continue Reading
Can you really use a shared database for microservices?
Since its emergence as a mainstream development style, experts have debated the wisdom of using a shared database for microservices versus providing a database per service.Continue Reading
system of systems (SoS)
A system of systems (SoS) is the collection of multiple, independent systems in context as part of a larger, more complex system.Continue Reading
SOAP (Simple Object Access Protocol)
SOAP (Simple Object Access Protocol) is a message protocol that enables the distributed elements of an application to communicate.Continue Reading
6 ways cloud-native and cloud-agnostic architecture differ
While development teams should carefully weigh the tradeoffs between cloud-native and cloud-agnostic architectures, they don't necessarily have to commit to just one.Continue Reading
object
In object-oriented programming (OOP), objects are the things you think about first in designing a program and they are also the units of code that are eventually derived from the process.Continue Reading
The basics of working with declarative programming languages
While imperative programming is often a go-to, the declarative approach has proved useful in the face of demands for complex, feature-heavy business applications.Continue Reading
Micro apps vs. microservices: What developers should know
On the surface, the contrast between micro apps and microservices simply seems a matter of front-end vs. back-end concerns. But this isn't the only difference worth knowing.Continue Reading
An intro to cloud-native microservices and how to build them
While there are a variety of ways to develop cloud-native microservices, focus on strategies that enable as much agility, resiliency and development simplicity as possible.Continue Reading
Resource Description Framework (RDF)
The Resource Description Framework (RDF) is a general framework for representing interconnected data on the web.Continue Reading
Business Process Modeling Language (BPML)
Business Process Modeling Language (BPML) is an XML standard metalanguage used to outline business processes in an easy-to-understand way.Continue Reading
event handler
In programming, an event handler is a callback routine that operates asynchronously once an event takes place.Continue Reading
WebLogic
Oracle WebLogic Server is a leading e-commerce online transaction processing (OLTP) platform, developed to connect users in distributed computing production environments and to facilitate the integration of mainframe applications with distributed ...Continue Reading
SPML (Services Provisioning Markup Language)
Services Provisioning Markup Language (SPML) is an open source XML-based standard that facilitates the exchange of account provisioning information among applications, services and organizations.Continue Reading
BPEL (Business Process Execution Language)
BPEL (Business Process Execution Language) is an XML-based language that allows web services, APIs and human processes in a service-oriented architecture (SOA) to interconnect and share data in a business workflow.Continue Reading
Eclipse (Eclipse Foundation)
Eclipse is a free, Java-based development platform known for its plugins that allow developers to develop and test code written in other programming languages.Continue Reading
EAI (enterprise application integration)
Enterprise application integration (EAI) is the task of uniting the databases and workflows associated with business applications to ensure that the business uses the information consistently and that changes to core business data made by one ...Continue Reading
BSA | The Software Alliance
BSA | The Software Alliance is an advocate for public policies that foster technology innovation and drive economic growth.Continue Reading
web services
Web services are a type of internet software that use standardized messaging protocols and are made available from an application service provider's web server for use by a client or other web-based programs.Continue Reading
Remote Procedure Call (RPC)
Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details.Continue Reading
foo (in software programming)
Foo (pronounced FOO) is a term used by programmers as a placeholder for a value that can change depending on conditions or on information passed to the program.Continue Reading
open API (public API)
Review this definition to learn about open APIs, also known as a public APIs, including their associated benefits, industry use cases and unique attributes.Continue Reading
Enterprise Service Bus (ESB)
An enterprise service bus (ESB) is a software platform used to distribute work among connected components of an application.Continue Reading
8 fundamental microservices security best practices
Despite the benefits, microservices will introduce profound security issues. We review the biggest microservices security challenges and eight strategies used to combat them.Continue Reading
refactoring
Refactoring is the process of restructuring code, while not changing its original functionality.Continue Reading
user interface (UI)
The user interface (UI) is the point of human-computer interaction and communication in a device.Continue Reading
UUID (Universal Unique Identifier)
A UUID (Universal Unique Identifier) is a 128-bit value used to uniquely identify an object or entity on the internet.Continue Reading
The functional programming paradigm at enterprise scale
Many enterprise-level architects rely on an object-oriented approach, but there are good reasons and practical ways to introduce functional programming within large-scale systems.Continue Reading
microservices
Microservices, or microservices architecture, is an approach to application development in which a large application is built from modular components or services.Continue Reading
The 4 Golden Signals, and how to put them into practice
There's nothing easy about monitoring distributed systems, but the right metrics can help. Here's how to put the Golden Signals of software reliability to work.Continue Reading
An intro to the 5 SOLID principles of object-oriented design
In this primer on SOLID, we'll examine the five principles it embodies, the practices they encourage and the reasons these concepts matter.Continue Reading
object-oriented programming (OOP)
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic.Continue Reading
How pub/sub messaging works, and why it matters today
While pub/sub has been a standard messaging approach for decades, it's arguably more important than ever for developers to understand what it is, how it works and why it matters.Continue Reading
The 6 non-negotiable REST architecture constraints
While REST-centric design isn't necessarily hard, there are some non-negotiable rules when it comes to resource provisioning. Here are six all architects should know.Continue Reading
5 proven patterns for resilient software architecture design
Maintaining a resilient software architecture is a constant battle. Luckily, there are a few design methods that can help teams instill the reliability they desperately need.Continue Reading
9 iPaaS use cases for the enterprise
IPaaS connects enterprise applications and data, which encompasses on-premises systems to the cloud and IoT. Review these iPaaS examples to understand how it all works.Continue Reading
webhook
A webhook is a software architecture approach that allows applications and services to submit a web-based notification to other applications whenever a specific event occurs.Continue Reading
Frameworks, libraries and languages for machine learning
While some developers may find the complex algorithms and processes intimidating, these frameworks, libraries and languages for machine learning can help get you started.Continue Reading
A quick rundown of multi-runtime microservices architecture
Learn the basics about a multi-runtime architecture, and the two-component approach it takes to provide a standard for abstracted microservice-messaging processes.Continue Reading
API lifecycle management
API lifecycle management is a part of API management that supports the design, development and maintenance of APIs, including their transitioning from design and testing to a production environment.Continue Reading
Is life as a freelance software developer for you?
Succeeding as a freelance developer requires much more than waiting for clients to contact you. Explore how to boost your skill set and land freelance gigs.Continue Reading
application service provider (ASP)
An application service provider (ASP) is a company that offers individuals or enterprises access to applications and related services over the internet.Continue Reading
Micro apps: A simple way to add sophisticated features
When building a new web or mobile app seems like overkill, micro apps might be the most practical way for developers to add niche features and functionality.Continue Reading
3 predictable application architect interview questions
Software architecture roles are awfully industry specific, but there are still baseline skills employers want to see. These are some of the questions they ask to find those skills.Continue Reading
mobile application development
Mobile application development is the set of processes and procedures involved in writing software for small, wireless computing devices.Continue Reading
'Practical Microservices' speaks the language of web developers
In his book, 'Practical Microservices,' Ethan Garofolo introduces web developers to the coding principles that form the foundation for microservices-based applications.Continue Reading
API proxy
An API proxy is a thin application program interface (API) server that exposes an interface for an existing service or services.Continue Reading
Get to know 4 microservices versioning techniques
Are you struggling to apply updates consistently across distributed services? Here are four microservices versioning techniques that can help.Continue Reading
software
Software is a set of instructions, data or programs used to operate computers and execute specific tasks.Continue Reading
Break down platforms via a service decomposition strategy
There's more than one way to break down a platform into microservices. This excerpt from 'Developing Microservice APIs with Python' explains one: decomposition by subdomains.Continue Reading
10 microservices patterns all architects should know
Choosing the right design pattern is a critical part of managing a microservices-based architecture. Here are 10 distributed design approaches that all architects should know.Continue Reading
Micronaut framework
Micronaut is an open source JVM-based software framework for building lightweight, modular applications and microservices.Continue Reading
App interface design principles all developers should know
The first step in choosing the right app interface design is to understand the options available to developers. Dive deeper into these popular design concepts and approaches.Continue Reading
An overview of headless architecture design
Decoupling the back-end components of an application is certainly valuable, but what about the front end? This is where headless architecture comes into play.Continue Reading
16 REST API design best practices and guidelines
Common guidelines for API design lead to better functionality and flexibility. Follow these REST API design best practices to help you tend to your burgeoning API garden.Continue Reading
CQRS (command query responsibility segregation)
Command query responsibility segregation (CQRS) is a programming design pattern that treats retrieving data and changing data differently.Continue Reading
The basics of monitoring and observability in microservices
We examine how monitoring and observability help development teams keep a distributed architecture from coming unraveled by individual failures and performance bottlenecks.Continue Reading
API testing checklist and best practices
Proper API testing isn't just determining if an endpoint is functional. Follow these steps to identify your organization's important APIs, which tests to run, and which tools to use.Continue Reading
API management
API management is the process by which an organization creates, oversees and controls application program interfaces (APIs) in a secure and scalable environment.Continue Reading
REST (REpresentational State Transfer)
REST (REpresentational State Transfer) is an architectural style for developing web services.Continue Reading
Webhooks explained simply, and how they differ from an API
Webhooks and APIs seem to both accomplish the same goal. So what's the difference? We review what a webhook does, how it differs from an API, and where it is the right design choice.Continue Reading
The 4 rules of a microservices defense-in-depth strategy
Learn the four must-follow rules when introducing defense-in-depth to a distributed microservices architecture, especially when services traverse numerous networks and apps.Continue Reading
Two simple ways to create custom APIs in Azure
Learn how to create custom APIs in Azure through both Azure Portal and Visual Studio Code, and review some post-deployment best practices that add value and security to those APIs.Continue Reading
The CAP theorem, and how it applies to microservices
Learn the fundamentals of the CAP theorem, how it comes into play with microservices and what it means for your distributed architecture design choices.Continue Reading
software stack
A software stack is a collection of independent components that work together to support the execution of an application.Continue Reading
How to master microservices data architecture design
Microservices have data management needs unlike any other application architecture today. You'll need the right set of knowledge, mechanisms and design principles to succeed.Continue Reading
Microservices logging best practices every team should know
Creating a log system for distributed microservices is a task much easier said than done. Joydip Kanjilal offers a few best practices to shore up microservices logging processes.Continue Reading
How to create an effective software architecture roadmap
For large-scale initiatives that span the enterprise, a well-planned software architecture roadmap allows development teams to navigate projects safely and efficiently.Continue Reading
Understanding the modular monolith and its ideal use cases
While it isn't always the right fit, a modular monolith can often provide a happy medium between the simplicity of a traditional monolith and the complexity of microservices.Continue Reading
The non-tech skills of software development project managers
Teams are key to the success of any enterprise software project, but development teams don't run themselves. Managers need the right skills to keep their employees on track.Continue Reading
How to start managing software development teams like a pro
Team performance is vital to a software project's success. Avoid these common management challenges and learn about the key metrics that help monitor your team's effectiveness.Continue Reading