With the release of Oracle Enterprise Repository 12c another product was released. Oracle API Catalog 12c (OAC) allows you to build a catalog of your organization APIs. OAC provides a layer of visibility to those APIs so application development knows what and which one to use. OAC includes a simple metamodel for an API asset, automation to populate OAC, and the ability for users to search OAC for APIs and understand the details of the APIs to assess their fit in the user’s application.
Installation
I’m not going to bore you with the details about the installation by giving a installation guide. It took me about 40 minutes from scratch (excluding downlOERoad time). The steps are describes in the installation guide Oracle provides. OAC is part of the OER 12c installation jar, but can be licensed and installed, as an own managed domain, without licensing and installing OER.The steps to take on high level (from scratch):
- Download and install Oracle Database, Fusion Middleware Infrastructure 12c, Oracle Enterprise Repository 12c, RCU patch 18791727 and Weblogic patch 18718889 (these last two are important, else you can’t install OAC).
- Run RCU (oracle_common/bin/rcu.sh|bat) and create the OAC repository
- Run Weblogic Domain creation (weblogic/bin/config.sh|bat) and create a new which includes OAC.
- After installation and startup of weblogic and managed service you can find the OAC console at url: http://serverhost:8111/oac
Taking the first steps
When taking my first steps the official getting started guide can help you a lot. OAC has four high-level features. OAC collects services, it has a harvester which creates API assets in OAC. After harvesting you can add metadata to the API assets like description, tags and documentation. After harvesting and editing an API asset it can be published so it is visible for application development. Published APIs can be discovered and used through the API Catalog console and via the Oracle JDeveloper Oracle Enterprise Repository plug-in.Logging in for the first time
After installing FMW & OAC 12c and starting the Weblogic server you can login into the provided OAC console (default) running at http://serverhost:8111/oac.The default username and password is admin / weblogic1. The first time you are asked to change the password.
After changing the password you will login into the console. The dashboard will be empty because no APIs are harvested yet. But when APIs are harvested they are listed at this page. On this page you can also navigate to “My APIs” which list the API you bookmarked.
As admin, navigate to “Admin”, you can configure Users and Departments, control Sessions, change System settings and Import/Export the catalog. This blog will go in to the Admin features later on.
![OAC12c: Admin page for configuring users, departments, sessions and change system settings](https://technology.amis.nl/wp-content/uploads/2014/11/04-oac-admin-page-1024x270.png)
Collecting / harvesting services
The first activity is to harvest APIs into OAC. The harvester is used to populate OAC with API assets from SOA Suite and Service Bus or other deployed services. The harvesting process can be run from the command line or can be integrated into the build process. The latter can be used to automatically do the harvest at build time. Harvested API assets will get a “Draft” state and won’t be visible to developers yet.For this blog I will use the command line harvester. There are to types of harvesters; one for SOA Suite, OER & File-based assets and one for harvesting OSB. I will use the first harvester and use it with integrated SOA Suite 12c environment.
For this blog I changed the HarvesterSettings.xml, which is decribed here, and added OAC en SOA server information, including projects to harvest.
Doing it like this you don’t have to add any parameters to harvest.sh|bat. If you want to harvest a specific asset you can use the command line properties, for example another SOA composite.
The result after running the harvest command should look something like on the image below (in preview mode).
View harvested APIs
After harvesting you first asset(s) you can login the OAC console to see the result. Assets that are harvested will get the “Draft” status, thats why after logging into the OAC console again, no APIs are published and visible on the dashboard. Search on Service Type = Draft to view newly harvested APIs.To see, edit and publish the API asset details click on the specific row. The details page opens which shows information about the asset like Type of Asset, Endpoint, Harvester properties and WSDL summary including namespace, porttype and methods.
Besides the details you can perform some actions (from left to right):
![OAC12c: API actions](https://technology.amis.nl/wp-content/uploads/2014/11/11-oac-API-actions.png)
Link, toggle view, bookmark, edit & delete
- Link to details page: Get URL of API asset details page you currently look at and can share.
Example: http://soabpm:8111/oac/index.jsp?assetid=50003&renderMinMaxButton=false&renderNextPrevButtons=false
![OAC12c: Tabbed view of API asset details](https://technology.amis.nl/wp-content/uploads/2014/11/12-oac-API-tabbed-details-1024x303.png)
- Add to My APIs: Click to bookmark API. After bookmarking API it is visible under MyAPIs page.
- Edit details: Page to edit API asset details. More about this below.
- Delete items: Delete the API asset from the repository.
Add metadata to harvested API
To add metadata or edit other details of an API asset click on the edit icon/button to open the Edit Asset page. On this page you can change the name, change the version, add keywords and descriptions, but also add a link to documentation URL and assign/upload an icon. To publish an API change the API status from Draft to Published. It is also possible to set the API active status from Active to Retired.Publish a draft API
To publish an API you just need to change the API status to published and saving the asset.![OAC12c: Publish-API](https://technology.amis.nl/wp-content/uploads/2014/11/14-oac-publish-API.png)
On the overview page the API status is changed and the API details can be exported to Excel and PDF.
![OAC12c: API status changes when published](https://technology.amis.nl/wp-content/uploads/2014/11/15-oac-published-API-export-1024x336.png)
![OAC12c: Dashboard listing recently published APIs](https://technology.amis.nl/wp-content/uploads/2014/11/16-oac-dashboard-with-API-1024x588.png)
Sharing the APIs with other users
After taking the first steps the APIs can be shared with other users. To do so new users can be added with specific roles. As admin user click on the “Admin” menu item and choose the Users section (selected by default). From this page new users can be created, you can search for users and edit & delete users.![OAC12c: Users administration page](https://technology.amis.nl/wp-content/uploads/2014/11/17-oac-create-user-1024x433.png)
Add, search, edit and delete users
To create a new user click in the Users section on the Add User icon on the top-right of the page section. The Create New User page is displayed. The page is divided into three sub sections; user information, roles and departments. The user information section contains form fields for the username, password, real name and email & phone information. It is also possible to force changing the password and allow the password to never expire. A user can have one of four statuses; Active, Inactive, Lockout (after 3 failed logins) and Unapproved.![OAC12c: Create new user - overview section](https://technology.amis.nl/wp-content/uploads/2014/11/18-oac-new-user-overview-1024x450.png)
![OAC12c: Create new user - roles section](https://technology.amis.nl/wp-content/uploads/2014/11/19-oac-new-user-departments-1024x325.png)
![OAC12c: Department Details](https://technology.amis.nl/wp-content/uploads/2014/11/21-oac-department-details-1024x276.png)
![OAC12c: Search, edit or delete Users](https://technology.amis.nl/wp-content/uploads/2014/11/22-oac-user-details-1024x215.png)
![OAC12c: User details and actions](https://technology.amis.nl/wp-content/uploads/2014/11/23-oac-user-details-1024x355.png)
![OAC12c: Developer User](https://technology.amis.nl/wp-content/uploads/2014/11/25-oac-developer-user-1024x332.png)
Switching user
To switch to a different user you can sign out of the OAC console by selecting the “Sign Out” options under your user menu. Just click on the arrow on the right side of your name.![OAC12c: Switching User by signing out of OAC console](https://technology.amis.nl/wp-content/uploads/2014/11/24-oac-switch-user-1024x145.png)
![OAC12c: Curator Dashboard](https://technology.amis.nl/wp-content/uploads/2014/11/26-oac-curator-dashboard-1024x324.png)
![OAC12c: Developer Dashboard](https://technology.amis.nl/wp-content/uploads/2014/11/27-oac-developer-dashboard-1024x327.png)
Adding an API to My APIs and reviewing the API
Als user you can add APIs to you favorites (My APIs). To add a API to your favorites go to the API asset details page and add the API to My APIs by clicking the “Add this to My APIs” button. After adding it to My APIs the details page is update and shows how many times it is added (usage) in the past 6 months. Users that have added the API to there My APIs can review on the API asset.![OAC12c: Adding API asset to My APIs](https://technology.amis.nl/wp-content/uploads/2014/11/28-oac-API-usage-1024x339.png)
![OAC12c: API usage history](https://technology.amis.nl/wp-content/uploads/2014/11/28-oac-API-usage-history.png)
![OAC12c: My APIs showing all added API and actions to review or delete a API](https://technology.amis.nl/wp-content/uploads/2014/11/30-oac-My-APIs-1024x308.png)
![OAC12c: Submit a Review and viewing API reviews](https://technology.amis.nl/wp-content/uploads/2014/11/31-oac-submit-review-1024x404.png)
![OAC12c: Dashboard shows latest reviews](https://technology.amis.nl/wp-content/uploads/2014/11/32-oac-latest-review-1024x203.png)
Other administrator tasks
View sessions
The administrator can perform some other tasks that I didn’t discuss yet. On the Sessions section page all (active) sessions are displayed and an administrator can look into the details of the session. An administrator can also delete sessions, which means if a user is active in the console the user will be logged out.![OAC12c: An administrator can view (active) sessions](https://technology.amis.nl/wp-content/uploads/2014/11/33-oac-admin-sessions-1024x248.png)
![OAC12c: An administrator can view session details](https://technology.amis.nl/wp-content/uploads/2014/11/34-oac-admin-session-details-1024x302.png)
System settings
An administrator can change a lot of setting to change the behavior of the OAC console. The system settings page is divided into four main sections; Functional settings, Server Settings, Enterprise Authentication and Import and Export settings (not the actual import/export).The functional settings sections contains settings for search results and printing details via PDF:
![OAC12c: Functional Settings - Search results and PDF generation](https://technology.amis.nl/wp-content/uploads/2014/11/35-oac-admin-settings-functiona-1024x548.png)
The server settings section contains settings for embedding HTML in asset details:
![OAC12c: Server Settings](https://technology.amis.nl/wp-content/uploads/2014/11/36-oac-admin-settings-general-1024x136.png)
The Enterprise Application section contains settings for connection to a LDAP server for user management:
![OAC12c: Enterprise Application Settings](https://technology.amis.nl/wp-content/uploads/2014/11/37-oac-admin-settings-enterprise-1024x481.png)
The Import/Export sections contains settings for setting timeouts:
![OAC12c: Import/Export Settings](https://technology.amis.nl/wp-content/uploads/2014/11/37-oac-admin-settings-import-1024x424.png)
Import / export repository
The import / export of the repository can be done in the corresponding section, but instead of it being done in the web UI it uses java Webstart.![OAC12c: Import/Export Tool](https://technology.amis.nl/wp-content/uploads/2014/11/38-oac-import_export.png)
My Verdict
To conclude this blog post I will give my verdict about Oracle API Catalog 12c. In the last week I had some ups but also some downs. I started on my windows laptop and installed everything locally. At first everything seemed fine, I could harvest my first Asset, but after trying to view the details I got a error after another. In the days that followed I was helped by Oracle Development and in special by Mark Dutra, but we couldn’t figure out what the problem was. I think it has something to do with security settings and how the laptop is configured (domain wise).After creating a Linux VM and installed everything again I finally had success and the tables were turned. I really like the interface, it is very clean and uses a common workflow on every page. The use of a separate harvester (command-line or ANT task) is in one way a great solution, because you can use it in your already existing build process, but I missed the option to do this using the OAC console, you don’t always have access to use scripting.
The harvested APIs are added as Draft and an admin or curator can edit the information and publish the API. This version is a great start with lots of information already, like the endpoint, WSDL/WADL summary including methods and message payload. But I miss the possibility to register dependencies between APIs. If API are harvested from one service the separate APIs are not linked to each other.
Adding APIs to your My APIs and the possibility to write a review can be handy. The simple metrics tell you about the usage and who uses it which is already usefull, hopefully in the future more metrics will be available in OAC.
As an administrator you can perform a lot of tasks using the UI. Adding users, looking at active sessions and import/export the repository. It worked fine on Linux, but on windows I had no result. Also the possibility to connect to an LDAP will make it much easier to add users and departments.
Pros:
- Clean and easy UI with common workflow on most pages
- Harvest through command-line (run-time) or ANT (design-time build)
- Possibility to edit Assets and add documentation
- Review on API and give feedback when an API is not working correctly
- Metrics about usage
- A great set of administration tools
- Does not work well with Windows.
- Catalog features are still basic, no dependency viewer
- No online harvester, you can’t harvest via the OAC console
It 's amazing article and useful for developers
ReplyDeleteOracle SOA Online Training
I just want to thank you for sharing your information and your site or blog this is simple but nice Information I’ve ever seen i like it i learn something today. Desentupidora em Atibaia
ReplyDeleteSimply wish to say your article is as astonishing. The clarity in your post is simply great, and I could assume you are an expert on this subject. Same as your blog i found another one Oracle Service-Oriented Architectures .Actually I was looking for the same information on internet for Oracle SOA Suite and came across your blog. I am impressed by the information that you have on this blog. Thanks a million and please keep up the gratifying work.
ReplyDelete