<!DOCTYPE html>
<html lang="zxx" class="no-js">
<head>
<!-- Mobile Specific Meta -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Favicon-->
<link rel="shortcut icon" href="/img/fav.png">
<!-- Author Meta -->
<meta name="author" content="vitor viana">
<!-- Meta Description -->
<meta name="description" content="vf-os portal">
<!-- Meta Keyword -->
<meta name="keywords" content="">
<!-- meta character set -->
<meta charset="UTF-8">
<!-- Site Title -->
<title>vf-OS Developer Portal | Publish & Subscribe</title>
<link href="https://fonts.googleapis.com/css?family=Poppins:100,200,400,300,500,600,700" rel="stylesheet">
<!--
CSS
============================================= -->
<link rel="stylesheet" href="/css/linearicons.css">
<link rel="stylesheet" href="/css/font-awesome.min.css">
<link rel="stylesheet" href="/css/bootstrap.css">
<link rel="stylesheet" href="/css/magnific-popup.css">
<link rel="stylesheet" href="/css/nice-select.css">
<link rel="stylesheet" href="/css/animate.min.css">
<link rel="stylesheet" href="/css/owl.carousel.css">
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
<header id="header" id="home">
<div class="container main-menu">
<div class="row align-items-center justify-content-between d-flex">
<div id="logo">
<a href="/"><img src="/img/vf-OS_logo_v2.png" style="width: 115px;" alt="vf-OS Logo" /></a>
</div>
<nav id="nav-menu-container">
<ul class="nav-menu">
<li class="menu-active"><a href="/">Home</a></li>
<li><a href="/showcases-for-industry/">Showcases for Industry</a></li>
<li><a href="/components-for-industry/">Open Source Components for industry</a></li>
</ul>
</nav><!-- #nav-menu-container -->
</div>
</div>
</header><!-- #header -->
<!-- start banner Area -->
<section class="banner-area relative" id="home">
<div class="overlay overlay-bg"></div>
<div class="container">
<div class="row d-flex align-items-center justify-content-center">
<div class="about-content col-lg-12">
<h1 class="text-white">
Publish / Subscribe
</h1>
<p class="text-white link-nav"><a href="/components-for-industry/application-services-and-middleware/middleware/">Middleware</a><span class="lnr lnr-arrow-right"></span><a href="/components-for-industry/application-services-and-middleware/middleware/publish-subscribe">Publish & Subscribe</a></p>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-sm-12 text-center mb-3">
<div class="container">
<a target="_blank" href="https://vfos-docs.ascora.eu/#publish-subscribe" class="genric-btn primary-border circle arrow">Technical Manual<span class="lnr lnr-arrow-right font-weight-bold"></span></a>
</div>
</div>
<div class="col-lg-4 col-sm-12 text-center mb-3">
<div class="container">
<a target="_blank" href="https://opensourceprojects.eu/p/vfos/middleware/msg/code/ci/baed5ddd4742ec378b4f59679a590f4af4b5bb05/tree/" class="genric-btn primary-border circle arrow">Source Code<span class="lnr lnr-arrow-right font-weight-bold"></span></a>
</div>
</div>
<div class="col-lg-4 col-sm-12 text-center mb-3">
<div class="container">
<a target="_blank" href="http://158.42.105.151/mediawiki/index.php/Middleware#tab=Messaging-Pub_2FSub" class="genric-btn primary-border circle arrow">Get Help<span class="lnr lnr-arrow-right font-weight-bold"></span></a>
</div>
</div>
</div>
</div>
</section>
<!-- End banner Area -->
<!-- Section highlight topics-->
<section class=" relative">
<div class="container">
<div class="row">
<div class="col-lg-12 align-items-center">
<div class="row no-gutters" style="margin-top: 25px;">
<div class="single-services col">
<span class="lnr lnr-envelope" style="font-size:40px; color:#988fff;margin-top: 30px;">
</span>
<h4>Send Publication</h4>
<p>
Sends a publication into a queue. The user can send binary data, such as files or images, embedded on the message content.
</p>
</div>
<div class="single-services col" style="margin-left: 10px;">
<span class="lnr lnr-envelope" style="font-size:40px; color:#988fff;margin-top: 30px;"></span>
<h4>Receive Publication</h4>
<p>
All components that are listening to a specific queue will receive the message.
This message, not only contains the message content, but also the time of sending, size and message identification.
</p>
</div>
</div>
<div class="row no-gutters">
<div class="single-services col">
<span class="lnr lnr-file-add" style="font-size:40px; color:#988fff;margin-top: 30px;"></span>
<h4>Register RoutingKeys</h4>
<p>
Creates specific queues that can be subscribed on the messaging system.
</p>
</div>
<div class="single-services col" style="margin-left: 10px;">
<span class="lnr lnr-license" style="font-size:40px; color:#988fff;margin-top: 30px; "></span>
<h4>Announcements</h4>
<p>
Channels that can be used for component announcements, e.g, factory alerts or components��� login/logout.
</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!--end of section highlight topics-->
<!-- Start service Area -->
<section class="service-area" style="padding-bottom: 10px;" id="service">
<div class="container">
<div class="section-top-border">
<div class="row">
<div class="col-md-7 mt-sm-20 left-align-p">
<h2>Publish / Subscribe</h2>
<br>
<p>
The Pub/Sub component is part of the Data Infrastructure Middleware and is composed by a publisher, the one sending messages
to one or more queues, and subscribers, consuming messages from specific queues. All messages use the AMQP protocol that provides
reliable solutions for systems-interconnection based on publish-and-subscribe or multicast communication channels.
</p>
<p>
The Pub/Sub component uses a message broker (RabbitMQ) to handle the communication between the publisher and subscriber(s).
The broker also uses the Security component to verify the authentication and authorisation of the asset that is using the Pub/Sub
services. To facilitate the usage of this component, there are libraries available in JavaScript and Java languages that allow the
components to publish and subscribe to queues synchronously.
</p>
<p>
The component, that wants to publish messages will create queues with specific identifications (routingKeys) and the component(s)
that want to receive messages will only need to specify those identifications. All these steps will be transparent for the end user
through the previously mentioned libraries. If the message consumer is offline, the message will be stored in the broker until the
consumer reads the message.
</p>
</div>
<div class="col-md-5">
<img src="img/publish-subscribe_screenshot.png" alt="" class="img-fluid" style="margin-top: 33%;">
</div>
</div>
</div>
</div>
</section>
<!-- End service Area -->
<!-- Video section here -->
<!-- <section class="section-gap-small relative" style="background: #f9f9ff;">
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<div class="row no-gutters">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/P7C1Yw4euz8?rel=0"
allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</section> -->
<!-- End video section -->
<!-- start footer Area -->
<footer class="footer-area section-gap">
<div class="container">
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="single-footer-widget">
<h6>About vf-OS</h6>
<p>
vf-OS offers a manufacturing orientated cloud platform, supporting a multi-sided market
ecosystem that provides a range of services for the connected factory of the future,
allowing manufacturing companies to develop and integrate better manufacturing and
logistics processes
</p>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="single-footer-widget">
<h6>Navigation Links</h6>
<div class="row">
<div class="col">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/components-for-industry/environment/">Environment</a></li>
<li><a href="/components-for-industry/application-development/">Application Development</a></li>
<li><a href="/components-for-industry/application-services-and-middleware/">Application
Service & Middleware</a></li>
<li><a href="/components-for-industry/application-deployment/">Application Deployment</a></li>
</ul>
</div>
<div class="col">
<ul>
<li><a href="http://www.vf-os.eu/technologies">Technologies</a></li>
<li><a href="http://www.vf-os.eu/partners">Partners</a></li>
<li><a href="http://www.vf-os.eu/blog">Blog</a></li>
<li><a href="http://www.vf-os.eu/contact">Contact</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="row footer-bottom d-flex justify-content-between align-items-center">
<div class="col-lg-8 col-sm-12 footer-text m-0">
<img src="/img/europe.png">
<p>This project has received funding from the European Union���s Horizon 2020 research and innovation programme
under grant
agreement No 723710.</p>
</div>
</p>
<div class="col-lg-4 col-sm-12 footer-social">
<a href="https://www.facebook.com/vfoseuropeanproject/"><i class="fa fa-facebook"></i></a>
<a href="http://www.vf-os.eu"><i class="fa fa-globe"></i></a>
<a href="https://www.youtube.com/channel/UCN-5AXqIaXjXItq8jJuoW1w"><i class="fa fa-youtube-play"></i></a>
<a href="https://www.linkedin.com/in/vf-os-project/"><i class="fa fa-linkedin"></i></a>
</div>
</div>
</div>
</div>
</footer>
<!-- End footer Area -->
<script src="/js/vendor/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
crossorigin="anonymous"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBhOdIF3Y9382fqJYt5I_sswSrEw5eihAA"></script>
<script src="/js/easing.min.js"></script>
<script src="/js/hoverIntent.js"></script>
<script src="/js/superfish.min.js"></script>
<script src="/js/mn-accordion.js"></script>
<script src="/js/jquery.ajaxchimp.min.js"></script>
<script src="/js/jquery.magnific-popup.min.js"></script>
<script src="/js/owl.carousel.min.js"></script>
<script src="/js/jquery.nice-select.min.js"></script>
<script src="/js/jquery.circlechart.js"></script>
<script src="/js/mail-script.js"></script>
<script src="/js/main.js"></script>
</body>
</html>