Advertisements

Archive for the 'OAC' Category

OAC 12c Articles

Advertisements

OAC 12c–Consuming API Assets in SOA/OSB Projects

In this post, we will see how to lookup Oracle API Catalog (OAC) for API assets using JDeveloper and consume it in SOA/OSB projects. Note that as mentioned in post, we need to install patch 19721053 to get JDeveloper extension for OAC/OER.

Creating OAC Connection

Select File –> New –> General –> Connections.

oerconn1

Enter required information as shown below. Note that any user with Developer role would be able to connect to OAC.

oerconn2

Click OK. Observe that new OER connection is shown in Resources as shown below and able to see all the published API assets.

oerconn

We must associate a JDeveloper application with a default OAC Connection to consume assets. Without this, we will see the following error when trying to consume assets.

lookup

To associate OAC Connection, select Tools –> Oracle Enterprise Repository and select the above OAC connection as shown below.

oacassoc

Now we can consume API asset in SOAP Project as shown below for partner link creation.

oacplink

Similarly, while creating business service in OSB we can select the OAC asset as shown below.

bizservice

oacbiz

OAC 12c:Harvesting SOA/OSB Projects

In this post, we will see how to use harvester to populate Oracle API Catalog (OAC) with Oracle SOA Suite projects.

Harvester can be used to collect services from Oracle SOA Suite and Oracle Service Bus and creates OAC API assets. Initially API assets gets created in Draft status. User can modify these assets to add metadata and publish so that users can search and use.

Before getting into nuances of Harvester, let us understand little but about the roles supported by OAC. OAC supports Developer, Curator and Admin roles for the users.

Developer: Users with this role can search for API assets in OAC console or using OER Jdeveloper plugin. And also can submit ratings and reviews for API assets.

Curator: Users with this role can run harvester to create API assets, add metadata and publish along with the capabilities provided by Developer role.

Admin:Users with this role can access the admin page to manage users, departments, settings and security along with  capabilities provided by Curator role.

It’s always recommended to run harvester with admin role. Before running the harvester, make sure that services are deployed to server Weblogic 11g or higher. Harvester can be found in %MW_HOME/oer/tools/harvester and we can run it from command line, Ant or WLST. Here in this blog, we will look at command line usage. Refer to documentation here for more information.

As a prerequisite, set JAVA_HOME variable and harvester requires Java 6 or later. Open configuration file  HarvesterSettings.xml from above location and modify repository section as shown below which points to your OAC server.

<repository>
<uri>
http://localhost:8111/oac</uri>
<credentials>
<user>admin</user>
<password>admin123</password>
</credentials>
<timeout>30000</timeout>
</repository>

Now, we should tell harvester about the location from where it can collect the resources. This can be done either using remoteQuery section in configuration file or can mention as options in command line itself.

To use remoteQuery section, modify  as shown below by giving remote server URL and the required credentials.  Make sure that your SOA server is running.

<remoteQuery>
<serverType>SOASuite</serverType>
<uri>
http://localhost:7004/</uri>
<credentials>
<user>weblogic</user>
<password>weblogic1</password>
</credentials>
<soaPartition>default</soaPartition>
</remoteQuery>

Harvester needs  passwords to be mentioned in encrypted form always so run encrypt.bat as below to take care of this requirement.

encrypt.bat HarvesterSettings.xml  HarvesterSettings.xml

Now just run  harvest.bat and see that new API assets have been created as shown below with initial status as Draft.

draftapi

We can achieve the same results from command line by running the following command;

.\harvest.bat -remote_url http://localhost:7004 -remote_username weblogic -remote_server_type SOASuite  -soa_partition default

However, harvester always picks up passwords from configuration file, so we should have remoteQuery section as below for this command to work.

<remoteQuery>
<!–<serverType>SOASuite</serverType>
<projectName>AsyncBPEL</projectName>
<uri>
http://localhost:7004/</uri> –>
<credentials>
<!–<user>weblogic</user>–>
<password>v2_1.X5z9eOo0v4+a+uyeUS7Avg==</password>
</credentials>
<!–<soaPartition>default</soaPartition>–>
</remoteQuery>

To harvest a specific project, you can include project name in remoteQuery section as shown below. We can mention revision along with project name or can just mention project name if we have single version of the project.

<remoteQuery>
<serverType>SOASuite</serverType>
      <projectName>AsyncBPEL_rev1.0</projectName>
      <uri>
http://localhost:7004/</uri>
<credentials>
<user>weblogic</user>
<password>v2_1.X5z9eOo0v4+a+uyeUS7Avg==</password>
</credentials>
<soaPartition>default</soaPartition>
</remoteQuery>

The command would look like below, if we want to harvest single project:

.\harvest.bat -remote_url http://localhost:7004 -remote_username weblogic -remote_server_type SOASuite  -soa_partition default –remote_project AsyncBPEL

We can always find usage information by using –help option as shown below.

soaharvest

We should use –remote_server_type SOASuite11g to harvest SOA Suite 11g projects.

Adding Metadata for API Assets

Search in OAC using Draft status and click individual asset to edit.

draftapi1

adpiedit

In this details page, we will observe following icons used to get link to view API details, to toggle the view, to add to list of My APIs, to edit and to delete the assets respectively.

options

Clicking Toggle view brings up following to show API asset information.

toggle

Clicking Add to My APIs will add this asset to list of My APIs.

myapis

Click Edit and add/modify required metadata for an asset and Save.

edit

Publishing API Asset

To Publish API, go to Edit page and modify the status to Published as shown below.

publishapi

And the OAC Home page will show the published APIs.

publishedlist

publishedlist1

Harvesting OSB Projects

The harvesting process, adding and publishing API assets will remain same for OSB Projects but we should use harvester from location %MW_HOME$/oer/ tools/osbharvester. Please Make sure that harvester and OSB are installed in the same middleware home.

Modify the repository and remoteQuery sections in HarvesterSettings.xml as shown below. As above, use encrypt.bat to encrypt passwords. Note that we have given the Admin server port in remoteQuery section.

<repository>
<uri>
http://localhost:8111/oac</uri>
<credentials>
<user>admin</user>
<password>admin123</password>
</credentials>
<timeout>30000</timeout>
</repository>

<remoteQuery>
<serverType>OSB</serverType>
<uri>
http://localhost:7001/</uri>
<credentials>
<user>weblogic</user>
<password>weblogic1</password>
</credentials>
</remoteQuery>

Run osb-harvest.bat to do harvest of OSB Projects and you can see the new API assets got created in OAC as shown below with initial status as Draft.

osbassets

To harvest single OSB project, add projectName to remoteQuery section as shown below.

<remoteQuery>
<serverType>OSB</serverType>
    <projectName>TestESS</projectName>
<uri>
http://localhost:7001/</uri>
<credentials>
<user>weblogic</user>
<password>v2_1.X5z9eOo0v4+a+uyeUS7Avg==</password>
</credentials>
</remoteQuery>

osbsigle

Note that I had to change following highlighted line in setenv.bat file to include tools in OER path before running harvester otherwise encrypt and harvester commands were throwing the errors.

@rem    OSB / ConfigJar Tool Home directories

set OSB_HOME=%MW_HOME%\osb
set OER_HOME=%MW_HOME%\oer\tools
set HARVESTER_HOME=%OER_HOME%\osbharvester

Similarly, API assets can be created for REST services as shown below.

osbrest

osbrest1

Installation of Oracle API Catalog (OAC) 12c

Oracle API Catalog (OAC) acts as a catalog for the APIs and provides search capability for users/developers so that they can understand APIs and use APIs in application development as per the requirement. And also provides a way to populate OAC.

We can download  Oracle API Catalog installer from here. Also download and install the other required patches as given in download page.

reqpatches

Unzip installer. Do java -jar oer_generic.jar and use following screenshots to finish installation.

oacinstall1

We can enter new Oracle Home or choose the existing home as shown below.

oacinstall2

oacinstall3

oacinstall4

oacinstall5

oacinstall6

Once the installation is done, you can find the oer directory in selected Oracle Home showing following directories.

oac

Now proceed with the installation of other required patches 18718889 (WLS update for harvester), 18791727 (RCU) and 19721053 (JDev extension for OAC/OER). Unzip the patches and install using opatch utility as shown below.

patch1

patch2

patch3

After the installation of these patches:

  • We should be able to see OER connection in File –> New –> General –> Connections.

oerextn

  • We should be able to see OAC related schemas in RCU installer as shown below. We can invoke  RCU installer from %MW_HOME%/ oracle_common /bin. Make sure that you install certified database before installing these schemas also choose the corresponding schemas depending on OER or OAC installation that you opted for.

oacrcu

Finish OAC schema installation with help of following screenshots.

oacrcu1

oacrcu2

oacrcu3

oacrcu4

Note: Here I have used the existing middleware home for installation and used XE database for RCU installation.

For more information, you can refer to installation guide here.

OAC Domain Creation:

Invoke the configuration wizard from %MW_HOME%/wlserver/common/bin and create new OAC domain using the following screenshots.

oac_domain1

oac_domain2

oac_domain3

oac_domain4

oac_domain5

oac_domain6

oac_domain7

oac_domain8

Once OAC domain creation is successful, start both Admin and OAC managed servers to access Oracle API Catalog.

We can access OAC using url http://localhost:8111/oac and default credentials for admin are admin/weblogic1. You will be asked to modify admin password after the first login and will bring up the following screen.

oachome


Advertisements

Pages

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 349 other followers

Enter your email address to follow this blog and receive notifications of new posts by email.