Welcome to Open Exchange

At InterSystems, we deeply appreciate the rapid innovation enabled by open-source development. Our team acknowledges the significant impact of the community's dedication, which has been a driving force behind the evolution of software and data technology.

Top contributors

Featured applications

9 Application(s)
Filter
Show only
Last release on OEX
Categories
Works with
Industry
Clear filters
Application NameDeveloperMade withRatingLast updatedViewsInstalls

apptools-admin

This solution can be installed in earlier versions of Caché and Ensemble (tested 2016.1+). This can be done by importing xml.

Sergey Mikhailenko
Docker
IPM
5.0 (1)24 Sep, 2024 1.2k 277

apptools-django

IRIS management portal using the Django framework

Sergey Mikhailenko
Docker
Python
IPM
4.0 (1)28 Sep, 2023 362 10

InterSystems Ideas Waiting to be Implemented

Parser for arbitrary binary protocols

Rapid 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/)

E
by Eduard Lebedyuk

3

Votes

0

Comments
Vote

appmsw-warm-home

Example for creating a user interface for a smart home

Sergey Mikhailenko
Docker
Python
IPM
5.0 (1)18 Jun, 2023 247

apptools-gateway-demo

Demo of exporting and importing instances of the SQL.Connection

Sergey Mikhailenko
Docker
5.0 (1)20 Nov, 2022 175

apptools-infochest

Template and examples for creating a user interface for a media file storage

Sergey Mikhailenko
Docker
IPM
5.0 (1)27 May, 2022 367 21

isc-apptools-lockdown

Program for changing the security level of the system.

Sergey Mikhailenko
Docker
IPM
5.0 (1)29 Nov, 2021 487 271

apptools-util

Utilities adapting for IRIS and working with modules ZPM

Sergey Mikhailenko
Docker
IPM
3.5 (1)30 Mar, 2021 217 37

apptools-task

An example of a backup task with preliminary deletion of old files.

Sergey Mikhailenko
Docker
IPM
5.0 (1)29 Oct, 2020 181 9

cache-iris-app-tools

Application tools for technical support and DBMS administrator. View globals arrays, execute queries (including JDBC/ODBC), sending results to email as XLS files. Viewer class instances with СRUD editing. A few simple graphs on the protocols of the system. CSP application but based on jQuery-Ui, Uik

Sergey Mikhailenko
3.5 (1)24 Mar, 2020 311