1) What is SOA?
Service Oriented Architecture (SOA) is used to develop Enterprise applications by using a collection of services which communicates each other. Service-Oriented Architecture (SOA) is a set of principles and methodologies for designing and developing software in the form of interoperable services.
2) Principles of SOA?
In 11g you can put all your project SOA components in composite.xml file and deploy as a single deployment unit to single server, where in 10g you have to deploy each component to the respective server (i.e. ESB to ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place in 11g using SCA composite concept.
The major difference between 10g & 11g would be the app server container. 10g by default runs onOC4J while 11g runs on Web logic Server.
In 10g every BPEL is a separate project, but in 11g several components can make 1 project as SCA.
In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.
4) Is Oracle SOA same as Oracle Fusion Middleware?
No because SOA is one of the parts in Fusion middleware and SOA behaves like user interface where as Fusion is big platform
Loose coupling
Re-usability
Interoperability
Flexible
Re-usability
Interoperability
Flexible
3) What is the difference between 10g and 11g?
SCA architecture was followed in 11g and not in 10g
In 11g you can put all your project SOA components in composite.xml file and deploy as a single deployment unit to single server, where in 10g you have to deploy each component to the respective server (i.e. ESB to ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place in 11g using SCA composite concept.
The major difference between 10g & 11g would be the app server container. 10g by default runs onOC4J while 11g runs on Web logic Server.
In 10g every BPEL is a separate project, but in 11g several components can make 1 project as SCA.
In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.
4) Is Oracle SOA same as Oracle Fusion Middleware?
No because SOA is one of the parts in Fusion middleware and SOA behaves like user interface where as Fusion is big platform
5) What is SCA?
Service Component Architecture (SCA) provides a programming model for building applications and systems based on a Service Oriented Architecture. SCA is a model that aims to encompass a wide range of technologies for service components and for the access methods which are used to connect them.
Service Component Architecture (SCA) provides a programming model for building applications and systems based on a Service Oriented Architecture. SCA is a model that aims to encompass a wide range of technologies for service components and for the access methods which are used to connect them.
6) What is the SOA Suite 11g Components?
Oracle Adapters
Oracle Mediator
Business Events and Events Delivery Network
Oracle Business Rules
Human Workflow
Oracle Business Activity Monitoring
Oracle Enterprise Manager
Oracle Adapters
Oracle Mediator
Business Events and Events Delivery Network
Oracle Business Rules
Human Workflow
Oracle Business Activity Monitoring
Oracle Enterprise Manager
7) What is choreography? How does it differ from orchestration?
In choreography there is no business process to control the integration between the systems; each system will directly integrate with one another in sequence where as in Orchestration there is a business process which controls all the services (source/Target) which is part of the integration.
In choreography there is no business process to control the integration between the systems; each system will directly integrate with one another in sequence where as in Orchestration there is a business process which controls all the services (source/Target) which is part of the integration.
8) What are the different design patterns in SOA?
Synchronous
In 10g for routing, separate router need to keep along with ESB for routing and filter expressions.
Where as in 11g mediator contains routing rules and filter expressions itself.
Synchronous
Asynchronous Fire and Forget
Asynchronous Delayed Response.
Asynchronous Delayed Response.
9) In how many ways can a process be deployed?
Using Jdeveloper
Through Enterprise Manger Console
Through Weblogic Scripts.
Using Jdeveloper
Through Enterprise Manger Console
Through Weblogic Scripts.
10) What are dspMaxThread and recieverThread properties? Why are they important?
Receiver Threads property specifies the maximum number of MDBs that process Async across all domains. Whereas the dspMaxThread are the maximum number of MDBs that process Async and threads that operate across a domain. So, we need to ensure that the dspMaxThread value is not greater than Receiver Threads.
Receiver Threads property specifies the maximum number of MDBs that process Async across all domains. Whereas the dspMaxThread are the maximum number of MDBs that process Async and threads that operate across a domain. So, we need to ensure that the dspMaxThread value is not greater than Receiver Threads.
11) How does a Async request run in the backend?
The sequences of events involved in the delivery of invoke messages is as follows:
The client posts the message to the delivery service.
The delivery service saves the invocation message to the dlv_message table. The initial state of the message is 0 (undelivered).
The delivery service schedules a dispatcher message to process the invocation message asynchronously.
The dispatcher message is delivered to the dispatcher through the afterCompletion() call. Therefore, the message is not delivered if the JTA transaction fails.
The dispatcher sends the JMS message to the queue. Places a very short JMS message in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS message triggers the Worker Bean in the downstream step.
This message is then picked up by a Worker Bean MDB, which requests the dispatcher for work to execute. If the number of Worker Bean MDBs currently processing activities for the domain is sufficient, the dispatcher module may decide not to request another MDB.
MDB fetches the invocation message from the dispatcher.
MDB passes the invocation message to Oracle BPEL Server, which updates the invocation message state to 1 (delivered), creates the instance, and executes the activities in the flow until a breakpoint activity is reached.
The client posts the message to the delivery service.
The delivery service saves the invocation message to the dlv_message table. The initial state of the message is 0 (undelivered).
The delivery service schedules a dispatcher message to process the invocation message asynchronously.
The dispatcher message is delivered to the dispatcher through the afterCompletion() call. Therefore, the message is not delivered if the JTA transaction fails.
The dispatcher sends the JMS message to the queue. Places a very short JMS message in the in-memory queue (jms/collaxa/BPELWorkerQueue) in OC4J JMS. The small JMS message triggers the Worker Bean in the downstream step.
This message is then picked up by a Worker Bean MDB, which requests the dispatcher for work to execute. If the number of Worker Bean MDBs currently processing activities for the domain is sufficient, the dispatcher module may decide not to request another MDB.
MDB fetches the invocation message from the dispatcher.
MDB passes the invocation message to Oracle BPEL Server, which updates the invocation message state to 1 (delivered), creates the instance, and executes the activities in the flow until a breakpoint activity is reached.
12) How to increase the transaction timeouts in SOA?
For the transaction timeout needs to be increased, all the below settings timeout value needs to be changed to the expected Timeout value.
JTA
Engine Bean
Delivery Bean
For the transaction timeout needs to be increased, all the below settings timeout value needs to be changed to the expected Timeout value.
JTA
Engine Bean
Delivery Bean
13) Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if yes how?
Yes it is possible.
To automatically maintain long-running asynchronous processes and their current state information in a database while they wait for asynchronous callbacks, you use a database as a dehydration store. Storing the process in a database preserves the process and prevents any loss of state or reliability if a system shuts down or a network problem occurs. This feature increases both BPEL process reliability and scalability. You can also use it to support clustering and failover.
Yes it is possible.
To automatically maintain long-running asynchronous processes and their current state information in a database while they wait for asynchronous callbacks, you use a database as a dehydration store. Storing the process in a database preserves the process and prevents any loss of state or reliability if a system shuts down or a network problem occurs. This feature increases both BPEL process reliability and scalability. You can also use it to support clustering and failover.
14) What is SOA governance? What are its functions?
Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA Some key activities that are often mentioned as being part of SOA governance are:
Managing the portfolio of services: This includes planning development of new services and updating current services.
Managing the service lifecycle: This is meant to ensure that updates of services do not disturb current services to the consumers. Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services. Monitoring performance of services: The consequences of service downtime or underperformance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.
Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA Some key activities that are often mentioned as being part of SOA governance are:
Managing the portfolio of services: This includes planning development of new services and updating current services.
Managing the service lifecycle: This is meant to ensure that updates of services do not disturb current services to the consumers. Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services. Monitoring performance of services: The consequences of service downtime or underperformance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.
15) What is end point virtualization?
Generally a service bus is used for endpoint virtualization and in 11g stack; Oracle Service Bus (OSB) is the primary service bus. In exposed proxy's message flow, it can route the request to any of your environment's actual (physical) service on the basis of whatever logic.
Mediator can also be used to expose the service and in mediator routing rule, it can be routed to actual service.
Generally a service bus is used for endpoint virtualization and in 11g stack; Oracle Service Bus (OSB) is the primary service bus. In exposed proxy's message flow, it can route the request to any of your environment's actual (physical) service on the basis of whatever logic.
Mediator can also be used to expose the service and in mediator routing rule, it can be routed to actual service.
16) What are DVM's and how are they helpful in SOA?
DVM-Domain Value Map is static mappings between a source and target system which can be used in transformations. The value can be changed via SOA composer.
DVM-Domain Value Map is static mappings between a source and target system which can be used in transformations. The value can be changed via SOA composer.
17) What is the difference between XREF and DVM?
XREF- It is dynamic since the values to the XREF can be populated dynamically and it is stored in XREF_DATA table in SOA Dehydration store.
DVM- Domain Value Map is static mappings between a source and target system which can be used in transformations.
XREF- It is dynamic since the values to the XREF can be populated dynamically and it is stored in XREF_DATA table in SOA Dehydration store.
DVM- Domain Value Map is static mappings between a source and target system which can be used in transformations.
18) What is Dehydration store?
Dehydration store is the database where the instances get stored when it gets dehydrated by the process on the occurrence of non-idempotent activities and also stores the information on the long running processes.
Dehydration store is the database where the instances get stored when it gets dehydrated by the process on the occurrence of non-idempotent activities and also stores the information on the long running processes.
19) What is Decision service?
Oracle SOA Suite provides support for Decision components that support Oracle Business Rules. A Decision component is a mechanism for publishing rules and rule sets as a reusable service that can be invoked from multiple business processes. These rules can be changed without redeploying the code.
Oracle SOA Suite provides support for Decision components that support Oracle Business Rules. A Decision component is a mechanism for publishing rules and rule sets as a reusable service that can be invoked from multiple business processes. These rules can be changed without redeploying the code.
20) Why we use BPEL and OSB?
OSB is the light-weight service bus wherever there is not much business logic involves and there is need to just get the message routed between the systems OSB is used where as when there is more business logic involves in the process, then BPEL will be used.
OSB is the light-weight service bus wherever there is not much business logic involves and there is need to just get the message routed between the systems OSB is used where as when there is more business logic involves in the process, then BPEL will be used.
21) What is MDS?
MDS –Metadata Store
Wsdl and Schemas to be used in the process can be published to the MDS and get it used in the code by referring the artifacts from the MDS
Advantages:
JAR (Deployment unit) size will be reduced.
Duplication of the artifacts can be avoided between the services.
MDS –Metadata Store
Wsdl and Schemas to be used in the process can be published to the MDS and get it used in the code by referring the artifacts from the MDS
Advantages:
JAR (Deployment unit) size will be reduced.
Duplication of the artifacts can be avoided between the services.
22) What is a XA data source? How it differs from a non-XA data source?
An XA transaction involves a coordinating transaction manager, with one or more databases (or other resources, like JMS) all involved in a single global transaction. Non-XA transactions have no transaction coordinator, and a single resource is doing all its transaction work itself (this is sometimes called local transactions).
An XA transaction involves a coordinating transaction manager, with one or more databases (or other resources, like JMS) all involved in a single global transaction. Non-XA transactions have no transaction coordinator, and a single resource is doing all its transaction work itself (this is sometimes called local transactions).
23) How can we secure our web services using Oracle SOA Suite?
When accessing the services should be restricted to the group,then service should be secured via WSM (Web service Manager).
When accessing the services should be restricted to the group,then service should be secured via WSM (Web service Manager).
24) How to deploy an XSL file without deployment of BPEL Process?
We will directly deploy the 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 and replacing our xslt to that location.
We will directly deploy the 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 and replacing our xslt to that location.
25) What is HA File and FTP Adapters?
In the clustered environment, File and FTP adapters should be used as HA (High-Availability)
Inbound: It is controlled by Control Files and avoids the race between the manages servers in reading the files where the reference of the files read by the managed servers will be maintained in the control directory.
Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and this avoids duplicated been written to the same file when all the managed servers in the clusters process the same messages.
In the clustered environment, File and FTP adapters should be used as HA (High-Availability)
Inbound: It is controlled by Control Files and avoids the race between the manages servers in reading the files where the reference of the files read by the managed servers will be maintained in the control directory.
Outbound: It is controlled by DB Mutex table exist in the SOA dehydration store and this avoids duplicated been written to the same file when all the managed servers in the clusters process the same messages.
26) What is singleton Property in SOA?
In the clustered environment when the processing of the message should happen via only one SOA managed server, then the property singleton needs to be defined at the adapter level.
In the clustered environment when the processing of the message should happen via only one SOA managed server, then the property singleton needs to be defined at the adapter level.
27) What is a pick activity? Can I have a pick activity with no onMessage branch?
Pick activity picks the messages from service (Source) which has multiple operations or the BPEL process needs to receive the messages from multiple source system. Pick activity should have at least on Message branch.
Pick activity picks the messages from service (Source) which has multiple operations or the BPEL process needs to receive the messages from multiple source system. Pick activity should have at least on Message branch.
28) What is a flow activity? What is a flowN activity and how does it leverages the flow activity?
Flow activity is used, when parallel execution of the flow is needed and to use this property “non blocking invoke should be set as true “at the partner link level and no. of execution of parallel flow is defined and static. Where as in Flown the no. of execution of parallel flow is not static and it is determined during run time.
Flow activity is used, when parallel execution of the flow is needed and to use this property “non blocking invoke should be set as true “at the partner link level and no. of execution of parallel flow is defined and static. Where as in Flown the no. of execution of parallel flow is not static and it is determined during run time.
29) What do you mean by non-idempotent activity? Which all activities are non-idempotent by default?
Activities like Pick, Wait, receive, reply and checkpoint() are called non-Idempotent activity and during the execution of the process whenever these activities are encountered then it gets dehydrated to the dehydration store.
30) How can we embed or use a java code in BPEL?
Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be used.
Using JAVA embedding activity in BPEL, Java code can be embedded in BPEL and can be used.
31) How does pick activity differ from a receive activity?
Pick activity can act as a multiple receive activity in some business scenarios. If we have two inbound operations and both can trigger the bpel process then we will go with pick activity as we can’t have two receive activity with create Instance box checked.
Pick activity can act as a multiple receive activity in some business scenarios. If we have two inbound operations and both can trigger the bpel process then we will go with pick activity as we can’t have two receive activity with create Instance box checked.
32) How can we make a partner link dynamic?
If we have to send the request to different service which has the same wsdl then dynamic partner link will be used and using addressing schema we can set the endpoint dynamic to send the request to the desired service.
If we have to send the request to different service which has the same wsdl then dynamic partner link will be used and using addressing schema we can set the endpoint dynamic to send the request to the desired service.
33) What is a nonBlockingAll property?
Non- blocking invoke is used when Parallel flow needs to be executed where new thread will be created for each invoke a activity and which will execute simultaneously.
Non- blocking invoke is used when Parallel flow needs to be executed where new thread will be created for each invoke a activity and which will execute simultaneously.
34) What is getPreference property? How do we set it and what advantage it provides?
Hard coding is not a good practice, so to avoid hard coding preference variable can be used and the value of the preference variable is accessed using getPreference().The preference variable value can be changed without re-deploying the code via em console MBean property.
Hard coding is not a good practice, so to avoid hard coding preference variable can be used and the value of the preference variable is accessed using getPreference().The preference variable value can be changed without re-deploying the code via em console MBean property.
35) How can we improve the performance of an XSL file?
By avoiding use of various if statements and using choose and by using for-each group in place of for-each.
By avoiding use of various if statements and using choose and by using for-each group in place of for-each.
36) How do we handle transactions in BPEL?
Property needs to be defined to start the new transaction or to continue with the same transactions
Property Name: Transaction and if this has value as required then the BPEL process will be continued in the same transaction where as if the value is defined as requiresnew then it will start the new transaction.
Property needs to be defined to start the new transaction or to continue with the same transactions
Property Name: Transaction and if this has value as required then the BPEL process will be continued in the same transaction where as if the value is defined as requiresnew then it will start the new transaction.
37) What are transient and durable BPEL processes?
Durable:-It is long running process and initiated through a one-way invocation and do incur one or more dehydration points in the database during execution Ex: Asynchronous
Transient:-It is short-lived process, request-response style processes and do not incur dehydration during their process execution Ex: Synchronous.
Durable:-It is long running process and initiated through a one-way invocation and do incur one or more dehydration points in the database during execution Ex: Asynchronous
Transient:-It is short-lived process, request-response style processes and do not incur dehydration during their process execution Ex: Synchronous.
38) When u will go for Sync process?
Whenever the services returns the response in few seconds, it is recommended to go for synchronous BPEL process if not the BPEL process should be Asynchronous the reason is calling application can’t proceed further in case of synchronous process.
Whenever the services returns the response in few seconds, it is recommended to go for synchronous BPEL process if not the BPEL process should be Asynchronous the reason is calling application can’t proceed further in case of synchronous process.
39) What is a syncFileRead operation? Is a inbound or a outbound operation? Can my process begin with syncFileRead operation?
When file has to be read in the mid of the BPEL process, then we will use syncFileRead Operation, means some process should initiate the file read process and it is an outbound operation and process can’t begin with Sync File read.
When file has to be read in the mid of the BPEL process, then we will use syncFileRead Operation, means some process should initiate the file read process and it is an outbound operation and process can’t begin with Sync File read.
40) Can we use a File 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."
Yes, by selecting the Do not read file content check box in the Jdeveloper wizard while configuring the "Read operation."
41) How to increase performance increase in bpel (Db Adapter/file adapter)?
We can increase the performance by writing indexes and sequences.
(Or) Go to application server ----> Configurations -----> Change Xml file
We can increase the performance by writing indexes and sequences.
(Or) Go to application server ----> Configurations -----> Change Xml file
42) Explain error handling in BPEL and what is a error handling framework? How does a error handling framework better than simple error handling in BPEL?
EHF –Whenever any error thrown by the BPEL process/Mediator then EHF will check whether exist in Fault-Bindings.xml files and if so then the action in the Fault-Policy.xml file will be taken and if the action is not found then the fault will the thrown and it will be handled in the catch block.
EHF –Whenever any error thrown by the BPEL process/Mediator then EHF will check whether exist in Fault-Bindings.xml files and if so then the action in the Fault-Policy.xml file will be taken and if the action is not found then the fault will the thrown and it will be handled in the catch block.
43) How do we resubmit a faulted process?
Scenario A: The BPEL code uses a fault-policy and a fault is handled using the “ora-human-intervention” activity, then the fault is marked as Recoverable and the instance state is set to “Running”.
Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown using the “ora-rethrow-fault” action, then the fault is marked as Recoverable and the instance state is set to “Faulted”; provided the fault is a recoverable one (like URL was not available).
Scenario A: The BPEL code uses a fault-policy and a fault is handled using the “ora-human-intervention” activity, then the fault is marked as Recoverable and the instance state is set to “Running”.
Scenario B: The BPEL code uses a fault-policy and a fault is caught and re-thrown using the “ora-rethrow-fault” action, then the fault is marked as Recoverable and the instance state is set to “Faulted”; provided the fault is a recoverable one (like URL was not available).
44) Predefined errors in BPEL?
Custom errors
Timed out errors
BPM errors
Validation Errors
Custom errors
Timed out errors
BPM errors
Validation Errors
45) What is a throw activity? What it is?
Throw activity will explicitly throw the fault and this fault will get caught by the catch block and the corresponding actions will get executed.
Throw activity will explicitly throw the fault and this fault will get caught by the catch block and the corresponding actions will get executed.
46) What is Web service?
Web services are application components, which are self-contained and self-describing and provide services based on the open protocol communication (i.e. SOAP UI, HTTP over the net).
Web services are application components, which are self-contained and self-describing and provide services based on the open protocol communication (i.e. SOAP UI, HTTP over the net).
47) Difference between URI and URL?
A URI is an identifier for some resource, but a URL gives you specific information as to obtain that resource. A URI is a URL and as one commenter pointed out, it is now considered incorrect to use URL when describing applications. Generally, if the URL describes both the location and name of a resource, the term to use is URI. Since this is generally the case most of us encounter every day, URI is the correct term.
A URI is an identifier for some resource, but a URL gives you specific information as to obtain that resource. A URI is a URL and as one commenter pointed out, it is now considered incorrect to use URL when describing applications. Generally, if the URL describes both the location and name of a resource, the term to use is URI. Since this is generally the case most of us encounter every day, URI is the correct term.
48) What is Mediator?
The Mediator is in charge of interconnecting, within an SOA composite application, components that expose different interfaces. In addition, the Mediator can perform duties such as filtering and making routing decisions.
The composite editor in Jdeveloper gives you the flexibility to define the interface now, to choose an existing interface, or to define the interface later as you wire components to the Mediator.
Transforming data from one representation to another is, along with routing, one of the key functions of the Mediator.
The Mediator is in charge of interconnecting, within an SOA composite application, components that expose different interfaces. In addition, the Mediator can perform duties such as filtering and making routing decisions.
The composite editor in Jdeveloper gives you the flexibility to define the interface now, to choose an existing interface, or to define the interface later as you wire components to the Mediator.
Transforming data from one representation to another is, along with routing, one of the key functions of the Mediator.
49) Difference between ESB and Mediator?
In 10g for routing, separate router need to keep along with ESB for routing and filter expressions.
Where as in 11g mediator contains routing rules and filter expressions itself.
50) What is the difference between concrete and abstract wsdl?
Concrete: Besides the information about how to communicate to the web service, it the information on where the service exist. It has Bindings (Protocol the message should be sent) and Services(has endpoint for each bindings) .
Abstract: It has information about how to communicate to the web service like types (Schema), Message (input and output messages service accepts) ,Operations (operation that can be performed on this service) and port Type.
Concrete: Besides the information about how to communicate to the web service, it the information on where the service exist. It has Bindings (Protocol the message should be sent) and Services(has endpoint for each bindings) .
Abstract: It has information about how to communicate to the web service like types (Schema), Message (input and output messages service accepts) ,Operations (operation that can be performed on this service) and port Type.
No comments:
Post a Comment