Find

Question
· Jun 18, 2024

Looking for examples of creating RESTful JSON web service as "Business service" and converting the JSON data received to a HL-7 message in a Transformation.

HI,

I'm migration an existing integration to InterSystems.  The upstream (external) system calls a JSON web service hosted in the interface engine, which converts the JSON data received to a HL-7 messages to send to the downstream system. I'm looking for direction and example of how to do the equivalent in InterSystems, so the the upstream system only has to modify the URL of the web service they call.

I suppose in IS we'll need to create a business service that is a RESTful JSON web service? How to access the JSON data (parameters in the web service call) in the Transformation?

Thank you!

W

2 Comments
Discussion (2)1
Log in or sign up to continue
Article
· Jun 18, 2024 4m read

Unity Catalog for IRIS Workloads - Collision Theory Confirmed

Collision Theory Confirmed

Innovation happens when two or more technologies collide to create something new. The best collisions can CHANGE lives, eliminate WASTE, DIFFERENTIATE in the market or flat out give me another project I dont have time for, but this one would really really matter.

I attend conferences and hackathons searching for that something to click enough to make me walk out of a keynote happily distracted and snag one of those (rare indeed) empty benches next to a power outlet and consume code bases. This high occurred at  InterSystems Global Summit 2024 , but it wasnt apparent until a shot was fired 2900 miles away at DAIS 2024  at the very same time when Unity Catalog went Open Source! 

I am not one that can see through or engage a textile metaphor to articulate what is needed for data workloads at ridiculously weird/fast times to serve in my industry. I need software to back it, and pretty much immediately. This is the difference between solving a gap vs. curating an innovative idea I'd presume, so solutioning encouraged, and OSS is on the case.

Possible mis-use of "Collision Theory" for a publication aside, here is a collision or an eminent one at least that I pondered in an Uber ride a Wednesday ago and is still holding close to ring zero in my carbon based operating system.

The Collision

Vectors


You dont need to dig too hard to get excited about the immediately possibility of Vector Data Structures right along side all the other ones from a SQL perspective. "Already Ready" is a real thing and a column and ELT/ETL away without moving any data at all.

@Alvin Ryanputra 's GrandHack MIT Demo is kind on the eyes to highlight this data mix-in powered by embeddings/vectors:

SELECT TOP 3 * FROM scotch_reviews 
WHERE price < 100 // SQL STUFF
ORDER BY VECTOR_DOT_PRODUCT(description_vector, TO_VECTOR(:search_vector)) DESC // VECTOR SORCERY

You got your SQL mixed in with my Vectors could be a modern day Reese's commercial, and the fact you can take an already existing text column and rip it to evergreened embeddings and persist it should set off some light bulbs somewhere.

Python


Unity Catalog is front in center in the teaser for this post, but Python is the star of the show. The relentless work, evangelism, and solutioning that @Guillaume Rongier 
and the Python Posse at InterSystems has put in proved to be more important than ever to roll with the tide of our industry.

Why?

Python is a cloud interoperability platform.

And guess what...

It was successfully embedded and Object Script was made accessible in reverse fashion, and most likely not with the help of a single JIRA in the beginning to move it forward, and the real ticket to doing "Cloud." No more "adapters" needed to be built (but are welcomed and valuable), they are "Already Ready" in the supply chain as python modules.

If you are not in agreement with the above Python Cloud Statement, let's move to "Unmanaged Tables" in Unity Catalog OSS and argue about it there.

Unity Catalog OSS


In 2021, Databricks responded to customers jumping up and down to apply a sanity layer to the workloads for Data Governance, Security, and all those things mentioned for three days straight at Global Summit in the context of AI adoption. In 2024, it was opened up for any data platform to use, and has been a fascinating subscription to pull requests since that moment for sure.

So let's put it to its intended purpose, and turn the Orange to Teal and Navy to Purple and apply it in full solutioning glory to InterSystems IRIS.

Unity Catalog is a lot of things, a lot of good things that checks a lot of boxes in the modern data era. Outside of all those checkboxes is the registration of "connections" to external data for our Python powers to consume. This in essence is an "adapter" that results in a dataset for consumption of the IRIS Data Platform, instant cloud interoperability if you will with an enterprisey, itilly twist all with scoped authorization at the Metastore level.

[] = iriscatalog.cloudfiles("bucket")

If you consume information in a pattern like I do, I've already lost your SEO impression to another site to dig deeper on Unity Catalog, so Ill boil my closing actor in the collission with some MS Paint modifications as an overlay to Unity Catalog functionality.

This one is a bit far fetched and probably where on the spot solutioning falls apart, but what if our "Managed Tables" were InterSystems Data objects, and Unmanaged was instant data format compatibility ?

Key:
⛅ Instant Cloud Interoprability
🚀 Future Forward Data Sharing
✅  Already There

This is a developer community and a sweet terminal screenshot is mandantory with a whatif scenario in context. If you want to get started quickly in the flurry of development over there I suggest you just use this container on this pull request ( https://github.com/unitycatalog/unitycatalog/pull/42/files ).

What if, either by cpf magic, or callback, namespace creation registered itself with unity catalog?

So hi I am Ron and this is my article to be tokenized and spit out as embeddings and included in a yet to be named LLM in the future.

So how about a partnership ( https://www.unitycatalog.io/#partner-ecosystem ) over there with Unity Catalog ISC?

Ill certainly help in anyway I can.

Discussion (0)1
Log in or sign up to continue
Question
· Jun 14, 2024

Create a unique constraint on an existing table

I have a table that is already created and contains data.  I need to create a unique constraint that is a combination of two fields. Is there a way to do this in a SQL statement?  Also, I would lke to know how to add it in the table class.

1 Comment
Discussion (1)2
Log in or sign up to continue
Question
· Jun 13, 2024

Which are the best practises to handle large JSON?

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

The performance meets the requirements, even with much larger requests than the one exposed above. However, I am interested in learning the best practices for handling large JSON in ObjectScript (and why not, Embedded Python) to achieve better performance for future developments.

Here are some ideas I have considered:

  1. Iterative Processing: Process each element of the JSON iteratively without loading the entire stream into memory.
  2. Chunking: Split the loaded JSON into smaller chunks and process them one by one. I could split the array in parts and I wonder if getting an iterator from a smaller JSON chunk would reduce computation time.
  3. Parallel Processing: After splitting the JSON, using parallel processing to handle multiple requests simultaneously. I read something about %SYSTEM.WorkMgr but I'm not sure how can I implement it in this case.

I would appreciate any technical information or reference to documentation about the listed topic or any other additional best practices that could help in handling large JSON data more efficiently in ObjectScript and Embedded Python. 

Thank you!

2 Comments
Discussion (2)3
Log in or sign up to continue
Article
· Jun 12, 2024 2m read

La fin du Global Summit 2024

Bonjour à tous !

Aujourd'hui a été une journée riche en émotions au Global Summit, et je suis impatiente de partager avec vous les moments forts de cette dernière journée incroyable !

Dès le matin, notre stand de la Communauté des Développeurs a été le centre d'attraction de nombreux visiteurs enthousiastes.

@Guillaume Rongier, Luc Chatty, @Raj Singh, @Dmitry Maslennikov, @Olga Zavrazhnova, @Lucian ROTAR, @Thomas Dyar, @Irène Mykhailova

Luc Chatty, @Guillaume Rongier, @Dmitry Maslennikov, Lucian Rotar, @Thomas Dyar

Voici notre équipe de Relations avec les développeurs présente au Global Summit qui fait de l'écosystème des développeurs un endroit formidable.

@Olga Zavrazhnova (Global Masters),  @Vita Tsareva (Caelestinus), @Dean Andrews (chef du DevRel), @Anastasia Dyubaylo (Developer Community), @Irène Mykhailova (Developer Community)

Et bien sûr, notre équipe française qui anime la communauté des développeurs en français (avec un ami).

@Irène Mykhailova, @Guillaume Rongier, Luc Chatty, @Adeline Icard 

À la fin du Global Summit, il était temps de dire au revoir. Les sessions étant terminées, tout le monde s'est réuni pour échanger une dernière fois et se dire au revoir. Les adieux étaient empreints de promesses de se retrouver lors du prochain Summit. Les sourires, les accolades et les échanges chaleureux ont témoigné de la réussite de cet événement et de la force de notre communauté.

Merci à tous ceux qui ont participé et contribué à faire de ce Global Summit une expérience exceptionnelle. Restez connectés, et rendez-vous au prochain Summit pour encore plus de découvertes et d'innovations !

À bientôt et bon voyage à tous !

Discussion (0)1
Log in or sign up to continue