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 lifecycle management

    API lifecycle management is a part of application programming interface 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 programming interfaces (APIs) in a secure, scalable environment.

  • API security

    Application program interface (API) security refers to policies and procedures that protect APIs against malicious attacks and vulnerabilities.

  • 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.

  • What is an API (application programming interface)?

    An application programming interface (API) is code that enables two software programs to communicate.

  • What is an API endpoint?

    An API endpoint is a point at which an application programming interface -- the code that enables two software programs to communicate with each other -- connects with the software program.

  • What is an API proxy?

    An API proxy is a thin application program interface (API) server that exposes an interface for an existing service or services.

  • What is an 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.

  • What is an application architecture?

    An application architecture is a structural map of how a software application is assembled and how applications interact with each other to meet business or user requirements.

  • What is API testing? Everything you need to know

    API testing is a type of software testing that analyzes an application programming interface (API) to verify that it fulfills its expected functionality, security, performance and reliability.

  • What is Apigee?

    Apigee, pronounced App-ih-gee, is an API gateway management tool offered by Google to exchange data across cloud services and applications.

  • What is 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

    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.

  • What is Ballerina language?

    Ballerina language is an open-source, cloud-native programming language designed to ease the burden of integration development associated with enterprise applications.

  • C

    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.

  • What is a class diagram?

    A class diagram is an illustration of the relationships and source code dependencies among classes in the Unified Modeling Language (UML).

  • 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.

  • What is dependency injection in object-oriented programming (OOP)?

    Dependency injection is a technique used in object-oriented programming (OOP) to reduce the hardcoded dependencies between objects.

  • E

    EAI (enterprise application integration)

    Enterprise application integration (EAI) is the process of connecting an organization's business applications, services, databases and other systems into an integrating framework that facilitates communications and interoperability.

  • 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.

  • 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.

  • What is Enterprise Service Bus (ESB)?

    An enterprise service bus (ESB) is a software platform used to distribute work among connected components of an application.

  • 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.

  • What is 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.

  • 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 refers to the degree to which a software system, devices, applications or other entity can connect and communicate with other entities in a coordinated manner without effort from the end user.

  • What is 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

    What is 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

    What is 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.

  • middleware

    Middleware is software that bridges the gap between applications and operating systems by providing a method for communication and data management.

  • 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.

  • What is Micronaut? Introduction to the Micronaut Framework

    Micronaut is an open source JVM-based software framework for building lightweight, modular applications and microservices.

  • N

    native code

    Native code is binary data compiled to run on a processor, such as an Intel x86-class processor.

  • O

    OAuth (Open Authorization)

    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. An object can be defined as a data field that has unique attributes and behavior.

  • What is the 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

    reactive programming

    Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen.

  • refactoring

    Refactoring is the process of restructuring code, while not changing its original functionality.

  • Remote Procedure Call (RPC)

    A Remote Procedure Call (RPC) is a software communication protocol that one program uses to request a service from another program located on a different computer and 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.

  • RESTful API

    A RESTful API is an architectural style for an application programming interface that uses HTTP requests to access and use data.

  • What is a 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.

  • What is a 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.

  • What is 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.

  • What is REpresentational State Transfer (REST)

    REST (REpresentational State Transfer) is an architectural style for developing web services and systems that can easily communicate with each other.

  • S

    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.

  • 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.

  • 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 (Spring)

    The Spring Framework (Spring) is an open source software development framework that provides infrastructure support for building Java-based applications on any deployment platform.

  • 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.

  • 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.

  • What is a software stack?

    A software stack is a collection of independent components that work together to support the execution of an application.

  • What is Swagger?

    Swagger is an open source set of rules, specifications and tools for developing and describing RESTful APIs.

  • T

    Tyk

    Tyk is an open source application program interface (API) gateway management tool.

  • What is 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.

  • 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 a client or other web-based programs to use.

  • 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.

  • What is 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.

  • WSO2

    WSO2 is a middleware vendor that sells open source application program interface (API) management software.