The attached file contains an example of code generation using ObjectGenerators which builds a very simple homemade RuleEngine.

Code generation is an excellent way of increasing performance moving run-time calculations to compile-time.

We could generate code creating routines or implemeting methods using ObjectGenerators. In this example we are using ObjectGenerators.

Update: Rule Engine is now on GitHub https://github.com/intersystems-ib/cache-iat-ruleengine

4 0
0 813

We heard from a customer who wanted to display a version number as a read-only production setting. During the build on the build server, this version number is added to the Production class. This works fine, and the Version is displayed in the Portal, but the customer wanted to write protect it, so the enduser can’t change it. The customer had defined the setting like this:

Property Version As %String;
Parameter SETTINGS = "Version:Info";

We advised the customer to define SETTINGS like this instead:

Parameter SETTINGS = "Version:Alerting:label"

3 0
0 411

Do to unforseen circumstances the Atelier build that was distributed with the Cache 2016.2 field test had certain incompatibilites which prevented it's effective use with the server that it was bundled with.

We are working on remediating this regretable situation and will provide a compatible Atelier in the 2016.2 field test refresh which is scheduled for today Monday, 1st of Februrary.

We sincerely apologize for any inconvenience so caused.

0 4
0 293
Article
· Feb 3, 2016 1m read
2016.2 Field Test Kit 2016.2.0.585.0

I am pleased to announce the next in the series of 2016.2 field test kits, 2016.2.0.585.0.

In the two weeks since the last field test posting Development has made over a hundred fixes and improvements in Atelier, Enterprise Manager, Ensemble and Caché.

In Atelier alone there were over a dozen changes including a fix for the incompatibility issue that Jamie Newton described in his posting of February 1.

In Caché major areas of focus include:

3 0
0 257
Article
· Feb 2, 2016 1m read
Creating an IDKEY with a chosen name

What do you do if you want to have the ID field have a meaningful name for your application?

Sometimes it comes to pass that when you're making a new table that you want to have the unique row identifier (a.k.a. IDKEY) to be a field that has a name that is meaningful for your data. Moreover, sometimes you want to set this value directly. Caché fully supports this functionality and it works Suppose you have a class Test.Kyle. The data will be stored like so:

^Test.Kyle(IDKEY)=$LB("",Field1,Field2,...,Fieldn)

3 2
0 438
Article
· Feb 2, 2016 1m read
Cache' databases as UNIX sparse files

Some third party backup products may by default restore CACHE.DAT files as UNIX sparse files when there are trailing zeroes in the backup file.

The support for sparse files vary from UNIX distribution and file system types. Sparse files attempt to use file system space more efficiently when blocks allocated to the file are mostly empty similar to thin-provisioned storage. The file system transparently converts metadata representing empty blocks into "real" blocks filled with zero bytes at runtime. The application is suppose to be unaware of this conversion.

5 0
0 367

The object and relational data models of the Caché database support three types of indexes, which are standard, bitmap, and bitslice. In addition to these three native types, developers can declare their own custom types of indexes and use them in any classes since version 2013.1. For example, iFind text indexes use that mechanism.

12 1
1 2K

Oracle plans to deprecate the much-maligned Java browser plugin in JDK 9. For years, the bundled plugin put users at risk with its numerous security flaws. The web is clearly moving to a plugin-free state, which is a good direction.

If you are relying on the Java browser plugin, you should take a look at Java Web Start.

Here is the official blog post by Oracle:

https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free

Stefan

0 0
0 314

This is a nice introductory explanation of MQTT that I thought would be of general interest. The technology used for the broker in this case is not that important as there are several brokers available.

At global summit we will be demonstrating ways to use MQTT with Ensemble to get information from the Internet of Things into your enterprise applications and business processes,

http://www.hivemq.com/blog/how-to-get-started-with-mqtt

Dave

0 0
0 637
Article
· Dec 22, 2015 1m read
Sign and verify in SMIME format

In some project, I found the need to use SMIME format https://www.ietf.org/rfc/rfc3851.txt, basically is an standard used to wrap a message together with its signature using a certificate (usually X509). Ensemble don't have a single class to do that but inside the Ensemble installation we have the openssl utility, so in this example I use the "openssl smime" command to sign or verify a message.

The example has two Business Process that able to sign or verify and in order to test I made a simple production.

Hope this helps

0 10
0 613
Article
· Jan 12, 2016 9m read
DecisionTree
Is there someone that has developped a program in order to create a 
"decisiontree"? Depending The answer to a question leads to another question, and so on, 
and so on, and there is an option to return to another point in the decisiontree.

Best regards,

Simon.

p.s. I've already got something, but it's not workable. But to get an idea:

2 4
0 217

Often times support and sales engineers are asked about recent benchmark results on various platforms and large scale configurations. These will be made available here in the Developer Community in the "Documentation" section, and as an example here's a link to a recent Intel E7 v2 series processor benchmark.

https://community.intersystems.com/documentation/data-scalability-intersystems-caché-and-intel-processors-0

0 0
0 299

You may have missed the news that support for older version of Internet Explorer ends next week Tuesday, January 12th. The original blog post from Microsoft can be found here:

https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support

A patch will go live next week Tuesday, that will nag users of older IE versions to upgrade to a recent version. The patch is identified as KB3123303. You can find more information about this patch here:

2 0
0 159
Article
· Nov 9, 2015 1m read
Cache SQL Storage Mapping

The attached zip file contains a bunch of examples of Cache SQL Storage mappings that I have done over the years.

If you have existing globals and want to expose them via Objects or SQL you need to setup Cache SQL Storage mapping. If you do not see an example that helps with your case send me an example and I can help you out.

2 0
0 1K
Article
· Nov 9, 2015 3m read
Tipy a Triky s Caché

Tip dvacátý šestý: objekty a concurrency 2 - swizzling

Když tento seriál před několika lety začínal, byl jeho první díl věnován zajištění izolace instance objektů pro exkluzivní přístup a popisu příslušných API funkcí. Nedávno se mi ale stalo, že mě tento díl dostihl. Jeden ze zákazníků začal mít problémy v aplikaci, přestože důsledně používal exkluzivní zámky pro editování instancí svých objektů.

0 0
0 295

Introduction

Because of increasing business and governmental pressures to integrate their operations, the financial services industry is developing a number of standards for data exchange and other common functions. Standards such as XBRL, FpML, MDDL, RIXML, and FIXML are all specialized dialects of XML (Extensible Markup Language). Any financial services application with good support for XML will be able to communicate effectively using one or more of the emerging industry standards.

0 0
0 218

Introduction

As healthcare providers face increasing pressures to lower costs and reduce readmissions, they're rapidly shifting towards accountable?care organizations (ACOs) and other coordinated, quality-based reimbursement systems. However, most providers have historically?organized their data and workflows in ways that best fi t the fee-for-service payment model. Now that so many providers are sharing?risks and rewards, they must also share and coordinate information by adopting more streamlined health information technology?solutions.

0 0
0 51

Introduction

To overcome the performance limitations of traditional relational databases, applications - ranging from those running on a single machine to large, interconnected grids - often use in-memory databases to accelerate data access. While in-memory databases and caching products increase throughput, they suffer from a number of limitations including lack of support for large data sets, excessive hardware requirements, and limits on scalability.

0 0
0 287

InterSystems encourages the adoption of a flexible, practical approach to application development, rather than strict adherence to one of the prevalent development theories. This paper offers advice based upon our experience. However needs, attitudes, and styles vary; we recommend that each programmer choose the development approach that works best for them. Caché supports a wide range of development methodologies, not just those recommended here.

1 0
0 78

Introduction

Application integration at its simplest is often just one application sending a message to another to notify it of some change. Perhaps when a patient arrives at a hospital, the registration system will send a message to clinical systems so they have all demographic data ready to use. Of perhaps it is just a nightly file transfer from the sales system to the accounting system.

But modern application integration platforms or suites can do a lot more than this to help applications work together and add real value to the enterprise.

0 0
0 310

Abstract

In a recent benchmark test of an application based on InterSystems Caché, a sustainable rate of 8.9million database accesses/second, with peaks of 16.9 million database accesses/second, was achieved. These results were from a test performed on a connected system of eight applications servers, using Intel Xeon 5570 processors, and running Linux as the operating system. This benchmark shows that:

0 0
0 145

Introduction

HL7 V2 message routing solutions often have hundreds of business services, processes and operations. Inevitably things will go wrong and you have to monitor the production to be able to react quickly and resolve any problems before they can become serious issues.

Ensemble includes some powerful alerting capabilities that can help, but if you aren't careful you will be inundated with alerts and your inbox more or less becomes a copy of the event log defeating the object of the exercise.

1 0
0 242