Tuesday, March 17, 2020

Excel Tricks : Enclosing in Quotes and Vlookup

1) How to Enclose Excel Data within Quotes and append a comma after that. 

Input : Rajesh
Desired Output :- 'Rajesh',
If the data is present in Column A2 then the formula is :- ="'"&A2&"',"
Useful in SQL Queries.

2) How to 
a) check if a data from Table B is existing in Table A
b) highlight the rows in Table B containing the data.

Table A: 

Order Number (A)Location(B)Code(C)Found Status (D)
0081-8589551-00030003X0
0081-8589551-00040004Y0
0081-8589551-00050005Z0

Table B: 


Found in Tables(F)Location(G)
0081-8589551-0003IFACE Table
0081-8589551-0004IFACE Table


Base Formula is : =IFERROR(VLOOKUP(A2,$F$2:$G$66,1,FALSE),0)

A2                  - is the column to be searched.
$F2:$G$66     - is the area of the data set where our search key exist which is within Table B.
1                     - 1 is the first column of Data set.
FALSE           - When Value is False that means we are searching exact match.

IFERROR() - is used because Lookup function at times returns #N/A value. This function will convert that to a value 0

Base formula for conditional Formatting is : 

Formula :- =IFERROR(VLOOKUP($A2,$F$2:$G$66,1,FALSE),0) <> 0

$A2 means dynamic referencing.
$F$2:$G$66 is example of Fixed Referencing.


Area  where formatting rule is Applied to:- 
=$A$2:$D$1869 (Data Set of Table A)






Thursday, November 28, 2019

Oracle SOA OSB Interview Questions



Weblogic and Generic :
  1. JMS configuration and DB Adapter configuration in Weblogic server.
  2. Scenario based question from JMS Adapter
  3. Scenario based question from throttling.
  4. Question from wsdl,xsd,types of wsdl.
  5. OWSM policy
  6. Question about unit testing using SOAPUI
  7. Migration related concept.
  8. Component of WSDL.
  9. Given the opportunity can you prepare a wsdl file?
  10. Data Source configuration
  11. Configure RAC in Weblogic and implement clustering.
  12. What is target namespace in schema?
  13. Question related to encryption
  14. In the cluster environment while updating the adapter it faults out. What could be the possible reason for it.
  15. Timeouts
  16. Difference between stateful and stateless webservice
  17. Topic and SAF

Oracle SOA Suite Related
  1. How to access http webservices in BPEL
  2. Config plan
  3. If you have a BPEL Service that is referencing to the third party web service, at the time of deployment the service may be down , causing deployment to fail. How to overcome it?
  4. What is worklist?
  5. How to get email notification and how UMS adapter work?
  6. Setting composite title in bpel and sensors.
  7. Fault management framework in bpel.
  8. Dynamic Routing in Mediator
  9. Mediator Resequencing.
  10. Parallel Routing in mediator.
  11. What is File Debatching ? 
  12. What is File ChunkedRead ? 
  13. Read from multiple directories in File Adapter.
  14. Rejection Message Handler ?
  15. Use of Config Plans ?
  16. Standard Faults in BPEL
  17. OWSM policies
  18. Rollback and Transaction.
  19. Compensation
  20. How can we make a partner link dynamic?
  21. What is getPreference property? How do we set it and what advantage it provides? 
  22. How to increase performance increase in bpel (Db Adapter/file adapter)? 
  23. What are dspMaxThread and recieverThread properties? Why are they important? 
  24. In memory optimization and Persistence complete.
  25. How does a Async request run in the backend? 
  26. XREF.
  27. Human Task.
  28. Business Rules Related.
  29. Rejection message Handler.

Oracle Service Bus Related:
  1. What is the purpose of OSB.
  2. What are the JCA Adapter you have used in OSB?
  3. Why we use QOS and when it use.
  4. How parallel processing done in OSB.
  5. Error handling in OSB
  6. When to use local,soa-direct protocol.
  7. How to use service result caching in OSB
  8. Alter,Reporting, Log, Java Callout action
  9. SLA, Workforce, dispatch policy in osb
  10. Difference between publish and service callout in osb
  11. Transformations in OSB.
  12. Difference between OSB and SOA.
  13. What is MFL in OSB
  14. Routing options in OSB
  15. Difference between Pipeline Pair and routing in OSB
  16. Xquery 
  17. Significance of FLOWR / Curly braces in Xquery
Blogs:

OIC:
http://niallcblogs.blogspot.com
https://blogs.oracle.com/integration/cicd-implementation-for-oic

OSB :
https://svgonugu.com/2014/09/26/service-bus-12c-a-hands-on-tutorial/
https://svgonugu.com/2015/02/06/soa-12cedn-with-service-bus/
https://svgonugu.com/2015/03/05/service-bus-12c-two-way-ssl/
https://svgonugu.com/2015/09/20/owsm-12cusing-saml-token-policy/
https://svgonugu.com/2015/03/06/service-bus-12c-outbound-ssl/
https://nitinaggarwal.wordpress.com/2013/11/08/securing-an-osb-service-with-owsm/
https://svgonugu.com/2015/09/01/soa-12c-maven-articles/
https://svgonugu.com/2015/06/24/soa-12c-ess-articles/
https://blog.rubiconred.com/accepting-attachments-into-osb-forwarding-via-jms/

SOA Related:
http://myexperienceswithsoa.blogspot.com/2014/05/large-payload-handling-in-soa.html
https://technology.amis.nl/2015/11/27/processing-large-xml-files-in-the-soa-suite/
https://technology.amis.nl/2011/10/24/soa-suite-file-adapter-pre-and-post-processing-using-valves-and-pipelines/
https://technology.amis.nl/2014/05/07/processing-large-files-through-soa-suite-using-synchronous-file-read/
https://docs.oracle.com/cd/E28280_01/admin.1111/e15867/app_jmx_monitoring.htm#OSBAG748
https://docs.oracle.com/middleware/1221/soasuite/develop/GUID-05E65114-9664-4D60-B7DA-BED0BB87681F.htm#SOASE2325
https://docs.oracle.com/middleware/1221/soasuite/develop/GUID-A6C92CD4-A78D-4D12-B667-96CD1FB9828B.htm#SOASE85099
https://docs.oracle.com/middleware/1221/soasuite/develop/GUID-EDFF423A-3FEC-4C61-A86C-79BDF9AEDBC6.htm#SOASE337
http://prasanna-soa.blogspot.com/2017/02/business-rules-with-decision-tables-in.html
http://bhupisoa.blogspot.com/2015/01/soa-11g-bpel-transaction-handling-part-1.html
http://bhupisoa.blogspot.com/2015/01/soa-11g-bpel-transaction-handling-part-2.html
https://shrikworld.blogspot.com/2011/03/errorhandling-in-soa-11g.html
https://rathinasaba.wordpress.com/tag/fault-policy-in-oracle-bpel/
https://beatechnologies.wordpress.com/tag/fault-handling-and-management-in-oracle-soa-suite-11g/
http://soa-bpel-esb.blogspot.com/2014/07/fault-policy-editor-in-soa-12c.html
https://soaarchitecture.wordpress.com/2014/10/06/dvm-mds-table-views/

Tuesday, November 26, 2019

Dehydration in Oracle SOA

Idempotence in BPEL :- 

Idempotent Activity
Non Idempotent Activity
Does not dehydrate
Dehydrates
Related to Transient Process
Related to Durable process
Assign, Invoke 
Wait, Receive, Pick(onMessage, onAlarm), checkpoint(), Dehydrate
Can be retried
Not Retried

So when you specify the idempotent property as "false" in the partner link of a BPEL process ,

  • It becomes non idempotent and cause the BPEL process for dehydration and so a commit occurs . 
  • It ends the current transaction of a BPEL process and start a new one.

If BPEL recovers from dehydration store idempotent activities are retried again.

Properties
Transient Process
Durable Process
When Dehydrated
only once the execution is completed.
  • Non idempotent activities.
  • After End of Process.
  • Mid process breakpoints.
Exception / Crash occurs
No Trace in System.
this process instance appears in Oracle BPEL Control up to the last dehydration point (breakpoints activity) once the server restarts. If the server crashes before the process instance reaches the first mid process breakpoints activity, the instance is not visible in Oracle BPEL Control after the server restarts.
Example
  • Synchronous process.
  • Any Process followed by setting in composite.xml 
bpel.config.inMemoryOptimization = true
bpel.config.completionPersistPolicy = off/deferred/faulted
Asynchronous process.

Tuesday, March 26, 2019

Weblogic Error : Delaying formation of a new cluster; unicast networking appears to be inoperable on interface

While booting up my OSB Managed Server using :-


  • Open CMD
  • cd C:\Oracle\Middleware\Oracle_Home\user_projects\domains\soa12c_domain\bin 
  • startManagedWebLogic.cmd osb_server1 http://Deb_Kriti:7001


I was receiving lots of warning -

<27/03/2019 8:59:13 AM IST> <Warning> <com.oracle.coherence> <BEA-000000> <2019-03-27 08:59:13.218/305.579 Oracle Coherence GE 12.2.1.0.0 <W
arning> (thread=Cluster, member=n/a): Delaying formation of a new cluster; unicast networking appears to be inoperable on interface 192.168.
0.13 as this process isn't receiving even its own transmissions; consider forcing IPv4 via -Djava.net.preferIPv4Stack=true>

And then the server was FORCE SHUTTING DOWN.

I turned off Firewall but it did not work.

I followed this blog article Here and tried the solution 2 :-

Solution 2:

To change the type of coherence the cluster is using, you have to add a property inside the CoherenceSystemResource config file (which is located in the $DOMAIN_HOME/config/coherence folder). The correct *-coherence.xml is the one with the same name as the coherence systemResource as seen in Solution 1 (by default: defaultCoherenceCluster-coherence.xml).

Just add the following highlighted line in the coherence-cluster-params element-tag:

  <coherence-cluster-params>
    <cluster-listen-port>7574</cluster-listen-port>
    <clustering-mode>multicast</clustering-mode>
  </coherence-cluster-params>


This also should lead to the server starting again.

Then I executed 
  • startManagedWebLogic.cmd osb_server1 http://Deb_Kriti:7001
It Worked!!! The Server came to RUNNING Mode

However , when I tried starting my second Managed Server it did not work.

Then I attempted Solution 1 

Solution 1:

To remove the coherence cluster awareness of the default server, you just have to remove the coherence-cluster-system-resource tag from the domains config.xml file (which resides in your $DOMAIN_HOME/config folder).
<server>  
  <name>DefaultServer</name>
     …
  <coherence-cluster-system-resource>defaultCoherenceCluster</coherence-cluster-system-resource>
</server>

Just remove the highlighted entry and the server should start (without any awareness of coherence). 

and restarted all 3 servers ( Admin and Managed Servers) .

All came to RUNNING mode.





Monday, May 29, 2017

Install SOA Suite 12C Quickstart with a Compact Domain.(Windows 8 64 Bit Machine)

Assumption : 

If you already know SOA 11g it will be lot more easier but if you do not know, starting fresh is no harm.Here I am configuring a Non Scalable Development Environment.It should be used for Pure Development purpose and doing POCs under Oracle Developer's free license.Kind of a Smart Stand Alone domain.


Step 1: Download and Install Database Oracle 11g XE. 
Please refer to Standard Installation Guides from Oracle or Other Blogs.
Never loose the SYS admin Password.
You may refer to the link -
http://blog.mclaughlinsoftware.com/2011/09/13/oracle-11g-xe-install/
or the pdf attached.
Download

Step 2: Open cmd as an Administrator Set JAVA_HOME with an available JDK. 



Step 3: Download an available version of SOA suite - 
For 12.2.1.0 (2 Files of 3.4 GB Approx).
http://www.oracle.com/technetwork/middleware/soasuite/downloads/soasuite1221-quickstartdownload-3050431.html
For 12.1.3.0 ( 1 File of 3GB Approx)
http://www.oracle.com/technetwork/middleware/soasuite/downloads/soa1213qsdownload-2769533.html

Step 4: cd (Change directory) to Download path and execute the extracted Jars.

%JAVA_HOME%\bin\java.exe -jar fmw_<YOUR_VERSION>_soa_quickstart.jar
A screen appears , skip the second screen and below screen appears - Choose Default and progress
If You Get below Warning like below -
  • Problem: This JDK version was not certified at the time it was made generally available. It may have been certified following general availability. Recommendation: Check the Supported System Configurations Guide (http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) for further details. Press "Next" if you wish to continue. Expected result: 1.8.0_11 Actual result: 1.8.0_131 

Please hault and use a certified JDK and then progress.Like I had JDK 1.8.0.11 and its not certified to give best results.Hence I need to upgrade and Redo Step 2 and Step 4.

I went to - http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
and downloaded -
Windows x64198.03 MB  jdk-8u131-windows-x64.exe



SET JAVA_HOME="C:\Program Files\Java\jdk1.8.0_131"
"cd" to the location where the installer jars are present and execute the Jar.
Still the Warning was Present.
  • Problem: This JDK version was not certified at the time it was made generally available. It may have been certified following general availability. Recommendation: Check the Supported System Configurations Guide (http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) for further details. Press "Next" if you wish to continue. Expected result: 1.8.0_51 Actual result: 1.8.0_131 

However the certification Matrix Says any version of JDK above 1.8.0_51 is fine.Hence I am OK with it.Cert Matrix for 12C : Download Fusion Certification Matrix

Proceed -
Save Response File (Good practice - Its used to install SOA in Managed Server hosts)

Click Finish - It Will Start Up Jdeveloper 12 which comes bundled with this pack.

Step 5: Open RCU and Create Necessary Schemas before creating a Weblogic Domain.

Navigate to C:\Oracle\Middleware\Oracle_Home\oracle_common\bin
Right Click on rcu.bat and run as Administrator.
It opens up RCU Creation GUI.Select Default Value in Next 2 Screens and proceed to "Database Connection Details" page.

Give Details :
Host Name : localhost (Or you may give 127.0.0.1)
Port : 1521 (Default port)
Service Name : XE
Username : SYS
Password : (Whatever you chose during DB installation in Step 1)
Role : SYSDBA

You Will Encounter a Warning of Database XE being not certified ignore that.
Click OK. Incase it is your first installation you may choose the prefix DEV.
I already had DEV for SOA11g installation so I had chosen DEV12C





No more tweaks here.Proceed till End of this process.You will encounter few Warnings in this process before "Audit Services" related Table Spaces , you may choose to ignore that.

Close this screen.

Step 6: Domain Creation
Navigate to C:\Oracle\Middleware\Oracle_Home\oracle_common\common\bin
Right Click on config.cmd and run as Administrator.
It opens up Domain Configuration Wizard GUI.
I chose the name to be : soa12c_domain
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\soa12c_domain

I chose the below options for things to run :


Click Next.
Provide Password (Do not forget this).
Choose Domain Mode as Development.
Choose Default JDK.
Get Database Auto Configured. Because it will create the data sources automatically instead of you going and manually creating it which you can anyway do.
Once it tells Success click next.
In the next page ( Do not select any Checkbox anything ) Click Next.




Click Next.
Click Next in the Keystore page as we could setup the SSL Later.
In Advanced Configuration Select all the Check Boxes and proceed.
In the "Node Manager" Page Choose "Manual Node Manager Setup" to skip the process.


Keep on clicking Next until you reach "Domain FrontEnd Host"
Un-check the box and click Next.
Keep On Clicking "Next" Until you hit the "Create" button.




Directly Starting the Servers from Console Landed me Up in Error as the Node Managers were not correctly configured.Hence

I opened command Prompt and navigated to :
C:\Oracle\Middleware\Oracle_Home\user_projects\domains\soa12c_domain\bin
and executed - startManagedWebLogic.cmd osb_server1 http://Deb_Kriti:7001 and
did the same for other servers.


Next Post Shall be of Configuring Node Managers,,and then we may jump to POCs.
Thanks!!

Wednesday, January 22, 2014

regex and regcmp usage in c++ coding

Incase you need to perform a string comparison or format matching using regex and regcmp subroutines.

Like I have a pattern like :
"AB1234/23JAN/MEL/DEL" or "AANNN/NNAAA/AAA/AAA"
If any message fails to satisfy this pattern I need to throw some error..
How do I do that in Unix + C++ env?

Generally in UNIX there is a binary called "regcmp". Actual path is /usr/ccs/bin/regcmp
We will use this binary to get a character pattern from this like below.
Command :
1) I created a file named "regfile".
Below is the content:
[host:deb]{deb}/home/users/deb=>less regfile
a "AB1234/23JAN/MEL/DEL"

regfile (END)
2) Executed command : 
regcmp - regfile
3) It generated a file :
regfile.c
4) Content of the file regfile.c :
[host:deb]{deb}/home/users/deb=>less regfile.c
/* "AB1234/23JAN/MEL/DEL" */
char a[] = {
024,0101,024,0102,024,061,024,062,024,063,024,064,
024,057,024,062,024,063,024,0112,024,0101,024,0116,
024,057,024,0115,024,0105,024,0114,024,057,024,0104,
024,0105,024,0114,064,
0};
5) C++ code:

parseInput(const string& input, string& carrier, string& command)
{

   char input[] = {
          024,0101,024,0102,024,061,024,062,024,063,024,064,
024,057,024,062,024,063,024,0112,024,0101,024,0116,
024,057,024,0115,024,0105,024,0114,024,057,024,0104,
024,0105,024,0114,064,
0};

   char buffering[21];
   memset(buffering,0,20);

   if (regex(input,(char*)input.c_str(),buffering)==NULL)
   {
      cout >> "Invalid input - required format is AAnnnn/nnAAA/AAA/AAA.");
   }
}

Thank You.


Tuesday, July 2, 2013

Efficient Windows Search - Browse the contents of the files.


Unable to find a file you are after!!!.
Suppose The File name you are looking for is "Wimbledon2013.doc" but you cant recall its name .
But you remember that it contained "Andy Murray".
Here you go - Search with "Andy Murray" and it will show you "Wimbledon2013.doc".

In Short, You can go to
  1. "Folder Options"
  2. "Search"
  3. In "What  to Search" option Choose "Always Search File Names and Contents(this may take several minutes)
  4. Press OK.

This can be more useful when you do code debugging.