{"id":1410,"date":"2024-05-22T13:18:41","date_gmt":"2024-05-22T11:18:41","guid":{"rendered":"https:\/\/www.rocworks.at\/wordpress\/?p=1410"},"modified":"2024-06-19T13:21:22","modified_gmt":"2024-06-19T11:21:22","slug":"node-js-for-wincc-oa-and-what-about-java-graalvm-polyglot","status":"publish","type":"post","link":"https:\/\/www.rocworks.at\/wordpress\/?p=1410","title":{"rendered":"Node.JS for WinCC OA? And what about Java? GraalVM? Polyglot?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\ud83e\udd73 Last weekend I found some time to try out an upcoming feature in WinCC Open Architecture 3.20. With the Node.js integration you can write your business logic in JavaScript with native connectivity to WinCC OA. You can take full advantage of the Node.js ecosystem.<br><br>\ud83e\uddd0 But I am a Java enthusiast and I love the JVM ecosystem. Have you ever heard about GraalVM? It is an advanced JDK written in Java. And it has a Node.js Runtime, which gives you the power of Node.js plus the power of polyglot programming, you can mix JavaScript with Java.<br><br>\ud83d\udc4d And it turned out that the GraalVM Node.js Runtime also works with WinCC OA! It took me some time to figure out how the polyglot interoperability works, but now I have a first draft of a Java-Library which makes it easy to use Java and OA in the Node.js environment.<br><br>\ud83e\udd29 I can now use Java to develop great solutions with WinCC OA.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"739\" src=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a-1024x739.jpg\" alt=\"\" class=\"wp-image-1411\" srcset=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a-1024x739.jpg 1024w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a-300x217.jpg 300w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a-768x554.jpg 768w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/a.jpg 1327w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b-1024x407.jpg\" alt=\"\" class=\"wp-image-1412\" srcset=\"https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b-1024x407.jpg 1024w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b-300x119.jpg 300w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b-768x306.jpg 768w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b-1536x611.jpg 1536w, https:\/\/www.rocworks.at\/wordpress\/wp-content\/uploads\/2024\/06\/b.jpg 1636w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\ud83e\udd73 Last weekend I found some time to try out an upcoming feature in WinCC Open Architecture 3.20. With the Node.js integration you can write your business logic in JavaScript with native connectivity to WinCC OA. You can take full &hellip; <a href=\"https:\/\/www.rocworks.at\/wordpress\/?p=1410\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[],"class_list":["post-1410","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-wincc-oa"],"_links":{"self":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1410"}],"version-history":[{"count":1,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1410\/revisions"}],"predecessor-version":[{"id":1413,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1410\/revisions\/1413"}],"wp:attachment":[{"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rocworks.at\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}