Bookmarks

In this article, I would like to talk about the spec-first approach to REST API development.

While traditional code-first REST API development goes like this:

  • Writing code
  • REST-enabling it
  • Documenting it (as a REST API)

Spec-first follows the same steps but reverse. We start with a spec, also doubling as documentation, generate a boilerplate REST app from that and finally write some business logic.

This is advantageous because:

  • You always have relevant and useful documentation for external or frontend developers who want to use your REST API
  • Specification created in OAS (Swagger) can be imported into a variety of tools allowing editing, client generation, API Management, Unit Testing and automation or simplification of many other tasks
  • Improved API architecture.  In code-first approach, API is developed method by method so a developer can easily lose track of the overall API  architecture, however with the spec-first developer is forced to interact with an API from the position if API consumer which usually helps with designing cleaner API architecture
  • Faster development - as all boilerplate code is automatically generated you won't have to write it, all that's left is developing business logic.
  • Faster feedback loops - consumers can get a view of the API immediately and they can easier offer suggestions simply by modifying the spec

Let's develop our API in a spec-first approach!

+ 3   2 2
0

replies

198

views

+ 3

rating

Cogs Library

Over the next few months I will be releasing a number of open source libraries and tools to the Caché community.

Most of the code has evolved from previous production grade solutions over the years and I am collating it together under a single overarching library package that I am calling Cogs.

Last reply 3 August 2019
+ 17   4 8
1,036

views

+ 17

rating

Hey Community!

As you know, InterSystems Developer Community is always evolving. We have a number of different pages in popular social networks. And now we're more than happy to launch the InterSystems Developer Community on LinkedIn! Please welcome:

1. Developer Community Page on LinkedIn: to stay in the know about articles, answers, announcements, hot discussions, best practices based on InterSystems technology - so good if you are an active user of LinkedIn!

2. InterSystems Developers Group on LinkedIn: to network with other developers.
Imagine that you want to invite a high-pro DC member to your event, or you have a question or need advice... How to contact him/her? Now it's easy! Go to DC LinkedIn Group and send a direct message!

+ 3   1 2
132

views

+ 3

rating

Intro

 

Please note, this article is considered deprecated, check out the new revision over here: https://community.intersystems.com/post/tutorial-websockets

The goal of this post is to discuss working with Websockets in a Caché environment. We are going to have a quick discussion of what websockets are and then talk through an example chat application implemented on top of Websockets.

Last reply 28 January 2019
+ 12   4 18
8,556

views

+ 12

rating

Good News!! You can use now the Free InterSystems IRIS Community Edition in the AWS Cloud

Hello,

It's very common that people new in InterSystems IRIS want to start to work in a personal project in a full free environment. If you are one of this, Good News!! You can use now the Free InterSystems IRIS Community Edition in the AWS Cloud.

Last reply 5 February 2019
+ 6   3 5
867

views

+ 6

rating

Hi,

I'm using node.js to access to Iris.

Considering this globals:

^Customer(1, "Address", 1)="London"

^Customer(1, "Address", 2)="UK"

^Customer(1, "Name")="Jane K. White"

^Customer(2, "Address", 1)="Reigate"

^Customer(2, "Address", 2)="UK"

^Customer(2, "Name")="Peter R. Black"

^Customer(3, "Address", 1)="London"

^Customer(3, "Address", 2)="UK"

^Customer(3, "Name")="Paul J. Green"

I retrieve all customers with: 

mydata.retrieve( { global: "Customer" },

"array",

function(error, result) {

Last reply 21 January 2019
+ 1   2 3
190

views

+ 1

rating

At the George James Software booth at Global Summit last year we took the wraps off the work we've been doing to make our popular editing and debugging tool Serenji available on the Visual Studio Code platform.

Rather than requiring you to pull code from your namespaces into local files, then push the changes back to the namespace to run it, you work directly in the namespace. In other words, the editing experience is like Studio rather than like Atelier.

As well as editing code you can also debug it directly from VSCode.

Last reply 17 January 2019
+ 3   1 5
390

views

+ 3

rating

I followed the instructions in the documentation https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls... (Install iris.node on nodejs for windows). Procedures made:

=> Copy iris.node to the location specified in the NODE_PATH environment variable: C:\Program Files\nodejs

=> I used: var irisobj = require('iris') on my js file

But is not work. Error: The specified procedure could not be found.

Last reply 17 July 2019
+ 1   1 3
301

views

+ 1

rating

Has anyone called any outside Javascript code from inside their class files? I asked a long time ago if there was a way to manipulate an image within Cache Object Script, and since Cache doesn't have any image libraries its not really possible. However I have found Javascript to resize an image and wonder how hard it would be to mesh the two together.

Can anyone share any examples?

Thanks

Scott

Last reply 4 January 2019
+ 2   1 3
660

views

+ 2

rating

There's a new and exciting enhancement to QEWD that has just been released - it's an additional layer of abstraction known as QEWD-Up.  QEWD-Up hides away all the mechanics of QEWD itself, allowing you to focus on just your REST APIs and the code that implements them.

Additionally, and importantly, QEWD-Up simplifies the maintenance of your REST APIs, allowing you (and others) to quickly and easily understand their life-cycle and implementation.

Last reply 2 January 2019
+ 3   4 3
515

views

+ 3

rating

InterSystems is adopting a new approach to releasing InterSystems IRIS.  This blog explains the new release model and what customers should expect to see.  We laid this out at Global Summit at the end of the InterSystems IRIS roadmap session  and have received a lot of positive feedback from customers.

With this new model we offer two release streams:

1) An annual traditional release that we call EM (for Extended Maintenance)

2) A quarterly release that is tagged CD (for Continuous Delivery) and will be available only in a container format.

Last reply 13 November 2018
+ 7   7 4
997

views

+ 7

rating

As a result of Evgeny's recent questions regarding the use of QEWD.js with IRIS in another post, I thought it would be a good idea to create a separate post focusing specifically on how to use QEWD.js to create REST APIs for IRIS.

QEWD.js is,  of course, a Node.js framework, and all the REST API code can be written entirely in JavaScript. 

Last reply 13 December 2018
+ 4   4 3
533

views

+ 4

rating