
Coming back with episode two of my personal series - Improving SAP Integration Suite. In the first episode, we presented a sorting mechanism for selecting entries from the Datastore. In this second episode, I joined forces with Adrian Cucui and Eduard Popescu, and together we created a browser extension for SAP Integration Suite.
The main functionality is to provide the user something similar to the Where Used for JMS queues, but for ProcessDirect links.
The idea behind the extension was to close a gap we had for quite a while, especially when going through large architectures where sometimes, we saw that the message go using ProcessDirect through several flows, and without knowing the flow names it was pretty difficult to debug issues.
We found it especially useful when onboarding new projects, when you're not really that familiar with the order or sequence of the flows, and being able to see where exactly it is being used helped us a lot.
The main functionality is of course, the ProcessDirect address search. We tried to make it as easy to use, so the only thing that you need to do is to highlight a text in your flow and hit a button.
While on an integration artifact page, highlight any ProcessDirect address. No need to copy, just select it, along with the slash.
Click on the extension. On the pop-up, click the button ‘Search PD’. A text box will appear, with all the details of the flows that contain that ProcessDirect address.
By clicking the ‘Show map’ button, you will be able to see a visual map of the integration artifact links.
A first step would be to do an initial load of all the artifacts. Click on the extension. On the pop-up, go to the Main tab. Click Initial Load. – Bear in mind that it might take a while to do the initial load, depending on how many resources you have on the tenant.
At the end, you will be able to see all the details of the process in the same pop-up.
Of course, there are scenarios where ProcessDirect links change, get renamed, or even removed. By having the possibility to reload all the metadata on a given interval is the way to go. If addresses get renamed, the extension will rename as well, if the addresses get deleted or new ones get added, the extension will do the same thing, so at all time you will have the correct metadata to check. By default, the extension should set the interval to 1440 minutes - 24 hours, but make sure that you do set it yourself at installation.
Similar to other SAP Integration Suite extensions, this one will use your active session and similar to what you would be doing, it's using the platform APIs to get the packages, integration artifacts and their metadata. In order to persist the data, we tried to mimick what SAP Integration Suite does for JMS queues - basically stores the metadata somewhere in the backend and it's accessible via the Where Used functionality. Now, because we don't have the possibility to access the backend, we used the browser local storage, the advantages being :
Persistent storage across sessions and tabs
Keeps data even if the user closes and reopens the browser.
Extension-wide access
Unlike localStorage, which is tab-specific (per origin), chrome.storage.local is accessible from anywhere in the extension - background scripts, popups, etc.
Asynchronous, non-blocking API
Especially important in our case, where you don’t want to freeze the UI or block the background script, for example the recurring jobs.
Good capacity (5MB limit)
Plenty for what we’re doing — storing timestamps and intervals per tenant will take kilobytes at most.
Isolation from page scripts
A big security win: web pages cannot access yourchrome.storage.local.
In theory no, because we have a default interval of 1440 minutes set, but since this is the initial version, we would recommend setting one.
The script will iterate through your packages and each integration artifact, search for ProcessDirect links and save them in your browser in-memory storage.
Same thing, only that you won’t get bothered by the logs, since it will be done in the background. You could still see the logs in the browser Console.
Process should still run, and if you re-open the extension, you should be able the logs flowing through, if the process has not ended yet.
The extension will remove old values and add the new ones.
No and no. Only you will be able to see the logs/saved values.
Currently we have a form created, and it's accessible via a link added in the extension. Of course, you can message us in private, comment here, doesn't matter. As long as we get feedbacks, we will try to make it as better as possible.
We are looking into multiple options to extend the current functionalities, like :
- WhereUsed for security artifact names found in flows.
- Extending the visual map to highlight the whole process chain, so not for the ones that share the same ProcessDirect address, but from start to the end.
- Reports on unused ProcessDirect addresses.
The extension is available currently only on Chrome extension store, so you can go ahead and get it from there. In the future, we will publish the project to Github as well.
Bear in mind that the extension shares absolutely no data, does not collect anything and it is not monetized. It is created strictly for the benefit of the integration developers and will always stay like this.
If you have any questions, feel free to reply here, or even go to the dedicated Q&A Section for SAP Integration Suite.
Thank you for your time !
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
9 | |
8 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 | |
2 |