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!

13 6
10 3.2K

ObjectScript Kernel Logo
Jupyter Notebook is an interactive environment consisting of cells that allow executing code in a great number of different markup and programming languages.

To do this Jupyter has to connect to an appropriate kernel. There was no ObjectScript Kernel, that is why I decided to create one.

You can try it out here.

Here's a sneak peek of the results:

10 4
3 852

Hey Community,

Learn how you can develop a Node.js application and connect to InterSystems IRIS data platform through the Native API:

Using Node js to connect to InterSystems IRIS

https://www.youtube.com/embed/YMQ3N_95JPc
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 1
0 355

Hey Developers,

See how you can develop a .NET application and connect to InterSystems IRIS® data platform using one or more APIs:

Using NET to Connect to InterSystems IRIS

https://www.youtube.com/embed/lUnsuGj1nys
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 242



This formation, accessible on my GitHub, will cover, in half a hour, how to read and write in csv and txt files, insert and get inside the IRIS database and a distant database using Postgres or how to use a FLASK API, all of that using the Interoperability framework using ONLY Python following the PEP8 convention.

12 1
1 667

Hey Community,

In this webinar, we’ll discuss how you can now easily integrate Apache Kafka within InterSystems IRIS data platform, including via interoperability productions and programmatically via API calls, as both a producer as well as a consumer of Apache Kafka messages:

InterSystems IRIS Tech Talk: Kafka

https://www.youtube.com/embed/UjkwbGA0kaE
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 0
0 277

Hey Developers,

You're very welcome to join the upcoming InterSystems webinar called "InterSystems IRIS Tech Talk: Python"!

Date: Wednesday, June 08, 2022
Time: 11:00 AM EDT

https://www.youtube.com/embed/a8SJ8bwlC-E
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

In this tech talk, we’ll go into detail about the breadth of support Python developers have using the InterSystems IRIS data platform, including:

4 1
0 473

While reviewing our documentation for our ^pButtons (in IRIS renamed as ^SystemPerformance) performance monitoring utility, a customer told me: "I understand all of this, but I wish it could be simpler… easier to define profiles, manage them etc.".

After this session I thought it would be a nice exercise to try and provide some easier human interface for this.

The first step in this was to wrap a class-based API to the existing pButtons routine.

I was also able to add some more "features" like showing what profiles are currently running, their time remaining to run, previously running processes and more.

The next step was to add on top of this API, a REST API class.

With this artifact (a pButtons REST API) in hand, one can go ahead and build a modern UI on top of that.

For example -

6 15
4 1.1K

Hi Community,

See how you can develop in Python and connect to InterSystems IRIS® data platform with PyODBC and the Native API:

Using Python to Connect to InterSystems IRIS

https://www.youtube.com/embed/xnymoOjjDlY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 340
InterSystems Official
· Feb 16, 2021
IAM 1.5.0.9 is now GA (Generally Available)

The GA release is now published for the 1.5 version of the InterSystems API Manager (IAM).

The container for IAM, including all relevant artifacts to upgrade from earlier versions of IAM can be downloaded from the WRC Software Distribution site in the Components area.

The build number for this release is IAM 1.5.0.9-4.

InterSystems API Manager 1.5 makes it easier to manage your API traffic, integrate with your environment and onboard users of your APIs. It has many new capabilities, including:

  • Improved User Experience
  • Introducing new Developer Portal tools
  • Support for Kafka connectivity
5 6
0 628

I would like to know any experience working with OPC UA standard in industry sector or IoT. Currently there is no adaptor implemented in IS IRIS for it but it seems to be pushed as the main standard in industry. Did anyone had to implement their own libraries or adaptors to deal with it? Or do you advice to use any already implemented library in Java, Python,...? Any feedback would be appreciated.

0 1
0 415

SQL gateway. 'Locking' problem.

while debugging, is there in Caché a command to 'unlock' the instance of a class ?

close class, and kill class is not enough.

same problem in %Activate link

for each debug I have to exit (Halt) the terminal,

make debug in C#

coming back , and re-load again in Caché.

Regards,

Emanuel

0 1
0 323

Hi All, We have been using DeepSee which has been the integrated Analytic Dashboard built over Cache Cubes. It works fine but it's visual capabilities are limited and most probably is getting phased out. If I am not wrong, Tableau is the suggested alternative to DeepSee . It is expensive and a big and considerable shift from existing technology I wanted to get an opinion of the community as to these few key points - What other BI tools others have been using with IRIS and what have been their experience - For which tools are the best inbuilt support / api's avaialble in IRIS

2 10
0 567

We are using the out-of-the-box IHE components to exchange CCDs with an external system. A requirement to audit the outbound CCDs has arisen.

Is there an existing report that will show these ? If not, how can we audit these?

Thank you for reading

0 1
0 176

Hello developers, I'm a newbie to Intersystems technologies and I started to work with Caché and Ensemble, and to be more specific I'm working with systems integration. In a scenario where I need to develop new software from scratch, would it be better to develop this new software using REST APIs? Does anyone have any recommendations about courses?

0 3
0 321

I have a website where I offer shipping services. I need to implement UPS API in my website. I already did all the basic tasks such as create my UPS developer account, download the packages... Now I want to start with the project but I don't have no idea about how to start. UPS doesn't give any instruction or example about that.

P.S: I have knowledge in the basic language such as HTML, JavaScript, PHP, CSS and MySQL...

Please can someone help me with that?

0 3
0 509
Question
· Sep 30, 2021
Portal's category.

Hello,


I’m looking for a way to find out which category of portal a connector belongs to.
I looked at the class ‘Ens.Config.Production’ and ‘Ens.Config.Item’ but without success.


An idea about the ‘ObjectScript’ code to design?

Best Regards.

0 11
0 309
Question
· Sep 8, 2021
Arabic Language

Good Day

I have http response comes with strange characters "ليس لديه الØ", but it's normal when i test in postman. Is there any method to read arabic.

Regards

0 9
0 636

Over the past year or so, my team (Application Services at InterSystems - tasked with building and maintaining many of our internal applications, and providing tools and best practices for other departmental applications) has embarked on a journey toward building Angular/REST-based user interfaces to existing applications originally built using CSP and/or Zen. This has presented an interesting challenge that may be familiar to many of you - building out new REST APIs to existing data models and business logic.

12 34
6 1.6K

Hey Developers,

Watch the new video on InterSystems Developers YouTube:

Tell the World About Your REST APIs: The Benefits of a Centralized Developer Portal

https://www.youtube.com/embed/NgSJpuJi9kI
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 157
Question
· Sep 14, 2021
P2P OAUTH Recommended Flow

Hello,

I'm hoping to get some feedback on the OAuth process flow for Payer-to-Payer authorization. It doesn't seem that "Authorization Code Flow" is needed as there will not be a need for a login. I am leaning towards recommending "Client Credentials Flow", but wanted to get some community feedback before making a decision. I prefer to follow what the standard will be if possible. What would you recommend? Thank you in advance for your input.

0 2
0 228