Article
· Jun 9, 2016 1m read
Ensemble monitoring

First post! In order to somewhat redeem myself for an unnecessary call to support, I've decided to post some classes that I've written to monitor certain metrics inside our Ensemble Live instance (yeah, Kyle, you WERE laughing at me, but it's okay). What the classes do is to run queries and code to get database sizes, status of the mirror, counts of rows in tables such as EnsLib.HL7.Message and Ens.MessageHeader. The data is collected and written to tables and then an email is sent out daily upon completion. I've found this quite useful in keeping an eye on what's going on. It's help

5 5
1 892

DTL Transformations and GetValueAt/SetValueAt calls on HL7 messages will truncate any fields longer than 32K. To avoid this, the methods GetFieldStreamRaw and StoreFieldStreamRaw must be used when dealing with fields that might be larger than 32K. OBX:5 is a frequent example. These methods have some subtleties and must be used carefully.

This can't be done by simply dragging from left to right in a DTL. It must be done with a code action. Also, the StoreFieldStreamRaw call must be the last edit made to the segment because the segment becomes immutable after that.

10 6
6 2.4K
Article
· May 27, 2016 1m read
2016.2 Field Test Kit 2016.2.0.665.0

Steve Glassman is on vacation today so in his place I wanted to announce the availability of a new kit for the 2016.2 Field Test. The kit details are: 2016.2.0.665.0

There is a wide range of changes to the 2016.2 Field Test, 145 of them in total. You can find a complete listing here:

https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/FieldTes...

Bill McCormick

Director of Product Management

0 4
0 385
Article
· May 27, 2016 1m read
2016.3 Field Test Kit 2016.3.0.628.0

Steve Glassman is on vacation today so in his place I wanted to announce the availability of a new kit for the 2016.3 Field Test. The kit details are: 2016.3.0.628.0

Most of the changes are related to DeepSee, DocDB data models and dynamic objects. You can find a complete listing here:

https://wrc.intersystems.com/wrc/WRC.StreamServer.cls?FILE=/wrc/FieldTes...

Bill McCormick

Director of Product Management

0 0
0 303

Two fairly common requests we receive from HL7 customers are (1) how to remove all trailing delimiters for fields and segments in HL7 messages and (2) how to "find and replace" for an entire HL7 message (as opposed to one segment/field at a time). The code sample below shows a custom function that solves for item 1 and by extension item 2 above. In other words the same approach can be used for finding/replacing any sequence of chars in an entire HL7 message, with some tweaks to the custom function.

7 6
0 3.3K

I am pleased to announce the field test of Caché and Ensemble 2016.3 - with many new improvements.

The product team at InterSystems looks forward to your participation in the field test and feedback over the coming months.

Some of the more signification changes in 2016.3 are new RESTful APIs for iKnow and broader APIs for programmatic control of multiple servers (enterprise manager). As always, there are a host of scalability and performance improvements, including improvements to the core database and SQL. And hundreds of smaller improvements and corrections.

6 8
0 936

One of the topics that comes up often when managing Ensemble productions is disk space:

The database (the CACHE.DAT file) grows in a rate that was unexpected; or the Journal files build up at a fast pace; or the database grows continuously though the system has a scheduled purge of the Ensemble runtime data.

It would have been better if these kind of phenomena would have been observed and accounted for yet at the development and testing stage rather than on a live system.

For this purpose I created a basic framework that could aid in this task.

4 7
2 1.2K
Article
· May 16, 2016 11m read
Accelerate Ensemble

Introducing non-persistent messages. eXpert-to-eXpert

Background

InterSystems Ensemble as a tool does a lot for the Developer. One of the nice features is the Message trace utility. It shows a message flow diagram. The diagram shows the progress of the message processing real time. You can get many-many useful information from the production. In any case, someone needs to find a bug in a production implementation, without the Message trace utility it could turn into a real nightmare.

On the other hand, keeping message “traceability” is not for free. A heavy loaded production can very quickly run out of resources just because of the house keeping functions of Ensemble. House keeping functions such as maintaining message header, log entries, message queue generates a significant load on the Caché database used by Ensemble.

This article is about to show how to force Ensemble work more for the everyday life, instead of being prepared for “any-time-debugging”.

This is an eXpert-to-eXpert article. Therefore, I assume the deep understanding of Ensemble.

10 1
1 1.6K
Article
· Apr 20, 2016 1m read
Feedback on Product Documentation?

We are in the process of putting a new UI on the existing product documentation, including a mobile-optimized view. We also plan on releasing additional "solution based" documentation that is targeted at common usage scenarios or important configuration tasks.

We are interested in your feedback on our current product documentation - what you like and dislike and especially what changes you would expect to see to make it as useful as possible.

3 15
0 830

Presenter: Maxim Vershinin
Task: Easily extend your solution’s range of interoperability
Approach: Build Java-only business services and business operations that exploit open-source Java libraries

Problem: The title states the problem Open source java libraries exist for hundreds of protocols and formats. This session explains how you can easily build java only Business Services and Business Operations to that exploit these libraries to extend the range of interoperability.

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

0 0
0 293

Presenter: Louise Parberry
Task: Reduce the need for skilled developers to define and normalize data from outside sources
Approach: Use the Ensemble Record Mapper and other tools to automatically define comma-delineated and fixed-width data structures

If you need skilled software developers to define and normalize data coming from business partners or customers, you probably have a backlog of unsatisfied requests. The record mapper and other tools allow analysts to define comma delimited and fixed width data structures without needing a developer and this session explains how this can be incorporated into an application to create an efficient and effective way to clear that backlog.

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

0 0
0 210

Presenter: Mark Massias
Task: Present complete, contextualized information to the people who must act as part of a (mostly) automated business process
Approach: Give examples of using InterSystems’ workflow engine.

More and more business processes are automated, but sometimes a person needs to make a decision. In some cases policies require an individual to approve an expenditure, or when loading data a person needs to sort out exceptions where the data in not clear. This session explains how to include people in business processes in a way that presents the user with a complete context for the decision they have to make.

Problem: Using human workflow to fix business process problems.

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

0 0
0 241
Article
· Apr 4, 2016 1m read
2015.2.3 Maintenance Release

I am pleased to announce that Caché and Ensemble 2015.2.3 are now available as maintenance releases.
For a complete list of the corrections in 2015.2.3, please review the release notes.

Caché and Ensemble 2015.2.3 are available now for the same platforms as 2015.2.2

The complete set of supported platforms, including specific point releases and/or patches, is detailed in the Supported Platforms document.

2 0
0 517


Hello!

This article is a small overview of a tool that helps to understand classes and their structure inside the InterSystems products: from IRIS to Caché, Ensemble, HealthShare.

In short, it visualizes a class or an entire package, shows the relations between classes and provides all the possible information to developers and team leads without making them go to Studio and examine the code there.

If you are learning InterSystems products, reviewing projects a lot or just interested in something new in InterSystems Technology solutions — you are more than welcome to read the overview of ObjectScript Class Explorer!

21 35
3 5.5K

Prompted by the words Rick didn't actually say to his pianist in Casablanca, I want to draw attention to the the "Resend" button at the top of the Ensemble Message Viewer.

It's pretty easy to use. Find the message or messages you want to resend, set the associated selection checkbox(es), then click the button.

3 3
0 814
Article
· Mar 14, 2016 3m read
Source control and the production class

When you create an Ensemble production your namespace acquires a new class definition. For example here is what the class that defines the Demo.Loan.BankUSProduction production in the ENSDEMO namespace looks like when opened in Studio:

2 3
0 657

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

6 6
0 1.3K
Article
· Mar 6, 2016 2m read
Who does Windows think I am?

When my COS code is executing in a Caché process it might want to interact with the host operating system. For the purpose of this post I'm focusing on a Windows host, but much of it applies to other host OS platforms as well.

A common example of host OS interaction is when my process wants to read from or write to a file. What credentials will apply when Windows is checking whether or not to allow me access to the file?

To answer that we need to consider another question. How did our process start?

3 6
0 952

The cdirectmgr utility will no longer be included with product distributions beginning with the Caché 2016.2 release . This was an older VB application (predating the Caché cube) which allowed users to define server connections for Visual M/Caché Direct applications. As VB 6 is no longer supported by Microsoft, we will no longer ship this component. The same functionality is already available from the cube utility.

It is also posted in Compatibility blog.

0 3
0 385

InterSystems is pleased to announce that Caché and Ensemble 2015.1.4 are now available as maintenance releases.
For a complete list of the corrections in 2015.1.4, please review the release notes.

Caché and Ensemble 2015.1.4 are available today for the same platforms as 2015.1.3.
The complete set of supported platforms, including specific point releases and/or patches, is detailed in the Supported Platforms document.

1 0
0 197

I wanted to share a little tidbit which is in the Studio documentation (http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?...) but many people who have been using the InterSystems Studio for a long time missed the addition of this *very* useful feature, and every time I mention this to an audience I see at least one face light up because of how excited they are to learn about it!

Within Studio, the Output pane (View -> Output) is actually misnamed. It is actually an Input/Output window which can be used to run Caché ObjectScript commands!

10 7
0 1.3K
Article
· Feb 19, 2016 4m read
Why Atelier? And what about Studio?

I have been meaning to make a post about this topic for a few weeks and the other day an issue came in through the WRC about it so it seems this is a conversation we should be having. I want to begin by taking a few moments to explain "Why Atelier" then we can talk about what this means in the general sense for Studio and Atelier and Caché developers. We have wrestled with what to do with Studio for years. When I moved to Product Management in 2008 this was already a "thing". At the time we could not reach a consensus. Some felt Studio was fine as is.

9 2
0 3.6K
Article
· Feb 17, 2016 3m read
Listing files in folder

Question:

How do I get a list of files residing in a certain folder/directory, according to some wildcard/filter.

For example all '*.txt' files in 'C:\Temp'.

Answer:

In CACHE –

You can use the %Library.File's FileSet class query.

Here's some sample code using it (also attached):

6 2
0 3.7K