Oracle API Catalog 12c Full Overview
Oracle has recently released Oracle Enterprise Repository (OER) 12c and Oracle API Catalog (OAC) 12c.I am particularly exited on the latter as it aims to simplify management of APIs and promises to be able to create catalog of your services and APIs rapidly. Furthermore, although OER 12c maintains the same richness as in OER 11g, this product is targeted to advance users that are in need to address more complex governance requirements whereas OAC it’s a light-weight version of OER however tailored to address specific use cases of API management such as cataloguing, discovering and rating APIs.
This blog is about my first impression when installing, configuring and using Oracle API Catalog. In the blog I provide all steps I followed to achieve these tasks and at the end I provide a summary of my experience and feedback of the product.
https://docs.oracle.com/middleware/1213/oac/install-cat/toc.htm
Following key screenshots taken during installation of Weblogic Server and OAC and also some tips:
Installing Weblogic
- Launching Weblogic 12.1.3 installer
- Click Next and choose your FMW home (I’ve used /u01/fmw2 as I have SOA Suite 12c under /u01/fmw)
- Click Next and select “Fusion Middleware Infrastructure”
- Click Next and un-select option to get updates if this is a local or demo environment, then click Next and click Yes
- Click Install and then Finish if all goes well, otherwise check the logs for issues and retry
Installing OER binaries (OAC uses same installation binaries)
- Launch OER installer
- Click Next and select previously created FMW home (in my case /u01/fmw2) and click Next
- Click Next, Next again and then Install
- If all goes well click Finish, otherwise check the logs for issues and retry
Install Patches for RCU and Weblogic
- Instructions in following link https://docs.oracle.com/middleware/1213/oac/install-cat/install_gui.htm#CATIG394 , below summary:
- Go to Oracle Support and download patch 18791727 (RCU COMPONENT FOR OER OAC)
- Run Opatch
- Check that it succeeds and if so apply Opatch for Weblogic
- Go to Oracle Support and download patch 18718889 (WEB SERVICES RUNNING ON WLS FAIL WHILE MAINTAINING SESSION)
- Run Opatch
- Check that it succeeds
- Run ./opatch lsinventory to ensure all patches were applied successfully
Run RCU
- Run <FMW_HOME>/oracle_common/bin/rcu.sh
- Click Next, then select “Create Repository” and “System Load and Product Load” and click Next
- Enter DB details and click Next and then Ok. Then select which schemas you wish to create. In my example I created schemas for both OER and OAC (ensure you use the right prefex. In my case I used “DEV” but you may used any other depending on what environment you are installing). Then click Next and Ok again
- Enter password for the schemas and click Next, check that all schemas are correct and click Next and then Ok twice
- Click Create
- Click Close if all goes successfully, otherwise check logs and try again
Extend Domain
- <FMW_HOME>/oracle_common/bin/config.sh
- Select “Create a new domain” and ensure you provide a meaningful name to the domain, i.e. oac_domain (this will not cause installation to fail but in future it might create confusion around what the domain contains and purpose of it). Then click Next
- Select the template for “Oracle API Catalog" and click Next. Don’t try select OER and OAC template simultaneously as it will won’t allow you!! I tried this too!
- Enter the admin credentials for Weblogic server and click Next
- Select Production if you want more robust security or Development if you wish credentials to be loaded from boot.properties. Use default JDK (you may change this setting in a real production environment)
- Enter the DB details and credentials for the OAC schema and click Next
- Test connection and if successful click Next
- Select “Administration Server” and “Managed Servers, Clusters and Coherance” and click Next. Specially ensure you don’t miss Admin Server!!
- Select “All Local Addresses” so admin server listens to all IPs available in the server. Also ensure you change admin server port if you have other environments installed in your machine. Then click Next
- Do the same for oac_server1. Select “All Local Addresses” and ensure port it’s not already used then click Net
- Click Next twice (as am doing a demo environment I have no need set up a cluster and pinned servers to a machine)
- Click Create
- If Domain creation is successful click Finish
- Start Admin Server and then oer_server1
- Check the following link for best practices on stopping and starting Weblogic admin and manage servers: https://docs.oracle.com/middleware/1213/wls/START/overview.htm#START112
- Check post-installation steps for running OER diagnostic tool: https://docs.oracle.com/middleware/1213/oac/install-cat/post.htm#CATIG197
- Once servers have started open following url: http://localhost:8111/oac
- Enter default credentials (admin / weblogic1) then it will ask you to change credentials
- Home page looks very clean and nice. I can see that there aren’t as many options as OER and there is no “Asset Home Page” so I won’t be able to create/add assets from here. There isn’t an option either to create/modify Asset Types. OAC only support one asset type which is APIs.
- There are 2 other main pages: MyAPis and Admin
- The Admin page looks very similar to OER and the security model around users it’s similar to OER however there is no concept of “Projects” as there was in OER 11g. I think this is a good thing as Projects could confuse non-experts users. If you are not familiar with this model, below is how OER 11g user security model looked like. In red entities that don’t apply for OAC so it should give a good idea of how users and departments can be configured
- Let’s configure HarvesterSettings.xml to connect to OER
- Run ./encrypt.sh as following to encrypt password in HarvesterSettings.xml
- Now let’s harvest a REST API by running “./harvest.sh –file “<REST WSDL URL>”
Note: Harvester has several features available including harvesting OSB services and SOA Composite applications. For more detail info read the following page:
https://docs.oracle.com/middleware/1213/oac/administer-cat/harvest_oac.htm#CATCG433
- By default APIs harvested are not registered as “Published hence they don’t appeared in the home page. So to find the API select “All APIs” from dropdown menu as per below and click on search icon
- Now the harvested API (WADL file) appears in the search results. Click on the API to see more details
- On this page you can see all metadata associated with the API. Let’s edit the API by clicking the pencil icon
- Now from here we can change the status of API. From Active Status dropdown select “Published” and click save. Now API should show up in home page
- Yep, now is there.
- If you want to rate the API and add comments, you need to add the API to MyAPIs. To do this click again on API and then click on Folder icon
- Then go to the “My APIs” page, and from there click on the Comments icon. A popup will appear, from there rate your API and add your comments
- Go back to home page and you will see your 5 star API :)
This blog is about my first impression when installing, configuring and using Oracle API Catalog. In the blog I provide all steps I followed to achieve these tasks and at the end I provide a summary of my experience and feedback of the product.
Installation Pre-requisites
- Download Weblogic Server 12.1.3 and OER 12.1.3 software binaries from following link (note that OAC uses same OER installer)
- You will need an Oracle Database installed (you may also download database from previous link). If you already have an environment with an Oracle Database available you can check supported versions from following link
- Ensure you have installed JDK 7.0 Update 55 or later. You can download it from the following link:
- Oracle API Catalog Home Page and Installation Guide:
https://docs.oracle.com/middleware/1213/oac/install-cat/toc.htm
Installation
Firstly install Oracle Database and Weblogic Server as per instructions.- Oracle Database installation: https://docs.oracle.com/database/121/nav/portal_11.htm
- Oracle Weblogic Server installation: https://docs.oracle.com/middleware/1213/core/WLSIG/planning.htm#WLSIG237
Following key screenshots taken during installation of Weblogic Server and OAC and also some tips:
Installing Weblogic
- Launching Weblogic 12.1.3 installer
- Click Next and choose your FMW home (I’ve used /u01/fmw2 as I have SOA Suite 12c under /u01/fmw)
- Click Next and select “Fusion Middleware Infrastructure”
- Click Next and un-select option to get updates if this is a local or demo environment, then click Next and click Yes
- Click Install and then Finish if all goes well, otherwise check the logs for issues and retry
Installing OER binaries (OAC uses same installation binaries)
- Launch OER installer
- Click Next and select previously created FMW home (in my case /u01/fmw2) and click Next
- Click Next, Next again and then Install
- If all goes well click Finish, otherwise check the logs for issues and retry
Install Patches for RCU and Weblogic
- Instructions in following link https://docs.oracle.com/middleware/1213/oac/install-cat/install_gui.htm#CATIG394 , below summary:
- Go to Oracle Support and download patch 18791727 (RCU COMPONENT FOR OER OAC)
- Run Opatch
- Check that it succeeds and if so apply Opatch for Weblogic
- Go to Oracle Support and download patch 18718889 (WEB SERVICES RUNNING ON WLS FAIL WHILE MAINTAINING SESSION)
- Run Opatch
- Check that it succeeds
- Run ./opatch lsinventory to ensure all patches were applied successfully
Run RCU
- Run <FMW_HOME>/oracle_common/bin/rcu.sh
- Click Next, then select “Create Repository” and “System Load and Product Load” and click Next
- Enter DB details and click Next and then Ok. Then select which schemas you wish to create. In my example I created schemas for both OER and OAC (ensure you use the right prefex. In my case I used “DEV” but you may used any other depending on what environment you are installing). Then click Next and Ok again
- Enter password for the schemas and click Next, check that all schemas are correct and click Next and then Ok twice
- Click Create
- Click Close if all goes successfully, otherwise check logs and try again
Extend Domain
- <FMW_HOME>/oracle_common/bin/config.sh
- Select “Create a new domain” and ensure you provide a meaningful name to the domain, i.e. oac_domain (this will not cause installation to fail but in future it might create confusion around what the domain contains and purpose of it). Then click Next
- Select the template for “Oracle API Catalog" and click Next. Don’t try select OER and OAC template simultaneously as it will won’t allow you!! I tried this too!
- Enter the admin credentials for Weblogic server and click Next
- Select Production if you want more robust security or Development if you wish credentials to be loaded from boot.properties. Use default JDK (you may change this setting in a real production environment)
- Enter the DB details and credentials for the OAC schema and click Next
- Test connection and if successful click Next
- Select “Administration Server” and “Managed Servers, Clusters and Coherance” and click Next. Specially ensure you don’t miss Admin Server!!
- Select “All Local Addresses” so admin server listens to all IPs available in the server. Also ensure you change admin server port if you have other environments installed in your machine. Then click Next
- Do the same for oac_server1. Select “All Local Addresses” and ensure port it’s not already used then click Net
- Click Next twice (as am doing a demo environment I have no need set up a cluster and pinned servers to a machine)
- Click Create
- If Domain creation is successful click Finish
- Start Admin Server and then oer_server1
- Check the following link for best practices on stopping and starting Weblogic admin and manage servers: https://docs.oracle.com/middleware/1213/wls/START/overview.htm#START112
- Check post-installation steps for running OER diagnostic tool: https://docs.oracle.com/middleware/1213/oac/install-cat/post.htm#CATIG197
UI Look & Feel
Ok so finally the fun start!! we’ve done the installation and everything seemed to have gone smooth. Now let’s have a look at the UI:- Once servers have started open following url: http://localhost:8111/oac
- Enter default credentials (admin / weblogic1) then it will ask you to change credentials
- Home page looks very clean and nice. I can see that there aren’t as many options as OER and there is no “Asset Home Page” so I won’t be able to create/add assets from here. There isn’t an option either to create/modify Asset Types. OAC only support one asset type which is APIs.
- There are 2 other main pages: MyAPis and Admin
- The Admin page looks very similar to OER and the security model around users it’s similar to OER however there is no concept of “Projects” as there was in OER 11g. I think this is a good thing as Projects could confuse non-experts users. If you are not familiar with this model, below is how OER 11g user security model looked like. In red entities that don’t apply for OAC so it should give a good idea of how users and departments can be configured
Harvesting API Assets
- Harverster is available under <FMW_HOME>/oer/tools. Unlike OER 11g, no need to unzip ! just configure HarvesterSettings.xml and start using it!- Let’s configure HarvesterSettings.xml to connect to OER
- Run ./encrypt.sh as following to encrypt password in HarvesterSettings.xml
- Now let’s harvest a REST API by running “./harvest.sh –file “<REST WSDL URL>”
Note: Harvester has several features available including harvesting OSB services and SOA Composite applications. For more detail info read the following page:
https://docs.oracle.com/middleware/1213/oac/administer-cat/harvest_oac.htm#CATCG433
Discovering APIs
Now let’s go back to the OAC home page and let’s see if our API is registered.- By default APIs harvested are not registered as “Published hence they don’t appeared in the home page. So to find the API select “All APIs” from dropdown menu as per below and click on search icon
- Now the harvested API (WADL file) appears in the search results. Click on the API to see more details
- On this page you can see all metadata associated with the API. Let’s edit the API by clicking the pencil icon
- Now from here we can change the status of API. From Active Status dropdown select “Published” and click save. Now API should show up in home page
- Yep, now is there.
- If you want to rate the API and add comments, you need to add the API to MyAPIs. To do this click again on API and then click on Folder icon
- Then go to the “My APIs” page, and from there click on the Comments icon. A popup will appear, from there rate your API and add your comments
- Go back to home page and you will see your 5 star API :)
Summary
- Installation is comprehensive and I like the fact that RCU is part of Weblogic binaries. Although you had to apply 2 patches before you can run RCU and extend domain it’s pretty straight forward and well documented. In total it took me between 1hr and 1 1/2 hr to do core installation (bearing in mind that I used an environment with a DB already installed and I had already downloaded all binaries and patches needed)
- Tools (in <FMW_HOME>/oer/tools) are already unzipped which makes it a bit easier to configure harvester
- Encrypting password can be done directly against password in HarvesterSettings.xml which is very straight forward to do
- Harvesters is the same as OER. So executing harvester is very straight forward and easy. Best of all a lot of the information available in my SOA Governance book for 11g will still be useful for OER 12c and OAC
- Harvester supports REST APIs published with WADL files
- OAC UI’s are very lean, user friendly and intuitive. There isn’t as many pages as OER and it is not possible to add assets or create/modify asset types from the console. However I think this is a good thing to keep the complexity low and focused at only cataloging APIs asset types
- The “MyAPIs” screen I found very cool. Also the ability to rate the APIs and submit comments / reviews I think will be extremely useful is OAC is used for example as an external catalog for “customers of the APIs” to rate and comment on APIs
- Admin page seems similar to OER however simplified as OAC has no concept of “Projects” (which I think is a very good thing). Also only basic access settings are available unlike OER where you can configure CAS (Custom Access Settings). Also other features such as Compliance Templates are also not available. Again this is not a bad thing as it adds to the point of keeping it simple
- My recommendation to implementers and companies looking to adopt governance but that don’t yet have mature processes or tools, to start off by using OAC and as their SOA adoption and governance mature then incrementally start planning for a more complex governance implementation using OER 12c
- All in all, OAC is the killer OER app. Installation process it’s smooth (even patching process is simple), UI is very clean, functionality is “fit for purpose” and harvester is as feature rich as one available in OER.
Thanks for the post, I was able to install OAC into my existing SOA-OSB 12c domain following your blog and was also able to harvest web services created in SOA and OSB manager servers.
ReplyDeleteWhat I fail to do was ; installing Jdeveloper 12c plugin for accessing OER and OAC resources. I have installed patch #19721053 as mentioned in the oracle documentation but still I could see OAC plugin. However in the oracle documentation one place (step7) its refer as "verify both patched were applied" which make to think if I am missing any patch. (https://docs.oracle.com/middleware/1213/oac/develop-cat/suppconfig.htm#CATIN1699 - refer step7)
The JDev plugin requires a specific version of JDev that is included in the SOA Quick Install. Other versions of JDev do not support the plugin. You can find the SOA Quick Install here:
Deletehttp://download.oracle.com/otn/nt/middleware/12c/121300/fmw_12.1.3.0.0_soaqs_Disk1_1of1.zip
The patch you listed is the right one, just make sure you use the right version of JDEV (link above)
Cheers
Kaustav actually after I while I've just realised what exactly is the issue you are highlighting. Basically this is an issue with JDeveloper caching. It's a known issue Doc ID 1966718.1
DeleteSolution:
1. Run jdev with -clean option (jdev.exe -clean)
or
2. remove the local cache folder(in case of windows %APPDATA%\JDeveloper\system12.1.2.0.XX.XX.XX, where XX.XX.XX is the unique number of the product build)