Search

Clear filter
Question
Amit Kumar Thakur · May 26, 2020

Requesting assistance on Intersystems Cache Managed Key Encryption

Requesting assistance on Intersystems Cache Managed Key Encryption. We have configured the KMIP Server. The KMIP server is an external HSM box. I was not able to find any info on Key Rotation and what type of encryption does it follow i.e. 1-tier approach or 2-tier approach. Can someone please assist on the same? Are you asking about the KMIP server and how it works? If so, I don't think this is the right place to ask, and would recommend you talk to people who know more about your KMIP system. Or are you asking about how Cache handles key rotation for encrypted databases and/or managed key encryption? If so, this is mostly up to the user. There isn't automatic re-keying of databases on a schedule. In most of the DBs, we do Master Key rotation on time to time basis for security reasons. In my case, I have created a KMIP server, encrypted the database. Now I have to rotate the master key. I don't find any documentation around rotating the master key. Only Activation, listing, and deleting the master key. For master key, do you mean the database encryption key, ie, the one Cache is using to encrypt the database? If so, you need to re-key the database manually if this is something you want to do. This should be an option available in the ^EncryptionKey utility in the %SYS namespace. (The older cvencrypt utility will also re-key, but is slower and does not have KMIP functionality.) The InterSystems IRIS docs cover using ^EncryptionKey for re-keying here: https://irisdocs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GCAS_cvencrypt If you mean a different key than the database encryption one, can you explain which one? For example, you authenticate to the KMIP server using a public/private key pair. Is this the one you mean? Something else?
Announcement
Anastasia Dyubaylo · Aug 5, 2020

Webinar: InterSystems Global Masters Advocate Hub Overview

Hey Community, We're pleased to invite you to the first webinar dedicated to our Global Masters Advocate Hub! Please join: ➡️ InterSystems Global Masters Advocate Hub Overview webinar ⬅️ Date & Time: Friday, August 14 – 10:00 EDT Let's see the Global Masters Advocate Hub from the inside and talk about how you can benefit from participation in this program. We'll go through: Demo of the Hub Recognition for your contribution to Developer Community and Open Exchange Levels and priveledges Rewards! Current and... tsss... upcoming! Your questions and ideas Also, a secret code will be announced for all webinar attendees for getting 250 GM points! Speaker:🗣 @Olga.Zavrazhnova2637, InterSystems Customer Advocacy Manager So! We will be happy to talk to you at our webinar! ✅ REGISTER TODAY We will start soon! ➡️ JOIN THE WEBINAR HERE Hey Developers! Now this webinar recording is available on InterSystems Developers YouTube Channel: Enjoy watching this video! 👍🏼
Question
Alex Van Schoyck · Jan 31, 2019

Unexpected SQL error returns in Intersystems Cache

ProblemI got a quick answer from this forum yesterday so I'm going to try my luck again today! I've hit an error in another table when trying to extract through the Cache ODBC driver, but this one gives me less details and I'm struggling to pinpoint what might be causing the error.The table I am trying to extract is called REF_TABLE_ONE.Here's the Error: [Cache Error: <<NOLINE>%0AmBx1^%sqlcq.PRD.2249>] [Location: <ServerLoop - Query Fetch>] Research/Trial & Error Based on my research, it looks like the error results from something missing in a routine. I have limited access to this system. I am able to open up the corresponding Class in Cache Management Studio and edit/compile the code there. However, I do not have access to the "Routes" section of the Management Web Portal. When I run the SQL Query in the Management Web Portal, I get the same error listed above, and only the column headers show up, no rows are populated. Based on my limited analysis of the Class file, I think the issue is somewhere inside the SQLMap. It looks like there is use of Subscripts that are pretty complex. I'm wondering if there's something wrong in there? I have the whole SQLMap code copied out, but I didn't want to post it unless someone needs it, as it is a bit long and would take up a lot of room in the post. Here's a screenshot of the visual representation of the SQLMap in case that helps: Question Is there anything I can do with the class code in Studio to debug or get more info about this error? Any and all help is greatly appreciated! Additional Info Cache Version: Cache for OpenVMS/IA64 V8.4 (Itanium) 2012.1.5 (Build 956 + Adhoc 12486) 17-APR-2013 19:49:58.07 Hey John, Thank you for the reply, I appreciate the help! I found the query in the cache and purged it. Unfortunately, when I ran it again, I encountered the same error and it recreated the query in the cache, but with today's date as the creation date obviously.Any other ideas? Thanks again, I appreciate the help :-) Please share the code from %0AmBx1^%sqlcq.PRD.2249 To do that open %sqlcq.PRD.2249 routine (int routine, afaik mac routine wouldn't have this ) If you can't find routines check that system saves sources for cached queries. If it doesn't set the setting to save routines, purge this query and run it again. After that you should be able to see the source. Also can you determine which part of SQL causes this error? Perhaps there's a faulty cached query.The 2012.1 docs here describe how to use Portal to see what's in the cache, and how to purge items from it.
Question
Scott Roth · Jan 7, 2019

Open Exchange - intersystems-ru/deepsee-sysmon-dashboards

Can someone tell me if intersystems-ru/deepsee-sysmon-dashboards is developed for a specific version of Ensemble? Looks like it could be useful to my group but we aren't upgrading till later this year and we are on 2015.2.2.ThanksScott Hi Scott!First, thanks for mentioning Open Exchange, I appreciate :) Here is the link of Sysmon Dashboards on OEX.Also, here is the article by @Semen.Makarov, which could help.The tool just visualizes the data you have %SYSMONMGR, I believe the utility appeared at early versions of Caché.The visualization is better with DeepSee Web, this will require at least Caché 2014 for REST and JSON.Also I'll ping @Daniel.Kutac for more details who initially introduced the tool
Question
Kurt Hofman · May 13, 2019

How to install Intersystems Caché ODBC on MacOS Mojave

Hello,I'm trying to get ODBC running on a Mac but I don't get it working.Has someone an overview how te install,configure and use it in Excel on MacOSX ?Regards,Kurt Hofman. Thanks, but I can(t find the correct way to install Caché ODBC. Do I have to extract it in a special folder or so and then follow the UNIX-like installation or something else ? It actually, does not matter, where to install drivers.My Caché works in docker, so, I downloaded ODBC drivers from the ftp.extracted it, just in Downloads, and run there ODBCInstall from a terminal.with ODBCInstall I got file mgr/cacheodbc.ini, which I copied to ~/Library/ODBC/odbc.ini, there will be as User DSN. /Library/ODBC/odbc.ini for System DSN.DYLD_LIBRARY_PATH should follow to bin folder in extracted ODBC Drivers folderin my case export DYLD_LIBRARY_PATH=/Users/daimor/Downloads/ODBC-2018.1.2.309.0-macx64/bin you can check connection with iODBC Manager, running right from terminal DYLD_LIBRARY_PATH=/Users/daimor/Downloads/ODBC-2018.1.2.309.0-macx64/bin open /Applications/iODBC/iODBC\ Administrator64.app and open excel same way DYLD_LIBRARY_PATH=/Users/daimor/Downloads/ODBC-2018.1.2.309.0-macx64/bin open /Applications/Microsoft\ Excel.app So, you'll be able to test settings without relogin What do you have already?Did you configure ODBC DSN, DYLD_LIBRARY_PATH?Some information about configuring ODBC, you can find here.First of all I think you need iODBC installed on your mac.then ODBC Caché drivers, with correct environment variable DYLD_LIBRARY_PATH, do not forget to relogin after the set variable.As proof, that's possible to do it. Done with Caché 2018.1
Question
Nagarjuna Reddy Kurmayyagari · May 6, 2020

Intersystems API Manager(IAM) installation query on config

After I loaded the intersystems/iam:0.34-1-1 image in local, I am trying to do the next step of configuration. 2) Configure your InterSystems IRIS instance 2a) Enable the /api/IAM web application 2b) Enable the IAM user 2c) Change the password for the IAM user Do we need to change these settings in iris.cpf file? any inputs where we have to configure? I have IRIS 2019.1.1 installed in my machine. Thanks, Nag. Hello Nagarjuna, IAM run on InterSystems IRIS Data Platform 2019.2 and higher. You need to upgrade your server. Once you're done, you would find everything (the /api/iam application , IAM user) in the System Management Portal. HTH Dan 2019.1.1 supports IAM. 2019.1.0 does not. So no need to upgrade. Docs: Web Application management User Management
Question
Andrew Brown · Apr 7, 2021

how to convert Crystal Reports to Logi/InterSystems Reports

We are looking at moving from Cache to IRIS, if we do this we will want to use Intersystems Reports. We have a lot of Crystal Reports to convert. is there a conversion tool or best practice for doing the conversion Hello! Now we are carrying out a similar project to transfer the system from Cache to IRIS, including the tasks of converting reports from Crystal Reports to JReports format (Logi Report https://www.logianalytics.com/jreport/)The project is nearing completion and we can share our experience. We are also interested in converting from SAP Business Objects Crystal, Webi, etc. reports to the JReports format. Please share any insights, tools, articles etc. that you have! We only used the official documentation. Our developments on this topic have not yet been presented in the form of an article. Perhaps, after the end of the project, we will make a publication on this topic. I just received confirmation that Logi/Jreports used to provide a converter, unfortunately they have not supported it for a few years and no longer available.
Article
Athanassios Hatzis · Feb 16, 2017

How Intersystems Caché fits in the Graph Database Arena !

Hi, I would like to draw your attention on a recently published article, titled "A Quick Guide on How to Prevail in the Graph Database Arena", that has been posted also at LinkedIn. Intersystems Caché has been referenced several times. In the "Multi-model Database Engine" section of this article, there is a quick description of Caché as an object database with relational access, integrated support for JSON documents and a multidimensional key-value storage mechanism that can be easily extended to cover Graph data model I believe strongly that Intersystems Caché is an exceptional database product. Its architecture is unique and powerful. I have emphasized this in the following section of the same article, No matter what is their physical implementation, i.e. hash tables or trees, based on this abstract data type you can model all four NoSQL database types, (Key/Value, Tabular/Columnar, Document, Graph). For one reason or another, we are of the opinion that associative/multidimensional arrays will eventually prevail in the world of databases. These two key points justify that graph data model can be a perfect fit on the architecture of Intersystems Caché. Although I have not seen any movement from Intersystems towards that area, I am confident there is a great potential in business value by integrating/expanding the multi-model functionality of Cache. I presume the database market is matured enough for graph databases. But the problem with this database sector is that it is both cluttered and perplexed with many different kinds of graph databases. Let me focus on the conceptual/logical layer where my work is based. Depending on the structure of nodes and edges you get different graph topologies and stores. Property Graph Data Model Entity centric with Embedded Properties and edges with BIDIRECTIONAL LINKING, Directed Labeled GraphNeo4J, OrientDB, ArrangoDB, etc...Triple/Quadruple Data Model Edge centric with UNIDIRECTIONAL LINKING on vertices, Directed Labeled GraphGraphDB, AllegroGraph, OpenLink Virtuoso,Associative Data Model Hypernodes, Hyperedges, BIDIRECTIONAL LINKING, Hypergraph/Bipartite GraphTopic Maps, R3DM/S3DM, X10SYS (AtomicDB), HypergraphDB, Qlik I will not get into analyzing their differences in detail here, I have covered to some extend their differentiation criteria in my article mentioned already. My research work and development has been on the third type above, the Associative Data Model also known as hypergraph or bipartite graph. Currently there are only two major players in the market with products that are based on associative technology. In "Associative Data Modeling Demystified" series of posts that is written with a hands-on practice style, I introduce my audience to the design of R3DM/S3DM and I am making an attempt to clear the information glut of many-to-many relationships (a.k.a associations) with a thorough examination of well-known data models and graph/associative software products. Part 6 - R3DM/S3DM: Build Powerful, Meaningful, Cohesive Relationships Easily Part 5 - Qlik Associative Model Part 4 - Association in RDF Data Model Part 3 - Association in Property Graph Data Model - (Intersystems Caché is mentioned at this section) Part 2 - Association in Topic Map Data Model Part 1 - Relation, Relationship and Association So what is the objective of writing in this community ? Well there is a two pronged approach, To promote the fundamental principles of R3DM/S3DM framework in the design of hypergraph-associative based DBMSTo implement this technology on top of suitable DBMS. What is the ultimate goal ? The ultimate goal is to have a single operational database that acts as a unification platform for all data from other data sources and enables a 360 degrees self-service dynamic data visualization and analysis with any part of the database without ETL and without queries. What is the current status of R3DM/S3DM ? There are currently two implementations : A working prototype with OrientDB as the back-storage and Wolfram Language as the front-end APIA partial implementation with Intersystems Cache as the back-storage and the construction of R3DM/S3DM subsystems and low-level commands with Cache ObjectScript. In the sixth and last part of our series detailed information about the architectural design and API commands of R3DM/S3DM are exposed to the public. How you can help ? You may actively take part in any discussion within this community about graph data modeling with Intersystems Cache. Make a start here. In particular, you may be interested in R3DM/S3DM project, then I suggest you get connected with me at LinkedIn. I am also actively looking for partners and investors for this technology so perhaps you would like to discuss your role or contribution. Vendors and experts of the database domain are interested in this project. This is encouraging but the plan of course is to reach production and deployment level and that is where they can help. Hello [@athanassios.hatzis] !I thought about "Graphs on Cache". I attached my point of view how to store simple graph db.slides: https://drive.google.com/open?id=0B7nnNs0_XYaSWXp1S3BoUjFXdFk
Question
Murali krishnan · Apr 13, 2017

Calling Java program from intersystems cache IDE

Please let know how to invoke a java program from intersystems. Also let know how to expose / consume webservices / APIs from intersystems Various Options...1. Call out to Java on the command line using $ZFhttps://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzf-12. Access POJO's directly using Jalapeñohttps://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GBJJ3. Consume a web service using the Cache soap wizard...https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=ESOAP_web_client4. Publish a web service from Cache...https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=ESOAP_web_service From InterSystems Ensemble you can also use the Java Gateway:http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EJVG
Question
Murali krishnan · May 9, 2017

Intersystems integration with Security tools ( W3af and Iron Wasp )

Please let know if it is feasible to integrate Security tools ( W3af and Iron Wasp ) with intersystems. If so, please let know how to do that.. Hi Murali, from looking at both of their websites, it seems they are just web scanners? If so, you don't need to do anything different to run it against your InterSytems powered web pages. You can use them the same as with any other webpage you're scanning. Cheers, Fab
Announcement
Teo Rusu · Aug 8, 2018

Intersystems Caché Senior Software Engineer - opportunity in London

Good afternoon everyone,I hope you are well,I am currently working on the below opportunity and if anyone here would like to hear more details please feel free to contact me on 01908 886 030 or teo.rusu@identifiglobal.comMet with the client yesterday, beautiful office in Waterloo London, latest tech available with many benefits including working from home 2 days/w as well!Intersystems Caché Senior Software EngineerLondon Salary up to £75,000 (negotiable for the right candidate)An exciting Software as a Service company creating enterprise software used by 33,000+ people globally. They provides a secure, global cloud platform marketing teams use to rapidly expand services across channels and launch into new markets.In a highly collaborative working environment their clients benefit from the best practices evolved from their work with many of the world’s largest banks, retailers, agencies, and outsource service providers. The Platform is the result of 15 years and $18 million in continuous product innovation.Location – London – more than beautiful, shared office spaces with the latest technology included. A place you join as an individual, 'me', but where you become part of a greater 'we'. A place where we’re redefining success measured by personal fulfilment, not just the bottom line.Job descriptionThe business is a hosted, multi-tenanted SaaS solution. User data is partitioned logically by our data-security framework. All the User Data is retained till they are on the system and existing functionality is maintained (unless new feature explicitly replaces it, in which case there needs to outlined process replacement and migration of User Data). Data access/security is utmost important and be always done using existing data-security framework.The roleYou will be required to design, code, test and deliver practical and architecturally robust business solutions.You will be expected to recognize impacts throughout the solution your code could incur and communicate these to the relevant people. You will document your code, when required, so other developers can easily understand functionality. Producing clean, maintainable code is key to our organisations ethos.You will be working on features across our Platform plus integrations with third party systems (for example ERP solutions).Required skills & experience5+ year experience developing in Caché Objectscript, using CSP as web frontendExcellent understanding of SQLWorking knowledge of MUMPsEnterprise product / project development experienceHTMLCSSJavascriptDesired skills & experienceOOD background / experienceEfficiency driven / optimised coding styleExperience with SDLC methodologies, Version Control and software configuration management tools (preferably Jira)If you are interested in hearing more about this opportunity please feel free to contact Teo Rusu on 01908 886 030 or teo.rusu@identifiglobal.com
Article
Yuri Marx · Sep 3, 2018

How the Intersystems IRIS ended to anemic databases era

Companies today face serious problems in managing their data and delivering strategic value to them. The structure and business logic of data is fragmented into different solutions, architectures and technology platforms. In addition, different project teams, one for each solution, impose their views on the business, limiting the business to which each of these solutions are able to do. The database becomes a simple repository of processed data under the partial view delivered by each application, process, analysis, message and integration. The value of the data for the company strategy is not consolidated and corporate and then the database, as well as everything around it becomes anemic, devoid of logic or structure that transforms given into information and corporate knowledge. The technology department suffers to deliver structuring and strategic solutions to the business. The technology department suffers to deliver structuring and strategic solutions to the business as it needs to assemble complex architectures, composed of several products from different providers. Example: If a company needs to improve its logistics process, it will need to change its ERP and SCM applications, change the orchestrations in the ESB and manipulate messages and documents in MQ, and finally build new ETL maps and analytical visions to deliver what the user needs. These changes will also generate a strong impact on other processes, such as the purchasing process, requiring a change in the corresponding process. In addition, the entire data structure and business logic of the logistics theme will continue to reside in different systems and technology platforms, with different teams, because in the anemic model, structure and logic are separated and fragmented. The correct scenario would be from a single, interdisciplinary team changing the logic of the architectural block of logistics theme within a unified data platform, evolving the structure and behavior of the logistics business theme uniformly under analytical, transactional and SOA perspectives. This eliminates complexity, redundancy and cost and expands reuse, productivity, agility in delivery. It also increases performance and scalability and reduces network latency and consumption of processing, memory, and storage. The ADP architecture also promotes the use of small, agile, multidisciplinary and full stack teams, because in a single technological environment all the transactional, analytical and business behavior structure and behavior is delivered. The architecture of ADP also enables what will be the future of technology, the data lakes. In the data lake architecture, the ingestion and processing of data for the generation of strategic value is performed in real time and the data cannot arrive anemic. This would pollute the lake. Since most data lake implementations use anemic architecture, it is necessary to create noise reduction algorithms, but the lake remains polluted. This kills 5V Big Data (velocity, variety, variability, volume and value). So the solution is to adopt a data platform (Intersystems IRIS is an excellent option) and retire the bag of legacy software responsible for fragmenting, separating and making it impossible to have data behavior and logic together in a single architectural block, to have for each business theme an architectural block with data structure and business logic together, from the transactional, analytical and integration perspectives. Please consider posting it here. Hi, Yuri! Thanks for posting the link to a really great post! But DC is more for articles posted directly here rather then links to somewhere else. Is it possible to repost it here too? Thank you, Yuri! OK now I'm curious where it was originally posted! :)
Question
Chandra Bandi · Sep 24, 2018

How to create a restful api in Intersystems cache with %CSP.REST

Hello Guys,Can you please guide me to create a RESTful API service in our cache (using intersystems cache kit) with CSP (Cache Server Pages ) object script. Class REST.NativeDIspatcher Extends %CSP.REST { XData UrlMap [XMLNamespace = "http://www.native.rest.com/urlmap" ] { <Routes> <!-- <Route Url="/:name" Method="GET" Call="displaySystem" Cors="false" /> --> <Route Url="/:ostype" Method="GET" Call="externalFreeze" Cors="false" /> </Routes> } ClassMethod externalFreeze(Ostype as %String) as %Status{ set status = ##Class(Backup.General).ExternalFreeze() WRITE "EXTERNAL FREEZE RESPONSE FOUND " _status QUIT $$$OK } } I had written above code snippet but, I need to explore more using %CSP.REST object script language. Can anyone suggest/ share sample code snippet to create a REST service web application using %CSP.REST object script language. Thanks, Chandrasekhar Reddy, Email: cbandi@purestorage.com | +91 9880318877 The online documentation is here:https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GRESTThere is some training in the InterSystems Learning portal (you'll need to enrol/login):https://learning.intersystems.com/course/view.php?id=283e.g.Academy: Implementing RESTful Applications - https://learning.intersystems.com/course/view.php?id=83Setting Up RESTful Services - https://learning.intersystems.com/course/view.php?id=776 I wrote this tutorial some time ago https://community.intersystems.com/post/lets-write-angular-1x-app-cach%C3%A9-rest-backend-start-hereIt covers making an AngularJS front end with a basic Cache REST backend
Question
Robert Driver · Jun 30

Intersystems Terminal Documentation / Learning Resouces - Cache 2017.1

Can someone point me to learning resources / documentation for Intersystems Terminal? I have scoured YouTube, Intersystems documentation, and the internet. Many of the Object Script commands I found don't work (and that are listed here) do not work in the version of terminal that I have: https://docs.intersystems.com/ens201817/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS So far, I have only found 1 YouTube video that presented commands that 'actually' work my Cache terminal install: https://www.youtube.com/watch?v=F3lw-2kGY6U&list=PLp4xNHWZ7IQmiSsryS0T3qjuVXlbSWqc8
Article
Vinicius Maranhao Ribeiro de Castro · Apr 2, 2020

Securing your APIs with OAuth 2.0 in InterSystems API Management – Part 1

Introduction Nowadays, there is a lot of applications that are using Open Authorization framework (OAuth) to access resources from all kinds of services in a secure, reliable and efficient manner. InterSystems IRIS is already compatible with OAuth 2.0 framework, in fact, there is a great article in the community regarding OAuth 2.0 and InterSystems IRIS in the following link here. However, with the advent of API Management tools, some organizations are using it as a single point of authentication, preventing unauthorized requests to arrive at downstream services and decoupling authorization/authentication complexities from the service itself. As you may know, InterSystems has launched its API Management tool, called InterSystems API Management (IAM), which is available with IRIS Enterprise license (not IRIS Community Edition). Here is another great post in the community introducing InterSystems API Management. This is the first part of 3-part series of articles that will show how you can use IAM to simply add security, according to OAuth 2.0 standards, to a previously unauthenticated service deployed in IRIS. In this first part, will be provided some OAuth 2.0 background together with some IRIS and IAM initial definitions and configurations in order to facilitate the understanding of the whole process of securing your services. After the first part, this article series will approach two possible scenarios to secure your services with IAM. In the first scenario, IAM will only validate the access token present in the incoming request and will forward the request to the backend if the validation succeeds. In the second scenario, IAM will both generate an access token (acting as an authorization server) and validate it. Therefore, the second part will discuss and show in detail the steps needed to configure the scenario 1 and the third part will discuss and demonstrate the configurations for scenario 2, together with some final considerations. If you want to try IAM, please contact your InterSystems Sales Representative. OAuth 2.0 Background Every OAuth 2.0 authorization flow basically consists of 4 parties: User Client Authorization Server Resource Owner For the sake of simplicity, this article will use the “Resource Owner Password Credentials” OAuth flow, but you can use any OAuth flow in IAM. Also, this article will not specify any scope. Note: You should only use Resource Owner Password Credentials flow when the client app is highly trusted, as it directly handles user credentials. In most cases, the client should be a first-party app. Typically, the Resource Owner Password Credentials flow, follows these steps: The user enters their credentials (for example username and password) in the client app The client app sends the user credentials together with its own identification (client id and client secret, for example) to the authorization server. The authorization server validates the user credentials and client identification and returns an access token The client uses the token to access resources on the resource server The resource server validates the access token received before returning any information to the client With that in mind, there are two scenarios where you can use IAM to deal with OAuth 2.0: IAM acting as a validator, verifying the access token provided by the client app, forwarding the request to the resource server only if the access token is valid; In this case the access token would be generated by a third-party authorization server IAM acting both as an authorization server, providing access token to the client, and as an access token validator, verifying the access token before redirecting the request to the resource server. IRIS and IAM definitions In this post, it will be used an IRIS Web Application called “/SampleService”. As you can see from the screenshot below, this is an unauthenticated REST service deployed in IRIS: Furthermore, in IAM side is configured a Service called “SampleIRISService” containing one route, as you can see in the screenshot below: Also, in IAM is configured a consumer called “ClientApp”, initially without any credentials, to identify who is calling the API in IAM: With the configurations above, IAM is proxying to IRIS every GET request sent to the following URL: http://iamhost:8000/event At this point, no authentication is used yet. Therefore, if we send a simple GET request, with no authentication, to the URL http://iamhost:8000/event/1 we get the desired response. In this article, we are going to use an app called “PostMan” to send requests and check the responses. In the PostMan screenshot below, you can see the simple GET request together with its response. Continue reading to the second part of this series to understand how to configure IAM to validate access tokens present in the incoming requests. Great article!