iris-megazordA lot of ideas together. Different projects, one goal. | José Pereira | | 4.0 (1) | 05 Mar, 2023 | 717 | 21 |
interoperability-testUnit Test Interoperability production interface | O Oliver Wilms | | 5.0 (1) | 15 Sep, 2022 | 405 | 12 |
InterSystems Ideas Waiting to be ImplementedParser for arbitrary binary protocolsRapid growth of IoT industry in recent years produced a plethora of new protocols with varying levels of standardization and adoption.
Quite a lot of these protocols are binary because:
* It allows for greater throughput
* On a device level these protocols are easier to implement
* On a device level they are more resource (CPU/RAM) efficient
Currently InterSystems IRIS offers several functions for work with binary data:
* zzdump
* $zhex
* $char
* $ascii
But protocol implementation is left as a task for the end user.
Removing the time-consuming need for protocol implementation would allow for easier and stronger positioning of InterSystems IRIS as an IoT platform.
One of the possible approaches to protocol implementation is declarative parsing. With declarative parsing user describes the data structure that he wants parsed (i.e.{ name: title, type: string, length: 5}...) in some declarative language (XML, JSON, YAML) and we use this to generate a concrete parser. Afterwards user passes protocol data to the concrete parser implementation and receives parsed values (as objects or locals or $lb).
Kaitai Struct (http://kaitai.io) is an OpenSource (MIT license) declarative parser implementation which allows user to generate parser code for several languages: C++, C#, Go, Java, JavaScript, Lua, Perl, PHP, Python, Ruby, Rust. It allows easy language extensibility by keeping most of the process language-agnostic and only the last step (concrete parser generation) is end-language specific.
I propose we add ObjectScript as a Kaitai Struct generation language. It would allow us to generate native ObjectScript parsers easily which would help with presenting InterSystems IRIS an IoT platform especially at a PoC stage.
Alternatives to Kaitai Struct:
* binpac (https://github.com/bro/binpac) - C++ only
* preon (https://github.com/preon/preon) - Java only
The advantage of Kaitai Struct is that it's not aimed at one language form the beginning, so adding a new language is an expected procedure.
Article on the topic (https://old.reddit.com/r/cpp/comments/5tcnmh/implementing_communication_protocols_in_c_for/) Vote |
Community objectscriptQualityObjectScript code analysis for community projects | D Daniel | | 4.0 (1) | 08 Sep, 2022 | 529 | |
DC AnalyticsInterSystems Developer Community analytics. | E Evgeniy Potapov | | 4.5 (2) | 06 Sep, 2022 | 711 | |
ObjectScript Kernel Execute ObjectScript in Jupyter Notebook | Nikita Mullin | | 5.0 (1) | 18 Jul, 2022 | 513 | |
Water Conditions in EuropeWater Conditions with Prediction, Dashboards and more | E Evgeniy Potapov | | 5.0 (2) | 03 Jun, 2022 | 412 | |
cryptocurrency-rate-forecastingAn example of how IRIS can be used to predict the rate of crypto | O Oleh Dontsov | | 5.0 (2) | 01 Jun, 2022 | 552 | |
iris-mailiris-mail serves as a substitute for mail server. | O Oliver Wilms | | 4.8 (2) | 30 May, 2022 | 479 | 22 |
iris-history-monitorIRIS History Monitor - For InterSystems IRIS is now available in Package Manager and using IRIS 2019.4 API and WS | Henrique Dias | | 4.2 (3) | 15 May, 2022 | 2.2k | 106 |
iris-globals-graphDBUse Globals to Store and Retrieve Graph Database Structure | Muhammad Waseem | | 5.0 (1) | 18 Jul, 2025 | 787 | |
React-UI-GlobalApplication with toolkit for globals | E Evgeniy Potapov | | 4.0 (1) | 08 Apr, 2022 | 350 | |
iris-python-appsPython IRIS Dashboard, Data Sciences, Plotting and Visualization | Muhammad Waseem | | 4.0 (1) | 23 Feb, 2022 | 1.6k | |
IRIS Interoperability Message ViewerA new approach for the Interoperability Message Viewer | Henrique Dias | | 4.6 (4) | 20 Nov, 2021 | 1.4k | 651 |
iris-crypto-trackerTracking Crypto currency levels and alerts about ups and downs. | E Evgeniy Potapov | | 4.5 (1) | 23 Oct, 2021 | 466 | |
fhir-integratedml-exampleAn example on how to use InterSystems IRIS for Health FHIR database to perform ML models througth InterSystems IRIS IntegratedML | José Pereira | | 4.8 (3) | 01 Aug, 2021 | 1.1k | |
iris-rad-studioIRIS RAD Studio it's a low-code solution that came to make the developer's life easier; Allowing everyone to create their CRUD based on a simple class definition or even a CSV file. | Henrique Dias | | 3.5 (1) | 15 Apr, 2021 | 1.3k | 87 |
iris-rad-studio-samplesSamples for IRIS RAD Studio | José Pereira | | 4.5 (1) | 14 Apr, 2021 | 270 | 35 |
mg_phpA PHP Extension for InterSystems Caché/IRIS. | C Chris Munt | | 0.0 (0) | 25 Mar, 2021 | 500 | |
mg_goA GO Extension for InterSystems Caché/IRIS. | C Chris Munt | | 0.0 (0) | 25 Mar, 2021 | 1.1k | |
mg-dbxA Node.js Extension for InterSystems Caché/IRIS. The focus and rationale for this solution is high-performance NoSQL-based access to the database, though access to InterSystems SQL, Objects and Functions is also supported. | C Chris Munt | | 0.0 (0) | 25 Mar, 2021 | 581 | |
mg_rubyA Ruby extension for InterSystems M/Caché/IRIS | C Chris Munt | | 0.0 (0) | 25 Mar, 2021 | 537 | |
mg_pythonA Python Extension for InterSystems Caché/IRIS. | C Chris Munt | | 4.0 (1) | 24 Mar, 2021 | 624 | |
Create a unified hospital data extraction scheme based on IRIS for HealthCreate a unified hospital data extraction scheme based on IRIS for Health | D Deming Xu | | 0.0 (0) | 30 May, 2021 | 399 | |
Dictionary comparison scheme of cache databaseThe dictionary comparison of the data collected in the cache database is carried out, and the dictionary related data cleaning work is quickly completed through the global model, so as to build a unified and correct database for the hospital | W Weiwei Yang | | 0.0 (0) | 27 Feb, 2021 | 351 | |
Airplane React, Material UI, and REST APIDevelopment of a System using React, Material UI and REST API IRIS. | F Flavio Lucio Naves Junior | | 3.0 (1) | 16 Mar, 2021 | 478 | |
iris-google-run-deploy-templateSimple InterSystems IRIS docker solution deployment to Google Run template | Evgeny Shvarov | | 5.0 (1) | 26 Feb, 2021 | 407 | 15 |
IRIS-REST-API-DATABASEMANAGERCreate persistent Tables and Datas in Cache Database using REST API | L Lucas Bourré | | 5.0 (1) | 26 Feb, 2021 | 365 | 21 |
EnsDemo Iris installerENSDEMO port to IRIS without HL7 and DICOM exemples | G Guillaume Rongier | | 4.5 (2) | 23 Feb, 2021 | 430 | |
iris-sftp-logsIRIS solution for managing SFTP log files | O Oliver Wilms | | 5.0 (1) | 31 Jan, 2021 | 503 | 16 |
HealthInfoQueryLayerThe application use generic interface to perform query on data schema and used globals as configuration. At run time, the program will implement the query referring to configurations. It's working as a prototype ObjectScript MyBatis Template. | B Botai Zhang | | 0.0 (0) | 26 Feb, 2021 | 601 | |