The Oracle I/PM API provides two mechanisms for enumerating the list of applications defined within and I/PM system: ApplicationService.listApplications and DocumentService.listTargetApplications. Each operation accepts an “Ability” parameter that specifies which applications to return based the user's security settings. However, they differ in one which security filter is used.
The ApplicationService.listApplications returns applications based on Application definition security. Ability.VIEW returns all applications to which the calling user has view permission. The Ability.MANAGE parameter returns all applications to which that user has either delete or modify permissions. The intended purpose of this operation is primarily for code written to manage application definitions.
The DocumentService.listTargetApplications returns applications based on the user's document permissions within the application, i.e., whether the user has either view document or create document permissions for that application. This operation is the best choice when the client is working with directly documents.
Both of these operations return a java.util.List of NameId objects identifying both the numerical ID and the textual name for the application.