Application Architecture Definitions
-
A
Apache OpenWhisk
Apache OpenWhisk is an open source and serverless cloud platform that performs functions in response to events.
-
API economy
The API economy refers to the set of business models and practices designed around the use of application programming interfaces (APIs) in today's digital economy.
-
API endpoint
An API endpoint is a point at which an API -- the code that allows two software programs to communicate with each other -- connects with the software program.
-
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.
-
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.
-
API proxy
An API proxy is a thin application program interface (API) server that exposes an interface for an existing service or services.
-
API security
Application program interface (API) security refers to policies and procedures that protect APIs against malicious attacks and vulnerabilities.
-
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.
-
API-centric application
An API-centric application is a web service that is built using application programming interfaces (APIs) to exchange data with other applications.
-
Apigee
Apigee, pronounced App-ih-gee, is an API gateway management tool offered by Google to exchange data across cloud services and applications.
-
application architecture
An application architecture is a structural map of how an organization's software applications are assembled and how those applications interact with each other to meet business or user requirements.
-
application programming interface (API)
An application programming interface (API) is code that enables two software programs to communicate.
-
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.
-
AutoRABIT
AutoRABIT is an end-to-end release management suite specifically aimed at streamlining the development and release of Salesforce.com applications by automating their continuous integration (CI) and continuous delivery (CD) processes.
-
B
Ballerina language
Ballerina language is an open-source, cloud-native programming language designed to ease the burden of integration development associated with enterprise applications.
-
Bean
In its JavaBeans application program interface for writing a component, Sun Microsystems calls a component a "Bean" (thus continuing their coffee analogy).
-
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.
-
BSA | The Software Alliance
BSA | The Software Alliance is an advocate for public policies that foster technology innovation and drive economic growth.
-
business capability
A business capability is the ability of an organization to achieve a specific outcome or objective.
-
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.
-
business rules engine (BRE)
A business rules engine (BRE) is a software component that allows non-programmers to add or change business logic in a business process management (BPM) system.
-
C
class diagram
A class diagram is an illustration of the relationships and source code dependencies among classes in the Unified Modeling Language (UML).
-
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.
-
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.
-
CQRS (command query responsibility segregation)
Command query responsibility segregation (CQRS) is a programming design pattern that treats retrieving data and changing data differently.
-
D
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.
-
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.
-
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.
-
E
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 application are correctly reflected in others.
-
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.
-
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.
-
Enterprise Service Bus (ESB)
An enterprise service bus (ESB) is a software platform used to distribute work among connected components of an application.
-
event handler
In programming, an event handler is a callback routine that operates asynchronously once an event takes place.
-
event-driven architecture (EDA)
An event-driven architecture (EDA) is a framework that orchestrates behavior around the production, detection and consumption of events as well as the responses they evoke.
-
F
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.
-
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.
-
functionality
In information technology, functionality (from Latin functio meaning "to perform") is the sum or any aspect of what a product, such as a software application or computing device, can do for a user.
-
G
GraphQL
GraphQL is an open source query language that describes how a client should request information through an API.
-
gRPC
GRPC is a high-performance remote procedure call framework released by Google in August 2016.
-
I
interoperability
Interoperability (pronounced IHN-tuhr-AHP-uhr-uh-BIHL-ih-tee) is the ability of different systems, devices, applications or products to connect and communicate in a coordinated way, without effort from the end user.
-
Istio
Istio is an independent, open source service mesh technology that enables developers to connect, secure, control, observe and run a distributed microservice architecture (MSA), regardless of platform, source or vendor.
-
J
Jenkins X
Jenkins X is an open source system that provides continuous integration (CI), continuous delivery (CD) and automated testing tools designed for cloud-native applications in a Kubernetes environment.
-
K
Kong
Kong is an open source API gateway and platform that acts as middleware between compute clients and the API-centric applications.
-
M
Maven
Maven is a project management build tool used mostly in Java development.
-
Micronaut framework
Micronaut is an open source JVM-based software framework for building lightweight, modular applications and microservices.
-
middleware
Middleware is software that is used to bridge the gap between applications and operating systems.
-
mobile application development
Mobile application development is the set of processes and procedures involved in writing software for small, wireless computing devices.
-
What are microservices? Everything you need to know
Microservices, or microservices architecture, is an approach to the design and implementation of enterprise applications in which a large application is built from modular components or services.
-
N
native code
Native code is binary data compiled to run on a processor, such as an Intel x86-class processor.
-
O
OAuth
OAuth (Open Authorization) is an open standard authorization framework for token-based authorization on the internet.
-
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.
-
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.
-
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.
-
Open Grid Services Architecture (OGSA)
The Open Grid Services Architecture (OGSA) is a set of standards defining the way in which information is shared among diverse components of large, heterogeneous grid systems.
-
OpenAPI Specification
The OpenAPI (OAI) Specification defines a standard, programming language-agnostic interface description for RESTful APIs.
-
P
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.
-
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.
-
Prometheus
Prometheus is an open source monitoring and alerting toolkit for microservices and containers that provides flexible queries and real-time notifications.
-
R
React Native
React Native is an open source JavaScript framework for mobile application development. The framework is based on Facebook’s user interface (UI) JavaScript library, React, and can be used to design apps for the web, iOS and Android.
-
reactive programming
Reactive programming describes a design paradigm that relies on asynchronous programming logic to handle real-time updates to otherwise static content.
-
reactive systems architecture
A computer systems paradigm that takes advantage of the responsiveness, flexibility and resiliency of reactive programming, so that various components can take continue to function and even thrive if any component is compromised.
-
refactoring
Refactoring is the process of restructuring code, while not changing its original functionality.
-
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.
-
Resource Description Framework (RDF)
The Resource Description Framework (RDF) is a general framework for representing interconnected data on the web.
-
REST (REpresentational State Transfer)
REST (REpresentational State Transfer) is an architectural style for developing web services.
-
REST API (RESTful API)
A RESTful API is an architectural style for an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data.
-
restricted API
A restricted API is an application program interface whose access, or use, is intentionally limited by web site developers for security purposes or business reasons.
-
S
Service Data Objects (SDO)
Service Data Objects (SDO) is the name of a specification designed to streamline the processing of SOA (service-oriented architecture) data from diverse sources such as XML documents, relational databases and Web services... (Continued)
-
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.
-
SOA registry
An SOA registry is a resource that provides controlled access to data necessary for governance of SOA (service-oriented architecture) projects... (Continued)
-
SOA repository
An SOA repository is a database containing the software and metadata that constitute an SOA registry... (Continued)
-
SOAP (Simple Object Access Protocol)
SOAP (Simple Object Access Protocol) is a message protocol that enables the distributed elements of an application to communicate.
-
software
Software is a set of instructions, data or programs used to operate computers and execute specific tasks.
-
software stack
A software stack is a collection of independent components that work together to support the execution of an application.
-
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.
-
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.
-
Spring Framework
The Spring Framework (Spring) is an open source software development framework that provides infrastructure support for building primarily Java-based applications.
-
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 operations.
-
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 moment.
-
Swagger
Swagger is an open source set of rules, specifications and tools for developing and describing RESTful APIs.
-
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.
-
T
two-phase commit (2PC)
Two-phase commit (2PC) is a standardized protocol that ensures atomicity, consistency, isolation and durability (ACID) of a transaction; it is an atomic commitment protocol for distributed systems.
-
Tyk
Tyk is an open source application program interface (API) gateway management tool.
-
U
user interface (UI)
The user interface (UI) is the point of human-computer interaction and communication in a device.
-
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.
-
W
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.
-
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.
-
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 corporate data and applications.
-
WS-AtomicTransaction (WS-AT)
WS-AtomicTransaction, also called Web Services Atomic Transaction or WS-AT, is a specification that defines how single transactions are carried out based on WS-Coordination and WS-Transaction, companion specifications for information exchange in business processes... (Continued)
-
WSO2
WSO2 is a middleware vendor that sells open source application program interface (API) management software.
-
WSTx (Web Services Transactions)
WSTx (Web Services Transaction) is a set of XML markup specifications designed to permit the use of open, standard protocols for secure, reliable transactions across the Web... (Continued)