MB-500 study materials
MB-500 study resources

MB-500 key terms

MB-500 · Get comfortable with the vocabulary.

One Version

Microsoft's servicing model for finance and operations apps in which every customer runs the same continuously updated codebase, so customizations must be built as extensions instead of by changing Microsoft's base source code.

Related: Extension, Lifecycle Services
Environment topology

The set of environments a project uses: developer VMs, a tier-1 sandbox, tier-2 or higher sandboxes holding production-like data, and production. Each serves a different build, test, or run purpose.

Related: Lifecycle Services, Deployable package
Model

A logical container for AOT elements inside a package. Developers create models to group related metadata, and another model must reference it before its elements can be used.

Related: Visual Studio project, Deployable package
Visual Studio project

A container in the Dynamics 365 development environment that holds the code and metadata files for a model and controls what gets compiled and included in a build.

Related: Model, Azure DevOps pipeline
Deployable package

A zip file containing one or more models plus their compiled binaries, produced by a build, uploaded to Lifecycle Services, and applied to a target environment.

Related: Azure DevOps pipeline, Lifecycle Services, Model
Lifecycle Services

Microsoft's cloud portal for managing finance and operations projects: environments, deployments, shared code and assets, business process models, and servicing updates.

Related: Deployable package, Environment topology
Azure DevOps pipeline

An automated build definition that compiles X++ models, runs best practice and test checks, and produces the deployable package that Lifecycle Services consumes.

Related: Deployable package, Best practice check
Extension

A customization that adds behavior to an existing AOT element, such as a table, form, class, or enum, without editing Microsoft's code, so the solution survives product updates.

Related: Chain of Command, Pre/post event handler, One Version
Chain of Command

An extension pattern in which a class declares a method with the same name and signature as a public or protected base method, wrapping it and calling next to run the original logic.

Related: Extension, Pre/post event handler
Pre/post event handler

A static X++ method subscribed to a table, form, or class event that runs before or after the event fires, adding logic without overlayering the base code.

Related: Extension, Chain of Command
Extensibility request

A request submitted to Microsoft asking that a specific element or method be made extensible, or that a new extension point be added, when no supported customization path exists.

Related: Extension, One Version
Extended data type

A reusable definition of a primitive type carrying properties such as label, string size, and related table, used to declare fields consistently across many tables.

Related: Table relation, Label file
Table relation

Metadata on a field that links it to a field in another table, driving lookups, validation, and referential constraints in forms, reports, and data entities.

Related: Extended data type, Data entity
Number sequence

A framework that generates sequential identifiers, such as voucher or customer numbers, from a configured scope and format, guaranteeing unique values without custom code.

Related: Extended data type
Label file

A resource file that stores user-facing text under label IDs so it can be reused and translated; code should reference labels instead of hard-coded strings.

Related: Best practice check, Extended data type
X++

The object-oriented, managed language used to write business logic in finance and operations apps; it compiles to MSIL and runs on the .NET-based application tier.

Related: Transaction (tts), Exception handling, SysOperation framework
Transaction (tts)

The X++ statements ttsBegin, ttsCommit, and ttsAbort that group database writes into one unit of work, committing all changes together or rolling them back.

Related: X++, Exception handling
Exception handling

X++ try, catch, and throw together with exception types such as error, warning, and info, used to react to failures, roll back transactions, and surface messages to users.

Related: Transaction (tts), X++
SysOperation framework

The framework for building runnable processes: a service class, a data contract, and a controller define parameters, the dialog, batch behavior, and execution, replacing the older RunBase pattern.

Related: Batch framework, X++
Batch framework

The server-side scheduler that runs batch-eligible classes in parallel across application servers, tracking tasks, retries, and status in the batch jobs form.

Related: SysOperation framework, Data management framework
Query object

A metadata-defined query executed through QueryRun that supports ranges, joins, and sorting, and underpins views, data entities, and report datasets.

Related: Data entity, SSRS report
SysTest unit test

The built-in test framework where classes extend SysTestCase and assert expected behavior, runnable from Visual Studio or an automated build pipeline.

Related: Azure DevOps pipeline, Best practice check
Best practice check

Compiler rules in Visual Studio and the build that flag non-standard patterns, such as missing labels, direct SQL, or overlayering, reported as warnings or errors.

Related: Label file, Azure DevOps pipeline
SSRS report

A report built in Visual Studio from a query and dataset bound to a report design, deployed through Lifecycle Services, and rendered on the application report server.

Related: Query object, Auto-report, Lifecycle Services
Auto-report

A report generated automatically from a data entity or query with no custom design, used for simple printable lists and quick list output.

Related: Data entity, SSRS report
Electronic reporting

A configurable framework for building and maintaining document formats, such as invoices, bank files, and tax reports, through a visual designer with data models and mappings instead of code.

Related: SSRS report
Entity store

A staging database that is populated from the application through data entities and measurements and is consumed by Power BI and other analytical tools, sparing the transactional database from heavy reads.

Related: Aggregate measurement, Data entity
Aggregate measurement

A definition that groups and sums the fields of measurable data entities so the entity store can refresh summarized values for analytical reporting.

Related: Entity store, Data entity
Data entity

A reusable virtual layer over one or more tables that exposes data with a stable schema for import and export, OData, integrations, and analytics, optionally through a staging table.

Related: Data management framework, Dual-write, Query object
Data management framework

The workspace and processing engine that imports and exports data through data entities and data projects, supporting staging, validation, field mapping, and batch or recurring execution.

Related: Data entity, Batch framework, Bring your own database
Dual-write

A near-real-time, bi-directional integration between finance and operations apps and Microsoft Dataverse that keeps linked tables synchronized through table maps and dual-write projects.

Related: Data entity, Business event
Custom service (OData endpoint)

An X++ service class whose SysEntryPointAttribute methods are exposed as OData actions or SOAP operations so external applications can invoke application logic.

Related: Data entity, Business event
Business event

A notification published when application logic or a data change occurs, delivered to external subscribers through an Azure messaging endpoint so they avoid polling the system.

Related: Custom service (OData endpoint), Dual-write
Bring your own database

A feature that exports selected data entities on a schedule into an Azure SQL database you own, used for reporting and integration with external systems.

Related: Data entity, Data management framework, Entity store
Role-based security

The model in which roles contain duties, duties contain privileges, and privileges grant permissions such as read, create, update, delete, or invoke on securable objects that are assigned to users.

Related: Extensible data security policy
Extensible data security policy

A policy that appends a query constraint to one or more tables for users in specified roles, filtering which records they can see at the database layer.

Related: Role-based security, Query object
SysGlobalCache

An application-level cache shared across sessions on an application server, used to hold frequently read, rarely changed values so repeated database calls are avoided.

Related: Set-based data operations
Set-based data operations

Inserting, updating, or joining records with whole-set statements such as insert_recordset and update_recordset instead of looping row by row, cutting database round-trips and improving throughput.

Related: X++, SysGlobalCache, Transaction (tts)