Wednesday, July 3, 2013

soa interview questions



WHAT IS SOA?
A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity.
Service-oriented architecture

WHAT IS WSDL?PARTS OF WSDL?
A WSDL definition is an XML document with a root definition element from the http://schemas.xmlsoap.org/wsdl/ namespace. The entire WSDL schema is available at http://schemas.xmlsoap.org/wsdl/ for your reference. The definitions element may contain several other elements including types, message, portType, binding, and service.
Element Name       Description
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
Operation– an abstract description of an action supported by the service.
 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)
WHAT IS WEBSEVICES?
A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards

The basic Web services platform is XML + HTTP.
XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions.
The HTTP protocol is the most used Internet protocol.
Web services platform elements:
  • SOAP (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)
  • WSDL (Web Services Description Language)

WHAT IS BPEL?
BPEL is an XML-based language for enabling task sharing across multiple enterprises using a combination of Web services. BPEL is based on the XML schema, simple object access protocol (SOAP), and Web services description language (WSDL). BPEL provides enterprises with an industry standard for business process orchestration and execution. Using BPEL, you design a business process that integrates a series of discrete services into an end-to-end process flow. This integration reduces process cost and complexity. The BPEL language enables you to define how to:
·         Send XML messages to, and asynchronously receive XML messages from, remote services
·         Manipulate XML data structures
·         Manage events and exceptions
·         Design parallel flows of process execution
·         Undo portions of processes when exceptions occur

WHAT IS JDEVELOPER
JDeveloper is an open source IDE from Oracle. Jdeveloper covers the complete development lifecycle starting from design through coding, debugging to deploying.
JDeveloper is used for development of
-Java, XML, SQL, PL/SQL, HTML, JavaScript, BPEL and PHP applications.
-It provides Javascript editor for development of AJAX applications
-It has built in support for JSF and JDBC.. 

WHY WE NEED BPEL
Traditional methods for integration and business process automation typically involve embedded logic inside of applications designed to meet a specific business need such as ERP, supply chain, or CRM. The development, testing, and deployment efforts required to change these applications make integration and process changes both costly and complex.
To address these issues, proprietary EAI and static BPM products emerged to abstract integration and process automation into a new layer of software tools. These software products liberated integration and process tasks from the underlying business systems so they could be more effectively changed, managed, and optimized.
BPEL and Web services now provide a standardized integration interface and a standardized language for integration and process automation. BPEL, in effect, has the potential to commoditize the capabilities provided by proprietary EAI and BPM solutions. As often occurs in a commodity market, the resulting prices for products and services are certain to fall.

WHAT ARE THE BASIC STEPS WE NEED TO FOLLOW  FOR "bpel project development"?
·  Choose File -> New Project (Ctrl-Shift-N).
The New Project Wizard appears.
·  Select SOA in the Categories list, and BPEL Module in the Projects list. Click Next.
·  Name the project SayHello, and click Finish.
The SayHello Project is added to the Projects tree.
WHAT ARE THE DIFFERENT TYPES OF PROCESS ACTIVITIES?
WHAT ARE  THE DIFFERENT TYPES OF SERVICES ARE THERE?
·  A synchronous process
·  An asynchronous process
·  An empty process
WHAT ARE THE ELEMENTS THAT ARE AVAILABLE IN COMPONENT PALLETTE?
Code snippets------- empty
Preferd components--- empty
Process activites---all 26 activities
Services-----adapters,partener link,javaweb service, EJB webservice, descission services,pon
Xml--------- #cdata section,#comment,3processing instruction,#text
WHAT ARE THE MANDATORY COLUMNS WHILE CREATING THE PROJECT?
Name
Namespace
template
WHAT ARE THE DIFFERENT TYPES OF BPEL PROCESSES OR TEMPLATES WHILE CREATING THE PROJECT?
·  A synchronous process
·  An asynchronous process
·  An empty process
WHAT IS THE DIFFERENCE BETWEEN SYNCHORNOUS,ASYNCHORNOUS AND EMPTY BPEL PROCESS?
In Synchronous services, the client invoking a synchronous process will wait for the response to the request.
The client will not process further until it receives response from the invoked synchronous process.
In Oracle BPEL Process Designer, when a project is created with the “Synchronous BPEL Process” template, the initial BPEL process flow contains

  • A client PartnerLink representing the client who initiates this BPEL process as a service. This is shown as the client in the diagram.
  • A receive activity, called receiveInput, to receive a request message from the client.
  • A reply activity, called replyOutput, for the BPEL process to return a synchronous response message to the client.
asynchronous services, the client invokes the service but does not wait for the response. The client can continue with some other processing and later, when it does receive the response, it resumes whatever processing initiated the service request.


In Oracle BPEL Process Designer, when a project is created with the “Asynchronous BPEL Process” template, the initial BPEL process flow contains
  • A client PartnerLink representing the client who initiates this BPEL process as a service. This is shown as the client in the diagram.
  • A receive activity, called receiveInput, to receive a request message from the client.
  • A invoke activity, called callbackClient, for the BPEL process to return asynchronous response message to the client.
·         Empty Service is useful to design a process flow as a client to initiate other services.
·         In Oracle BPEL Process Designer, when a project is created with the “Empty BPEL Process” template, the initial BPEL process flow does not contain any activities

HOW MANY ROLES WILL BE THERE FOR SYNCHORNOUS,ASYNCHORNOUS?
For synchronus only one role is there .I.E it waits for the response.
For asynchronus two roles are there.1. Fire and forget
                                                                   2. fire and delay response
WHAT IS ADAPTER?
what we are going to do is Read a file from a location using the File Adapter,create a mapper rule and insert the values from the file into the Database using the Database adapter.

WHAT ARE THE DIFFERENT TYPES OF SERVICES,THAT U USE IN UR PROJECT?

WHAT ARE THE DIFFERENT TYPES OF PROCESS ACTIVITIES,THAT U USE IN UR APPLICATION?

WHAT IS PARTNERLINK?WHAT R THE MANDATORY COLUMNS
This service enables you to define the external services with which your process interacts. A partner link type characterizes the conversational relationship between two services by defining the roles played by each service in the conversation and specifying the port type provided by each service to receive messages within the conversation
You provide the following details:
·         A meaningful name for the service.
·         The web services description language (WSDL) file of the external service.
·         The actual service type (defined as Partner Link Type).
·         The role of the service (defined as Partner Role).
·         The role of the process requesting the service (defined as My Role).

WHAT IS VARIABLE?WHAT R THE MANDATORY COLUMNS?
Variable created at global scope level 3 types variables   1,simpletype------ its also in schema level
Message type: IN wsdl level we will create                                                                                                   
Element type:  In schema level we will create




BPEL variable used to store information or data used in the business process. It can refer to premitive xsd data type as well as complex type. Variables defined in the global process scope are globaly visible to all the activity in a business process. Usually variable defined in a particular scope is available to those set of actvities only.

The type of variable can be specified either by using messageType, type or element. In the above example, we have used "type" variable, it means xml schema simple type. messageType refers to a WSDL message type definition. And element refers to the Schema element.

WHAT IS RECEIVE NODE?
This activity specifies the partner link from which to receive information and the port type and operation for the partner link to invoke. This activity waits for an asynchronous callback response message from a service, such as a loan application approver service. While the BPEL process is waiting, it is dehydrated (compressed and stored) until the callback message arrives. The contents of this response are stored in a response variable in the process.
The receive activity supports the bpelx:property extensions that facilitate the passing of properties through the SOAP header, and the obtaining of SOA runtime system properties for useful information such as tracking.compositeInstanceId and tracking.conversationId.
You can perform the following tasks:
·         Provide a meaningful name.
·         Select the partner link service for which to specify an operation.
·         Select the operation to be performed.
·         Automatically create a variable or select an existing variable in which to transport the callback response.


WHAT IS ASSIGN? WHAT ARE THE MANDATORY COLUMNS
Assign Activity
This activity provides a method for data manipulation, such as copying the contents of one variable to another. This activity can contain any number of elementary assignments.
shows the Assign dialog. You can perform the following tasks:
  • Click the General tab to provide the assign activity with a meaningful name.
  • Click the Copy Operation tab and the Add icon (shown in Figure A-3), and then select Copy Operation from the dropdown list to access the Create Copy Operation dialog. This action enables you to copy the contents of the source element (variable, expression, XML fragment, or partner link) in the From field to the contents of the destination element in the To field. You can also select a part (typically the payload) and an XPath query (a language for addressing parts of an XML document). Other selections such as Append Operation, Insert-After Operation, and others are also available from this list.
Figure A-3 Copy Operations Tab of Assign Activity Dialog
Description of Figure A-3 follows


WHAT IS SWITCH CASE?WHAT ARE THE MAND COLUMNS
Switch Activity
This activity consists of an ordered list of one or more conditional branches defined in a case branch, followed optionally by an otherwise branch. The branches are considered in the order in which they appear. The first branch whose condition is true is taken and provides the activity performed for the switch. If no branch with a condition is taken, then the otherwise branch is taken. If the otherwise branch is not explicitly specified, then an otherwise branch with an empty activity is assumed to be available. The switch activity is complete when the activity of the selected branch completes.
A switch activity differs in functionality from a flow activity. For example, a flow activity enables a process to gather two loan offers at the same time, but does not compare their values. To compare and make decisions on the values of the two offers, a switch activity is used. The first branch is executed if a defined condition (inside the case branch) is met. If it is not met, the otherwise branch is executed.
Figure A-27 shows a switch activity with the following defined branches.
Figure A-27 Switch Activity
Description of Figure A-27 follows

WHAT IS INVOKE?
Invoke Activity
This activity enables you to specify an operation you want to invoke for the service (identified by its partner link). The operation can be one-way or request-response on a port provided by the service. You can also automatically create variables in an invoke activity. An invoke activity invokes a synchronous web service or initiates an asynchronous web service.
The invoke activity opens a port in the process to send and receive data. It uses this port to submit required data and receive a response. For synchronous callbacks, only one port is needed for both the send and the receive functions.
The invoke activity supports the bpelx:inputProperty and bpelx:outputProperty that facilitate the passing of properties through the SOAP header and the obtaining of SOA runtime system properties for useful information such as the tracking.compositeInstanceId and tracking.conversationId.
Figure A-13 shows the Invoke dialog. You can perform the following tasks:
  • Provide the activity with a meaningful name.
  • Select the partner link for which to specify an operation.
  • Select the operation to be performed.
  • Automatically create a variable or select an existing variable in which to transport the data (payload).
Figure A-13 Invoke Dialog
Description of Figure A-13 follows

WHAT IS REPLY?
Reply Activity
This activity allows the process to send a message in reply to a message that was received through a receive activity. The combination of a receive activity and a reply activity forms a request-response operation on the WSDL port type for the process.
Figure A-20 shows the Reply dialog.
Figure A-20 Reply Dialog
Description of Figure A-20 follows

WHAT IS SCOPE?
This activity consists of a collection of nested activities that can have their own local variables, fault handlers, compensation handlers, and so on. A scope activity is analogous to a { } block in a programming language.
Each scope has a primary activity that defines its behavior. The primary activity can be a complex structured activity, with many nested activities within it to arbitrary depth. The scope is shared by all the nested activities.
Figure A-21 shows the Scope dialog. Define appropriate activities inside the scope activity.
Figure A-21 Scope Dialog
Description of Figure A-21 follows

WHAT IS SEQUENCE?
This activity enables you to define a collection of activities to be performed in sequential order. For example, you may want the following activities performed in a specific order:
  • A customer request is received in a receive activity.
  • The request is processed inside a flow activity that enables concurrent behavior.
  • A reply message with the final approval status of the request is sent back to the customer in a reply activity.
A sequence activity makes the assumption that the request can be processed in a reasonable amount of time, justifying the requirement that the invoker wait for a synchronous response (because this service is offered as a request-response operation).
When this assumption cannot be made, it is better to define the customer interaction as a pair of asynchronous message exchanges.
When you double-click the Sequence icon, the activity area shown in Figure A-24 appears. Drag and define appropriate activities inside the sequence activity.
Figure A-24 Sequence Activity
Description of Figure A-24 follows

WHAT ARE THE ACTIVITY NODES IN BPEL?

WHAT IS CORRELATION SET?
What dafult database in 10g
OLITE datbase
EXPLAIN BPEL CONSOLE?
Dashboard,audit,instancses ,flow
WHAT IS BPELPM?

WHAT IS COMPENSATE?WHAT ARE THE OPTIONS AVAiLABLE?
This activity invokes compensation on an inner scope activity that has successfully completed. This activity can be invoked only from within a fault handler or another compensation handler. Compensation occurs when a process cannot complete several operations after completing others. The process must return and undo the previously completed operations. For example, assume a process is designed to book a rental car, a hotel, and a flight. The process books the car and the hotel, but cannot book a flight for the correct day. In this case, the process performs compensation by unbooking the car and the hotel.The compensation handler is invoked with the compensate activity, which names the scope on which the compensation handler is to be invoked.
Figure A-5 shows the Compensate dialog. You can perform the following tasks:
  • Click the General tab to provide the activity with a meaningful name.
  • Select the scope activity on which the compensation handler is to be invoked.
 Compensate Dialog
Description of Figure A-5 follows

WHAT IS SENSORS AND ANNOTATIONS?
WHAT IS DECIDE?WHAT ARE THE OPTIONS AVAILABLE IN THIS?WHAT IS DECISION SERVICE AND OERATION?
WHAT IS EMAIL?WHEN WILL WE USE?WHAT ARE THE OPTIONS AVAILABLE IN THIS?

Empty Activity

This activity enables you to insert a no-operation instruction into a process. This activity is useful when you must use an activity that does nothing (for example, when a fault must be caught and suppressed).

WHAT IS EMPTY?WHAT ARE THE OPTIONS AVAILABLE?

WHAT IS FAX?WHAT ARE THE OPTIONS AVAILABLE?IN THIS WHAT IS FAX NUMBER,COVERPAGE AND BODY?
WHAT IS THE USE OF FLOW AND FLOWN AND THEIR OPTIONS?
WHAT IS THE USE OF HUMAN TASK?
WHAT IS JAVA_EMBEDDING?WHEN WILL WE USE?
WHAT IS THE USE OF PAGER?WHAT ARE THE OPTIONS?
WHAT IS PICK?WHEN WILL WE USE THIS?
WHAT IS THE USE OF SSCOPE? WHEN WILL WE USE?
WHAT IS THE USE OF SEQUENCE?
WHEN WILL WE USE SMS?WHAT ARE THE OPTIONS AVAILABLE?
WHAT IS TERMINATE?WHEN WILL WE USE THIS?
WHAT IS REPLY ACTIVITY?
WHAT IS PICK ACTIVITY?
WHAT IS THE USE OF THROW AND WHAT ARE THE OPTIONS AVAILABLE?
WHAT IS TRANSFORMATION?WHAT ARE THE OPTIONS AVAILABLE?
WHAT IS THE USE OF WAIT OPTION ? WHEN WILL WE USE?
WHAT IS WHILE ? WHEN WILL WE USE?
WHAT IS BPEL SCHEDULING PROCESS?
Quertz scheduler
WHAT ARE SENSORS?HOW U WILL CONFIGURE SENSORS?
These are used to track the performance of invidival acitivites and states wise.
WHAT IS XQUERY?
In order to query xml docuemnts
WHAT IS XPATH?
In oreder to navigate the xml documents
WHAT IS XSLT?
It is used to transforming the data from one xml form to another xml form
HOW WILL U IDENTIFY THAT THIS REQUEST IS FOR THIS RESPONSE?
Correlation set




WHAT IS CORRELATION_ID?
It is used track the async process response.
WHAT IS DEHYDRATION?WHEN DEHYDRATION COMES INTO PICTURE?(SYN OR ASYN)

Storing the current status of the BPEL process into the Database is known as dehydration. The Dehydration Store database is used to store BPEL process status data, especially for asynchronous BPEL processes. Also, all successfully executed BPEL process instances are stored in the dehydration store. The database schema is created for this as a part of SOA Suite installation is ORABPEL schema.
WHAT IS COMPENSATION?HAVE U IMPLEMENTED ANY COMPENSATION?
FAULT HANDLING MECHANISM IN BPEL?
There are 3 categories of faults in BPEL:
          Stanadard faults
·         Business faults: These are application-specific faults that are generated when there is a problem with the information being processed. A business fault occurs when an application executes a throw activity or when an invoke activity receives a fault as a response. The fault name of a business fault is specified by the BPEL process. The messageType, if applicable, is defined in the WSDL.
·         Run-time faults: These occur while the BPEL process is running. They are generated if the process tries to use a value incorrectly, or if there is a logic error, such as an endless loop.  1,Remote fults : it depends upon the remote server. it will retryable. No manual intrraction neeeded
2,binding faults: if wsdl is not found it will through fault. It will manual intraction is mandatory.its not retryable
There are two xml files avilable to handle the faults in bpel process
Faultpolicy.xml: we can specify action and etc
Fault binding .xml:


WHAT ARE THE ADAPTERS  ? WHAT ADAPTERS U CONFIGURE?
Db adapter,file adapter,ftp adapter,jms adapter
HAVE U CALLED ANY STORED PROCEDURE?
I F U EXPOSED STORED PROCEDURE AS WEB SERVICE .WHAT TECHNIQUE U HAVE USED?
WHAT IS TOP DOWN AND BOTTOM UP APPROACH?
DIFF BETWEEN PARALLEL ACTIVITY AND SEQUENCE ACTIVITY?
WHEN DEHYDRATION COMES INTO PICTURE? (SYN OR ASYN)?
WHICH FILE U NEED TO GO FOR FAULT HANDLING PROCESS?
HAVE U MADE ANY JAVA CALL AS WEB SERVICE?
WHAT IS ADF? R U CONFIDENT ON WORKING  ADF?
WHAT IS EMAIL CONFIGRATION AND ESCALLATIONS?
WHAT TYPE OF CONFIGURATIONS U WORKED ON HUMAN TASKS?
WHAT IS THE LEGACY FOR UR APPLICATION?
HOW THE LEGACY SYSEMS ARE EXPOSED AS WEB SERVICE?
HAVE U USED ANY FAULT HANDLING METHODS?
EXPLAIN SOME FAULTS AND HOW DID U RECTIFY THEM?
WHAT ARE THE RUN TIME FAULTS? HOW DID U CATCH THEM?
Which function is used to find the error means which type of error is that?
ORA: get fault as string ()

Tranform  activity look ref()
Current date time function()
 
Where should we configure the email activity? Before dragging the email into bpel process?
 Product\10.1.3.1\oracle AS\bpel\system\services\config
Ns_emails
We should configure the SMTP  and port and username and password

What is the diffrence between pic k and receive?
Pick is having two branches
onmessage and  onalaram branch but we can have many no of onmessage branches in pick activity but only one onlaram branch avilable here.
It will  excute like on messaages ok with what we are getting message s are matched. It wont give any error revciving messages are matched . on alaram branch will come into the picture whenmis match maseeges were came it waits upto what time we gave in onalaram branch.



No comments:

Post a Comment