Folders are introduced with the development tools in NW PI 7.1. Folders can be used as an additional option to organize projects and interfaces.
In this tip, I will discuss how folders are used, as well as their pros and cons.
Folders are available in both the Enterprise Service Repository (ESR) and the Integration Directory (ID). Yes, ESR is the replacement for what we have been used to as the Integration Repository in PI 7.0 and XI 3.0. ESR contains many enhancements and additions, one of which is the use of folders. Other features of the ESR will be discussed in other tips.
I will discuss the use of folders in 2 different sections: ESR and ID
- Enterprise Service Repository.
In the ESR, the use of folders can easily be adopted. It is very much similar to what we have been used to in working with the Windows File Explorer. It is an additional way to allow us to organize our projects and interfaces. However, there is a minor difference of how the objects will be displayed, with and wihout using folders.
Folders can be created under a namespace. As you will notice, mulitple folders can be created under the same namespace. And, folders can be created within folders.
As you can see in the above, A contains ESR objects created within a folder. B contains ESR objects created without a folder.
The obvious difference is that without using a folder, ESR objects are organized under specific object groups, e.g. Data Types, Message Types, Service Interfaces (evolved from Message Interfaces). This is identical to what we are used to in PI 7.0.
When a folder is used, the objects created within the folder are no longer organized within object groups. We must use either the icons or our own naming convention to identify the object type, or we can create folders to group the different object types.
One convenience of using folders is that when we wish to delete the objects inside a folder, we can just delete the folder.
- It is not necessary for us to use folders, especially for those of us who are starting out with PI development and are still relying on the grouping of the objects to facilitate our development smoothly. In most cases, we have been doing fine by organizing our projects by using SWCVs and namespaces.
- For those cases where the interfaces for scenario become complex, and we wish to more logically separate the objects to ease our development and support tasks (e.g. to separate source and target interfaces), then folders can be very helpful. It is also very useful when we want to create many different test interfaces during development and do not wish to create additional SWCVs and namespaces. Many times by lumping all the test interfaces under the same namespace can be very confusing.
- Need to control authorization to specific objects. By using Folders, we can easily control access to view and change the design objects based on groups assigned to userids.
- Integration Directory.
The affect of using folders in the ID is much more dramatic. I think the advantages and disadvantages will be debated for many moons to come.
Before we get into folders, let us talk about Scenarios first. I think they are somewhat related, as they both help us to organize our applications.
In PI 7.0 and XI 3.0, we organize our end-to-end integration processes using "Configuration Scenarios". Within each Scenario, we can include configurations for Communication Channels, Sender and Receiver Agreements, Receiver Determinations, etc. The scenarios are also used for transports between the landscapes. The scenario allows us to see only those relevant objects we need for our integration application.
First, let us take a look at a Scenario in PI 7.0.
There is a Scenarios tab. And, under each Scenario, we can find all the configuration objects for that scenario. The objects inside each Scenario are logical pointers to the actual objects in the Objects tab, therefore, if an object is used in multitple Scenarios, then that object can show up in everyone of them.
Now, let us take a look at Scenario in PI 7.1.
If you notice, the "Scenarios" tab is gone. Scenario is now under Objects, as a header for a grouping of Scenarios. Also, you cannot expand a scenario on the left panel to see all the relevant objects, as in PI 7.0. You can only see those objects on the right panel, after double-clicking on the scenario. Of course, you can then detach the panel or form to simulate the prior functionality.
From usability perspective, this is probably a "take-away". Of course, this is probably where Folder can come in and replace that feature. Then, if so, why do we still have Scenarios? So, let's continue.
Below is a screenshot of folders in PI 7.1.
Similarly to ESR, folders can have more folders, this is very much like directories and subdirectories in File Explorer. The objects in a folder can be displayed just as in PI 7.0's Scenarios. And, when you double-click on an object, the object will be opened on the right panel.
However, there is one big difference between Folders in PI 7.1 and Scenarios in PI 7.0. The objects in Folders are not logical pointers to "actual" objects, as in Scenarios. This means that when an object is contained in one folder, this object cannot be present (or shown) in another folder. And, if you move that object to another folder, it will physically be moved. The original folder will no longer contain that object. This is just like files in directories. For example, if a folder contains a Business System, then this Business System will not, and cannot, be shown in any other place. This makes very difficult to determine whether a Business System has already been assigned to the ID, or if a Communication Channel has already been configured, because they might exist (or hidden) in a folder created by someone else (or moved by someone else to his own folder). You will not be able to see all the Communication Channels for a Business System in one place, because they may be spread across many folders. You will have to use the Search tool to find them, or turn off the Folder view (see below).
As a result, using Folders can be risky, because you may end up either creating duplicate objects, or have to spend time looking for an object. Consequently, we must plan very carefully and agree upon standards or rules when using Folders.
The main benefit of Folders is that you can create access authorizations to folders, e.g. this can prevent access by just anyone to see or change the configurations of an integration process or specific objects.
- Use Folders when you need to control access to objects in the ID.
- Plan and establish rules and standards when using folders, such as create a shared folder to contain all the shared objects, e.g. Business Systems and Communication Channels.
- Continue to use Scenarios, even though the usability may have been decreased.
Incidently, you can go back to the "old" view, without seeing any folders, by filtering it out.
William Li is a member of the NW XI RIG at SAP Labs.
This content is reposted from the SAP Developer Network.
Copyright 2007, SAP Developer Network
SAP Developer Network (SDN) is an active online community where ABAP, Java, .NET, and other cutting-edge technologies converge to form a resource and collaboration channel for SAP developers, consultants, integrators, and business analysts. SDN hosts a technical library, expert tips, exclusive downloads and code samples, an extensive eLearning catalog, and active, moderated discussion forums. SDN membership is free.
Want to read more from this author? Click here to read William Li's blog. Click here to read more about SAP Exchange Infrastructure (XI) on the SDN.