The second week of Virtual Summit 2020 kicked off with the first day of focus sessions. We covered a LOT of great content - 38 sessions across a wide range of subjects. I thought it would be valuable to recap and review some of the bigger announcements and talking points.
You are experts in IRIS and know all tricks. The functionality of $ZF(-1,-2,-100, ......) is nothing new to you And you know the limits of this functionality. Both give you access to your local server command line environment. And that's it.
How do you balance the need to achieve an early success with SOA against the requirement for an architecture that will deliver long term success? You don't want to get bogged down in architectural committees for three years, but you don't want to make short term decisions that will be roadblocks to long term success.
In today's fast-paced and highly competitive manufacturing industry,
efficient machine communication and data exchange is essential to maximize
productivity and minimize downtime. That's where MTConnect comes in.
MTConnect is an open, royalty-free standard that provides a common language
for communication between machines, devices, and software applications in a
manufacturing environment.
Recently, the question came up while discussing the access to the data stored in IRIS from different languages with my students if it was possible to initiate the connection and get data from Cloud solution (InterSystems IRIS CloudSQL) from Microsoft Excel, not the other way around. Considering the many varied ways one can get data in Excel (import data from external sources, connecting to databases using ODBC drivers, using power queries and web queries etc.) the obvious choice was to try ODBC driver. The only task left was to try to connect to the database in the cloud using the ODBC driver.
If you work with Productions, highlighting connections between Business Hosts is a very convenient feature, allowing developers to get a visual representation of a data flow.
This feature works by default with all system Business Hosts. If a user writes their own Business Services, Processes, or Operations, they must implement the OnGetConnections method for this functionality to work with their custom Business Hosts (or use Ens.DataType.ConfigName properties for connections). That said, the SMP shows only the first layer of connections of the selected Business Host. Sometimes, we need to get connections of connections recursively to build a complete data flow graph. Or we might need this connection information to check which downstream systems might be affected by a change upstream.
sample
w "Total No.Of Sticks:21"_!
s sticks=21
r "enter machine name: ",a
r "enter dev name: ",b
w "Display 1 to 21 sticks"_!
s i=""
f i=1:1:21{
w " "_i_" "
}
user(sticks)
w !_"User select 1 or 2 or 3 or 4 sticks:"_!
r "User enter sticks: ",us
if us>4 {
w "please select upto 4 Sticks"
r "User enter sticks: ",us
}
s cnt=sticks-us
s sticks=cnt
f i=1:1:sticks {
w " "_i_" "
}
s dev=1
s machine=0
d:sticks=0 lost(dev,machine)
d machine(.sticks,us)
q
machine(sticks,us)
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?
Since SELECT ... FOR UPDATE is implemented in many RDBMS as a method of explicit row lock acquisition, I think there are many cases where this function is used.
This syntax is not an error for InterSystems products, but it does not acquire row locks as expected.
This article will show you how to achieve equivalent functionality.
Presenter: Harry Tong Task: Load terabytes of data into a distributed environment Approach: Leverage parallelism and open-source tools
In this session, we’ll discuss how to load TBs of data into a distributed environment, leveraging parallelism and open source to reach exceptional load rates.
Content related to this session, including slides, video and additional learning content can be found here.
As of this morning, 38 companies had already grabbed a copy of Ensemble or Caché (Caché is more popular by about 3:1 ratio) to explore the new features of 2016.2.
Thanks - we look forward to hearing your feedback.
Are you new to Ensemble? InterSystems provides several tools to learn the basics of Ensemble and get on your way to becoming an expert in the technology. Before installing Ensemble, take a look at the Ensemble Technology Overview and Getting Started with Ensemble in documentation. Respectively, these documents explain features and major components of Ensemble as well as how to install the software.
I needed to use the OnGetNodeInfo callback of a Zen <dynaTree>, because this seems to be the only way to control the style separately for different levels of the tree. This post describes two discoveries I made.
How a dynaTree builds a tree via the OnGetNodeInfo callback
When you use a dynaTree with the OnGetNodeInfo callback, the dynaTree creates a series of nodes and displays them top to bottom in the order they were created.
In my previous articles, I described my Command Line Extension to NativeAPI. Of course, this is also available for any other NativeAPI package. So I created this example in Python as a demo.
Recently we announced two new challenges on Global Masters: 'Bugs Bounty' and 'Pull Requests'.
And we are getting a lot of submits to the challenges which are not the thing we are expecting there. So I hope this post will give some shine to this quest.
Hello everyone, I’m a French student that just arrived in Prague for an academical exchange for my fifth year of engineering school and here is my participation in the interop contest.
I hadn’t much time to code since I was moving from France to Prague and I’m participating alone, so I decided to make a project that’s more like a template rather than an application.
Often solutions with InterSystems IRIS BI can turn into a quite big solution with dozens of pivots and dashboards.
With every new IRIS BI solution release we can add changes that could influence the behavior of existing pivots or dashboards so they stop working. For example if we change the dimension or measure name, forget deploying some cubes or subject areas, conduct refactoring via mass renaming of cubes and its elements etc some widgets could stop functioning.
I am accessing IRIS databases with JDBC (or ODBC) using Python. I want to fetch the data into a pandas dataframe to manipulate the data and create charts from it. I ran into a problem with string handling while using JDBC. This post is to help if anyone else has the same issues. Or, if there is an easier way to solve this, let me know in the comments!
I am using OSX, so I am unsure how unique my problem is. I am using Jupyter Notebooks, although the code would generally be the same if you used any other Python program or framework.
In the world of APIs, REST is very extended. But what happens when you need more flexibility in your data-fetching strategies? For instance letting the client to choose what fields is going to receive. Enter GraphQL, a query language for your APIs that provides a flexible alternative to REST.
In this post, we will:
Compare REST and GraphQL.
Dive into the basics of GraphQL: Queries, Mutations, and HTTP.
Build a simple GraphQL server implementation using Graphene, SQLAlchemy, and Flask over data in InterSystems IRIS.
Explore how to deploy your GraphQL server as a WSGI application in IRIS.
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.
TL;DR: This article describes an introductory-level project that exercises some string-manipulation functions in both ObjectScript and Python…with specs from a song.
I have created a package that offers a utility to load a Global into JSON object and reverse to create a Global from this type of JSON object. Academic refers to the structure created. Each logical node of the Global is presented separately with all its descendants. Even if they don't contain any stored data.
In this article I will demonstrate the functionality of my app iris-energy-isodata . Application is accessing energy data (production, demand and supply) from the major Independent System Operators (ISOs) in the United States to ensure sustainable consumption and production patterns (SDG's 12)
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.