This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.a_glossary:d:dcps [2020/11/13 16:46] nick created |
dido:public:ra:xapend:xapend.a_glossary:d:dcps [2021/10/04 13:40] (current) 50.19.247.197 ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Data-Centric Publish-Subscribe (DCPS) ===== | ===== Data-Centric Publish-Subscribe (DCPS) ===== | ||
| - | [[ddsf:private:cookbook:06_append:glossary| Return to Glossary ]] | + | [[dido:public:ra:xapend:xapend.a_glossary:start| Return to Glossary ]] |
| - | **Data-Centric Publish-Subscribe (DCPS)** is the portion of the [[ddsf:private:cookbook:06_append:01_family_of_standards:01_core:data_distribution_service_dds]] Standard that addresses [[dido:public:ra:xapend:xapend.a_glossary:d:data_centric]] publish-subscribe communications. The [[dido:public:ra:xapend:xapend.a_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 [[dido:public:ra:xapend:xapend.a_glossary:a:api |API]]. | ||
| - | The [[dido:public:ra:xapend:xapend.a_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 [[dido:public:ra:xapend:xapend.a_glossary:m:midware|middleware]] handles resource limitations and error conditions. | + | **Data-Centric Publish-Subscribe (DCPS)** is the portion of the [[dido:public:ra:xapend:xapend.b_stds:tech:omg:dds | Data Distribution Service (DDS) Specification]] that addresses [[dido:public:ra:xapend:xapend.a_glossary:d:data_centric]] publish-subscribe communications. The [[dido:public:ra:xapend:xapend.a_glossary:d: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 [[dido:public:ra:xapend:xapend.a_glossary:a:api |API]]. |
| + | |||
| + | The [[dido:public:ra:xapend:xapend.a_glossary:p:publish-subscribe|publish-subscribe]] approach to distributed communications is a generic mechanism that can be employed by many different types of [[dido:public:ra:xapend:xapend.a_glossary:a:application|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 [[dido:public:ra:xapend:xapend.a_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. | 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 [[dido:public:ra:xapend:xapend.a_glossary:s:server|server]]. | + | In contrast, in [[dido:public:ra:xapend:xapend.a_glossary:o:object|object]]-centric communications the fundamental concept is the [[dido:public:ra:xapend:xapend.a_glossary:i:interface|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 [[dido:public:ra:xapend:xapend.a_glossary:s:server|server]]. |
| Data and object-centric communications are complementary paradigms in a [[dido:public:ra:xapend:xapend.a_glossary:d:distsystem|distributed system]]. Applications may require both. However, real-time communications often fit a data-centric model more naturally. | Data and object-centric communications are complementary paradigms in a [[dido:public:ra:xapend:xapend.a_glossary:d:distsystem|distributed system]]. Applications may require both. However, real-time communications often fit a data-centric model more naturally. | ||