Oracle OSB-SOA-BPEL Interview Question and Answer – Part 13

In this article, we will discuss interview question with their justification on Oracle OSB, SOA and BPEL

This is part-13 of Oracle OSB-SOA-BPEL interview question series

Q) What are DVM’s and how are they helpful in SOA ?

  • Domain value maps are a way of storing lookup values in SOA server such that these lookup values can be easily edited at run time using SOA console, shared across composites and stored in MDS
  • Creation of MDS is done using Oracle JDeveloper and once it is deployed onto the SOA server, its values can be easily modified and managed using SOA console (http://localhost:7001//soa/composer)

Q) How can we improve the performance of an XSL file ?

  • Avoiding use of if statements and using choose
  • Using for-each group instead of for-each

Q) In how many ways, can a process be deployed ?

  • Using JDeveloper
  • through Enterprise Manger Console (em console)
  • Through Weblogic Scripts (wlst)

Q) How to deploy an XSL file without deployment of BPEL Process ?

We will directly deploy XSLT, options,

  • Using ANT script by file replacement in TMP folder
  • By creating a folder in BPEL PM Installation folder and specifying its location in our BPEL code with http call & replacing our XSLT to that location

Q) How can you call a web service or BPEL process in an ESB ?

  • By selecting service of deployed BPEL process
  • By copying WSDL of deployed process and then creating a SOAP service of that process

Q) What are the Predefined errors in BPEL ?

  • Custom errors
  • Timed out errors
  • BPM errors
  • Validation Errors
  • The Predefined errors are –
    1. selection failure
    2. join failure
    3. conflicting request
    4. conflicting receive
    5. binding fault
    6. remote fault
    7. invalid reply
    8. forced termination

 Q) Difference between File Adapter & FTP Adapter ?

  • Both file adapter and ftp adapter works in the same way
  • The primary difference between the two is, FTP adapters could be used for remote file location using FTP server configuration in the admin server, whereas File adapter used for local files
  • Also while creating/configuring the FTP adapter in JDeveloper you will asked for JNDI name in the wizard, whereas in the File adapter there is no such thing

Q) What all operation supported by File adapter & FTP adapter ?

  • File Adapter –
    1. Read File
    2. Write File
    3. Synchronous Read File
    4. List Files
  • FTP Adapter –
    1. Get File
    2. Put File
    3. Synchronous Get File
    4. List files

Inbound and Outbound:

  • Read File operation is inbound others are outbound
  • Get File is operation inbound & others are outbound

Note: Also for FTP adapter configuration, we have specify the File type like ASCII/Binary

 Q) What all operations can be performed using a file adapter ?

  • Read –> Asynchronous polling or Synchronous invoke (Read File or Synchronous Read)
  • Poll –> Asynchronous polling (Read File)
  • Write –> write to the file
  • Move –> Move file without processing (Read File as Attachment)

Q) Difference between physical path and logical path in file adapter and how to set in bpel.xml ?

  • Physical path is nothing but the full directory path of the file where the file is present “eg:-d:\bpel_workspace\start_path\path”
  • Logical path means we have to give the some name of our interest,  like eg:- filepath but we have to configure it the deployment file i.e. in bpel.xml file

For FTP Adapter:

  • we have to give the path of the directory of the FTP server from which the BPEL process can be accessible;
  • if we specify the path which is not accessible to the BPEL process then it will give an error

Q) How to delete a file on a FTP/File server through BPEL ?

  • In this case, you have to check the option “Delete files after successful retrieval” in the FTP Adapter configuration wizard

Q) How much size can file accept through file adapter? If it extends what happened ?

  • The max file size in SOA 10g is 7mb as per documentation
  • In 11g u can have up to GB’s

Q) Can we use a File/FTP Adapter to get a file without reading its content ?

  • Yes, by selecting the “Do not read file content”check box in the JDeveloper wizard while configuring the “Read operation.”
  • For Oracle BPEL PM and Mediator, the Oracle File and FTP Adapters provide support for publishing only file metadata such as file name, directory, file size, and last modified time to a BPEL process or Mediator and excludes the payload
  • The process can use this metadata for subsequent processing
  • For example, the process can call another reference and pass the file and directory name for further processing
  • You can use the Oracle File and FTP Adapters as a notification service to notify a process whenever a new file appears in the inbound directory
  • To use this feature, select the Do not read file content check box in the JDeveloper wizard while configuring the “Read operation.”

Q) How to append a record to a file when using FTP/File Adapter ?

  • The Oracle File and FTP Adapters enable you to configure outbound interactions that append to an existing file
  • The Append to Existing File” option enables the outbound invoke to write to the same file
  • There are two ways in which you can append to a file name:
    • Statically – in the JCA file for the outbound Oracle File Adapter
    • Dynamically – using the header mechanism
  • When you select the Append to existing file option in the File Configuration wizard page, the batching options such as Number of Messages Equals, Elapsed Time Exceeds, File Size Exceeds options are disabled

Q) How can we process large payload as attachments ?

  • For Oracle BPEL PM and Mediator, the Oracle File Adapter provides support for transferring large files as attachments
  • To use this feature, select the Read File as Attachment” check box in the JDeveloper wizard while configuring the “Read operation.”
  • This option opaquely transfers a large amount of data from one place to another as attachments
  • For example, you can transfer large MS Word documents, images, and PDFs without processing their content within the composite application

Q) Difference between Get Adapter and Synchronous Get Adapter ?

  • Get operation in FTP Adapter polls the given input file periodically according to the frequency given, that is, it tries if the file is available at given location after a specified interval waits until the given file doesn’t exist
  • Once file is available it starts processing it by creating an instance of the BPEL process
  • Whereas “Synchronous Get” operation in FTP Adapter reads the file only when the instance is triggered and it does not create the instance on its own, neither it polls on particular directory
  • FTP Adapter with “Get Operation” can be invoked only using “Receive Activity” whereas for “Synchronous Get” Operation of the FTP adapter has to be invoked using “Invoke Activity”

Q) What is File ChunkedRead ?

  • This is a feature of Oracle File and FTP Adapters that uses an invoke activity within a while loop to process the target file
  • This feature enables you to process arbitrarily large files
  • If an invalid payload is provided, then ChunkedRead scenarios do not throw an exception
  • When a translation exception (bad record violating the NXSD specification) is encountered, the return header is populated with the translation exception message that includes details such as line and column where the error occurred
  • All translation errors do not result in a fault
  • These errors are manifested as a value in the return header
  • You must check the jca.file.IsMessageRejected and jca.file.RejectionReason header values to ascertain whether an exception has occurred
  • Additionally, you can also check the jca.file.NoDataFound header value

 Q) Whether multiple directories supported in File & FTP adapter ?

  • The Oracle File and FTP Adapters support polling multiple directories within a single activation
  • You can specify multiple directories in JDeveloper as opposed to a single directory
  • This is applicable to both physical and logical directories

Q) What is the use of Trigger File ?

  • By default, polling by inbound Oracle File and FTP Adapters start as soon as the endpoint is activated
  • However, if you want more control over polling, then you can use a file-based trigger
  • Once the Oracle File or FTP Adapter finds the specified trigger file in a local or remote directory, it starts polling for the files in the inbound directory
  • For example, a BPEL process is writing files to a directory and a second BPEL process is polling the same directory for files
  • If you want the second process to start polling the directory only after the first process has written all the files, then you can use a trigger file
  • You can configure the first process to create a trigger file at the end
  • The second process starts polling the inbound directory once it finds the trigger file

Folks, it’s your turn to comment & suggest for improvement

Note: We have taken inputs from various folks and other weblog for making this comprehensive set of Oracle SOA-OSB interview & answers

Related Articles :

Happy Coding !!
Happy Learning !!

Oracle OSB-SOA-BPEL Interview Question and Answer - Part 14
Oracle OSB-SOA-BPEL Interview Question and Answer - Part 12