===== Data-Centric Publish-Subscribe (DCPS) ===== [[ddsf:public:guidebook:06_append:glossary:start| Return to Glossary ]] **Data-Centric Publish-Subscribe (DCPS)** is the portion of the [[ddsf:public:guidebook:06_append:01_family_of_standards:01_core:data_distribution_service_dds]] Standard that addresses [[ddsf:public:guidebook:06_append:glossary:d:data_centric]] publish-subscribe communications. The [[ddsf:public:guidebook:06_append:glossary:d:data_distribution_service_dds]] standard defines a language-independent model of publish-subscribe communications that has standardized mappings into various implementation languages. Connext DDS offers C, Traditional C++, Modern C++, C++/CLI, C#, and Java versions of the DCPS [[ddsf:public:guidebook:06_append:glossary:a:api|API]]. The [[ddsf:public:guidebook:06_append:glossary:p:publish-subscribe|publish-subscribe]] approach to distributed communications is a generic mechanism that can be employed by many different types of applications. The DCPS model described in this chapter extends the publish-subscribe model to address the specific needs of real-time, data-critical applications. As you’ll see, it provides several mechanisms that allow application developers to control how communications works and how the [[ddsf:public:guidebook:06_append:glossary:m:midware|middleware]] handles resource limitations and error conditions. The “data-centric” portion of the term DCPS describes the fundamental concept supported by the design of the API. In data-centric communications, the focus is on the distribution of data between communicating applications. A data-centric system is comprised of data publishers and data subscribers. The communications are based on passing data of known types in named streams from publishers to subscribers. In contrast, in object-centric communications the fundamental concept is the interface between the applications. An interface is comprised of a set of methods of known types (number and types of method arguments). An object-centric system is comprised of interface servers and interface clients, and communications are based on clients invoking methods on named interfaces that are serviced by the corresponding [[ddsf:public:guidebook:06_append:glossary:s:server|server]]. Data and object-centric communications are complementary paradigms in a [[ddsf:public:guidebook:06_append:glossary:d:distsystem|distributed system]]. Applications may require both. However, real-time communications often fit a data-centric model more naturally. Source: [[https://community.rti.com/static/documentation/connext-dds/5.2.0/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/What_is_DCPS_.htm | Data-Centric Publish-Subscribe (DCPS) ]]