REST Services

This is a beginner’s guide to the design of a “MicroService” implemented in Ensemble. “MicroService” is a popular phrase these days which has a broad interpretation. My interpretation is: “MicroService” is a “NoSQL Service”. A what? The answer is in the article.

We learnt what the difference is between SQL and NoSQL databases. For me the difference is nearly the same between a SOA Web Service and a “MicroService”. I am going to explain it through an example.

+ 1   0 0
0

comments

589

views

+ 1

rating

A beginner’s guide to Exception Handling in RESTful web services. The article gives an example how the various error conditions during processing a service request can be handled.

We expect our client – server communication working in a flawless operational condition, running error free software. But we are prepared to handle exceptions. Are we? So far in the examples of the previous sessions were not. We did not care about exceptions. The result? In any error incident it took ages to figure out what the problem is and more importantly how to fix it.

Last comment 6 October 2016
+ 3   0 7
744

views

+ 3

rating

This article gives a brief introduction how a RESTful service consumer and a RESTful service provider exchange data. It is a beginner’s guide. Data is transferred from a consumer to a provider as parameters of the service. Parameters are part of a service request. The result of the service action a response is returned from a provider to a consumer. Both the service request and response are standard HTTP messages. Since HTTP is a flexible standard regarding to the message contents, RESTful services also enjoy the versatility of data transfer methods.

+ 3   0 4
0

comments

2276

views

+ 3

rating

Cross-origin Resource Sharing (CORS) is one of the basic security features built into browsers. CORS controls accessing resources from a HTML page in domains other than the original domain. It is particularly important for AJAX calls. Since RESTful services can be used as data provider to any AJAX call, you have to be able to control cross-origin access. By default services are not allowed to do CORS. You are going to learn how to enable it for Ensemble RESTful services.

+ 3   0 1
0

comments

834

views

+ 3

rating

A beginners guide to develop Ensemble RESTful web services.

Background

Before you start reading this short introduction please go through the on-line documentation of Ensemble with special attention to chapter “Creating REST services and clients with Ensemble”.

The approach in the documentation is undisputable the fastest and easiest way to create RESTful services. As a beginner I went through the documentation and I had several questions. This short article is listing those questions plus my humble answers.

Last comment 22 September 2016
+ 9   0 7
1418

views

+ 9

rating

Do you have any experience / recommendations / best practice on how to update server-side data residing in a Cache database via a REST service?

A naïve approach would be to send a full JSON representation of the data object via an http POST to a method on a REST handler class: 

<Route Url="/mydata/:id" Method="POST" Call="Update"/>

The problem I see here is, if only one of the data object's properties has changed, how do we know which? Or do we simply overwrite all properties? 

Last answer 20 September 2016 Last comment 19 September 2016
0   0 1
308

views

0

rating

Hi,

I want to create a table with a dynamic display of data using the DataGrid.

On the page there  dataCombo and the table.

According to the plan, when the user selects an item in dataCombo the table is filled with data. If select another item - data is updated.

But in fact, the data in the table are loaded once when the page is loaded, and when I select value in DataCombo, I receive an error:

Last answer 26 July 2016
0   0 1
0

comments

246

views

0

rating

Today I'm releasing a new EWD 3 module - ewd-feder8.

ewd-feder8 is a federation or integration platform, built as an extension of the EWD 3 ewd-xpress module.  So what does it do and what's it for? 

It's all about federating and integrating multiple web or REST service end-points.

At its simplest you can use it as a proxy server in front of a remote web service or REST end-point.

+ 2   0 0
0

comments

181

views

+ 2

rating

I need to pass a parameter string that contains slashes to a REST call.

I tried URL encoding, or making URL map to accept query parameter instead of path parameter but apparently we only allow for path parameters.

I can come with several workarounds, but these involve some transformation at client and then on server, but I'd prefer a direct support.

Q1: is there any Cache specific trick to pass slashes in path parameters

Q2: are we going to support query parameters in REST?

something like this would help: 

Last answer 1 June 2016 Last comment 1 June 2016
0   0 0
13397

views

0

rating

Hello, our customer, large industrial company, is considering modernizing their old CSP application so it can run on multiple client device types, using responsive design.

They have a lot of experience with CSP and some ZEN.

They are new to REST and have some limited knowledge of javascript - perhaps not enough to the extent used by client framework.

Does anyone have a framework or a set of templates that you would be willing to share?

Thank you!

Dan Kutac 

Last answer 16 May 2016 Last comment 16 May 2016
+ 2   0 0
525

views

+ 2

rating

This question came on the Ensemble in Healthcare email list. It's a great question. I'm working on an answer, but am posting it here to get any other input. I'll also address the option of using %CSP.REST.

Hello everyone,

 

Last answer 10 May 2016 Last comment 25 March 2016
+ 2   0 2
6686

views

+ 2

rating

Our company is looking for someone with expert object script skills and experience developing with REST using Caché. We have an existing application that currently supports a mobile application and a web application. The API is up and running but we need another developer to add new features and keep up with demand.

Experience with Amazon AWS is highly desired as the api is running on Windows in EC2. Familiarity with GitHub is also required.

Pay can be negotiated on a per hour basis after you provide an estimate for the time required to complete a given feature.

0   0 1
0

comments

215

views

0

rating

I was trying to modify the REST.DocServer sample in the SAMPLE namespaces to use the new %Object and %Array system objects (Ensemble 2016.2 build 636) with the following changes:

/// This method returns a list of namespaces for this server

ClassMethod GetNamespaces() As %Status

{

    #dim tSC As %Status = $$$OK

    #dim tList,tNS,tFilteredList,tValue As %String

    

    #; Get the list of namespaces

    Do List^%SYS.NAMESPACE(.tList)

    Set tNS="" For  {

    

        Set tNS=$Order(tList(tNS),1,tValue) If tNS="" Quit

Last answer 3 May 2016 Last comment 3 May 2016
0   0 3
271

views

0

rating

I have a Cache classes with %TimeStamp (e.g. 2016-04-18 12:29:11) and %Date (eg. 64027) properties. And I have a javascript client app, which needs full CRUD over this properties.

But in javascript date/time are defined by ISO8601 (e.g. timestamp 2016-04-18T12:29:11Z, date 2016-04-18).

Last answer 20 April 2016
+ 5   0 3
0

comments

1043

views

+ 5

rating

Presenter: André Cerri
Task: Use third-party visualization tools to present your DeepSee data
Approach: Use DeepSee REST services to access DeepSee data from third-party tools
 

Come see examples of how you can use popular 3rd party data visualization tools to access your DeepSee data.

 

Content related to this session, including slides, video and additional learning content can be found here.

0   0 2
0

comments

138

views

0

rating

Presenter: Danny Wijnschenk
Task: Build a development stack that enables state-of-the-art rapid development with a stable but adaptive back end.
Approach: Use InterSystems’ new document data model to achieve modern full-stack development
 

The MEAN stack is a very popular stack for building applications quickly that can change at a rapid pace. We will explore the benefits of such a stack and how you can tackle the requirements for modern and fast paced front-end development with support of a stable, but yet adaptive back-end using our new document data model.

Content related to this session, including slides, video and additional learning content can be found here.

0   0 4
0

comments

225

views

0

rating

I believe the I have followed the instructions to attach a document to the body of a post request but nothing is being sent out in the files{} port of the request.  I can either get the stream in "data", not visible at all, or visible but no form data. Any help would be appreciated, below is what I have:

Last answer 24 March 2016 Last comment 24 March 2016
+ 1   0 4
1347

views

+ 1

rating

RESTful API Call From Cache to Particle.io Electron

Tom Fitzgibbon | Multidata | 212-967-6700 x537 | tom@mul.com

Summary: Simple Blink Tutorial for Particle.io Electron Device from Cache

Electron device is a tiny ARM processor ($40-$60) that connects to Particle’s world wide leased 2G/3G network (about $3/mo) and runs off an included LiPo battery. Using Cache’s %Net.HttpRequest you can send/receive data, control hardware and read sensors.

Step by Step (about 1 hour)

1) Get the Electron from store.particle.io.

+ 2   0 1
0

comments

943

views

+ 2

rating