{"id":3659,"date":"2011-07-28T12:27:43","date_gmt":"2011-07-28T10:27:43","guid":{"rendered":"http:\/\/blog.jteam.nl\/?p=3659"},"modified":"2011-07-28T12:27:43","modified_gmt":"2011-07-28T10:27:43","slug":"combining-java-and-node-js","status":"publish","type":"post","link":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/","title":{"rendered":"Combining java and node.js"},"content":{"rendered":"<p>I just wrote a new blogpost about a sample application I have created. The sample is combining a node.js front-end application with a axonframework java based backend. The following image gives you a good idea.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"margin-left:auto;margin-right:auto\" src=\"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg\" alt=\"NodejsAxonRedisBlogpost\" border=\"0\" width=\"551\" height=\"323\"><\/p>\n<p>The front end contains a node.js application that uses the http library to obtain and send data a rest based application. Next to that it receives messages using the redis pub\/sub mechanism from the the java backend. Using the now.js library these events are pushed by the server to all connected clients. The java backend is build using the springmvc rest capabilities. Commands are send to the Axonframework based business logic. Listeners for the events are registered and messages based on these events are published to the redis pub\/sub mechanism.<\/p>\n<p>If this got you interested, head over to my blog post.<\/p>\n<p><a href=\"http:\/\/www.gridshore.nl\/2011\/07\/28\/combining-java-and-node-js-through-redis-pubsub-and-a-json-remote-interface\/\">http:\/\/www.gridshore.nl\/2011\/07\/28\/combining-java-and-node-js-through-redis-pubsub-and-a-json-remote-interface\/<\/a><\/p>\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/bit.ly\/3BAo305\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"256\" src=\"https:\/\/trifork.nl\/articles\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-1024x256.png\" alt=\"\" class=\"wp-image-20303\" srcset=\"https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-1024x256.png 1024w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-300x75.png 300w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-768x192.png 768w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-1536x384.png 1536w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-2048x512.png 2048w, https:\/\/trifork.nl\/blog\/wp-content\/uploads\/sites\/3\/2022\/02\/Blog-Banner-1-1920x480.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>I just wrote a new blogpost about a sample application I have created. The sample is combining a node.js front-end application with a axonframework java based backend. The following image gives you a good idea. The front end contains a node.js application that uses the http library to obtain and send data a rest based [&hellip;]<\/p>\n","protected":false},"author":60,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[31,10],"tags":[101,103,247,172,225,261],"class_list":["post-3659","post","type-post","status-publish","format-standard","hentry","category-java","category-development","tag-javascript","tag-nodejs","tag-redis","tag-rest","tag-springframework","tag-springmvc"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Combining java and node.js - Trifork Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combining java and node.js - Trifork Blog\" \/>\n<meta property=\"og:description\" content=\"I just wrote a new blogpost about a sample application I have created. The sample is combining a node.js front-end application with a axonframework java based backend. The following image gives you a good idea. The front end contains a node.js application that uses the http library to obtain and send data a rest based [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Trifork Blog\" \/>\n<meta property=\"article:published_time\" content=\"2011-07-28T10:27:43+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg\" \/>\n<meta name=\"author\" content=\"Jettro Coenradie\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jettro Coenradie\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/\",\"url\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/\",\"name\":\"Combining java and node.js - Trifork Blog\",\"isPartOf\":{\"@id\":\"https:\/\/trifork.nl\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg\",\"datePublished\":\"2011-07-28T10:27:43+00:00\",\"author\":{\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/198c00ea654e6a5e38e33511d983613d\"},\"breadcrumb\":{\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage\",\"url\":\"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg\",\"contentUrl\":\"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trifork.nl\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Combining java and node.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trifork.nl\/blog\/#website\",\"url\":\"https:\/\/trifork.nl\/blog\/\",\"name\":\"Trifork Blog\",\"description\":\"Keep updated on the technical solutions Trifork is working on!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trifork.nl\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/198c00ea654e6a5e38e33511d983613d\",\"name\":\"Jettro Coenradie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trifork.nl\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bfce5dacae07c9ed6b0283448d22fee7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bfce5dacae07c9ed6b0283448d22fee7?s=96&d=mm&r=g\",\"caption\":\"Jettro Coenradie\"},\"url\":\"https:\/\/trifork.nl\/blog\/author\/jettro\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Combining java and node.js - Trifork Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/","og_locale":"en_US","og_type":"article","og_title":"Combining java and node.js - Trifork Blog","og_description":"I just wrote a new blogpost about a sample application I have created. The sample is combining a node.js front-end application with a axonframework java based backend. The following image gives you a good idea. The front end contains a node.js application that uses the http library to obtain and send data a rest based [&hellip;]","og_url":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/","og_site_name":"Trifork Blog","article_published_time":"2011-07-28T10:27:43+00:00","og_image":[{"url":"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg","type":"","width":"","height":""}],"author":"Jettro Coenradie","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jettro Coenradie","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/","url":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/","name":"Combining java and node.js - Trifork Blog","isPartOf":{"@id":"https:\/\/trifork.nl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage"},"image":{"@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg","datePublished":"2011-07-28T10:27:43+00:00","author":{"@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/198c00ea654e6a5e38e33511d983613d"},"breadcrumb":{"@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#primaryimage","url":"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg","contentUrl":"http:\/\/blog.jteam.nl\/wp-content\/uploads\/2011\/07\/NodejsAxonRedisBlogpost.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/trifork.nl\/blog\/combining-java-and-node-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trifork.nl\/blog\/"},{"@type":"ListItem","position":2,"name":"Combining java and node.js"}]},{"@type":"WebSite","@id":"https:\/\/trifork.nl\/blog\/#website","url":"https:\/\/trifork.nl\/blog\/","name":"Trifork Blog","description":"Keep updated on the technical solutions Trifork is working on!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trifork.nl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/198c00ea654e6a5e38e33511d983613d","name":"Jettro Coenradie","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trifork.nl\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bfce5dacae07c9ed6b0283448d22fee7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bfce5dacae07c9ed6b0283448d22fee7?s=96&d=mm&r=g","caption":"Jettro Coenradie"},"url":"https:\/\/trifork.nl\/blog\/author\/jettro\/"}]}},"_links":{"self":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts\/3659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/comments?post=3659"}],"version-history":[{"count":0,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/posts\/3659\/revisions"}],"wp:attachment":[{"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/media?parent=3659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/categories?post=3659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trifork.nl\/blog\/wp-json\/wp\/v2\/tags?post=3659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}