Class dbml.DictToDBML
{

ClassMethod WriteDBML(schema As %String = "") As %Status
{
    Set stmt = ##class(%SQL.Statement).%New()
    Set status = stmt.%PrepareClassQuery("%Dictionary.CompiledClass","Summary")
    If $$$ISERR(status) {
        Do $System.Status.DisplayError(status)
        Quit
    }

    Set rset = stmt.%Execute()
    While (rset.%Next()) {
        If rset.%Get("Persistent") = 1 {
            Set table = rset.%Get("Name")
            Set tableSchema = $Piece(table, ".", 1)
            Set tableName = $Piece(table, ".", 2)

            If tableSchema = schema {

                Set cdef = ##class(%Dictionary.CompiledClass).%OpenId(table)
                Write "Table ", tableName, " {",!
                    Write " ID integer [primary key] ",!
                    // get list of properties
                    Set count = cdef.Properties.Count()

                    For i = 1:1:count {
                        Set paramCount = cdef.Properties.GetAt(i).Parameters.Count()

                        //I checked Name property and it has MAXLEN
                        If (cdef.Properties.GetAt(i).Name = "Name") {

                            Write "MaxLen: ",cdef.Properties.GetAt(i).Parameters.GetAt("%MAXLEN"),!

                        }

                        Write cdef.Properties.GetAt(i).Name, " ", cdef.Properties.GetAt(i).Type, "", cdef.Properties.GetAt(i).Parameters.Count(),!
                    }
                    Write "}",!
                }

            }
        }

        Return $$$OK
}

}

I'm using the bpmn notation only to represent IRIS options to the development.

Ensemble not supports bpmn, only bpel, but it is possible use a java bpmn engine to run bpmn process from iris, or the api services from this bpmn engine. There are many options to open source engines like activiti, camunda, flowable. Would be a good option to a new open exchange app!

You need to enable https to your REST API. Follow these steps:

Use a proxy server to do that. Have a look at this git : https://github.com/grongierisc/Https-Proxy-IRIS-Docker or this one : https://github.com/lscalese/isc-webgateway-letsencrypt (thanks @Guillaume Rongier)

Steps (thanks @Eduard Lebedyuk )

1. Install public web server (Windows, Linux).

2. Connect it to InterSystems IRIS.

3. Enable HTTPS there. Easiest way is Let's Encrypt.

internal/modules/cjs/loader.js:718
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: Não foi possível encontrar o procedimento especificado.
\\?\c:\teste\node_modules\iris.node
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (c:\teste\iristest.js:1:74)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)