Interoperability

Syndicate content 12 

This post is intended to guide you through the new JSON capabilities that we introduced in Caché 2016.1. JSON has emerged to a serialization format used in many places. The web started it, but nowadays it is utilized everywhere. We've got plenty to cover, so let's get started.

Last comment 11 January 2019
+ 32   1 33
7187

views

+ 32

rating

Preface: our small, but very ambitious company called “Black Mushroom Studio” came up with an idea for an e-commerce project and a mobile app that would let users pay for certain goods/services via a payment aggregator.

 

What we had initially: an Android app skeleton that, of course, liked communicating via HTTP and JSON, and a payment system with an API – web services with SOAP content.

 

Goal: make it all work together.

Last comment 22 September 2016
+ 15   0 7
1003

views

+ 15

rating

Recently I came across a very strong statement to the effect that InterSystems.Data.CacheClient.dll library works fast because it does not open a TCP/IP connection, instead it works in the same process as a database. It made me pause for quite some time. Firstly because .Net Managed Provider, which utilises this library, opens TCP/IP connection to the database (and it is stated in the documentation "Using .NET and the ADO.NET Managed Provider with Caché"). And secondly, because as far as I know only eXtreme applications attach themselves to the process.

Last comment 16 January 2017
+ 1   0 5
0

answers

789

views

+ 1

rating

Hi.

It is easy to receive JSON representation or dynamic Array from %ListOfDataTypes:

set l=##class(%ListOfDataTypes).%New()
do l.Insert("a")
do l.Insert("b")
do l.Insert("c")

set arrStr=l.$toJSON()
zwrite arrStr
set arr=l.$compose([])
zwrite arr

How to make backward conversion? How to receive %ListOfDataTypes from dynamic Array an JSON string?

I've tried

Last answer 30 June 2017 Last comment 8 February 2016
+ 2   0 3
745

views

+ 2

rating

Hello,

I am trying to use %ZEN.proxyObject to send out in JSON format so I do:

    set tProxyRequest = ##class(%ZEN.proxyObject).%New()
    set tProxyRequest.notanumber = "28001"
    set tProxyRequest.aboolean = "true"
    
    set tBody = ##class(%GlobalCharacterStream).%New()
    do ##class(Ens.Util.JSON).ObjectToJSONStream(tProxyRequest,.tBody,"aelotwu")
    w tBody.Read()

and I get:

Last comment 17 February 2016
0   0 6
0

answers

666

views

0

rating

I have a MySQL server with "posts" table.

I also have a Caché server with "downloadedposts" table. 

They are connected from Caché to MySQL via SQL Gateway

I want to keep Caché table synced with MySQL one  (MySQL "posts" table is a master copy), so periodically Caché queries MySQL server and downloads data. So far so good, and if a record appears or changes in MySQL table, Caché downloads the changes.

The problem I'm encountering is that sometimes rows would be deleted from  MySQL "posts" table.

How do I synchronize deletions?

Last answer 27 June 2016 Last comment 24 June 2016
+ 2   0 1
635

views

+ 2

rating

There are numerous ways to interact with InterSystems Caché: We can start with ODBC/JDBC that are available via SQL gateway. There are API for .NET and Java too. But if we need to work with native binary libraries, such interaction is  possible through Caché Callout Gateway, which can be tricky. You can read more about the ways of facilitating the work with native libraries directly from Caché in the article below.

Last comment 29 March 2018
+ 5   0 1
531

views

+ 5

rating

For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code?

Last comment 21 March 2018
+ 6   0 5
508

views

+ 6

rating

Hi All,

I've created a sample implementation of the MQTT protocol, which is now available on GitHub

The project demonstrates MQTT client capabilities and it's written in Caché Object Script.

 

Any comments, bug reports are welcome! Some more enhancements (like SSL / TLS support) are planned for the near future.

+ 4   0 1
0

comments

331

views

+ 4

rating

Learning Services Live Webinars are back! 

At this year’s Global Summit, InterSystems debuted InterSystems IRIS Data Platform™, a single, comprehensive product that provides capabilities spanning data management, interoperability, transaction processing, and analytics. InterSystems IRIS sets a new level of performance for the rapid development and deployment of data-rich and mission-critical applications. Now is your chance to learn more! 

Last comment 4 November 2017
+ 3   0 4
325

views

+ 3

rating

I have posted to aid others in diagnosing problem with SSL/TLS connections to superserver port from .NET client executable.

The cache instance this appeared on is quite old - 2011 - so I do not know if Intersystems have added a better error message in a later version

The actual fault was due to the certificate in the %SuperServer SSL/TLS configuration having expired.

The unhelpful message that appeared in the .NET client included the following partial stack trace.

 

0   0 3
0

comments

305

views

0

rating

The Data Platforms department here at InterSystems is gearing up for this year's crop of interns, and I for one am very excited to meet them all next week!

We've got folks from top technical colleges with diverse specialties from hard core engineers to pure computer scientists to mathematicians to business professionals. They come from countries around the world like Vietnam, China, and Finland and they all come with impressive backgrounds. We're sure they will do very well this summer.

+ 6   0 3
0

comments

299

views

+ 6

rating

Hello WRC.

Is possible to obtain a node-cache modul for the nodeJS ver.4.4.4. and actual Caché 2015... ?

And what is the expected outlook of this.

A note about this new portal: If I put into "search box" some text with dot like .js or .css ( for example: test.js )  , I obtaint error page. Try it.

Of course, this "Developer Community" is nice, the right way.

Nice day for all, Jan Krestyn

 

Last answer 17 June 2016
0   0 1
0

comments

293

views

0

rating

Microsoft Office has components for using in third party applications: COM Objects for C++ and Interop Assemblies for .Net programming.

Many Cache projects used to include calls to those libraries. However, recently this solution started being problematic.

There are two main reasons - legal and technical. Let’s check the details.

Microsoft technology support

Microsoft is supporting Office Automation only for desktop computing. 

It shall not be used for server computing, as they offer Sharepoint for this scenario. Have a look here:


+ 1   0 1
0

comments

272

views

+ 1

rating

1. Blockchain

As I am writing this article, Bitcoin costs less than one-fifth of what it used to be at the pinnacle of its success. So when I start telling someone about my blockchain experience, the first thing I hear is undisguised skepticism: "who needs this blockchain stuff now anyway?"

That's right, the blockchain hype has waned. However, the technologies it is based on are here to stay and will continue being used in particular areas.The Internet in general offer tons of materials describing the general usage of these technologies 

Last comment 21 February 2019
+ 5   2 2
251

views

+ 5

rating

Hi,

We do have a production including a SOAP.OutboundAdapter that make a request to a .NET WCF Service. The response from that service vary in size. When it come to large one, we talk about maybe 8000 records (with 6-8 attributes per record) in xml, the adapter always give a timout. Even if we put a high number of seconds or set -1. After 1 1/2h still nothing get back. It's just standing there and waiting for ever.

Last comment 12 February 2016
0   0 3
0

answers

248

views

0

rating

Hi - has anyone successfully used the python binding on a mac. I carried out the install instructions per InterSystems documentation and it fails completely. 204 warnings and 9 errors. Obviously this was never tested by InterSystems. Is it even worth pursuing?

Thanks

Last answer 5 June 2018 Last comment 6 June 2018
0   0 3
242

views

0

rating

Hello,

 

I am looking for ObjectScript implementation of crypt-compatible function, that generates md5 salted hashes (output is in the form of $1$salt$hash). From what I understand it uses its own spin on md5 algorithm:

 

https://en.wikipedia.org/wiki/Crypt_(C)
http://php.net/manual/en/function.crypt.php
http://www.gnu.org/software/libc/manual/html_node/crypt.html

Last answer 28 September 2017 Last comment 29 September 2017
0   0 2
237

views

0

rating

I am looking for a general overview of how you would attach a document to a patient record in healthshare.  For instance, an Advance Directive or Living Will.

 

Here are some starter questions:

  1. What format is required, if any?  Can it be a PDF or DOC?
  2. How can/should it be submitted?  HL7? XDS.b?  Embedded in a CCD?

Sorry for the open endedness.  Any info would be helpful while I research this.

Last answer 9 March 2017 Last comment 16 November 2016
0   0 0
233

views

0

rating

This is a FYI for anyone who has experienced the following error after upgrading an existing  instance to any product based on Caché 2017.2.2. In our case, the products are HealthShare HealthConnect for Redhat x64 and for Windows x86-64 but I believe it would be a common problem for any InterSystems product on any platform, if based on Caché 2017.2.2. After upgrading our development instance from 2016.2.2 to 2017.2.2, we experienced the following errors when attempting to start a pre-existing Java Object Gateway that was defined prior to the upgrade:

+ 1   1 2
0

comments

194

views

+ 1

rating