Question
Neerav Adam Verma · Dec 19, 2019

Web Technologies To Choose - Opinion Wanted

HI,

I am planning to build a WebApp that will have tons of data to display in tables, ability to add comments on that table rows and may be some few more small features as we move on.

1. It has to be Secure

2. It has to be fast

3. It has to be Non CSP / Non Zen

4. Will have Cache DB to pull records from but should be flexible to do that from any odbc resource

5. Version 2018 Ensemble

My first step would have been to investigate different options for technologies that would make it work and best suited with Ensemble 2018

Before I move forward I wanted to ask our community what do they think the route should be, the technologies I should go for and their experiences of the same.

 

Appreciating in advance the response and opinions. There will be no right or wrong answers to it

Many Thanks

 

00
1 18 301 5

Replies

Neerav,

For internal applications within InterSystems, we've chosen a webapp strategy of:

- REST services from Caché/InterSystems IRIS

- Angular8

- Angular Material

We are part-way into the implementation of this strategy and so far so good.  However, the work that we've done so far doesn't yet fit in the category of "tons of data to display' so I can't comment first-hand on the efficacy of this stack for that requirement (but you should be able to find experiences of others using Angular for data-heavy web apps).  We are using this for new application development, and we're also working to retrofit existing CSP/Zen apps and move them to this stack.  

Hope that helps!

Hey Benjamin

For starters even 50,000 rows of data displayed , searchable and paginated would be good enough. Can always build on that 

Do you have any sample where I can build upon?

There are several Web apps, using RESTForms as a backend REST API serving tables in the millions of rows.

It takes some tuning but with pagination it's not that hard to achieve.

We're also using latest Angular for UI part.

Hey Eduard,

Any sample to get started?

Thanks

The server part is explained in the linked articles. I can answer additional questions if ou have any.

For client part, @Sergey Sarkisyan can weight in?

HI,

I still haven't read the article but I will first thing tomorrow in detail.

Is there any node.js used to fetch the data???

Is any bootstrap involved too to beautify it??

Is there any node.js used to fetch the data???

No, RESTForms is used to fetch the data. It's a REST API.

Is any bootstrap involved too to beautify it??

Probably.

QEWD is. But it looks like you have two more products related to QEWD, right?

They aren't products as such, more repositories that focus on particular aspects of / components within QEWD, to help people get up and running with them.  They are linked from the main QEWD repository, which, in turn, is linked to your Open Exchange. 

QEWD is already listed, Evgeny. 

In my opinion it depends what is the main purpose of the web app.

As I am a big fan of TYPO3 Enterprise CMS we use TYPO3 as the base and use REST API to communicate with our Intersystems platforms.

TYPO3 brings all the security features out of the box and is fun to extend because everything is possible.

Hi Udo,

I had never heard of Typo3 before today. It seems good but I think a more known tool would be more acceptable in the organization.

Aim of app is to present data in a well formatted manner internally within the organization with the ability to do some simple updates

Thanks

Neerav, 

For my projects, I've been using this framework https://js.devexpress.com/; good HTML5 JavaScript Components with excellent features.

I'm developing using a more simple approach with:

- Simple HTML + jQuery

- REST services from Caché/InterSystems IRIS

DevExpress components are perfect for dealing with large datasets.

If you take a look at this project, you can see what the components are capable of:

https://community.intersystems.com/post/dashboard-iris-history-monitor

​​​​​​​Best Regards,

Henrique 

Hi Henrique,

This looks really good.

Before I dive further into your post, may I ask just one or two simple questions

1. Is the only connection to cache here is the Rest Services ?

For eg. if I replace the cache rest url and replace it with another one.. which is sending exactly same data . will it work?

2. Do we need to install something on the system for the same ?

3.  Do your files have an extension of .html or something else?

4. Is it correct to say that there is no Angular or node.js involved??

Many thanks

Hi Neerav, 

Answering your question: 

1. Yes, the only connection to Caché is the REST Services. The exception in IRIS History Monitor is the following line to show the Server Name | Instance Name :

#($piece($SYSTEM,":",1))# | #($piece($SYSTEM,":",2))#
2. If you don't want a docker environment, you can follow these steps :

https://community.intersystems.com/post/dashboard-iris-history-monitor#comment-73721I

3. The project IRIS History Dashboard was created using CSP files, but if you change, than to .html should work just fine. The only consideration is answer #1 above

4. Yes, there is no Angular or Node.js envolved.
 

Take a look at QEWD:

This is a good place to start: https://github.com/robtweed/qewd-baseline
There are instructions on how to try it out with IRIS, but Cache is also supported (all versions)

Both REST APIs and interactive browser-base applications (and Native Mobile apps also) can be quickly and easily developed.  Security is built-in and it's all Open Source.

QEWD main repository: https://github.com/robtweed/qewd

See also QEWD-JSdb: https://github.com/robtweed/qewd-jsdb