« July 2008 | Main | September 2008 »

August 2008 Archives

August 5, 2008

Pre-Req steps for configuring embedded SOA 11g in Jdev 11g TP4

I had an issue in configuring the JDev 11g TP4. Earlier I had JDev 11g TP3 in my database and I wanted to install / configure TP4 in my database. But when I checked the scripts, I had seen that the tables and views and queues are same as TP3. So, I thought of removing TP3. For that I had to drop the adrs_soainfra user in the database (now it is renamed to jdev_soainfra).

When I tried to drop the user, I got an error : The ADRS_SOAINFRA cannot be dropped as there is a dependent queue IP_OUT_queue and it needs to be dropped first.

So, I had dropped it and again tried to drop the user. But again same error with different queue. So, I had created the following script to drop the related queues of this user and then dropped the user as follows:

SQL> set serveroutput off
SQL> set pages 1000
SQL> set head off

SQL> spool dropp.sql

SQL> select 'exec dbms_aqadm.stop_queue( queue_name => ''ADRS_SOAINFRA.'||name||''', wait => FALSE);' from dba_queues where owner='ADRS_SOAINFRA';

SQL> select 'exec dbms_aqadm.drop_queue( queue_name => ''ADRS_SOAINFRA.'||name||''');' from dba_queues where owner='ADRS_SOAINFRA';

SQL> select 'exec dbms_aqadm.drop_queue_table(queue_table => ''ADRS_SOAINFRA.'||queue_table||''',force=>TRUE);' from dba_queues where owner='ADRS_SOAINFRA';

SQL> spool off

Now run the dropp.sql using 'SYS' user.

Then execute the following to create the objects in the database. Please check the usernames carefully before creating the objects:

$ cd $JOH\rcu\integration\soainfra\sql

$ sqlplus sys/ as sysdba
SQL> @createuser_soainfra_oracle_all.sql jdev_soainfra SYSTEM TEMP
SQL> conn jdev_soainfra/
SQL> @createschema_soainfra_oracle_all.sql jdev_soainfra

Then configure JDEV 11g TP4:

1. From Tools > Preferences > Run > Select Integrated Server.

2. Ensure no proxy being set (if your database and jdev are in the same domain, then it is not needed).

3. Again from Tools > Configure SOA > enter the database details and click on Test.

That should work now. Enjoy the new version.

Oracle ESB - Designtime cache has not been initialized

Frequently, when I am logging into ESB Console - http://localhost:7777/esb - I get the following error:

Designtime cache has not been initialized Please look in logs for following signs of failure. Fix them and restart. (a) Database access errors (b) ESB Bootstrap errors (c) OC4J class load errors (d) Product installation errors (e) Export ESB params and verify if host and port parameters are correct. Please contact Oracle Support if unable to fix the issue.

I figured out that this error could be due to multiple reasons. The two most frequent mistakes which I make are:

1. My database / database listener are NOT started and I start the SOA suite, due to which the above error is thrown. For this, just shut down the SOA Suite, start the database, then the database listener and then start the SOA Suite and that should help.

2. Incorrect deployment of the RAR files. I tried to deploy few standalone Resource adapters in the wrong directory and tried to invoke the WSDLs which use the RAR files. Although successfully compiled at design time, but at runtime, after the deploying the ESBs, when my ESB server is starting, this error is thrown.
In such cases, comment the RAR configuration in the oc4j-connectors.xml in the $ORACLE_HOME/j2ee//config directory and then try to restart.

Check the two log files (you can check other log files in the OC4J directory apart from these) to get the information, but these cover most of the error information:

a) $ORACLE_HOME/OracleAS/j2ee/oc4j_soa/log/coreman.log:

Example: java.sql.SQLException: Listener refused the connection with the following error:
ORA-12516, TNS:listener could not find available handler with matching protocol stack
The Connection descriptor used by the client was:
//localhost:1521/XE

b) $ORACLE_HOME/j2ee/oc4j_soa/log/oc4j_soa_default_group_1/oc4j/log.xml:
Example: ESB bootstrap: Unknown error occured in constructor of ESB resource adapter
at oracle.tip.esb.configuration.ServiceBusConstants.getESBHome(Unknown Source)
at oracle.tip.esb.configuration.ServiceBusConstants.loadESBConfigs(Unknown Source)..............

Keep in mind that this error is due to incorrect setup / configuration issue and not an issue with the Product itself.

August 6, 2008

AIA Communications

When I heard this name for the first time, I wondered if this is something to do with the interaction of AIA components between themselves until I joined AIA group. The term 'communications' here refer to the tele-communications. And again tele-communications just doesnt stop to a telephone. It extends to all the products that come under communication exchange - like telephone (landline, mobile, gprs, gsm, 3G, 4G, VOIP etc), internet (email, fax, etc) and all such media which are used to interchange the data between the entities.

AIA Communications is a telecom-domain integration which is intended to help integrate different products that are involved in the telecommunications.

Suppose an enterprise (say Oracell Corporation) wants to setup a telecommunications business. First we need to have the infrastructure setup - all the machinery like antennas, cables, telephone systems, switches, routers etc. Ofcourse, for functioning of these hardware, we need appropriate softwares.

There are different softwares involved in this setup for Oracell - for eg, to list a few:
a) To maintain Customers information it needs a CRM system.
b) To maintain the product information, it needs a PIM system.
c) To generate the bills, Billing systems are needed.
d) To manage the revenues inflow and outflow, Revenue system is needed.
e) To check the inventory, Inventory system (ERP) is needed.

Again, all these softwares are not just a single system. They involve multiple components from multiple vendors running across heterogeneous systems. Imagine the responsibility of the person / organization who maintains all these. Ofcourse, multiple persons involvement is all needed here, but the setup costs, integrating all these software pieces and making them talk to each other, and production-maintenance tasks are very high in this scenario.

Oracle AIA Communications provides a very easy way of integrating all these software components and reduce the costs drastically when compared to previous scenarios. AIA Communications provides out-of-the box integrations, thus, reducing the development & testing time and costs, integration costs, elimination of 3rd party EIA softwares etc. The administrator just needs to setup the required software and configure the integration packs. AIA communication seemlessly integrates most of the software components and helps each software talk to each other in a very loosely coupled way.

AIA communications PIPs (Process Integration Packs) are created using the AIA framework. So, it has all the advantages that AIA and SOA has such as loose coupling between the components, platform independence, architecture independence etc.

In my next entry, we will see how all these softwares function together in a enterprise telecommunications setup.

August 25, 2008

Articles to be considered while upgrading from 10.1.3.3 to 10.1.3.4

Recently, I have upgrade my SOA from 10.1.3.3 to 10.1.3.4. Luck enough, I didnt find any issues while upgradation :) , I thought of mentioning the articles, I found to be useful to note for the upgradation. Following are the articles for a quick reference for the upgradation:

727068.1 - Oracle Application Server 10g Release 3 (10.1.3.4) Patch Set Notes Addendum
553420.1 - How to find the latest MLR patch for BPEL/ESB 10.1.3.3
730601.1 - What Documents Follow Up For Bpel 10.1.3.3.1 Installation?
728366.1 - Alert Notice For SOA Customers Planning to Upgrade to 10.1.3.4

And this is one of the Bug which I find useful about the OPMN:

5964097 - OPMN PERFORMS ALWAYS A FORCEFUL SHUTDOWN IN 10.1.3.1

August 26, 2008

Telecommunications Setup example

This is a typical example of the telecommunications setup.

TelecommunicationSystems.jpg

I will try to explain this picture. Imagine a telecommunication copmany - OraCell - wants to sell their services such as telephone services, broadband services, GSM services, VOIP services etc to their customers. In Oracell terms, all the services are called as products. But in the customers' terms, they are termed as services.

A CSR (Customer Service Respresentative) calls a Customer (or Customer calling the Oracell Callcenter) and enquires about a service / product. The CSR looks at all the products, describing each to the Customer, providing the choice to the customer. Customer purchases one of the product and ask the CSR to activate the same.

Please note that the grammer changes accordingly dependending on the product. For example, if it is a landline, purchasing a plan is different from installing the telephone physically at the customer's location. Both are different actions. Once the order is taken, and entered into the systems and amount is paid by the Customer for the installation charges, it is called fulfillment.

Oracell would then send a representative to the Customer's location to install the telephone, setup the appropriate equiment if needed and then activating the phone service is done. This is called provisioning of the service.

Incase of other services like :
- GSM - selling the SIM Card and activation,
- Broadband - selling the modem, setting up of the modem, issuing static/dynamic IP address and activation of the service
- VOIP - Issuing VOIP phone, issuing VOIP card, activating the service

these actions are fulfillment and provisioning of the orders taken by the CSR.

Activation (Provisioning) of the service would also mean that the system will enable the number given to the customer to all the mobile towers (Antennas) so that if the customer calls, his number would be on the line and is enabled to go across different towers.

Once the service is activated, the CRM system (or provisioning system - depends on the setup) sends a signal to the billing system to start billing.

Now, say the customer starts his first call. As he dials his first number, this will first come to OraCell's PSTN. OraCell has different switches setup already for different purposes (Switches are also called Network elements in telecommunications terminology). This switch puts the customer's call to the appropriate line and then talk to the provisioning system to know the Customer's plan. It then starts recording the information such as which number Customer has dialled, how many minutes did he talk, is it STD or ISD or local number, which area he dialled etc.

All this information is recorded into files called as CDR (Call Data Records). This file has maximum limit. Once this is filled up, another new file is written. All such CDRs are given to a software called as Mediator(Mediation). Mediator would read all the information, remove invalid entries information and pass this information to the billing systems.

Billing system would generate the bill for the customer based on his service usage, then calculate the discount according to his plan and generate the final bill and update the CRM system to display it to the Customer.

Mediation can also send the data to InterConnect systems and Data Mining databases so that appropriate reports can be generated accordingly and then looked upon by the OraCell's management.

Also, fulfillment systems looks into the inventory system to check the availability and the status of the products.

It is very hard to make the communication between all these software pieces. The Administrator needs to know the best of the softwares and also the interfaces of those software to make them communicate to each other and pass the information between them. The development, maintainability, reliability of these softwares are high since most of the times, the company develops legacy applications for such setup. Few very companies in the market are there which markets softwares for the above components.

Oracle AIA communications PIPs provides the above software pieces (not all of them) and also aids the communications between these components.

Next time, we will see how AIA helps in such scenarios.

About August 2008

This page contains all entries posted to Learn with Pavan in August 2008. They are listed from oldest to newest.

July 2008 is the previous archive.

September 2008 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type and Oracle