查找

文章
· 十一月 15, 2023 阅读大约需 2 分钟

Java Global Editor

This is the related article to the package in Java Contest. 

I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.

  • For this purpose, I have extended the API with a Tree Viewer that mimics  ZWrite and allows also the examination of subtrees.
  • A $Query Style Navigator Forward and Reverse operating for easy finding the Global node of interest.
  • Finally, an option to ZKill to delete the content of a Global Node without deleting the subtree below was added.

This required a small helper class on the server side as an extension to the default API

My strategy was to have a rather modest interface usable from the command line
as on Docker console or terminal and keep it as simple as possible. 
Fancy graphic interfaces just distract from the essential content of the example.

If there is any default or a previous value is displayed at input prompt.

In Docker container, the editor is already ready for use.

  • docker-compose exec iris java gedi

 You first connect to server 

        Welcome to IRIS NativeAPI Global Editor

>>> serverIP [127.0.0.1]:
>>> serverPORT [1972]:
>>> namespace [USER]:
>>> username [_SYSTEM]:
>>> password [SYS]:

        Connected to Namespace USER on Server 127.0.0.1:1972

 

Then you loop in the editor menue

 0 = Select Global
 1 = Select Subscripts
 2 = Query Forward
 3 = Query Reverse
 4 = Show Global Tree
 5 = Update Global Value
 6 = Delete Global Value
 7 = Delete Global Tree
 * = Exit Demo

Select the Global and the Subscript you want to work on . 
Especially Global name and Node Subscripts are kept for simple navigation.

0 Selecting the Global clears all Subscripts 

It can be a fresh nonexistent Global too 

1 The subscript you select is kept until you step to menu 0.

2 Move to the Next node with data.

 

The actual Subscript is updated by the new node

Moving beyond the last node clears Subscripts

3 Move to the Previous Node with data.

moving Reverse from the top node shows the last node

4 The Global tree is shown with the actualSubscript on top

The starting node doesn't need data to be accepted

5 Update or set a value to the Node.

or Update

6 This acts like ZKILL removing data but keeping the subnodes.

7 This is the default KILL destroying data and subnodes.

 * Leaving the editor.

I hope you enjoy it and vote for my demo in the contest.

GitHub

Video

2 Comments
讨论 (2)1
登录或注册以继续
InterSystems 官方
· 十一月 10, 2023

InterSystems IRIS ミニマムサポート CPU モデル

InterSystems IRIS ミニマムサポート CPU モデル

 

AMD が 1999年に x86-64 を発表したとき、将来サーバ CPU のデファクト・アーキテクチャになる発明だとは知る由もなかったでしょう。しかし、いまや CPU は20年前の製品とは大きく異なります。最新 CPU には AVX (Advanced Vector Extensions) から VT-d (Hardware-Assisted Virtualization) まですべての拡張機能が含まれています。

InterSystems IRIS では、これらの新しい CPU 拡張機能を、より活用していきたいと考えています。弊社コンパイラは、多くの状況では最適化されたコードを生成するようスマートに動作しますが、命令セットを持たないプロセッサでは、いくつかの最適化については動作しないため、非サポートにせざるを得ません。また、古い CPU モデルのテストがますます難しくなっています。

 

IRIS 2024.1 から、すべての Intel ベースおよび AMD ベースのサーバに対して、ミニマムサポート CPU マイクロアーキテクチャを設定する予定です。これは、Windows、Red Hat、Ubuntu、SUSE、Oracle Linux および MacOS を含むすべての x86-64 オペレーティング・システムに適用されます。 次の表は、サポートされる CPU マイクロアーキテクチャの一覧です。

 

メーカー

サポート対象マイクロアーキテクチャ

Intel

Haswell (Broadwell), Skylake (Kaby LakeAmber LakeWhiskey LakeSkylake-XCoffee LakeCascade LakeComet LakeCooper Lake), Palm Cove (Cannon Lake), Sunny Cove (Ice LakeLakefield, Ice Lake-SP), Cypress Cove (Rocket Lake), Willow Cove (Tiger Lake), Golden Cove (Alder LakeSapphire Rapids), Raptor Cove (Raptor Lake), およびそれ以降

AMD

Bulldozer (PiledriverSteamrollerExcavator)Zen (Zen+Zen 2Zen 3Zen 4Zen 5), およびそれ以降

 

この6年ほどで新しいマシンを購入された場合は、お使いのプロセッサーは上記に含まれていると思います。 お手数ですが、ご自身のサーバーがこれらの新しいサポート基準を満たすかどうか、数分かけて確認し、この方針があなたのビジネスに重大な影響を及ぼすかどうかお知らせください。表内の各リンク先に詳細な情報が記されています。
 

それ以外の CPU アーキテクチャのサポートについては変化ありません。

  • AIX における IBM POWER 8 とそれ以降の CPU はサポートされます。
  • Red Hat Enterprise Linux と Ubuntu における ARM64v8 とそれ以降の CPU はサポートされます。

 

AWS、Azure または GCP で稼働しているお客様は、現在サポート対象の CPU モデルをご利用いただけます。ご安心ください。

 

上記のサポートリストは、毎年見直される予定です。

讨论 (0)0
登录或注册以继续
文章
· 十一月 9, 2023 阅读大约需 3 分钟

Connecting to Cloud SQL with DBeaver using SSL/TLS

With the release of InterSystems IRIS Cloud SQL, we're getting more frequent questions about how to establish secure connections over JDBC and other driver technologies. While we have nice summary and detailed documentation on the driver technologies themselves, our documentation does not go as far to describe individual client tools, such as our personal favourite DBeaver. In this article, we'll describe the steps to create a secure connection from DBeaver to your Cloud SQL deployment.

📺If you prefer popcorn over scrolling, check out this video in which we walk you through the steps captured below.

Step 0: Creating your deployment

First, log into the Cloud Services Portal and create a Cloud SQL deployment. The one thing you need to be mindful of is to check the box to enable external connections. Other than that, all the default settings should work fine.

Step 1: Installing the certificate

In order to connect securely, we'll use certificates to encrypt everything that gets sent over the wire. You can download the certificate from the deployment details page through the "Get X.509 certificate" button:

We then need to store this certificate in a trusted keystore using the keytool utility. This is a standard piece of Java infrastructure, so nothing specific to IRIS or DBeaver at this point. Use the command below to import the certificate. The location of your certificateSQLaaS.pem certificate file does not matter after running this command, so you can delete it from your downloads folder afterwards. The location of the keystore.jks file does matter, so make sure you run the command from a folder where it makes sense and is safe from uninstall or upgrade surprises, such as a cert directory in your user's home dir. The -alias is optional, but helpful when you intend to reuse the same keystore file to store multiple certificates.

keytool -importcert -file path-to-cert/cert-file.pem -keystore keystore.jks -alias myDeploymentName

For more details, see the documentation.

Step 2: Create an SSLConfig.properties file

Next, we'll need to tell the IRIS JDBC driver how to find this keystore, which is accomplished through an SSLConfig.properties file. This simple text file needs to be placed in the working directory of the Java program that'll open the JDBC connection. On Windows, that's %LOCALAPPDATA%\DBeaver, which translates to C:\Users\<you>\AppData\Local\DBeaver. On Mac, it's typically /Applications/DBeaverEE.app/Contents/MacOS. As an alternative, you can also create the file elsewhere and set the full path as an environment variable named com.intersystems.SSLConfigFile.

In its simplest form, this file only needs to point to the keystore and include the password. Note that the path to your keystore.jks file needs to be properly escaped for Java to read it, so on windows you'll need to use double backslashes.

trustStore=/path/to/keystore/keystore.jks
trustStorePassword=keystore-password

There are many additional settings you can configure through this file described in the docs, including named configurations, but the above is sufficient.

Step 3: Create your DBeaver connection

Now that we installed our certificate and specified where IRIS JDBC can find it, we can create our DBeaver connection. All of the settings for the "main" tab in the connection creation dialog can be found in the deployment details screen as pasted above:

The only thing left to do is to tell DBeaver to enable encryption, which is accomplished by setting the "connection security level" to 10 in the "Driver properties" tab:

That's it! If you click "Test Connection", you should get a thumbs up, or a useful error message. In the latter case, check out this troubleshooting document if it's not obvious what to change.

Note for Mac users

If you're using a mac there seems to be a bug in DBeaver where the above may not be sufficient. The work around is unconventional but it does work. In the Database/Schema field, where you'd normally put 'USER' put this full string instead:

USER:sslConnection=true;sslTrustStoreLocation=/pathToTruststore/truststore.jks;sslTrustStorePassword=123456;

Tip and misc other wisdom courtesy of @Rick Guidice 

21 Comments
讨论 (21)5
登录或注册以继续
问题
· 十一月 7, 2023

Creation of namespace and database using CLI

Hello everyone,

I am attempting to implement continuous integration using Docker with Caché 2018.1, and I am in the process of creating an image for our client. I have already installed Caché 2018.1 on the RedHat server, but I am working on a script to create the database and namespace. For the database, I used the following code:

do ##class(SYS.Database).CreateDatabase("/usr/cachepoc/cache2018/mgr/poc/")

However, I have encountered some issues with this code. For instance, I am unable to view this local database in the portal's list:

In the end, I have tried various approaches to create the namespace programmatically, but I haven't been able to resolve this issue.

Could someone please assist me in finding the correct command to create a namespace and explain why we are unable to see the database that was created in the portal's list?

I am aware that we already have some images with InterSystems IRIS, but the client is not ready to update the database at this time.

4 Comments
讨论 (4)2
登录或注册以继续
问题
· 十一月 6, 2023

CSP issue with only one instance on a new machine

We have a machine that serves 4 instances of Cache on VMS systems, one of them is password protected and works fine as they all do. we decided we wanted something beefier and copied it to a server, well all but the one you have to login to works so 3 of the 4 do.  and the odd part is I can no longer get to the management page from anywhere on any machine, http://localhost/csp/bin/Systems/Module.cxw  I get a 404.8 error, I have tried adjusting security and same thing. and a server availability error.

I think it something on the new machine/server that is missing but why only 1 of the 4.  oh and we tried to turn off the authentication required with no success.

 

thanks

Paul

5 Comments
讨论 (5)0
登录或注册以继续