Article
· Sep 23, 2016 6m read
Creating a RESTful Service using Ensemble

This is a detailed guide to develop RESTful services using InterSystems Ensemble. The goal of this guide is to make you understanding the basic concept and building blocks of a RESTful service. The service is going to provide a very basic functionality (a “Hello world!”).

You will learn how to create required components as Ensemble classes, configure the run-time as an Ensemble Production and create a service configuration as a web application.

5 3
0 2.5K

Problem:

Caché prints to printers in a manner somewhat different from other Windows applications. Caché sends the data directly to the GDI Printer, without the usual interface. This is because the GUI interface can only be shown on a system desktop session and not in web browser and terminal sessions. Some printer drivers have problems with this method of printing.

Is this the problem you are having?

4 3
2 2.8K
Article
· Oct 18, 2016 7m read
Macros in the InterSystems Caché

In this article I would like to tell you about macros in InterSystems Caché. A macro is a symbolic name that is replaced with a set of instructions during compilation. A macro can “unfold” in various instruction sets each time it is called, depending on the parameters passed to it and activated scenarios. This can be both static code and the result of ObjectScript execution. Let's take a look at how you can use them in your application.

9 3
0 2.2K
Article
· Dec 20, 2016 5m read
Atelier, The Productivity Boost Tool

Development productivity? Isn’t it kind of an oxymoron? Anyhow, we all dream a magic tool which does the tedious job of the software development and leave the intuitive or creative part on the developer. Atelier is the next generation tool of InterSystems aiming to boost the productivity of Caché/ Ensemble based software development. Atelier is based on the popular Eclipse IDE platform, which makes available the “infinite” pool of third party tools for Caché developers. Those tools can truly boost the productivity. This short article gives some examples how third party plug-ins can help developing for Caché. It is an absolute beginner’s guide, beginner to Eclipse but experienced to Caché.

3 1
0 1.1K
Article
· Dec 1, 2016 2m read
Atelier Equivalents for Studio Actions
TaskStudio ActionAtelier EquivalentAtelier Keyboard ShortcutSee also ...
Display line numbers.View > Show Line NumbersWindow > Preferences > General > Editors > Text Editors > Show line numbersCTRL+,Atelier Editor Features: Line Numbers
Code completion assistanceImmediately suggests completions as you type, unless explicitly disabled.You must type CTRL+SPACE to invoke content assist.CTRL+SPACEEditor Content Assist
5 0
0 626
Importance and Collection of Exact Version Information ($zv / $zversion)
The explanation of:
- why collecting $zv is important (The WHY),
- what the components of $zv mean (The WHAT),
- and how to collect $zv (The HOW).
(The Ultimate $zv Guide to the ISC Galaxy in large, friendly letters)
14 4
1 1.5K

NewBie's Corner Session 22 Parameters Part III

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

In Sessions’ 20 and 21 on Parameters we saw how to call one routine from another with parameters as well as calling one Label from another with parameters. In these examples, the data was passed through the parameters from the calling routine or label to the called routine or label.

Now suppose you wanted the called routine or label to pass data back?

0 2
0 270
Article
· Oct 27, 2016 1m read
Ensemble's Workflow Inbox portal

Hi - If you want to embed Ensemble's Workflow Inbox, (that offers workflow task items to workflow users) inside of your application - you can access the URL directly without necessarily giving users access to the Management Portal - but more importantly, you can strip away the Titlebar, Worklists and Borders that make up the page by default.

You do this by using the same URL parameters you would use, if embedding a regular DeepSee dashboard into your application.

For example, adding &EMBED=1 at the end of the URL as depicted below:

0 0
0 371
Article
· Oct 26, 2016 1m read
Ensemble XML VDoc Schema Editing

This article explains how Atelier helps you to improve software development productivity. One of the Ensemble features is the VDoc infrastructure. When someone develops HL7 v2.* production, She/ He is in a luxurious situation because Ensemble comes with a HL7 Schema editor. On the other hand this is not the case with XML VDocs. But with some effort you can turn Atelier to a handy XSD editor and close the gap.

Please follow the step-by-step guide to complete the job.

Before you read

Please make sure that you have

1 0
0 576

NewBie's Corner Session 21 Parameters Part II

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

In the previous session we saw how to call RtnB from RtnA with Parameters.

We also defined Parameters as another name for Variables when used in passing data from one Routine to another, or, from one Label to another.

Calling a routine from a Label, or to a Label, from within a routine is very similar to calling a routine itself.

0 0
0 250

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 891

Here you have an easy way to write and execute COS code from your unix scripts. This way one does not need to write routines or even open Studio or Atelier. It can be an option for simple and small actions for instance things like installation tasks or compiling.

See sample bash script (compile.sh) to compile classes:

6 2
0 863
Article
· Oct 12, 2016 12m read
RESTful API

Beginner’s guide to RESTful Application Program Interface (API) design and documentation. Through the example you will learn some common pattern for RESTful API.

Before you read

You need to know

3 0
0 3K
Article
· Oct 6, 2016 4m read
RESTful Exception Handling

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.

3 1
0 1.7K
Article
· Oct 5, 2016 13m read
RESTful way of data transfer

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
0 4.4K

NewBie's Corner Session 27 Traversing A Global with $Order Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Traversing A Global

Perhaps the most difficult concept in Caché/MUMPS is its Global Structure. This session and several that follow it deals with the Global Structure. However, just presenting the material will not guarantee your understanding of it. You must experiment with the data and concepts that are presented.

1 20
0 760

NewBie's Corner Session 28 Various Methods to Traverse a Global

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Judging from the number of responses to Session 27 Traversing A Global, developers are passionate about their methods. I am not here to judge the merit of the various methods.

Over the next few pages I will demonstrate a number of methods to Traverse a Global. If you don't already have a favorite they may help you pick one.

2 13
0 594

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
0 1.4K

NewBie's Corner Session 29 Documentation on the Caché/MUMPS Global Structure

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

This post contains several links to very good documentation of the Caché Globals Structure.

Like I said, "Perhaps the most difficult concept in Caché/MUMPS is its Global Structure."

universalNoSQL.pdf - http://mgateway.com/docs/universalNoSQL.pdf

0 6
0 408

NewBie's Corner Session: 9 Documentation and books

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

To access your documentation:

Assuming you have installed Caché, (see NewBie's Corner, Session:1),

Click on the InterSystems cube in the Windows system tray, then choose Documentation.

Or – another method you can use to access your documentation:

Assuming you have installed Caché, (see NewBie's Corner, Session:1),

0 4
0 470

NewBie's Corner Session 26 Globals and Arrays Part 2

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables Part 2

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

Uniqueness of the Caché Global Structure or database

0 0
0 326

NewBie's Corner Session 25 Globals, Variables, and Arrays Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

A Global may be:

Scalar (a single element), as in a Global Variable

0 0
0 459

NewBie's Corner Session 20 Parameters and Status Part I

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

Parameters are another name for Variables when used in passing data from one Routine to another.

Let us say we have 2 routines (RtnA and RtnB), and we want to pass 3 parameters (Parm1, Parm2, Parm3) from RtnA to RtnB.

RtnA would look like:

0 1
0 348