Get started
Bring yourself up to speed with our introductory content.
Get started
Bring yourself up to speed with our introductory content.
5 noteworthy challenges of automotive software development
Modern cars are loaded with technology, but creating in-vehicle applications isn't always a cakewalk. Here are five unique challenges developers face with automotive software. Continue Reading
Breaking down the cornerstone components of OOP
Object-oriented programming changed the game for those working on complex software systems. But what are the key elements that define this prominent approach to development? Continue Reading
5 types of software architecture design worth knowing
While it's impossible to identify any software design style as the 'most important' to know, there are five major patterns with which all architects should arguably become familiar. Continue Reading
-
Microservices vs. headless architecture: A brief breakdown
Microservices and headless architectures are both techniques capable of providing flexibility and modularity, but how do you make a wise choice between them? Continue Reading
How to create a smart contract using Ethereum
Solidity is a powerful language for programming and deploying smart contracts on the Ethereum network. Here's how to get started, with advice on choosing the best tools. Continue Reading
The past, present and future of AI coding tools
Though AI-assisted software development has seemingly hit a historical turning point, things like intelligent code completion, static code analysis arguably led the way.Continue Reading
business capability
A business capability is the ability of an organization to achieve a specific outcome or objective.Continue Reading
API security
Application program interface (API) security refers to policies and procedures that protect APIs against malicious attacks and vulnerabilities.Continue Reading
data type
In software programming, data type refers to the type of value a variable has and what type of mathematical, relational or logical operations can be applied without causing an error.Continue Reading
state diagram (state machine diagram or statechart diagram)
A state diagram (also known as a state machine or statechart diagram) is an illustration of all the possible behavioral states a software system component may exhibit and the various state changes it's predicted to undergo over the course of its ...Continue Reading
-
Falcor vs. GraphQL: The differences that matter
While both essentially represent two approaches to a similar end goal, there are some key differences between GraphQL and Falcor that are worth understanding.Continue Reading
middleware
Middleware is software that is used to bridge the gap between applications and operating systems.Continue Reading
service-oriented architecture (SOA)
Service-oriented architecture (SOA) is a software development model that makes services reusable and lets them communicate across different platforms and languages to form new applications.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
A quick look at the Carbon programming language
Carbon is an experimental programming language built to stand on the shoulders of C++ -- but with a new outlook on memory safety, threading and functional programming.Continue Reading
Ways to get by when Waterfall development reigns
Against all odds, the Waterfall methodology maintains a tight grip over countless numbers of software development teams. Fortunately, there are a few ways to make the most of it.Continue Reading
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