<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: RTDM and JSON file integration in SAS Customer Intelligence</title>
    <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427602#M757</link>
    <description>&lt;P&gt;If you decide that SAS code-based approach (SAS BI Web Services &amp;amp; Stored Process) is not a fit, and the client is not ready to integrate through the cloud (AWS), then obviously&amp;nbsp;a good old-fashioned traditional programmatic approach still applies. You develop a gateway web service using whatever programmatic platform you and the client like and then deploy it somewhere.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In our experience, with different our RTDM customers where it was required to put something "in between" of a calling system and RTDM (which happens for a lot of reasons), we have utilized&amp;nbsp;a number&amp;nbsp;of technologies:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A small custom Java web application deployed to SAS Web Application Server alongside RTDM engine itself&lt;/LI&gt;&lt;LI&gt;Some Python-based implementations&lt;/LI&gt;&lt;LI&gt;SAS Code / SAS Stored Process / SAS BI Web Services (as discussed in this thread)&lt;/LI&gt;&lt;LI&gt;AWS Lambda / API Gateways (as I mentioned&amp;nbsp;in the previous post)&lt;/LI&gt;&lt;LI&gt;A service on Apache Mule ESB (free open source) that can be deployed alongside SAS RTDM&lt;/LI&gt;&lt;LI&gt;A service on other client-owned&amp;nbsp;service bus solution (deployed on their ESB platform)&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously, all of that&amp;nbsp;can be made to work reliably (plus a lot of other ways to implement a gateway web service)&amp;nbsp;but requires varying effort to implement. A choice to be made may depend on customer's landscape,&amp;nbsp;performance/HA requirements, customer's preferences, and&amp;nbsp;available talent skill set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;</description>
    <pubDate>Mon, 15 Jan 2018 05:00:07 GMT</pubDate>
    <dc:creator>Dmitry_Alergant</dc:creator>
    <dc:date>2018-01-15T05:00:07Z</dc:date>
    <item>
      <title>RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427269#M750</link>
      <description>&lt;P&gt;Hi Experts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am working with a client who has SAS RTDM. I need your guidance for following:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1. The Channel sends a JSON file which contains the request variables. However this file is hierarchical in structure which unfortunately SAS RTDM cannot understand. Hence I need to develop a code which will flatten this file and then give that flat file to SAS RTDM.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Again when the SAS RTDM sends the reply variables it is in flat JSON file which I need to convert to Hierarchical JSON file and then submit the file to the channel.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you guys help me understand is this the correct approach or if there is any other better and efficient way to do this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;mySAS1&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jan 2018 20:00:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427269#M750</guid>
      <dc:creator>mysas1</dc:creator>
      <dc:date>2018-01-12T20:00:36Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427341#M753</link>
      <description>&lt;P&gt;Assuming you have access to a SAS programming environment, you c&lt;A href="https://blogs.sas.com/content/sasdummy/2016/12/02/json-libname-engine-sas/" target="_self"&gt;an use the JSON libname engine to read the JSON as data&lt;/A&gt; and flatten to a SAS data set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And you can &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/Using-SAS-proc-json-statement-to-export-a-JSON-file-for-use-with/ta-p/340111" target="_self"&gt;use PROC JSON to generate a JSON file (flat or with hierarchies)&lt;/A&gt; from one or more SAS data sets.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jan 2018 20:03:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427341#M753</guid>
      <dc:creator>ChrisHemedinger</dc:creator>
      <dc:date>2018-01-12T20:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427372#M754</link>
      <description>&lt;P&gt;As Chris notes, the JSON procedure can create a hierarchical JSON file. I recently posted proof-of-concept code showing how to use PROC JSON to create a hierarchical JSON file from a data set in the SASHELP library. You can see that post via this &lt;A href="https://communities.sas.com/t5/Base-SAS-Programming/PROC-JSON-create-a-hierarchical-file/m-p/416458" target="_self"&gt;link&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jan 2018 21:21:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427372#M754</guid>
      <dc:creator>BillM_SAS</dc:creator>
      <dc:date>2018-01-12T21:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427599#M756</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Two responders above&amp;nbsp;call for a programmatic approach using SAS language and its JSON handling capabilities.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;They&amp;nbsp;don't elaborate on how are you going to deploy the code so that it executed in real time as a web service, being a middleman between your client's system and SAS RTDM.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Probably,&amp;nbsp;it is assumed that you will create&amp;nbsp;&lt;A href="http://support.sas.com/documentation/cdl/en/wbsvcdg/64883/PDF/default/wbsvcdg.pdf" target="_self"&gt;SAS BI Web Service&lt;/A&gt; using SAS Stored Process as a backend,&amp;nbsp; where you will your JSON manipulation code and publish it&amp;nbsp;&lt;A href="https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwio1JLUkNnYAhUChOAKHXDfBTIQFggyMAI&amp;amp;url=http%3A%2F%2Fsupport.sas.com%2Fdocumentation%2Fcdl%2Fen%2Fetlug%2F67323%2FHTML%2Fdefault%2Fn0f807proknnbtn1j460mwq4e9nm.htm&amp;amp;usg=AOvVaw3GgPXCoE-CZwsxIRH9uv-m" target="_self"&gt;as a web service&lt;/A&gt;.&amp;nbsp; &amp;nbsp;I don't recall any other built-in way to deploy SAS code to&amp;nbsp;respond web services in real-time.&amp;nbsp;Except maybe through SAS Data Management Server (ex DataFlux) which your client is not likely to have.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS BI Web Services (Stored Process-based) approach should work, but also brings some robustness concerns. Depending on your deployment architecture, you may not currently have a fully redundant highly available set of components to&amp;nbsp;run SAS BI Web Services / SAS Stored Process (and it takes more than just one component). I think these deployment challenges can be overcome, but it will need careful and thoughtful&amp;nbsp;deployment architecture planning in advance.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If your client is more or less Cloud-Friendly and getting in-and-out of a corporate firewall is not that of a big deal, I would also consider a lightweight &lt;EM&gt;serverless&lt;/EM&gt; programmatic solution using Amazon AWS Lambda function (in Node.js or Python) + API Gateways.&amp;nbsp; It's a beautiful architecture, naturally robust, will only require a few lines of code and will be easy to maintain.&amp;nbsp; &amp;nbsp;It's built-in logging and monitoring metrics capabilities&amp;nbsp;(AWS CloudWatch) can be further helpful in monitoring what happens with RTDM itself (by monitoring queries getting in and out of JSON gateway on its way).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps. Good luck!&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jan 2018 04:44:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427599#M756</guid>
      <dc:creator>Dmitry_Alergant</dc:creator>
      <dc:date>2018-01-15T04:44:54Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427602#M757</link>
      <description>&lt;P&gt;If you decide that SAS code-based approach (SAS BI Web Services &amp;amp; Stored Process) is not a fit, and the client is not ready to integrate through the cloud (AWS), then obviously&amp;nbsp;a good old-fashioned traditional programmatic approach still applies. You develop a gateway web service using whatever programmatic platform you and the client like and then deploy it somewhere.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In our experience, with different our RTDM customers where it was required to put something "in between" of a calling system and RTDM (which happens for a lot of reasons), we have utilized&amp;nbsp;a number&amp;nbsp;of technologies:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;A small custom Java web application deployed to SAS Web Application Server alongside RTDM engine itself&lt;/LI&gt;&lt;LI&gt;Some Python-based implementations&lt;/LI&gt;&lt;LI&gt;SAS Code / SAS Stored Process / SAS BI Web Services (as discussed in this thread)&lt;/LI&gt;&lt;LI&gt;AWS Lambda / API Gateways (as I mentioned&amp;nbsp;in the previous post)&lt;/LI&gt;&lt;LI&gt;A service on Apache Mule ESB (free open source) that can be deployed alongside SAS RTDM&lt;/LI&gt;&lt;LI&gt;A service on other client-owned&amp;nbsp;service bus solution (deployed on their ESB platform)&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously, all of that&amp;nbsp;can be made to work reliably (plus a lot of other ways to implement a gateway web service)&amp;nbsp;but requires varying effort to implement. A choice to be made may depend on customer's landscape,&amp;nbsp;performance/HA requirements, customer's preferences, and&amp;nbsp;available talent skill set.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good luck!&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jan 2018 05:00:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427602#M757</guid>
      <dc:creator>Dmitry_Alergant</dc:creator>
      <dc:date>2018-01-15T05:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427629#M758</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your responses.&lt;/P&gt;&lt;P&gt;I reckon the BI service or the Lambda function, will eat in some execution time. Just wanted to check again since RTDM cannot understand hierarchical Jason, I will have to some how convert it into flat jason either through SAS programming or through Lambda. However the client doesnt have Jason engine hence I cannot use Jason libname and they are also not very keen on AWS Lambda. So two questions: Is there really a need to convert the Jason file from hierarchical to flat and then again flat to hierarchy and since I cannot use Jason libname or AWS Lambda what is the alternative for this here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;mySAS1&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jan 2018 09:47:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427629#M758</guid>
      <dc:creator>mysas1</dc:creator>
      <dc:date>2018-01-15T09:47:54Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427817#M760</link>
      <description>&lt;P&gt;Hi, the JSON engine does not need any separate license, it's just baked in there in sufficiently recent SAS platform versions. If it's not there maybe SAS version is somewhat outdated and may be upgraded to a recent 9.4 maintenance release.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Even in this case, and if&amp;nbsp;SAS BI Web Services is still your choice (despite high availability concerns), there are plenty of workaround approaches:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;You can hard-code conversion logic using good old string manipulation functions without using specialized json&amp;nbsp;libraries or engines&lt;/LI&gt;&lt;LI&gt;You can possibly export json&amp;nbsp;to a physical file and then run whatever&amp;nbsp;Linux command or script you like to operate on that JSON ("jq", python, or node.js), then load the results back. The execution delay may increase with all these back-and-forths, that's correct.&amp;nbsp;&lt;/LI&gt;&lt;LI&gt;etc&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Or you can implement a conversion web service using any other programming environment (not necessarily&amp;nbsp;SAS BI or AWS Lambda) - Java, Python, Perl - whatever works for you and your customer.&amp;nbsp; If implemented properly, an impact on execution delay may be negligible (like under 5ms easily).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At this moment I'm not sure what's your remaining question and how can we help you further. You may reach for more help on Stackoverflow...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you question is "&lt;STRONG&gt;are there any&amp;nbsp;controls in SAS RTDM that will somehow teach him to accept hierarchical JSON queries without external conversion, that it does not do currently based on your test&lt;/STRONG&gt;" - then the answer is unfortunately no.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Good luck!&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jan 2018 20:10:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427817#M760</guid>
      <dc:creator>Dmitry_Alergant</dc:creator>
      <dc:date>2018-01-15T20:10:15Z</dc:date>
    </item>
    <item>
      <title>Re: RTDM and JSON file integration</title>
      <link>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427869#M763</link>
      <description>Hi Dmitriy,&lt;BR /&gt;&lt;BR /&gt;Thanks for your input. Helps me a lot, much appreciate&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;mySAS1</description>
      <pubDate>Mon, 15 Jan 2018 22:59:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Customer-Intelligence/RTDM-and-JSON-file-integration/m-p/427869#M763</guid>
      <dc:creator>mysas1</dc:creator>
      <dc:date>2018-01-15T22:59:42Z</dc:date>
    </item>
  </channel>
</rss>

