Saturday 3 December 2016

SOA Interview Q&A

SOA Interview Question & Answers


1. Explain About Web service?


Web service is type of software system which is used for exchange the data and use information from one machine to another machine through network. Generally Web services based on the standards such as TCP/IP, HTTP, Java, HTML and XML.

Web services are pure xml based which is used for exchange information through Internet to direct application to application interaction. These systems include programs, objects, messages or documents.

Many software applications written in various programming languages and running on various platforms can use web services to exchange data over computer network.

You can develop Java-based web services on Solaris and that is accessible from your V.B Program that runs on windows.

2. Difference Between Oracle SOA 10g and Oracle SOA 11g ?


There are so many changes in oracle soa 11g when compared to oracle soa 10g in business and technically and some new functionality added 


In Oracle SOA 11g contains Service Component Architecture where as Oracle SOA 10g having no Service Component Architecture.


ORACLE SOA Suite 10g is based on Oracle AS 10g
  1. It uses Oracle Application Server 10.1.x
  2. OC4J
  3. Sun JVM
  4. Repository tool irca to create the SOA 10g repository 
  5. Managed with Application Server Console
Oralce SOA Suite 11g is based on Oracle FMW 11g
  1. It uses the Oracle Weblogic server 10gR3
  2. Sun or JRockit JVM
  3. Repository Creation Utility ( RCU ) to create or delete the SOA 11g repository 
  4. Weblogic server console used for managing. 
Oracle SOA 11g  all the SOA Components of Project deployed into into Single Server where as 10g each component is deployed into particular server.

In SOA 10g having ESB Console, BPEL Console, Application Server Control these are all individual and not well integrated.

In SOA 11g Provides service monitoring across all SOA Components Such as ESB, BPEL, Human Workflow

SOA suite 11g has the Enterprise Management Console the em console is used for Manage SOA Suite Services, Manage SOA Suite Deployment, Review Logs and Exceptions.


SOA Suite 11g Components 
  1. Oracle Adapters
  2. Oracle Mediator
  3. Business Events and Events Delivery Network
  4. Oracle Business Rules
  5. Human Workflow
  6. Oracle Business Activity Monitoring
  7. Oracle Enterprise Manager

3. What is DVM (Domain Value Maps)


In Oracle SOA 11g Whenever we integrate the two applications with different names and it gives same information. A general example one application contains a city name as Hyderabad and another application contains the same city name as Hyd, the both the applications are different domains. These type of situations we can use a domain value map between the two domains.
How to create Domain Value Map



Mediator

Question: What is role of Mediator?
Answer:
Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data to facilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.

Question: Difference between Mediator & OSB?
Answer:
OSB is altogether different tool which is used for integration like SOA but the main purpose of OSB is to route the information and same we can do with mediator. The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight mediation.

Question: What is echo in Oracle Mediator?
Answer:
The purpose of the echo option is to expose all the Oracle Mediator functionality as a callable service without having to route it to any other service. For example, you can call an Oracle Mediator to perform a transformation, a validation, or an assignment, and then echo the Oracle Mediator back to your application without routing it anywhere else.
For synchronous operations with a conditional filter, the echo option does not return a response to the caller when the filter condition is set to false. Instead, it returns a null response.
The echo option is available for asynchronous operations only if the Oracle Mediator interface has a callback operation. In this case, the echo is run on a separate thread.

Question: What is resequencing in Mediator ?
Answer:
The resequencing feature of the Oracle Mediator reorders sets of messages that might arrive to the Oracle Mediator in the wrong sequence. You can define resequencing for all operations in an Oracle Mediator or for a specific operation.

Question: Resequencing options available in mediator?
Answer:

Standard (based on input Id)
FIFO(based on time)
Best Efforts

Question: What is Schematron Validation?
Answer: Schematron is an XML schema language, and it can be used to validate XML contents in an XML payload.

Question: Types of routing exist in Mediator?
Answer:
Static & Dynamic Routing.

Question: What is Dynamic Routing in Mediator ?
Answer:
A dynamic routing rule lets you externalize the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic modification of the routing logic in a routing rule.
When you choose to create dynamic routing rule then it creates a new business rule service component that is wired to the Oracle Mediator service component within the
SOA composite of the Oracle Mediator service component. The business rule service component includes a rule dictionary. The rule dictionary is a metadata container for the rule engine artifacts, such as fact types, rulesets, rules, decision tables and so on. Inside routing rules, you need to set endpoint URI.



Question: Types of Static Routing rules?
Answer:
Sequential & Parallel.



Question: Difference between Sequential & Parallel static routing rules ?
Answer:


Sequential
parallel
Oracle Mediator evaluates routings and performs the resulting actions sequentially. Sequential routings are evaluated in the same thread and transaction as the caller Oracle Mediator queues and evaluates routings in parallel in different threads.
The messages of each Oracle Mediator service component are retrieved in a weighted, round-robin fashion to ensure that all Oracle Mediator service components receive parallel processing cycles. This is true even if one or more Oracle Mediator service components produce a higher number of messages
compared to other components. The weight used is the message priority set when designing an Oracle Mediator service component. Higher numbers of parallel processing cycles are allocated to the components that have higher message priority.
You can set the Priority field in the Mediator Editor to indicate the priority of an Oracle Mediator service component. Priorities can range from zero to nine, with nine being the highest priority. The default priority is four.
Oracle Mediator always enlists itself into the global transaction propagated through the thread that is processing the incoming message. For example, if an inbound JCA adapter invokes an Oracle Mediator, the Oracle Mediator enlists itself with the transaction that the JCA adapter has initiated.
Oracle Mediator initiates a new transaction for processing each parallel rule. The initiated transaction ends with an enqueue to the Oracle Mediator parallel message dehydration store.

For example, if an Oracle Mediator service component has one parallel routing rule, one message is enqueued on the Oracle Mediator parallel message dehydration store.

The parallel message dispatcher to the store then initiates a transaction, reads the message from the database store, and invokes the target component or service of this routing rule. The transaction initiated by the listener thread is a completely new transaction and is propagated to the target components.
Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
Oracle Mediator never commits or rolls back transactions propagated by external entities.
Oracle Mediator commits or rolls back transactions because it is the initiator of these transactions.
If an operation or event has both sequential and parallel routing rules, first sequential routing rules are evaluated and actions are performed, and then parallel routings are queued for parallel execution.
Oracle Mediator manages the transaction only if the thread-invoking Oracle Mediator does not already have an active transaction. For example, if Oracle Mediator is invoked from inbound SOAP services, Oracle Mediator starts a transaction and commits or rolls back the transaction depending on success and failure.

Question: Which static routing rule support fault policy ?
Answer:
Parallel rules only.
        https://blogs.oracle.com/fmwsoa/entry/oracle_soa_suite_bpel_and

===================================Part1==========================================
Oracle SOA Interview Questions Part - 1

===================================Part1==========================================

Question : What is Web Service ?

Answer: Web service is a piece of code which is available on web (internet). That code of piece can be developed in any language (java, .net etc). A client invokes the

web service by sending xml message and it wait for xml response (synchronously or asynchronously).



Question: What is WSDL ?Answer : WSDL stands for Web Services Description Language
WSDL is a document written in XML. The document describes a Web service. It specifies the location of the service and the operations (or methods) the service exposes.

Question: Explain elements/tags of WSDL ?Answer :   

types :- A container for abstract type definitions defined using XML Schema
message :- A definition of an abstract message that may consist of multiple parts, each part may be of a                             different type
portType :- An abstract set of operations supported by one or more endpoints (commonly known as an                                 interface); operations are defined by an exchange of messages
binding :- A concrete protocol and data format specification for a particular portType
service :- A collection of related endpoints, where an endpoint is defined as a combination of a binding and an                    address (URI)

Question: Difference between Abstract and Concrete WSDL ?Answer : Abstract WSDL contains only messages and operations. Abstract WSDL is
used by SOAP Server.
Where as concrete WSDL contains messages, operations and transport
specific information (JMS or Http). This is used by SOAP client.

Question : What is SOAP ?Answer : SOAP is a simple XML-based protocol to let applications exchange information over HTTP.
Or more simply: SOAP is a protocol for accessing a Web Service.

Question : What is XML Schema ?Answer : An XML Schema describes the structure of an XML document.

Question : Difference between Include and Import in context to XML schema ?Answer : The fundamental difference between include and import is that you must use import to refer to declarations or definitions that are in a different target namespace and you must use include to refer to declarations or definitions that are (or will be) in the same target namespace.

Question : What is targetNamespace's function?
Answer :

<schema xmlns="http://www.w3.org/2001/SchemaXML         targetNamespace="http://www.example.com/name"         xmlns:target="http://www.example.com/name">

The targetNamespace declares a namespace for other xml and xsd documents to refer to this schema. The target prefix in this case refers to the same namespace and you would use it within this schema definition to reference other elements, attributes, types, etc. also defined in this same schema definition.

===================================Part2==========================================
Oracle SOA Interview Questions Part- 2
===================================Part2==========================================

Question : How to refer another XSL from main XSL file ?Answer :  The <xsl:import> element is a top-level element that is used to import the contents of one style sheet into another.

Note: This element must appear as the first child node of <xsl:stylesheet> or <xsl:transform>.
Syntax: <xsl:import href="URI"/>

Question: Why we use Call-template inside XSL ?Answer : Call-template works similar to the apply-template element in XSLT. Both attach a template to specific XML data. This provides formatting instructions for the XML. The main difference between the two processes is the call function only works with a named template. You must establish a 'name' attribute for the template in
order to call it up to format a document.

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
< xsl:call-template name="myTemplate">
< !-- Content: xsl -->
< /xsl:call-template>
< stylesheet>


Question: Difference between XA & Non-XA transaction ?
Answer:

Non-XA (Local Transaction):-  It involves only one resource. When you use Non-XA transaction then you can’t involve multiple resources (different databases, Queues, application servers etc), you can rollback or commit transaction for only one resource. There is not transaction manager for this transaction as we are dealing with
only one resource at a time.

XA (Global Transaction):- It involves more than one resource (different databases, queues, application servers) all participate in one transaction. It uses two-phase commit to ensure that all resources either all commit or rollback any particular transaction. When you have scenario like you need to connect to two different databases, JMS Queue and application server, in this case you will use XA transaction that means all resource participate in one transaction only.

Question: What is inline schema ?Answer: Inline schemas are XML schema definitions included inside XML instance documents. Like external schema documents, inline schemas can be used to validate that the instance matches the schema constraints.



Question: what is the use of Pick Activity?Answer: This activity waits for the occurrence of one event in a set of events and performs the activity associated with that event. The occurrence of the events is often mutually exclusive (the process either receives an acceptance or rejection message, but not both). If multiple events occur, the selection of the activity to perform depends on which event occurred first. If the events occur nearly simultaneously, there is a race and the choice of activity to be performed is dependent on both timing and implementation.

Question: What are the different kind of binding styles in WSDL file?Ans. SOAP 1.1 & 1.2 (For SOA),JMS (For Messageing),JCA (For Connectivity),JAVA,EJB (For Java Bean), Custom (For own binding)

Question:  Can we have more then one PortType in WSDL ?Ans. Yes, it is possible

<!-- portType implemented by the BPELProcess1 BPEL process -->
<wsdl:portType name="BPELProcess1">
<wsdl:operation name="process">
<wsdl:input message="client:BPELProcess1RequestMessage"/>
</wsdl:operation>
</wsdl:portType>


<!-- portType implemented by the requester of BPELProcess1 BPEL process for asynchronous callback purposes-->
<wsdl:portType name="BPELProcess1Callback">
<wsdl:operation name="processResponse">
<wsdl:input message="client:BPELProcess1ResponseMessage"/>
</wsdl:operation>
</wsdl:portType>



Question:  Name any three  elements of  WSDL file?
Ans.
Three major elements of WSDL that can be defined separately and they are:

   1. Types
   2. Operations
   3. Binding

Following are the elements of WSDL document. Within these elements are further sub-elements, or parts:
Types,Messages,PortTypes (Operations),Bindings (Partnerlink Types),Services


Question:  Name any two transport protocol to be used with SOAP.Ans. Both SMTP and HTTP are valid application layer protocols used as Transport for SOAP. Also TCP,JMS is there.

Question:  Which are the two approaches to develop web-servicesAns. Two approaches to Web service development: bottom-up and top-down
Bottom-up Approach: Starting from Java: In the bottom-up approach, you develop your the JWS file from scratch. After you create the JWS file, you use the jwsc WebLogic Web service Ant task to compile the JWS file, as described by the JSR 109 Top-down Approach: Starting from WSDL: In the top-down approach, you create the Web service from a WSDL file. You can use the wsdlc Ant task to generate a partial implementation of the Web service described by the WSDL file.

No comments:

Post a Comment