soa interview questions

97
1 SOA Interview Questions 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. Q)-SOA Development lifecycle ? Ans)-"From the hundred thousand foot level, you try to establish a need, you gather requirements, you try to architect a solution and then you develop and you test and then you deploy and manage it. At the end of life, you either modify it or retire it." 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? · loose coupling · Re-usability · Interoperability · Flexible 3) What is the difference between 10g and 11g? SCA architecture was followed in 11g and not in 10g

Upload: xavier-john

Post on 13-Apr-2017

369 views

Category:

Software


0 download

TRANSCRIPT

1

SOA Interview Questions

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.

Q)-SOA Development lifecycle ?Ans)-"From the hundred thousand foot level, you try to establish a need, you gatherrequirements, you try to architect a solution and then you develop and you test and thenyou deploy and manage it. At the end of life, you either modify it or retire it."

1) What is SOA?Service Oriented Architecture (SOA) is used to develop Enterprise applications by using acollection of services which communicates each other. Service-Oriented Architecture(SOA) is a set of principles and methodologies for designing and developing software inthe form of interoperable services.

2) Principles of SOA?· loose coupling· Re-usability· Interoperability· Flexible3) 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 asa single deployment unit to single server, where in 10g you have to deploy eachcomponent 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), & OWSMare brought into one place in 11g using SCA composite concept.· The major difference between 10g & 11g would be the app server container. 10g bydefault runs onOC4J while 11g runs on Web logic Server.· In 10g every BPEL is a separate project, but in 11g several components can make 1project as SCA.· In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Managercontains all.· In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.

2

4) Is Oracle SOA same as Oracle Fusion Middleware?No because SOA is one of the parts in Fusion middleware andSOA behaves like user interface where as Fusion is big platform

5) What is SCA?Service Component Architecture (SCA) provides a programming model for buildingapplications and systems based on a Service Oriented Architecture. SCA is a model thataims to encompass a wide range of technologies for service components and for theaccess 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

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 Orchestrationthere is a business process which controls all the services (source/Target) which is part ofthe integration.

8) What are the different design patterns in SOA?· Synchronous· Asynchronous Fire and Forget· Asynchronous Delayed Response.

9) In how many ways can a process be deployed?· Using JDeveloper· Through Enterprise Manger Console· Through Weblogic Scripts.

10) What are dspMaxThread and a recieverThread properties? Why are they important?ReceiverThreads property specifies the maximum number of MDBs that process aysc acrossall domains. Whereas the dspMaxThreads are the maximum number of MDBs thatprocess asy and threads that operate across a domain.So, we need to ensure that the dspMaxThreads value is !> ReceiverThreads.

11) How does a async request run in the backend?The sequence of events involved in the delivery of invoke messages is as follows:· The client posts the message to the delivery service.

3

· The delivery service saves the invocation message to the invoke_message table.Theinitial state of the message is 0 (undelivered).· The delivery service schedules a dispatcher message to process the invocationmessage 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 JMSmessage in the in-memory queue(jms/collaxa/BPELWorkerQueue) in OC4J JMS. Thesmall JMS message triggers the WorkerBean in the downstream step.· This message is then picked up by a WorkerBean MDB, which requests the dispatcherfor work to execute. If the number of WorkerBean MDBs currently processing activities forthe 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 theinvocation message state to 1 (delivered), creates the instance, and executes theactivities 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 needsto be changed to the expected Timeout value.· JTA· Engine Bean

· Delivery Bean13) Is it possible to use MS SQL Server as dehydration store with SOA Suite ?if yeshow?Yes it is possible.To automatically maintain long-running asynchronous processes and their current stateinformation in a database while they wait for asynchronous callbacks, you use a databaseas a dehydration store.Storing the process in a database preserves the process andprevents 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 tosupport clustering and failover.

14) What is SOA governance? What are its functions?Service-Oriented Architecture (SOA) governance is a concept used for activities related toexercising control over services in an SOA Some key activities that are often mentionedas being part of SOA governance are:Managing the portfolio of services: This includes planning development of new services andupdating current services.Managing the service lifecycle: This is meant to ensure thatupdates of services do not disturb current services to the consumers. Using policies torestrict behavior: Consistency of services can be ensured by having the rules applied to allthe created services. Monitoring performance of services: The consequences of servicedowntime or underperformance can be severe because of service composition. Thereforeaction can be taken instantly when a problem occurs by monitoring service performanceand availability.

4

15) What is end point virtualization?Generally a service bus is used for endpoint virtualization and in 11g stack; Oracle ServiceBus (OSB) is the primary service bus. In exposed proxy's message flow, it can route therequest to any of your environment's actual (physical) service on the basis of whateverlogic.Mediator can also be used to expose the service and in mediator routing rule, it can berouted to actual service.

16) What are DVM's and how are they helpful in SOA?DVM-Domain Value Map are static mappings between a source and target system which canbe used in transformations. The value can be changed via SOA composer.

17) What is the difference between XREF and DVM?bstored in XREF_DATA table in SOA Dehydration store.DVM- Domain Value Map is static mappings between a source and target system which canbe used in transformations.

18) What is Dehydration store?Dehydration store is the database where the instances get stored when it gets dehydrated bythe process on the occurrence of non-idempotent activities and also stores the informationon the long running processes.

19) What is Decision service?Oracle SOA Suite provides support for Decision components that support Oracle BusinessRules. A Decision component is a mechanism for publishing rules and rulesets as areusable service that can be invoked from multiple business processes.These rules canbe 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 andthere is need to just get the message routed between the systems OSB is used where aswhen there is more business logic involves in the process,then BPEL will be used.21) What is MDS?MDS –Metadata StoreWsdl and Schemas to be used in the process can be published to the MDS and get it used inthe code by referring the artifacts from the MDSAdvantages:

• JAR (Deployment unit) size will be reduced.• Duplication of the artifacts can be avoided between the services.

22) What is a XA datasource? How it differs from a non-XA datasource?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-XAtransactions have no transaction coordinator, and a single resource is doing all itstransaction work itself (this is sometimes called local transactions).

5

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 besecured 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.

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 inreading the files where the reference of the files read by the managed servers will bemaintained in the control directory.Outbound:It is controlled by DB Mutex table exist in the SOA dehydration store and thisavoids duplicated been written to the same file when all the managed servers in theclusters 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 oneSOA managed server, then the property singleton needs to be defined at the adapterlevel.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 theBPEL process needs to receive the messages from multiple source system. Pick activityshould have at least on Message branch.28) What is a flow activity? What is a flowN activity and how does it leverages the flowactivity?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 ofparallel flow is defined and static. Where as in Flown the no. of execution of parallel flow isnot static and it is determined during run time.29) What do you mean by non-idempotent activity? Which all activities arenon-idempotent by default?Activities like Pick, Wait, receive, reply and checkpoint() are called non-Idempotent activityand during the execution of the process whenever these activities are encountered then itgets 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 beused.31) How does pick activity differ from a receive activity?Pick activity can act as a multiple recieve activity in some business scenarios.If we have twoinbound operations and both can trigger the bpel process then we will go with pick activityas we can’t have two recieve activity with create Instance box checked.

6

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 dynamicpartner link will be used and using addressing schema we can set the endpoint dynamic tosend 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 willbe 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 usedand the value of the preference variable is accessed using getPreference().Thepreference variable value can be changed without re-deploying the code via em consoleMBean 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 inplace of for-each.

36) How do we handle transactions in BPEL?Property needs to be defined to start the new transaction/to continue with the sametransactionsProperty Name: Transaction and if this has value as required then the BPEL process will becontinued in the same transaction where as if the value is defined as requires new then itwill 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 incurone or more dehydration points in the database during execution Ex: Asynchronous Transient:-It is short-lived process, request-response style processes and do not incurdehydration 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 forsynchronous BPEL process if not the BPEL process should be Asynchronous the reasonis 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 myprocess begin with syncFileRead operation?When file has to be read in the mid of the BPEL process, then we will use syncFileReadOperation, means some process should initiate the file read process and it is an outboundoperation 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 whileconfiguring the "Read operation."

7

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

42) Explain error handling in BPEL and what is a error handling framework? How doesa error handling framework better than simple error handling in BPEL?EHF –Whenever any error thrown by the BPEL process/Mediator then EHF will check whetherexist in Fault-Bindings.xml files and if so then the action in the Fault-Policy.xml file willbe taken and if the action is not found then the fault will the thrown and it will be handled inthe 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 theinstance 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 stateis 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

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 andthe corresponding actions will get executed.

46) What is Web service?Web services are application components, which are self-contained and self-describing andprovide services based on the open protocol communication (i.e. SOAP UI, HTTP overthe net).

47) Difference between URI and URL?A URI is an identifier for some resource, but a URL gives you specific information as to obtainthat resource. A URI is a URL and as one commenter pointed out, it is now consideredincorrect to use URL when describing applications. Generally, if the URL describes boththe location and name of a resource, the term to use is URI. Since this is generally thecase 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

8

such as filtering and making routing decisions.The composite editor in JDeveloper gives you the flexibility to define the interface now, tochoose an existing interface, or to define the interface later as you wire components to theMediator.Transforming data from one representation to another is, along with routing, one of the keyfunctions of the Mediator.

49) Difference between ESB and Mediator?In 10g for routing, separate router need to keep along with ESB for routing and filterexpressions.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 theinformation on where the service exist. It has Bindings (Protocol the message should besent) 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 beperformed on this service) and port Type.

51) What is SOAP and what are the binding protocols available?Simple object access protocol and it is a protocol specification for the communicationhappens between the web services over the network and binding protocol is HTTP.

52) What is the difference between Async and Sync activity on wsdl level?• Async wsdl-It has only input messages for the operation and it has 2

operations one for sending the request and other for call back.• Sync wsdl-It has 2 messages input and output messages for the wsdl

operation.53) What are the WSDL structure?Following are the wsdl structure

• Definitions .Types .Messages .Operation• Port type .Bindings .Services .Ports

54) What is the significance of target Namespace in a wsdl?It is the one which uniquely identifies the WSDL and when the WSDL is used it should beidentified using its Target Namespace.

55) What is structure of SOAP message?The structure of a SOAP message: A SOAP message is encoded as an XML document,consisting of an element, which contains an optional element, and a mandatory element.The element, contained within the , is used for reporting errors.The SOAP envelope-The SOAP is the root element in every SOAP message, and containstwo child elements, an optional and a mandatory.The SOAP header-The SOAP is an optional sub-element of the SOAP envelope, and is usedto pass application-related information that is to be processed by SOAP nodes along the

9

message path.The SOAP body-The SOAP is a mandatory sub-element of the SOAP envelope, whichcontains information intended for the ultimate recipient of the message.The SOAP fault-The SOAP is a sub-element of the SOAP body, which is used for reportingerrors.

56) Why do we need to have messages in WSDL, aren't operations and types enough todescribe the parameters for a web service?Messages consist of one or more logical parts. Each part is associated with a type from sometype system using a message-typing attribute. The set of message-typing attributes isextensible.

• The element describes the data being exchanged between the Web serviceproviders and consumers. Each Web Service has two messages: input andoutput.

• The input describes the parameters for the Web Service and the output describesthe return data from the Web Service.

• Each message contains zero or more parameters, one for each parameter of theWeb Service's function.

• Each parameter associates with a concrete type defined in the container element.So describing the parameters cannot performed by operations and types this isthe main need of Messages.

57) What is a inline schema?Schemas can be included inside of XML file is called Inline Schemas.

58) What is the difference between xsd:import and xsd:include?The fundamental difference between include and import is that you must use import to refer todeclarations or definitions that are in a different target namespace and you must useinclude to refer to declarations or definitions that are (or will be) in the same targetnamespace.

59) What is BAM?Business Activity Monitoring is a tool that is useful in monitoring business services andprocesses. It actively collects data, applies rules and reports information to users. Whensomething goes wrong in business processes, BAM can be configured to take correctivemeasures such as emailing administrators/support team.

60) How to send the data to BAM from SOA?The Oracle BAM Adapter is a Java Connector Architecture (JCA)-compliant adapter whichcan be used from a Java EE client to send data and events to the Oracle BAM Server.Oracle BAM Adapter is configured in Oracle Weblogic Server Administration Console toprovide any of these connection pools. Oracle BAM Adapter provides three mechanismsby which you can send data to Oracle BAM Active Data Cache from an SOA compositeapplication.

10

61) What are the ways to publish the data to BAM?There are two ways to publish the data to BAM

• BAM Adapter.• BAM Sensor activity level.

62) What are the roles in BAM?• Architect• Administrator• Active Viewer• Active Studio

63) What is forward delay in JMS Queue?In the clustered environment where JMS queues are used, when for the queues in any one ofthe Managed server doesn’t have the consumer, once messages reaches the forwarddelay time it gets moved to the other managed server where consumer is present.64) What is redelivery limit in JMS Queue?When the message gets failed to get processed ,then it will be re-tried will the redelivery limitexhausts and once after the redelivery limit the message can b e either moved to the errorQueue are it can be discarded.65) What is timetodeliver in JMS Queue?When Messages enqueued to the JMS queue, it will be immediately consumed by the JMSSubscribers, if any delay needs to be induced for the message consuming by theSubscribers then timetodelivery needs to set. The JMS message will not be subscribeduntil timetodelivery exhausts.66) Difference between JMS Queues and Topics?Queue-Message will be subscribed by one subscriber.Topic-Message will be subscribed by more than one subscriber.http://interviewquestionsandanswers.biz/interview-questions-list-and-answers/1.Diffrence b/w Assign and Transform activity is BPEL?Ans. Asssign is used for simple tasks like initializing the varaibles or for transforming smallpayloadsTransform is used for complex and huge payload transformations.Also,When you use assign the variables reside in the memory...where as transformationsinvole the use of XSL engine.Assign is to copy some values in a variable to other variable.(might be copy,insert-after,insert-before,append...etc)Transform is to change the styles.But in general, we use the transformation to change the data from one format to anotherformat.(I mean one structure to another structure)Whtat is SOAP?SOAP is a simple and open standard XML-based protocol for exchanging informationbetween computers.SOAP is an XML-based protocol for exchanging information between computers.SOAP is XML. That is, SOAP is an application of the XML specification.All statements are TRUE for SOAPSOAP is acronym for Simple Object Access ProtocolSOAP is a communication protocol

11

SOAP is designed to communicate via InternetSOAP can extend HTTP for XML messagingSOAP provides data transport for Web servicesSOAP can exchange complete documents or call a remote procedureSOAP can be used for broadcasting a messageSOAP is platform and language independentSOAP is the XML way of defining what information gets sent and howAlthough SOAP can be used in a variety of messaging systems and can be deliveredvia a variety of transport protocols,the initial focus of SOAP is remote procedure calls transported via HTTP.SOAP enables client applications to easily connect to remote services and invokeremote methods.Other frameworks, including CORBA, DCOM, and Java RMI, provide similarfunctionality to SOAP,but SOAP messages are written entirely in XML and are therefore uniquely platformandlanguage-independent.-----------------------------------------------------------------------------Links for Diff ConceptsThrottling :http://soawork.blogspot.in/2013/01/throttling-in-osb.html---------Oracle SOA Interview Questions (Mediator) Part-3Question: What is role of Mediator?Answer: Oracle Mediator provides a lightweight framework to mediate betweenvarious components within a composite application. Oracle Mediator convertsdata to facilitate communication between different interfaces exposed by differentcomponents that are wired to build a SOA composite application.Question:Difference between Mediator & OSB?Answer: OSB is all together different tool which is used for integration like SOAbut the main purpose of OSB is to route the information and same we can do withmediator. The main difference two is, we go for Mediator when we want to routeinformation between different components inside composite and go for OSB whenwe want to route the information between composites. Mediator is used lightweight 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 Mediatorfunctionality 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, avalidation, or an assignment, and then echo the Oracle Mediator back to yourapplication without routing it anywhere else.For synchronous operations with a conditional filter, the echo option does notreturn a response to the caller when the filter condition is set to false. Instead, itreturns a null response.The echo option is available for asynchronous operations only if the OracleMediator interface has a callback operation. In this case, the echo is run on aseparate thread.

12

Question: What is resequencing in Mediator ?Answer: The resequencing feature of the Oracle Mediator reorders sets ofmessages that might arrive to the Oracle Mediator in the wrong sequence. Youcan define resequencing for all operations in an Oracle Mediator or for a specificoperation.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 validateXML 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 OracleRules Dictionary, which in turn enables dynamic modification of the routing logicin a routing rule.When you choose to create dynamic routing rule then it creates a new businessrule service component that is wired to the Oracle Mediator service componentwithin the SOA composite of the Oracle Mediator service component. Thebusiness rule service component includes a rule dictionary. The rule dictionary is ametadata 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:-What all activities you have used while developing your BPEL component.

Ans:

Activity Name

Details

Assign This activity provides a method for data manipulation, such as copying the contents of one variable to another. Copy operations enable you to transfer information between variables, expressions, endpoints, and other elements.

Compensate Use to compensate a scope of activities that has successfully completed. Compensation occurs when a process cannot complete several operations after completing others. The process must return and undo the previously completed operations

Check Point Enables you to explicitly specify a dehydration point, used for forced

13

dehydration.

Empty Activity

Used to specify empty action(i.e no execution), can be used as place holders.

Flow Activity This activity enables you to specify one or more activities to be performed concurrently(parallel flow)

FlowN This activity enables you to create multiple parallel flows equal to the value of N, which is defined at runtime based on the data available and logic within the process

Invoke Used to invoke an operation in the partner link service.

Pick Activity This activity waits for the occurrence of one event in a set of events and performs the activity associated with that event. The pick activity works as receive activity and it can be used to receive messages from different operations. You can also specify the onAlaram branch to timeout while waiting to receive a message.

Receive This activity used to receive a message from the partner link.

Reply This activity allows the process to send a message in reply to a message that was received through a receive activity.

Rethrow This activity enables you to rethrow a fault originally captured by the immediately enclosing fault handler.

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

Switch Used to perform conditional processing.

Terminate A terminate activity enables you to end the tasks of an activity (for example, the fault handling tasks in a catch branch)

Throw This activity generates a fault from inside the business process and throws the fault.

Transform This activity enables you to create a transformation that maps source elements to target elements. Transform activities generated the XSLT file.

Wait This activity allows a process to specify a delay for a certain period

14

While This activity supports repeated performance of a specified iterative activity

Question: Which static routing rule support fault policy ?Answer: Parallel rules only.Question: How many faults can Oracle Mediator service engine throw ?Answer: Only One

Question: What is WSDL ?Answer : WSDL stands for Web Services Description LanguageWSDL is a document written in XML. The document describes a Web service. Itspecifies the location of the service and the operations (or methods) theservice exposes.Question: Explain elements/tags of WSDL ?Answer :typesA container for abstract type definitions defined using XML SchemamessageA definition of an abstract message that may consist of multiple parts, each partmay be of a different typeportTypeAn abstract set of operations supported by one or more endpoints (commonlyknown as an interface); operations are defined by an exchange of messagesbindingA concrete protocol and data format specification for a particular portTypeserviceA collection of related endpoints, where an endpoint is defined as a combination ofa binding and an address (URI)Question: Difference between Abstract and Concrete WSDL ?Answer : Abstract WSDL contains only messages and operations. Abstract WSDLisused by SOAP Server.Where as concrete WSDL contains messages, operations and transportspecific 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 exchangeinformation 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 youmust use import to refer to declarations or definitions that are in a different targetnamespace and you must use include to refer to declarations or definitions thatare (or will be) in the same target namespace.

15

Question : What is targetNamespace's function?Answer :<schemaxmlns="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 torefer to this schema. The target prefix in this case refers to the same namespaceand youwould use it within this schema definition to reference other elements, attributes,types, etc. also defined in this same schema definition.Question : How to refer another XSL from main XSL file ?Answer : The <xsl:import> element is a top-level element that is used to importthe 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. Bothattach a template to specific XML data. This provides formatting instructions fortheXML. The main difference between the two processes is the call function onlyworks with a named template. You must establish a 'name' attribute for thetemplate inorder 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 useNon-XA transaction then you can’t involve multiple resources (different databases,Queues,application servers etc), you can rollback or commit transaction for only oneresource. There is not transaction manager for this transaction as we are dealingwithonly 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-phasecommit to ensure that all resources either all commit or rollback any particulartransaction. When you have scenario like you need to connect to two differentdatabases, JMS Queue and application server, in this case you will use XA

16

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 instancedocuments. Like external schema documents, inline schemas can be used tovalidate thatthe 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 andperforms the activity associated with that event. The occurrence of the events isoften mutually exclusive (the process either receives an acceptance or rejectionmessage, but not both). If multiple events occur, the selection of the activity toperform depends on which event occurred first. If the events occur nearlysimultaneously, there is a race and the choice of activity to be performed isdependent onboth timing and implementation.Question: Design patterns in SOA ?Question: Difference between Synchronous Process and Asynchronous Process ?Question: Use of Config Plans?

1. Is Oracle SOA same as Oracle Fusion MiddlewareA) No because Soa is one of the part in Fusion middleware and soa behaveslike user interface where as Fusion is big platform

2. What is SOA GovernanceA) It means that soa is an service oriented Architecture and for building businessapplications as a set of loosely coupling components integrated with businessservices. Soa is an open standard and technology based that means openstandard is xml based protocol including wsdl and web service basedArchitecture.SOA Governance has some activities , components and services…etcB) SOA REGISTRY,SOA POLICY,SOA TESTING.3. How to increase performance increase in bpel (DB Adapter/file adapter)?A) For getting better performance we use performance tuning.Performance tuning isbased on BPEL Levels ,server level and application level. if we put check point in the bpel processlevel then the performance of application will decrease or the process of the speedreduces.(check point means it stops the next incoming messages until the timer gets expired.)4. Predefined errors in BPEL?A) The Predefined errors are selection failure , conflicting receive, conflicting request , joinfailure , forced termination , invalid reply , binding fault , remote fault.5. Is it possible to use MS SQL Server as dehydration store with SOA Suite?if yes how?A)6. What are the various elements in WSDLA) < definitions > <types> <message> <port types> <bindings> <services> Abstract: Invoke the web service

17

Concreate: development & design phase endpoint uri.7. What is structure of SOAP messageA) Soap can carry the data from source to destination and it is a simple xml based protocolto exchange the information b/w application over httpSOAP message is an ordinary xml document containingi) An envelope element identifies the xml document as a soap messageii) A header element contains header informationiii) A body element contains call and response informationiv) A fault element contains error and status informationv) The element contains actual soap message intended for the ultimate end point ofmessage8. Can I call an asynchronous process from a synchronous. Are their any limitations(how much time is permissible for async process to return)?A) Yes we can call Async to sync and it is one of the good design for bpel and this process iscalled as asynchronous invocation process and no time limitations are permissible9. How to ensure that parallel flows implemented through Flow activity are 'really'parallel?A)We have to check whether the non blocking invoke is set to be true or false.Non blocking invoke property is available in while using invoke-> partnerlink->nonblockingproperty_>set the value.

10. How to develop a web service bottom up?A)11. How to return a fault from BPEL process. Do I need to change the WSDL. Do I needto do it manually?A) Using throw activity we can return a fault from bpel processes and we need to createa fault element in XSD and we need to create fault message of our xsd element and needto change in bpel level12. How to add a specific catch handler for binding faultA) we will use catch handler block and we will add this catch handler at scope level13. How to add a specific catch handler for timeoutA) for mentioning the time out ,we will use scope activity and will add this catchhandler at scope level14. How to use sensorsA) we can send or apply the sensors to BAM , JMS Queue and Topic .Sensors are mainlyused in BAM to know the description or inner details of any object.there are 3different typesB) Activities,Variables and elements.C) Activity sensor is used to monitor the execution of activity with in a bpel processusing activity sensors.We can find execution time of invoke activity or how muchtime it will take to complete an activity.D) Variable Sensor:It is used to monitor the runtime values of variables in a bpel processE) Fault Sensor:used to monitor the Bpel Faults.15. How to use BPEL properties to externalize constants in BPEL processes?A)16. Is it possible to set a timeout when calling a synchronous process?

18

A) Yes it is possible by using scope block we will set a timeout when calling a synchronousprocess17. Is it possible to timeout a asynchronous processA) Yes it is possible by using scope block we will set a timeout when calling aAsynchronous process18. What are the various interaction patterns that can be implementedA) sync and AsyncOnewaybased on wsdlbased on eventsemptyasync timeoutsync timeout.19. Is it possible to escalate a notification during human task?A)Yes we can escalate a notification .In human Task we have deadlines ,in that we canescalate a notification to whom ever you want.20. What are the various options of calling Java code from BPEL processes?A)we use java embedded activity option to call java code from BPEL.We have java classmethodology to call java class or java code from bpel.21. What are the various options available for scheduling a BPEL process?A)We have some unit testing (deployment)process scheduling bpel.We have someSCA(components,activities and some templates)to schedule our bpel process.22. How to call BPEL from java?A) If you are suppose to call bpel from java if our bpel is webservice (has to be inrunning mode)23. How to call BPEL from PLSQLA) if a service is web service we can call any bpel to plsql or vice versa.24. How to call BPEL from ExcelA) By using File adapters we read any kind of files.25. How to use business rules in BPEL process?A) Using business rules component from service component palette. In business rules26. How to delete a file on a FTP server through BPELA ) Should specify the JNDI name in FTP server .The deployment descriptor for deployedinstance of the ftp adapter must associate with jndi name with a set of configurationproperties needed by the ftp adapter to access the ftp server at run time.In this you haveto check delete file option and thus we can delete file from FTP server through bpel.27. How to use In-memory, File based and AQ-based JMSA)28. How to use Apps adapter to call a concurrent programA)29. How to use content based and header based routing?A) Content Based Routing:A routing service determines how the message gets from one point to another with in theoracle.as defined the routing rules against XML msgs.As we can define rules to route msgs based on the msg content.So this is known as contentbased routing.

19

When we configure content rules we hve to specify whether a filter expression is applied.Itspecifies that the contents of msg be analysed before any service invoked.Header Based Routing:30. How to change the filename when writing a file through adapterA)31. What is DVMA)Domain Value MapApplications that you want to integrate using Oracle BPEL or Oracle ESB are likely usedifferent values to represent the same information. For example, one application mightrepresent a state with the long name (CaliforniA) while another application may representthe state with an abbreviation (CA). A domain-value map enables you to associate valuesfrom one application with values from another.33. How to do error handling in ESB. Is error handling different across synchronous andasynchronous ESBs?A)Error handling is possible with ESb but it is difficult in ESB to handle the errors or bugs.

34. What happens if an adapter rejects a file or a message whenreading it. How to retrieve this message?A)if an adapter rejects a file or a message then it will automatically displayed in rejectedmessages folder.35. What is AIA. Why is it such a cool idea...why is it such a hot skill!?A)Application integration Architecture36. How to set log levels for performing detailed debugging?A) By selecting Logging tab in advance options.37. How to see logs in enterprise manager?A)38. What is meant by logfile rotation?A)40. If a file having huge data (more than 10 mb) how to send this data?A) If a file has huge data ,the data should be split into number of messages and send.41. How to set timeout error?A)42. What is the difference between database adapter and oracle appsadapter?A)43. What is diff between BPEL adapters and ESB adapters?A)44. Diff between BPEL and ESBA) BPEL:Bpel is heavy weight productBpel installation wizard takes 500mbIf process centric bpel is right choiceVery good for orchestrationIts performance is slowerBpel has extra features like Work flow,Email notification.

20

Every component in sca can be deployed in Single consoleESB:Light weight productIt takes 270 mb spacePerformance speed is fasterOnly routing transformations are possible,Data centric esb is right choice.45. Benefits of ESB?A) ESB support multibinding protocol includes http,soap,jms server,jca & java for generatinga reliable msgs for delivering Sync and async.ESB moves the data among multiple end points both with in and out side the enterprises.It can transform heavy data also.Connectivity.Document transformationsContent based and Header based routing46. Explain diff types of bindings?A) Soap bindings, http bindings and jms bindings47. Diff between physical path and logical path in file adapter? andhow to set in bpel.xml?A) The Diff between physical path and logical path in file adapter is that in physical paththe deployment and development is done In the same environment and in logical path theyboth are done in different environments.48. what are the activities you are used in syn process and asyn process?A) for sync process we will use receive and reply, assign or transformfor Async process we will use receive and callback, assign or transform49. Explain about pick activity where we use this?A)It allows you to block and wait for suitable messages to arrive or for a timeout to go out.When one of the triggers occur the associate activity is performed and a pick completes.Pick contains On Message and On AlarmWhen we call a third party async service we use pick50. Explain XSLT,XML,XSD,WSDL,XQUERY ?A) XSLT: Extensible markup Language transformationsIn this XSLT we convert one extension to another extension.XML: Extensible markup languageXML is mainly used for storing the data but not showing the data.XML is self descriptive languageIn XML own tags can be defined.XML can be written in 2 typesDTD & XSDDTD:Data type definitionThis describes the structure of the XML documentXSD:XML Schema defintionThis XSD (Schema) is in turn divided in to 2 types.Valid XMLWell Formed XMLValid XML (DTD+well formed XML)

21

Well formed XML (Valid syntax)XSD: Extensible schema definitionXSD:XML Schema defintionThis XSD (Schema) is in turn divided in to 2 types.Valid XMLWell Formed XMLValid XML (DTD+well formed XML)Well formed XML (Valid syntax)WSDL: Web service description language.There are two types of wsdl:Abstract wsdl:which invokes a webserviceConcreate wsdl: where design and deployment is done.WSDl elements:TypesMessagesPorttypesBindingsHostnamePartner linksXQUERY:Xquery is otherwiseknown as Xpath which is defined by /51. how to define the rules in bpel?A: we will define the rules in rules repository and this repository will be available inbusiness rules.52. How to identify weather the webservice id syn or asyn?A)53. Diff between bpel webservice and other webservices?A)54. How to generate SOAP bindings in BPEL?A) After deploying our application would be in server then soap bindings will begenerated in bpel55. Explain about MCF Properties?A)57. What are differences between synchronous and asynchronous process?A) syn process will give immediate output and show in the display page where as Asynalso will give output but not show in the display page.58. Why we will use the partition?A) the partition will be used to reduce the burden for the server and easy to identifythe deployed application which we deployed into server59. How many types of variables are there?A)Simple variable(pre defined variable)MessageElement60. Types of WSDL?A) Concrete wsdl and Abstract wsdlConcrete wsdl is for invoke the web serviceAbstract wsdl is for development and design pattern

22

61. What is end point URI?A) an end point URI means uniform resource identifier and it refers that62. What is domain?A)63. How can we write web services our own?(how to create dynamic webservices)A)64. What is interface? Types of interface?A)65. Why we use metadata schema?A)66. What is one-way & two-way process?A)67. What is deployment plan?A)68. What are the configuration files in adapters?A)69. What is use of OESB/ESB/Mediator/OSB/ALSB?A)70. What are the operations in WSDL?A)71. How can do the customization in adapters? Are there any changesin XML files?A)72. What is work list application?A)73. What are the dehydration storage tables?A)74. What is automated roll-back & manual Roll-back?A)If we use Throw activity explicitily then automatically it rollbacks.B)<throw faultname=”rollback”>C)For manual rollback invoke a partner link that rollbacks a JTA transaction.Suppose in a DBadater ,an error thrown from the database then it causes the JTA Transaction to roll back.75. What is inline schema?A)76. What is success reply and failure reply?A)77. What is difference between imports & include?A)Import : if we have different name spacesInclude: if we have same namespaces.78. What is difference between services & references?A)Services are which are self dependent.service is an entry point into the composite fromexternal world.References are those which are dependent on other services.References are those which aregiven to the external world.79. What of process of choreography?

23

A)80. Which file could deploy in SOA 10g?A) jar files81. Can we use Jdeveloper in OSB?Ans:- No if you want to develop that feature you need to deploy in eclipse82. What RMI & RPC?A) Remote Method invocationB) Remote Procedural Call83. When we use correlation for synchronous & asynchronous services?A) If you get some request, scope will provide the link for same earlier request that is calledcorrelation84. What is XSL & XSLT, Differ those?A)extensiable schema language and extensiable schema language transformation.XSL is simply a language where as xslt is which converts from one format to another.85. What id ODI?A) oracle data integration86. What is idempotent?A)It is one of the activity which is used for retrieving the saved one.Apart from breakpointactivities all are idempotent activities.(Assign,invoke)87. What is WSDL which one we give to client?A)concrete wsdl-Q)What is non idempotent activity?It is an activity which can be happened only once.Break point activities are NON-IdempotentActivities.88. What is JTA?A)89. After consume the data from queue or topic is there any packets?A)90. Can we use two pick/ receive activities or one pick & receive?A) No only one pick and one receive activity can be used91. Why we call ESB in 10g as mediator in 11g?A) the esb functionality has been moved to mediator in11g.92. Can we use customize XSLT? If yes how?A) yes .why bcz we will use the existing mapper file to customize93. Is it compilation done by ant-script? How?A) Yes we will set JAVA path in environment variables for deploying the application throughANT94. What are transaction boundaries?A)If we create transaction with in the transaction then it creates some boundaries and suchboundaries are known as transaction boundaries.Oracle Bpel server always executes request with in a JTA transaction.If JTA transactionalready present with the context then the BPEL process uses this transaction .Otherwise itwill create a new JTA transaction.A client initiate the JTA transaction if Transaction=participation property is specified in

24

the message header.The bpel transaction analyst itself incoming or parent JTA transaction. If the property is notset a new transaction is created ,i.e the transaction is default.Eg : to invoke synchronous95. What is difference between file adapter & FTP Adapter?A) File adapter contains read &write along with synchronous readB) Ftp contains get file & put file, List of files.96. What is OAGIS?(Open applications group integration specification)A)97. Describe about the SOAP?A)Soap is a simple xml based protocol to exchange the information b/w application over http98. From we can retrieve the schema?A)Bam schemaB)MDS schemaC)User interface schemaD)Soa infrastructure schemaMainly schema is retrieved from database.99. What is cube_instance?A)100. What is cluster based deployment?A)101. Can we use throw called without catch & catch all?A) yes we can use102. What is path of deployment file?A)103. In which folder .jar files created?A) deploy folder104. What is file debatching?When a file contains multiple messages we can select publish messages in specific numberof batches and is known as DE-BATCHING.During de batching the file reads the messagesfrom where it left the previous where it left off in order to avoid conflicts105. What is chunk file?106. Can we give time for synchronous & asynchronous? Bywhich activity?A)wait107. How much size can file accept through file adapter? Ifit extends what happened?108. How can find particular fault message in catch allactivity?A)By using catch activity.109. How can we associate faultpolicy.xml with faultbinding.xml?110. What is the best process A) sync-Async111. B) Asyncsync.A) in some cases syn-Asyn and some cases asnc-syn112. What are the different design patterns in SOA?

25

113. What are different types of installations in SOA Suite10g & 11g?A) custom and typical(Basic and advanced)114. What is the significance of target namespace in a WSDL?A) it is there to avoid the naming specifications115. What are different message exchange patterns in BPEL?A) send Asynii) fire and forgetiii) one way invocation116. Flow activity is sequential or parallel?Flow activity is sequential when a property called NONBLOCKINGINVOKEPROPERTY is false.Ifit is set to be TRUE then it works as a parallel.117. What is “nonblockinginvokeall” property?118. What is DSP max thread & receiver thread properties? Whythey are important?119. What is error handling framework?120. What is FlowN activity & how does it beverages the flowactivity?A) If you come to know the number of branches to be executed in development timethen it is FLOW.If you don’t know the number of branches are to be assigned before the design then valuescanbe assigned at runtime then it is FLOW-N121. How do we handle transactions in BPEL?A) parallelly122. What are transient and durable BPEL?A)Transient :The process that does not have any breakpoints(non idempotent activities andidempotent activities)Durable: The process that does have one or more breakpoints(non idempotent activitiesand idempotent activities)Note: Invoke activity is defaultly a idempotent but manually we can set as non idempotent.123. What is XA data source & how it differs from non-XA datasource?A) XA) TransactionalNon XA) Non TransactionalXA) Transactional----XA datasource is the property value of JNDI datasource in JDBC.124. What are MFC properties?125. What all operations can be performed by file adapter?A) read, write, list126. What is synchronous file read operation? Is it in boundor out Bound operation?A) inbound operation127. What all errors handled by BPEL process?A) system errors128. Why do we need JMS queue?129. What is the benefit of JMS queue using over AQ queue?A) In JMS we store the messages in Queue

26

B)130. What is get preference property? &how do we set it andwhat advantage it provides?131. How can we make partner link dynamically?132. How do we resubmit faulted process?A) Through the recovery option.Once fault occurs we have recovery option to recover andmaintain the flow133. Types of deployment?A) Hot deployment and cold deployment134. How do we embed or use of JAVA code in BPEL?135. When do we use ESB over BPEL?A) When large amount of data is transformed we use ESB.B) Dynamic Transformations can be done by ESB than BPELC) ESB helps to increase flexibility ,reusability and over all responsibilities.136. What is out of box error handling in ESB?137. How can we get instance ID in ESB?A) In ESB console we can see instance IDB) When our application is deployed in the ESB console then as instance Is created.138. How can we make routing in ESB dynamic?ESB provides standard based data mapper to map the different applications data models.In Esb routing service contains transformations , filtering options. Using this ESB services wecan create routings dynamically. In Esb High transformations & mappings are very high.ESBover view.139. What is domain value mapping?Applications that you want to integrate using Oracle BPEL or Oracle ESB are likely usedifferent values to represent the same information. For example, one application mightrepresent a state with the long name (CaliforniA) while another application may representthe state with an abbreviation (CA). A domain-value map enables you to associate valuesfrom one application with values from another.140. Explain about the buckets?A) Bucket set having range of values141. How to create dictionary?Dictionary is having Rulesets & Bucket sets.In B-Rules we need to configure facts, rules, and bucket set. All these collectively willbe saved in dictionary. And dictionary would be created.Dictionary is also known as rules repository.In theses repository we will create b-rules &conditions.142. Explain about JNDI connections?JNDI means Java Naming Directory Interface .While configuring adapters in the run time wegive jndi name in db or jms. Jndi binds a object with a name. It looks for that objects throughparticular name Based on that object jndi will works.143. How to process the variable from one instance to anotherinstance?144. What is signal & receive signal?A) to identify the unique service number

27

145. Why do we need to have messages in WSDL, aren't operations and typesenough to describe the parameters for a web service?A) yes we need the messages in wsdl because in wsdl we have input and output messagesand that msg would refer to bpel.As operations and types are alone not enough.Actually themsgs are linked with XSD elements. So msgs are mandatory in wsdl.146.Routings are of 2 types?Content based routingHeader Based routing147.what are dehydration boundaries?InvokePick(on branch)ReceiveWaitCheckpoint147.What are the break point activities?A)wait ,pick, receiveIt is a activity in which oracle bpel server must wait for next incoming messages to wait untiltimer gets expired.148.What are transaction activities?CompensateReceiveReplyInvoke149.How to rollback in bpel apart from using compensate handler?We need to Set propertyThrowfaultname=Rollback150)Types of adapters?Technology adapters like file,jms,db adaptersApplication adapters like sap,Peoplesoft,Siebel CRM.151)diff b/w Soa and other services?Soa is technology independent,loosely coupled,Reusabulity.Other services :It depends upon their functionality.152)Installation types?2 types;Basic type:Embedded DB that acts as a dehydrationAdvanced type: which provide an external db153)What is re hydration?Whenever any message or timer expires then bpel server locates and loads the particularbpel process instances and loaded into memory.This process is known as rehydration.

Oracle Service Bus

28

Oracle Service Bus Interview Questions*During the OSB session we discussed about interview related Questions. Theseare a few Questions which can be asked during interview related to OSBQ) What is Proxy Service ?A) It is exposed to the calling applications or services. Proxy services are OracleService Bus definitions of intermediary Web services that Oracle Service Busimplements locally on WebLogic Server.Q) What is Business Service?A) It connects to the EIS layer. Business services are Oracle Service Bus definitionsof the enterprise services that exchange messages during business processes.Q) What is the EAI architecture OSB follows ?A) OSB follows the BUS architecture in EAI.Q) What does it mean by VETRO concept?A) VETRO stands forV – VirtualisationE – EnrichmentT – TransformR – RouteO – OperateQ) Can we expose any Business Service to external clients or subscribers?A) No, we can not expose Business Services to external clients or subscribers. Weneed Proxy Services to expose to external world.Q) Can we have Proxy Services without Business Services?A) Yes we can have Proxy Services without Business Services , but that will bejust a dummy service. EIS layer can not be connected using that Proxy Service.Q) What is the message flow in Proxy Services ?A) Message flow in OSB is the most important part. It defines the request messageflow from Start Node to Route activity and also defines the response message flowfrom Route to Start Node. It contains Pipeline Pairs, Branch Nodes, Route Nodes ,Stages, Actions etc.Q) What are stages ?A) Stages are OSB Message Flow component to contain the actions.Q) How we can connect to Database from OSB?A) We need to first create one JCA based DB adapter to connect to the database.Then we need to create that JCA based Business Service. We need to call thatBusiness Service to perform database operations.Q) Is there any other way to connect to Database without using JCA adapters?A) Yes we can use XQuery execute-sql() function to connect to database. But it isbetter to use JCA adapters.Q) How we can achieve parallel processing in OSB?A) SPLIT JOINS are meant for parallel processing. So we need to implement Split– Join resources to achieve parallel processing.Q) What are the transformation resources available in OSB?A) In OSB we can use XQuery or XSLT for transforming messages.Q) How to poll file in OSB?A) The proxy service should be using file transport, and also define the requiredcomponents like File Mask,Polling Interval, Read Limit, Post Read Action etc.Q) Can we achieve REST implementation in OSB?A) Yes we can achieve REST service implementation in OSB. It can beimplemented using Branch Nodes.Q) What is Pipeline Error Handler?A) Pipeline Error Handlers are used to handle the errors occurred in Request orResponse Pipleline.Q) How can you end a Proxy flow without using if then else logic ?A) You have to use Reply (with Success)action to end the Proxy Flow where you

29

want.Q) For a JMS Queue Subscriber Proxy Service how can you ensure that the JMSMessage is retried if an error occurs during processing?A) One XA Connection Factory should be created to access that JMS queue andthat Connection Factory should be used in the URL.Q)How can you jump control from one stage to next stage without using if thenelse logic?A) You have to use Skip action at the end of the stage.

16. In a distributed OSB system, if you have been asked to create 2 separatequeues residing on 2 MS, how you will implement this?Answer is : UDQ (User Distributed Queue) is a concept to implement on Clusterenvironment.

17. What are the other standard ways of doing message transformation apart fromXQuery/XSLT?Ans: using Assing activity in SOA11g

5. where a source system puts a flat file into a location and the data has to beinserted to RDBMS. Basically to design a solution for this requirement with OSBand without OSB (using SOA suite components).solution :@ SOA:at service section side using file adapter with get operation we will pickfile from our local system ,Route this file threw Mediator to Db Adapter withInsert operation.@ OSB:A) Proxy service:Using FILE Protocol we will pick file from local systemb)We need to develope a composite of insert db Adapter at Jdev level &import those .xsd,.wsdl,.jca files into eclipse environment. then we generateBusiness service in .jca file.It may be helpful.

OSB 11g - ThrottlingThrottling is termed as " regulate the flow". Oracle Service Bus has throttling feature andby using that feature we can control number of requests sent to target service.

But why we need OSB throttling ?Every system has its own capacity means it can process only certain number of messageat one time, if we try to send messages beyond its capacity then that system'sperformance can degrade or in worst case it can crash. So to avoid all this we can useOSB throttling feature to send limited messages to target system.

Oracle OSB Interview Questions and Answers:-Configuring Proxy Services and Business Services:-Oracle Service Bus proxy services and business services provide the means formanaging services, transforming messages, and routing messages through theenterprise.You can create and configure proxy services and business services using either therun-time environment (Oracle Service Bus Console) or the development environment(Eclipse with Oracle Service Bus plug-ins). You can base proxy services or businessservices on existing Web Services Description Language (WSDL) resources, includingthose imported from a UDDI registry such as the Oracle Service Registry, and thenfurther configure them in the console or the plug-in.1. What is a Proxy Service?

30

Oracle Service Bus proxy services are definitions of intermediary Web services thatOracle Service Bus implements and hosts locally. Oracle Service Bus uses proxyservices to route messages between business services (such as enterprise Webservices and databases) and service clients (such as presentation applications orother business services).A proxy service configuration includes its interface, transport settings, securitysettings, and a message flow definition. The message flow definition defines the logicthat determines how messages are handled as they flow through the proxy service. Ifa proxy service is based on a WSDL document, the configuration also includes aWSDL port or a WSDL binding.

What is Oracle Service Bus Business Services?Oracle Service Bus business services are definitions of enterprise Web services towhich Oracle Service Bus is a client. Those external Web services are implemented inand hosted by external systems, so Oracle Service Bus must know what to invoke,how to invoke it, and what to expect as a result. Oracle Service Bus business servicesmodel those interfaces so that Oracle Service Bus can invoke the external services.A business service configuration includes its interface, transport settings, andsecurity settings. (It does not include a message flow definition.) If the businessservice is based on a WSDL, the configuration also includes a WSDL port or a WSDLbinding.2. What are the different types of Pipelines?Request and Response Pipeline.What is a Pipeline?Pipelines are one-way processing paths that include no branching. A pipeline is anamed sequence of stages containing actions, representing a non-branching onewayprocessing path. It is used to specify the message flow for service requests andresponses. A stage is a user-configured processing step. Messages fed into thepipelines are accompanied by a set of message context variables that contain themessage contents. They can be accessed or modified by actions in the pipelinestages.What is a Pipeline Pair?Pipeline pairs are request and response pipelines. The request pipeline definitionspecifies the actions that Oracle Service Bus performs on request messages to theproxy service before invoking a business service or another proxy service. Theresponse pipeline definition specifies the processing that Oracle Service Busperforms on responses from the business or proxy service that the proxy serviceinvokes before returning a response to a client.What is a Message Flow?In Oracle Service Bus, a message flow is the implementation of a proxy service. Youconfigure the logic for the manipulation of messages using proxy service messageflow definitions. This logic includes such activities as transformation, publishing, andreporting, which are implemented as individual actions within the stages of apipeline.3. What is a Publish Table?Use a publish table action to publish a message to Zero or more statically specified

31

services.

4. What is a Publish Node?We Use a publish action to identify a statically specified target service for a messageand to configure how the message is packaged and sent to that service.WSDL Overview:-A WSDL document describes a service, its location, its operations, and the way inwhich clients can communicate with it. This section provides a very brief introductionto WSDL, to provide context for discussing Oracle Service Bus features.Table 35-1 summarizes the main elements used to define WSDL services.Table 35-1 High-level WSDL ElementsElement Description<types> Type definitions for message content.<message> Abstract definition of the data being exchanged. A message consists of parts, whichdescribe the logical, abstract content of the message.<portType> Abstract collection of operations supported by the service.<operation> Abstract description of an action supported by the service.<binding> Concrete protocol and data format specification for a port type.<port> A single endpoint, consisting of a network address and a binding.<service> Collection of related ports, or endpoints.WSDL specifies SOAP, HTTP, MIME, and Oracle Service Bus-specific bindingextensions, which extend the WSDL binding mechanism to support protocol-specificor message format-specific features.Types:-The <types> element is a container for data type definitions. It uses a type system,such as XML Schema (XSD), to define the vocabulary of messages handled by thisservice. For example, a service that provides stock quotes might define an XMLvocabulary, with the terms TradePriceRequest and TradePrice, as shown in Example35-1.Example 35-1 WSDL Types Example<types><schema targetNamespace="http://example.com/stockquote.xsd"xmlns="http://www.w3.org/2001/XMLSchema"><element name="TradePriceRequest"><complexType><all><element name="tickerSymbol" type="string"/></all></complexType></element><element name="TradePrice"><complexType><all><element name="price" type="float"/></all></complexType>

32

</element></schema></types>Message:-The <message> element provides an abstract, typed definition of the data beingcommunicated. A message consists of parts, each of which describes one logical,abstract unit of the message. A WSDL can define one or more messages, each ofwhich may have one or more parts. For example, the WSDL fragment in Example 35-2defines four message types, sellerInfoMessage, buyerInfoMessage, response, andnegotiationMessage, each of which has one or more parts.Example 35-2 WSDL Message Example<message name="sellerInfoMessage"><part name="inventoryItem" type="xsd:string"/><part name="askingPrice" type="xsd:integer"/></message><message name="buyerInfoMessage"><part name="item" type="xsd:string"/><part name="offer" type="xsd:integer"/></message><message name="response"><part name="result" type="xsd:string"/></message><message name="negotiationMessage"><part name="item" type="xsd:string"/><part name="price" type="xsd:integer"/><part name="outcome" type="xsd:string"/></message>Port Type:-The <portType> element defines a set of operations supported by one or moreendpoints (which are defined in the <port> element). The port type provides thepublic interface for the operations provided by the service. Each operation is definedin an <operation> element, each of which is an abstract description of an actionsupported by the service.For example, the fragment in Example 35-3 defines a port type with one operation,GetLastTradePrice, which can handle an input message, GetLastTradePriceInput, andan output message, GetLastTradePriceOuput. The concrete descriptions of thesemessages are defined in the WSDL binding, as shown in the<soap:operation>subelement in Example 35-4.Example:- WSDL Port Type and Operation Example<portType name="StockQuotePortType"><operation name="GetLastTradePrice"><input message="tns:GetLastTradePriceInput"/><output message="tns:GetLastTradePriceOutput"/></operation></portType>Binding:-

33

The <binding> element specifies a concrete data format specification and a concretetransport protocol for a port type.The fragment in Example 35-4 specifies the binding for the StockQuotePortType porttype, which is provided as the value for the type attribute. The<soap:binding>subelement signifies that the binding is bound to the SOAP protocolformat. In that subelement, the style attribute specifies that the data format is SOAPdocument style, and the transport attribute specifies that the transport protocol isHTTP.Example 35-4 WSDL Binding Example<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http"/><operation name="GetLastTradePrice"><soap:operationsoapAction="http://example.com/GetLastTradePrice"/><input><soap:body use="literal"/></input><output><soap:body use="literal"/></output></operation></binding>Service and Port:-The <service> element defines a collection of related endpoints, each of which isdefined in a child <port> element. A port is defined as a binding associated with anetwork address. For example, the fragment shown in Example 35-5 defines twoports, StockQuotePort, and StockQuotePortUK. They both use the samebinding,tns:StockQuoteSoapBinding, (which is concretely defined in <binding>) buthave different network addresses: http://example.com/stockquotevs.http://example.uk/stockquote. These are alternative ports available for thisservice.Example 35-5 WSDL service and port Example<service name="StockQuoteService"><port name="StockQuotePort" binding="tns:StockQuoteSoapBinding"><soap:address location="http://example.com:9999/stockquote"/></port><port name="StockQuotePortUK" binding="tns:StockQuoteSoapBinding"><soap:address location="http://example.uk:9999/stockquote"/></port></service>

Question: To connect to source system which service we will use?Answer: we will use Proxy service to connect to Source system.

Question: To connect to target system which service we will use?

34

Answer: we will use Business service to connect to target system.

Question:  What is Proxy Service?Answer: Proxy services are OSB definitions of intermediary Web services that OSB implements locally on Oracle WebLogic Server It is a service in OSB which is exposed to source system or application. A proxy service can route messages to multiple business services.you can configure a proxy service message flow definition to route a message to the appropriate business service and map the message data into the format required by the business service interfaceQuestion: What is Business Service?Answer: Business services are Oracle Service Bus definitions of the enterprise services that exchange messages during business processes.It is a service in OSB which is used to connect to target system.

Question: What is Message Flow?Answer: A message flow is the implementation of a proxy service.

You configure the logic for the manipulation of messages using proxy service message flow definitions.This logic includes such activities as transformation, publishing, and reporting, which are implemented as individual actions within the stages of a pipeline.(or)

Message flow is there in proxy service, We do all types of transformation, routing and other processing message flow only.

Question:-What is Start node?Answer: Every message flow begins with a start node. All messages enter the message flow through the start node, and all response messages are returned to the client through the start node. There is nothing to configure in a start node.

Question: What is Pipeline?Answer: Pipeline pairs are request and response pipelines.The request pipeline definition specifies the actions that Oracle Service Bus performs on request messages to the proxy service before invoking a business service or another proxy service.The response pipeline definition specifies the processing that Oracle Service Bus performs on responses from the business or proxy service that the proxy service invokes before returning a response to a client.Each pipeline consists of a sequence of stages.

35

Question: What is Stage?Answer: Stage is a user-configured processing step.

Messages fed into the pipelines are accompanied by a set of message context variables that contain the message contents.They can be accessed or modified by actions in the pipeline stages.

Question: What is Branch node?Answer:

• A branch node allows processing to proceed along exactly one of several possible paths.• Two kinds of branching are supported in message flows message flow one is operational

branch and conditional branch • Operational branching is supported for WSDL-based services, where the branching is based

on operations defined in the WSDL. • You must use operational branching when a proxy service is based on a WSDL with multiple

operations.• Conditional branching is supported for conditions defined in an X-Path-based switch table.• Use conditional branching to branch based on a specified condition.• Conditional branching is driven by a lookup table with each branch tagged with simple,

unique string values.• At run time, the variable or the expression is evaluated, and the resulting value is used to

determine which branch to follow.• If no branch matches the value, the default branch is followed.• operational branching, configured in an operational branch node, and• conditional branching, configured in a conditional branch node.

Question: What is Root node?Answer: A route node performs request/response communication with another service.

• It represents the boundary between request and response processing for the proxy service.• When the route node dispatches a request message, the request processing is considered

complete.• The route node supports conditional routing as well as request and response

transformations.

36

Because a route node represents the boundary between request and response processing, it cannot have any descendants in the message flow

Question: Do we have global variable in OSB (Can we access variable which is defined in proxy service message flow from other proxy service message flow)?Answer: No, we can't access variable in proxy service message flow from other proxy service message flow.

Question: Can we use direct bindings to call SOA composites?Answer: Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.

Question: Where the file will go if there is any error while polling the file?Answer: During configuring file or ftp protocol in OSB, we need to specify error directory, so you can see file to that directory if file polling failed.Question: Why we use Split-Joins in OSB?Answer: To do parallel processing.Question: Types of Split-Joins?Answer: Static and dynamic.Question: How to call Java code from OSB?Answer: By using Java callout activity.Question: Can we use more than one route node in message flow?Answer: No, we can't we use more than one route node in proxy service message flow.Question: When we call asynchronous service from OSB then how to get response back from that asynchronous service to OSB?Answer: Design the proxy service which in turn calls business service which in turn calls asynchronous service. In the message flow of this proxy change the message header to below.You need to specify ReplyTo value so that asynchronous service response came to CallSyncCompositeProxy proxy service.<soap-env:Header xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing"><ns1:MessageID>ws:uniqueAddress</ns1:MessageID><ns1:ReplyTo><ns1:Address>http://localhost:8011/CallAsyncService/proxyServices/CallSyncCompositeProxy</ns1:Address></ns1:ReplyTo></soap-env:Header>Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.For more details refer my below posthttp://soawork.blogspot.com/2012/12/call-asynchronous-webservice-from-osb-over-http.htmlQuestion:  What is throttling in OSB?Answer: Throttling means we want to process certain messages in one time, then we need to set some parameters in OSB to do the required task.For more details refer my below posthttp://soawork.blogspot.com/2013/01/throttling-in-osb.htmlQuestion: to transform from binary to XML or XML to binary format what we will in OSB?Answer: we use MFL.Question: can we use MDS in OSB?

37

Answer: No, Oracle Service Bus does not support MDS.Question: Can we use DVM’s in Oracle Service Bus?Answer: No, we can’t use DVM’s in Oracle Service Bus.Dynamic Message Transformation:-Oracle Service Bus supports the following capabilities for the transformation or processing of messages:

– Validates incoming messages against schemas– Selects a target service or services, based on the message content or message

headers– Transforms messages based on the target service– Transforms messages based on XQuery or XSLT– Supports transformations on both XML and MFL messages– Message enrichment– Supports callouts to Web services to gather additional data for transformation (for

example, country code, full customer records, and so on)

Actions in Stages and Route Nodes:---• Actions provide instructions for handling messages in pipeline stages, error handler stages,

and route nodes.• Based on the context actions are described in 4 different sections:• Communication Actions • Flow Control Actions • Message Processing Actions • Reporting Actions

Communication Actions:--Action Use to… Available in…

Dynamic publish Publish a message to a service specified by an X-Query expression Pipeline stageError handler stageRoute node

Publish Identify a statically specified target service for a message and to configure how the message is packaged and sent to that service

Pipeline stageError handler stage

Publish table Publish a message to zero or more statically specified services. Switch-style condition logic is used to determine at run time which services will be used for the publish

Pipeline stageError handler stage

Communication Actions:--

Action Used to… Available in

Routing options Modify any or all of the following properties in the outbound request: URI, Quality of Service, Mode, Retry parameters, Message Priority

Pipeline stage

Service o Configure a synchronous (blocking) callout to an Oracle Pipeline stage

38

Service Bus-registered proxy or business service Error handler stage

Transport headers Set the header values in messages Pipeline stageError handler stage

Flow Control Actions:-

Action Use to... Available in

For each Iterate over a sequence of values and execute a block of actions

Pipeline stageError handler stage

If..then… Perform an action or set of actions conditionally, based on the Boolean result of an XQuery expression.

Pipeline stageRoute nodeError handler stage

Raise error Raise an exception with a specified error code (a string) and description.

peline stageError handler stage

Resume Resume message flow after an error is handled by an error handler. This action has no parameters and can only be used in error handlers.

Error handler stage

Flow Control Actions:-Action Use to... Available in

Reply Specify that an immediate reply be sent to the invoker Pipeline stageError handler stage

Skip Specify that at run time, the execution of this stage is skipped and the processing proceeds to the next stage in the message flow.

Pipeline stageError handler stage

39

Message Processing Actions:-

Reporting Actions:-

Alert Generate alerts based on message context in a pipeline, to send to an alert destination

Pipeline stageError handler stage

Log Construct a message to be logged and to define a set of attributes with which the message is logged

Pipeline stageError handler stage

Report Enable message reporting for a proxy service. Pipeline stageError handler stage

Message Brokering:-

Service providers and clients exchange messages with an intermediary proxy service instead of directly with each other, eliminating complexities resulting from heterogeneous communication protocols and messaging formatsX-Query-based policies or callouts to external services for message routingRouting policies that apply to both point-to-point and one-to-many routing scenarios (publish). For publish, routing policies serve as subscription filters

Message Processing Actions

40

SOA Interview QuestionsQuestion: To connect to source system which service we will use?Answer: we will use Proxy service to connect to Source system.

Question: To connect to target system which service we will use?Answer: we will use Business service to connect to target system.

Question:  What is Proxy Service?Answer: It is a service in OSB which is exposed to source system or application.

Question: What is Business Service?Answer: It is a service in OSB which is used to connect to target system.

Question: What is Message Flow?Answer: Message flow is there in proxy service, We do all types of transformation, routing and other processing message flow only.

Question: Do we have global variable in OSB (Can we access variable which is defined in proxy service message flow from other proxy service message flow)?Answer: No, we can't access variable in proxy service message flow from other proxy service message flow.

Question: Can we use direct bindings to call SOA composites?Answer: Yes, we can direct binding-bindings to call SOA composites along with SOAP bindings.

Question: Where the file will go if there is any error while polling the file ?Answer: During configuring file or ftp protocol in OSB, we need to specify error directory, so you can see file to that directory if file polling failed.

Question: Why we use Split-Joins in OSB?Answer: To do parallel processing.Question: Types of Split-Joins?Answer: Static and dynamic.Question: How to call Java code from OSB?

41

Answer: By using Java callout activity.Question: Can we use more than one route node in message flow?Answer: No, we can't we use more than one route node in proxy service message flow.

Question: When we call asynchronous service from OSB then how to get response back from that asynchronous service to OSB?Answer: Design the proxy service which in turn calls business service which in turn calls asynchronous service. In the message flow of this proxy change the message header to below.You need to specify ReplyTo value so that asynchronous service response came to CallSyncCompositeProxy proxy service.

<soap-env:Header xmlns:ns1="http://schemas.xmlsoap.org/ws/2003/03/addressing"><ns1:MessageID>ws:uniqueAddress</ns1:MessageID><ns1:ReplyTo><ns1:Address>http://localhost:8011/CallAsyncService/proxyServices/CallSyncCompositeProxy</ns1:Address></ns1:ReplyTo>

</soap-env:Header>Remember ReplyTo address refers to CallSyncCompositeProxy endpoints.For more details refer my below posthttp://soawork.blogspot.com/2012/12/call-asynchronous-webservice-from-osb-over-http.htmlQuestion:  What is throttling in OSB?Answer: Throttling means we want to process certain messages in one time, then we need to set some parameters in OSB to do the required task.

For more details refer my below posthttp://soawork.blogspot.com/2013/01/throttling-in-osb.html

Question: to transform from binary to XML or XML to binary format what we will in OSB?Answer: we use MFL.

Question: can we use MDS in OSB?Answer: No, Oracle Service Bus does not support MDS.

Question: Can we use DVM’s in Oracle Service Bus?Answer: No, we can’t use DVM’s in Oracle Service Bus.Question: What is “Minimum Age” in File adapter?Answer: This parameter specifies the minimum age of files to be retrieved. This enables a large file to be completely copied into the input directory before it is retrieved for processing. 

Question: What is trigger file in File adapter?Answer: When we choose “Trigger File” checkbox, file adapter will not poll/read the file/files from specified directory unless it sees trigger file in trigger file directory. Once trigger files is there in the trigger file directory, file adapter will start polling the files.Question: What is Logical path in File adapter?Answer: This parameter specifies the logical input directory to be polled. The parameter is of type String. We provide value of logical path in composite.xml file.

42

Question: How to handle errors when we unable to read/poll a file using file adapter if that file is corrupt?Answer: We need to use File rejection handler to catch these types of error.Question: What is Sync-Read in file adapter?Answer: When we want to read a file in between our BPEL flow then we use this option.Question: Can we read remote files using file adapter?Answer: To read file from remote location we need to use FTP adapter.

Question: What is native format?Answer: when we want to read the file as it, means we don’t want to transform file content to XML format then we use native format option.

Question: What is OWSM? Answer:  OWSM stands for Oracle Web Service Manager. Oracle Web Services Manager offers a comprehensive and easy-to-use solution for policy management and security of service infrastructure. It is a standalone platform for securing and managing access to web services.

Question:  How do we call secured web service from SOA?Answer: By using OWSM policies.

Question: Can we generate custom OWSM policies?Answer: Yes, we can create custom OWSM policies.

Question:  By how many ways we can add OWSM policy to Web Service?Answer:

·         Through policy annotations at design time·         Via the Administration Console at runtime·         Via Fusion Middleware Control or WLST

Question: When we call secured web service from SOA, which policy we will use “Client” or “Service”?Answer: When we call secured web service from SOA then we add “Client” policy to reference partner link and when we want to secure our web service then we use “Service” policy.

Question: Can we use OWSM with Oracle Service Bus?Answer: Yes, we can access OWSM policies from OSB.

Question: Can we attach OWSM policy to multiple composites to secure composites?Answer: yes, we can apply one policy to all composites in one domain using policy sets.

Question: what is the scope of Policy Sets or where we can apply Policy sets ?Answer:

·         Domain — all policy subjects of the specified type in a domain·         Application or Partition—all policy subjects of the specified type in an application or SOA partition·         Application module or SOA composite—all policy subjects of the specified type in an application

module or SOA composite

43

·         Service or reference—all policy subjects of the specified type in a SOA service or reference·         Port or component—all policy subjects of the specified type in a port or SOA component

Question: By how many ways we can handle error/fault in BPEL?Answer: By using Catch blocks & Fault handling framework.

Question: Can we use both Catch block & fault handling framework in one BPEL?Answer: Yes, we can have both Catch Block & Fault policies files in one BPEL.

Question: Standard Faults in BPEL?Answer: Below is the list of Standard Faults in BPEL.

·         bindingFault, conflictingReceive, conflictingRequest, correlationViolation

·         forcedTermination, invalidReply, joinFailure, mismatchedAssignmentFailure

·         remoteFault,  repeatedCompensation, selectionFailure,  uninitializedVariable

Question: Standard Faults in Mediator?Answer: Mediator has only one standard fault.{http://schemas.oracle.com/mediator/faults}mediatorFault.

Question: How to get Fault Trace in CatchAll block?Answer: By using getFaultAsString() function.

Question: Can we have custom faults in BPEL?Answer: Yes we can create custom faults in BPEL, these faults are usually called Business Faults and we usually handle it by using specific Catch block.

 Question: Can we re throw a fault from Catch blocks?Answer: Yes, we can re-throw fault from Catch block.

Question: Where we keep fault-policies.xml & fault-binding.xml files?Answer: We can keep these files either local to project or in MDS and in both the cases we have to specify the path in composite.xml file.

Question: What is MDS & Why we use MDS in Oracle SOA?Answer: MDS stands for Oracle MetaData Service. It is central repository inside Oracle Fusion Middleware. MDS purpose is to provide centralized store where we can keep, manage & access metadata.Metadata is often defined as data about data, or in other words, pieces of information that describes and gives meaning to other information. Typical examples of metadata used by Oracle Fusion Middleware components are XML files, XSD schema files, XSL transformations, SCA composites, BPEL processes, WSDLs, business rules, Oracle ADF pages, JaveServer Pages (JSP), and Oracle ADF task flows, among others.

The same metadata that is used during the design phase of application is used at application runtime through the metadata service layer. This ensures consistency through the lifecycle of the application. Metadata such as XML files or XSD schema files is usually shared among different components. Therefore, it is not only necessary that those resources can be accessed easily and

44

referenced by all the components, but it is also important that they remain consistent; a change in the metadata should be reflected in all the components that are referencing it. Having only one copy of each metadata resource avoids unnecessary redundancy and guarantees that the changes are made in only one place.

Question: Types of MDS Repository?Answer: File-Based & DB Based.

Question: What is File-Based MDS Repository?Answer:  The idea behind file-based repositories is to allow developers to have a light repository available in their local environment that can be easily adapted for development and tests; a file-based repository relieves developers of having to configure and maintain an external database while providing necessary functionality, such as file referencing and customizations. These kinds of repositories are easily modified and maintained, since they define a directory structure similar to any other directory structure inside an operating system. They can be navigated and altered using common shell commands or any kind of visual file explorer application. The file-based repository is

configuration is used.

Question: What is DB-Based MDS Repository?Answer:  Database-based repositories are used in production environments where robustness is needed. These repositories are created using the Repository Creation Utility (RCU) application from Oracle. This utility helps with the creation of a new database schema with its corresponding tables and objects. Repositories can later be registered or deregistered via the Oracle Enterprise Manager Fusion Middleware Control console.

Question: Which configuration file store MDS configurations?Answer: The adf-config.xml file is a configuration file that is used to store MDS Configurations.

Question: What type of WSDL file we usually keep in MDS?Answer: We usually keep Abstract WSDL’s only in MDS

Question: What is WSDL ?Answer : WSDL stands for Web Services Description LanguageWSDL 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 : Element Name

Description

types A container for abstract type definitions defined using XML Schema

45

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.

Difference Between Concreate WSDL And Abstract WSDL An abstract WSDL document describes what the web service does, but not how it does it or how to contact it. An abstract WSDL document defines:the operations provided by the web service.the input, output and fault messages used by each operation to communicate with the web service, and their format.

A concrete WSDL document adds the information about how the web service communicates and where you can reach it. A concrete WSDL document contains the abstract WSDL definitions, and also defines:the communication protocols and data encodings used by the web service.the port address that must be used to contact the web service.

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

46

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 : <schemaxmlns="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.

Oracle SOA Interview Questions Part- 2Question : 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 ?

47

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.( OR)A Pick activity is a structured BPEL and is part of our process definition, and a Pick activity can contain one or more OnMessage and OnAlarm activities.Question: Design patterns in SOA ?Question: Difference between Synchronous Process and Asynchronous Process ?Question: Use of Config Plans ?Oracle SOA Interview Questions (Mediator) Part-3Question: 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 all together 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 nullresponse.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.

48

Question: Resequencing options available in mediator?Answer: Standard (based on input Id)FIFO(based on time)Best EffortsQuestion: 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: Which static routing rule support fault policy ?Answer: Parallel rules only.

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: How many faults can Oracle Mediator service engine throw ?Answer: Only One{http://schemas.oracle.com/mediator/faults}mediatorFault.

Oracle SOA Interview Questions (Adapter) Part- 4Question: Types of Adapters ?Answer: Transactional & Non- Transactional Adapter Transactional : Database, JMS, AQ, MQ adaptersNon- Transactional: File & FTP adapter

Question: Difference between Read & Sync-Read operation in File & FTP adapter?Answer: Read is used when Polling is required to be done while SyncRead is used when you need to read the file in between the flow i.e you want to have a synchrnous communication.

Question: What is File Debatching ? Answer: When a file contains multiple messages, you can choose to publish messages in a specific number of batches. This is referred to as debatching. During debatching, the file reader, on restart, proceeds from where it left off in the previous run, thereby avoiding duplicate messages. File debatching is supported for files in XML and native formats.

49

Question: What is File ChunkedRead ? Answer: 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.

Question: Multiple Directories supported in File & FTP adapter ?Answer: 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.

Question: What is the use of Trigger file ?Answer: 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.

Question: Types of Rejection Message Handler ?Answer: Web Service HandlerCustom Java HandlerJMS QueueFileOracle SOA Interview Questions (Error Handling) Part- 6Question: By how many ways we can handle error/fault in BPEL?Answer: By using Catch blocks & Fault handling framework.

Question: Can we use both Catch block & fault handling framework in one BPEL?Answer: Yes, we can have both Catch Block & Fault policies files in one BPEL.

Question: Standard Faults in BPEL?Answer: Below is the list of Standard Faults in BPEL. bindingFault, conflictingReceive, conflictingRequest, correlationViolation

50

· forcedTermination, invalidReply, joinFailure, mismatchedAssignmentFailure· remoteFault, repeatedCompensation, selectionFailure, uninitializedVariableQuestion: Standard Faults in Mediator?Answer: Mediator has only one standard fault.{http://schemas.oracle.com/mediator/faults}mediatorFault. Question: How to get Fault Trace in CatchAll block?Answer: By using getFaultAsString() function.

Question: Can we have custom faults in BPEL?Answer: Yes we can create custom faults in BPEL, these faults are usually called Business Faults and we usually handle it by using specific Catch block.

Question: Can we re throw a fault from Catch blocks?Answer: Yes, we can re-throw fault from Catch block.

Question: Where we keep fault-policies.xml & fault-binding.xml files?Answer: We can keep these files either local to project or in MDS and in both the cases we have to specify the path in composite.xml file.Question: What is MDS & Why we use MDS in Oracle SOA?Answer: MDS stands for Oracle MetaData Service. It is central repository inside Oracle Fusion Middleware. MDS purpose is to provide centralized store where we can keep, manage & access metadata.

Metadata is often defined as data about data, or in other words, pieces of information that describes and gives meaning to other information. Typical examples of metadata used by Oracle Fusion Middleware components are XML files, XSD schema files, XSL transformations, SCA composites, BPEL processes, WSDLs, business rules, Oracle ADF pages, JaveServer Pages (JSP), and Oracle ADF task flows, among others. The same metadata that is used during the design phase of application is used at application runtime through the metadata service layer. This ensures consistency through the lifecycle of the application. Metadata such as XML files or XSD schema files is usually shared among different components. Therefore, it is not only necessary that those resources can be accessed easily and referenced by all the components, but it is also important that they remain consistent; a change in the metadata should be reflected in all the components that are referencing it. Having only one copy of each metadata resource avoids unnecessary redundancy and guarantees that the changes are made in only one place.Question: Types of MDS Repository?Answer: File-Based & DB Based.Question: What is File-Based MDS Repository?Answer: The idea behind file-based repositories is to allow developers to have a light repository available in their local environment that can be easily adapted for development and tests; a file-based repository relieves developers of having to configure and maintain an external database while providing necessary functionality, such as file referencing and customizations. These kinds of repositories are easily modified and maintained, since they define a directory structure similar to any other directory structure inside an operating system. They can be navigated and altered using

51

common shell commands or any kind of visual file explorer application. The file-based repository is usually located inside the Oracle JDeveloper home (JDEV_HOME/integration) if the default configuration is used.

Question: What is DB-Based MDS Repository?Answer: Database-based repositories are used in production environments where robustness is needed. These repositories are created using the Repository Creation Utility (RCU) application from Oracle. This utility helps with the creation of a new database schema with its corresponding tables and objects. Repositories can later be registered or deregistered via the Oracle Enterprise Manager Fusion Middleware Control console.

Question: Which configuration file store MDS configurations?Answer: The adf-config.xml file is a configuration file that is used to store MDS Configurations.Question: What type of WSDL file we usually keep in MDS?Answer: We usually keep Abstract WSDL’s only in MDS.

Oracle SOA Interview Questions (OWSM) Part- 7Question: What is OWSM?Answer: OWSM stands for Oracle Web Service Manager. Oracle Web Services Manager offers a comprehensive and easy-to-use solution for policy management and security of service infrastructure. It is a standalone platform for securing and managing access to web services. Question: How do we call secured web service from SOA?Answer: By using OWSM policies. Question: Can we generate custom OWSM policies?Answer: Yes, we can create custom OWSM policies. Question: By how many ways we can add OWSM policy to Web Service?Answer:· Through policy annotations at design time· Via the Administration Console at runtime· Via Fusion Middleware Control or WLST Question: When we call secured web service from SOA, which policy we will use “Client” or “Service”?Answer: When we call secured web service from SOA then we add “Client” policy to reference partner link and when we want to secure our web service then we use “Service” policy.Question: Can we use OWSM with Oracle Service Bus?Answer: Yes, we can access OWSM policies from OSB.Question: Can we attach OWSM policy to multiple composites to secure composites?Answer: yes, we can apply one policy to all composites in one domain using policy sets.Question: what is the scope of Policy Sets or where we can apply Policy sets ?Answer:· Domain — all policy subjects of the specified type in a domain· Application or Partition—all policy subjects of the specified type in an application or SOA partition

52

· Application module or SOA composite—all policy subjects of the specified type in an application module or SOA composite· Service or reference—all policy subjects of the specified type in a SOA service or reference· Port or component—all policy subjects of the specified type in a port or SOA component

Common Principles of SOA8 common principles of SOA are as follows : 1.Reusability Reuse is very important within service-orientation, so that it becomes a core part of that service and design processes. Non-proprietary service technology has providedthe opportunity to maximize the reuse potential of multi-purpose logic on desire level.Services are designed to potential and frequent reuse when available and required.2.Formal ContractServices express their purpose and capabilities via a service contract. To define service and terms of information exchange formal contract is the best way. Contract design including that services functionality, how data types and data models are defined, and how policies lies confidential. There is a constant focus on ensuring that service contracts are optimized, granular, and standardized to ensure that the outcome should be consistent and reliable.3. Loose CouplingCoupling defines a connection or relationship between two things. A measure of coupling is comparable to a level of dependency.The principle of Loose Coupling promotes the independent design and evolution of a logic for a service and implementation . There are many types of coupling involved in the design of a service, each of which can impact the content and granularity of its contract. Figure : Coupling represents a core design consideration that spans both intra and inter-service design. 4. Abstract underlying logic Abstraction ties into many aspects of service-orientation. This principleemphasizes the need to hide as much of the underlying details of a service as possible.Various forms of meta data come into the picture when we are going to assess appropriate abstraction levels. The extent of abstraction applied can affect service contract granularity and can further influence the ultimate cost and effort for run the service.5. ComposabilityThe ability to compose services is a main requirement for achieving some of the most fundamental goals of SOA.Composibility allows logic that will help to create new service at different levels of granuality and that will be capable of participating as effective composition members. The principle of Service Composability addresses this requirement by ensuring that a variety of considerations are taken into account.6. Service are AutonomousThe logic of this principle fully based on explicit boundaries and the principle of this service supports the extent to which other design principles can be effectively realized in real world production environments that increase a service’s reliability and behavioral predictability. And all

53

the services within this explicit boundaries are control by them and these are independent from other service.7. StatelessEvery service should be able to remain loosely coupled and there is no need to manage state information .Service should be design such that its statelessness maximized.Services are therefore ideally designed to remain stateful only when required.8.DiscoverableServices should always be discoverable and also should be such that it is easily understood by humans and also service requesters so that the logic can be used.

Introduction to Oracle Mediator:

          Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Mediator converts data to facilitate communication between different interfaces exposed by different components, which are wired together to build a SOA composite application. For example, a Mediator can accept data contained in a text file from an application or service, transform it to a format appropriate for updating a database that serves as a customer repository and then route and deliver the data to that database.

Oracle Mediator facilitates integration between events and services, where service invocations and events can be mixed and matched. You can use a Mediator component to consume a business event or to receive a service invocation. A Mediator component can evaluate routing rules, perform transformations, validate, and either invoke another service or raise another business event. You can use a Mediator component to handle returned responses, callbacks, faults, and timeouts.

This section provides an overview of Oracle Mediator features:

Content-Based and Header-Based Routing, Synchronous and Asynchronous Interactions

Sequential and Parallel Routing of Messages,Transformations, Validations,Java Callout,

Event Handling,Dynamic Routing,Error Handling,Multiple Part Message Support

Mediator Echo Support

Oracle Mediator provides support for setting rules based on message payload or message headers. You can select elements or attributes from the message payload or the message header and based on the values, you can specify an action. For example, Mediator receives a file from an application or service containing data about new customers. Based on the country mentioned in the customer's address, you can route and deliver data to the database storing data for that particular country. Similarly, you can route a message based on the message header.

Synchronous and Asynchronous Interactions

Oracle Mediator provides support for synchronous and asynchronous request response interaction. In a synchronous interaction, the client requests for a service and then waits for a response to the request. In an asynchronous interaction, the client invokes the service but does not wait for the

54

response. You can specify a timeout period for an asynchronous interaction, which can perform some action, such as raise an event or start a process. Sequential and Parallel Routing of Messages

A routing rule execution type can be either parallel or sequential. You can configure the execution type from Routing Rules panel.

Transformations

Oracle Mediator supports data transformation from one XML schema to another. This feature enables data interchange among applications using different schemas. For example, you can transform a comma-delimited file to the database table structure.

Validations

Oracle Mediator provides support for validating the incoming message payload by using a Schematron or an XSD file. You can specify Schematron files for each inbound message part and Oracle Mediator can execute Schematron file validations for those parts.

Java Callout

Oracle Mediator provides support for Java callout. Java callouts enable the use of Java code, together with regular expressions.

Event Handling

An event is message data sent because of an occurrence of an activity in a business environment. Oracle Mediator provides support for subscribing to business events or raising business events. You can subscribe to a business event that is raised when a situation of interest occurs. For example, you can subscribe to an event that is raised when a new customer is created and then use this event to start a business process such as sending confirmation email. Similarly, you can raise business events when a situation of interest occurs. For example, raise a customer created event after completing the customer creation process.

Dynamic Routing

Dynamic Routing separates the control logic, which determines the path taken by the process, from the execution of the process. You can create a dynamic routing rule from the Mediator Editor.

Error Handling

Oracle Mediator supports both fault policy-based and manual error handling. A fault policy consists of conditions and actions. Conditions specify the action to be carried out for a particular error condition.

Mediator Echo Support

Oracle Mediator supports echoing source messages back to the initial caller after any transforms, validations, assignments, or sequencing are performed.

55

Multiple Part Message Support

Oracle Mediator supports messages consisting of multiple parts. Some Remote Procedure Call (RPC) web services contain multiple parts in the SOAP message.

Difference between Mediator and BPEL

You have many tools to use in a composite, and they may overlap for some cases. Mediator is particularly useful for content based routing of events, and as a listener for events. BPEL of course offers more possibilities for business logic and would generally be suited to defining process logic. A more complex SOA composite likely includes both components and others as well.

Mediator serves the purpose of a bus. It can be best utilized when used for routing. It can do routing based on many parameters and the best part is, the routing rules can be modified at runtime, thus giving the flexibility to choose the target at any point in time.

BPEL

1) Complex Logic

2) Good Support language in form of”activities”

3) Performance wise very slow

4) Support of Dehydration and Instance Monitoring

5) For Long Running process BPEL is the Right Solution

6) To implement the controlled Transactions

Integration of Rules Engine and Human Workflow

7) To implement the service virtualization BPEL is not the right approach

Mediator

1) Less Complex Logic 2) Less Support 3) Three times faster than BPEL

4) No support of de hydration  5) For Long Running process not a proper solution

6) You cannot control the transactions in Mediator.

7) Mediator is the right approach for the service virtualization

Virtualization – Service virtualization provides companies with the ability to create virtual services that offer a stable interface (location, transport, standards, policies, messages) even when the physical service changes.  Virtualization offers high-availability and load-balancing, performance and SLA monitoring and management, routing, versioning, and mediation capabilities to mitigate the impact of change at the provider on service consumers.

Mediator is used for Transformation and Routing.

Routing------------------Static routing and Dynamic Routing

56

Static----------------Serviced Based & Event Based

Dynamic------------Business Rules

What are the advantages of SOA? What are the disadvantages of SOA?

Advantages:-SOA allows you to develop a complex product by integrating different products from different vendors independent of the platform and technology. Thus, it helps to manage complexity involved. And making effective use of SOA concepts, client can be competent enough as the time needed for the development is considerably reduced because of the reuse. It allows an organization to leverage existing assets, rather than building a new product from scratch without making use of existing ones. This also reduces the software development cycle and the cost involved, thus a faster time-to-market is made possible.

Disadvantages:-SOA would not be suitable for applications with GUI functionalities. Those applications would become more complex if they use SOA which requires heavy data exchange. Also application requiring synchronous communication can’t make use of SOA. Also in case of standalone and short lived applications’ implementations, SOA will become an added burden.

http://docs.oracle.com/cd/E14571_01/integration.1111/e10223/index.htm

if you need any images regarding below concepts go to above link

Introduction to Oracle SOA Suite Components:-

Oracle SOA Suite provides a comprehensive suite of components for developing, securing, and monitoring service-oriented architecture (SOA).

Service components (BPEL process, business rule, human task, spring, and mediator) are the building blocks that you use to construct a SOA composite application. The Service Infrastructure provides the internal message transport infrastructure capabilities for connecting service components and enabling data flow. Service engines for the components process the message information received from the Service Infrastructure. See SOA Composite Application Architecture for more information about service components.

Oracle Business Activity Monitoring consumes data transported over the Service Infrastructure, providing powerful business insight capabilities.

The following components comprise an Oracle SOA Suite installation:

Service Infrastructure Oracle Mediator Oracle Adapters Business Events and Events Delivery Network Oracle Metadata Repository

57

Oracle Business Rules Oracle WSM Policy Manager Oracle BPEL Process Manager Spring Context Human Workflow Oracle Business Activity Monitoring Oracle User Messaging Service Oracle B2B Oracle JDeveloper Oracle Enterprise Manager

The following components are included with Oracle SOA Suite, but available as a separate download:

Oracle Service Bus Oracle Complex Event Processing

Both the Oracle Service Bus and the Service Infrastructure share common components, including Oracle Adapters, Oracle Metadata Repository, and the UDDI registry. The UDDI registry is available with the Oracle Service Registry, which is a separately licensable component. See Oracle Service Registry for more information.

In addition, several separately licensable products interoperate with Oracle SOA Suite components. See Interoperability with Other Oracle Products for more information.

Life Cycle of a SOA Composite Application:-

The basic life cycle of a SOA composite application is as follows:

58

Use Oracle JDeveloper to design a SOA composite application with various SOA components. Package the composite application for deployment. Deploy the SOA composite application to the SOA Infrastructure. The SOA Infrastructure is a

Java EE-compliant application running in Oracle WebLogic Server. The application manages composites and their life cycle, service engines, and binding components.

Use Oracle Enterprise Manager Fusion Middleware Control to monitor and manage the composite application for a farm's SOA infrastructure.

Service Infrastructure

• The Service Infrastructure provides the internal message routing infrastructure capabilities for connecting components and enabling data flow:

• Receives messages from the service providers or external partners through SOAP binding components, adapters, or the delivery API in the form of XML.

• Routes messages based on the composite definition to the appropriate service engine.• Oracle Mediator and the Service Infrastructure provide the following combined capabilities:• Routing services to provide data movement• Routing rules to specify routing, document transformation, and filtering• Subscriptions to business events• Unified error handling and exception management

Oracle Mediator:-

Analogous to a load balancer routing HTTP traffic, the Oracle Mediator routes data from service providers to external partners. In addition, it can subscribe to and publish business events.

Using Oracle Mediator, you create routing services and rules for them. A routing service is the key component for moving a message across the enterprise service bus – from its entry point to its exit point. The rules determine how a message instance processed by the routing service gets to its next destination. Using the rules, Oracle Mediator can perform the following actions:

Route: Determines the service component (BPEL process, business rule, human task, and mediator) to which to send the messages. Validate: Provides support for validating the incoming message payload by using a schematron or an XSD file. Filter: If specified in the rules, applies a filter expression that specifies the contents (payload) of a message be analyzed before any service is invoked. Transformation: If specified in the rules, transforms document data from one XML schema to another, thus enabling data interchange among applications using different schemas.

During runtime, Oracle Mediator evaluates routing rules, performs transformations, applies optional time delays, and either invokes another service or raises another business event. A routing service can handle returned responses, callbacks, faults, and time-outs. Oracle Mediator can also be used to implement a variety of integration patterns, such as service virtualization, service aggregation, publish and subscribe, fan-in, and fan-out.

About Oracle Service Bus with Oracle Mediator:-

Oracle Service Bus provides standalone service bus capabilities, enabling separation between application developers and target systems or services. The main users of the Oracle Service Bus

59

are integration developers and operations personnel. Their mission is to shield application developers from changes in the endpoint services or systems and to prevent those systems from being overloaded with requests from upstream applications.

Whereas Oracle Service Bus provides service virtualization and protocol transformations for an Oracle SOA Suite application containing multiple composites, Oracle Mediator is an intra-composite mediation component that is deployed within an application.

Oracle Service Bus :-Oracle Service Bus, available as a separate download with an Oracle SOA Suite license, is an intermediary that processes incoming service request messages, determines routing logic, and transforms these messages for compatibility with other service consumers. It receives messages through a transport protocol such as HTTP(S), JMS, File, andFTP, and sends messages through the same or a different transport protocol. Service responsemessages follow the inverse path.

Oracle Service Bus connects, mediates, and manages interactions between heterogeneous services, not just Web services, but also Java and .Net, messaging services and legacy endpoints. It uniquely delivers the integration capabilities of an Enterprise Service Bus (ESB) with operational service management in a single product with an efficient, seamless user experience. With its flexible deployment options and automated integration withOracle SOA Governance Suite, Oracle Service Bus handles the deployment, management and governance challenges of implementing SOA from department to enterprise scale.

Specifically, Oracle Service provides the following functional areas: Management: Provides embedded service management capabilities that provide optimized

governance of all messaging. Its preemptive support ensures that mission-critical business processes continue to serve customer needs, even as business demands, requirements, and workloads change.

Mediation: Provides a rich environment for content-based routing, message transformations, and lightweight orchestrations.

Adaptive Messaging: Reliably connects any service by leveraging standards Web service transports, traditional messaging protocols and configuration of enterprise-specific custom transports.

Security: Provides a rapid service configuration and integration environment that abstracts policies associated with routing rules, security, and service end-point access.

Comparing Oracle Mediator with Oracle Service Bus:-

Oracle Mediator is an intra-composite mediation component that is deployed within a composite, keeping the composite on a canonical model. Its primary function is to provide the transformation of legacy formats to a common format. It is responsible for brokering communications between components that make up a composite, enabling transformation, routing, event delivery, and payload validation inside the composite.

Oracle Adapters:-Oracle Adapters use JCA technology to connect external systems to the Oracle SOA Suite.

60

Oracle SOA Suite provides the following technology adapters to integrate with transport protocols, data stores, and messaging middleware:

BAM FTP Java Messaging Service (JMS) Advanced Queuing (AQ) Files Message Queuing (MQ) Series

Oracle also provides support for third-party adapters. See Other Adapters for additional information.

Business Events and Event Delivery Network:-

You can raise business events when a situation of interest occurs. Business events are messages sent as the result of an occurrence or situation, such as a new order or completion of an order. In Oracle SOA Suite, the mediator service component subscribes or publishes events. When an event is published, other applications can subscribe to it.

Definitions for business events, as well as other artifacts of a composite, are stored in the Oracle Metadata Repository (MDS), and then published in the Event Delivery Network (EDN).

Oracle Metadata Repository:-

The Oracle Metadata Repository (MDS) stores business events, rulesets for use by Oracle Business Rules, XSLT files for Oracle Service Bus and Oracle Mediator, XSD XML schema files for Oracle BPEL Process Manager, WSDL files, and metadata files for Complex Event Processing.

To publish the MDS services to the outside world, use the Oracle Enterprise Repository provided with the Oracle SOA Governance Suite.

Oracle Business Rules:-

Oracle Business Rules, initiated by a BPEL process service component, enable dynamic decisions at runtime allowing you to automate policies, constraints, computations, and reasoning while separating rule logic from underlying application code. In addition, the human task and mediator service components can make use of rules for dynamic routing. A mediator service component can use a business rule for routing messages, and a human task can use a business rule for routing assignments. The Oracle Metadata Repository (MDS) stores the rulesets for Oracle Business Rules.

Oracle Business Rules provide more agile rule maintenance and empowers business analysts with the ability to modify rule logic without programmer assistance and without interrupting business processes.

Oracle WSM Policy Manager:-

Oracle WSM Policy Manager provides the infrastructure for enforcing global security and auditing policies in the Service Infrastructure. By securing various endpoints and setting and propagating

61

identity, it secures applications. Oracle WSM Policy Manager provides a standard mechanism for signing messages, performing encryption, performing authentication, and providing role-based access control. You also can change a policy without having to change the endpoints or clients for this endpoints, providing greater flexibility and security monitoring for your enterprise.

In addition, Oracle WSM Policy Manager collects monitoring statistics with information about the quality, uptime, and security threats and displays them in a Web dashboard. As a result, Oracle WSM Policy Manager provides better control and visibility over Web services.

Oracle BPEL Process Manager:-s

Oracle BPEL Process Manager provides the standard for assembling a set of discrete services into an end-to-end process flow, radically reducing the cost and complexity of process integration initiatives. Oracle BPEL Process Manager enables you to orchestrate synchronous and asynchronous services into end-to-end BPEL process flows.

You integrate BPEL processes with external services (known as partner links).

You also integrate technology adapters and services, such as human tasks, transformations, notifications, and business rules within the process.

Spring Context:-

Oracle SOA Suite provides support for the spring framework functionality of the WebLogic Service Component Architecture (SCA) of Oracle WebLogic Server. Spring is a popular application framework that enables developers to quickly and easily create high quality applications for deployment into high-end application servers. The spring framework provides a lightweight container that makes it easy to use different types of services. Lightweight containers can accept any JavaBean, instead of specific types of components.

You can use the spring framework to create Java applications using plain old Java objects (POJOs) and expose components as SCA services and references. In SCA terms, a WebLogic spring framework SCA application is a collection of POJOs plus a spring SCA context file that wires the classes together with SCA services and references.

Oracle SOA Suite provides a spring context service component that enables you to use Java interfaces instead of WSDL files in SOA composite applications. You can also integrate components that use Java interfaces with components that use WSDL files in the same SOA composite application. For example, you can have a spring context service component invoke an Oracle BPEL Process Manager service component or an Oracle Mediator service component invoke a spring context service component or Enterprise JavaBean.

Human Workflow:-

62

Many end-to-end business processes require human interactions with the process. For example, humans may be needed for approvals, exception management, or performing activities required to advance the business process. The human workflow component provides the following features:

Human interactions with processes, including assignment and routing of tasks to the correct users or groups

Deadlines, escalations, notifications, and other features required for ensuring the timely performance of a task (human task activity)

Presentation of tasks to end users through a variety of mechanisms, including a worklist application (Oracle BPM Worklist)

Organization, filtering, prioritization, and other features required for end users to productively perform their tasks

Reports, reassignments, load balancing, and other features required by supervisors and business owners to manage the performance of tasks

The graphic shows an overview of human workflow:

1 A BPEL process invokes a human task activity when it needs a human to perform a task. A human task activity creates a task in the human task service component.2 The human task service component uses workflow services to perform a variety of operations in the life cycle of a task, such as querying tasks for a user, retrieving metadata information related to a task, and so on.3 The human task service component presents tasks to users through a variety of channels, such as Oracle BPM Worklist, email, portals, or custom applications. Oracle BPM Worklist, a role-based application that supports the concept of supervisors and process owners, and provides functionality for finding, organizing, managing, and performing tasks.

Oracle Business Activity Monitoring:-

Oracle Business Activity Monitoring (Oracle BAM) is a complete solution for building real-time operational dashboards and monitoring and alerting applications over the Web. Using this technology, business user gain the ability to build interactive, real-time dashboards and proactive alerts to monitor their business services and processes. More specifically, Oracle BAM enables business operation workers and managers to:

Monitor business processes and services in real-time Analyze events as they occur by correlating events, identifying trends as they emerge, and alerting users to bottlenecks, exceptions, and solutions to business problems Act on current conditions with event-driven alerts, real-time dashboards, BPEL processes, and Web services integration, enabling quick changes or corrective action to business processes

The graphic depicts the Oracle Business Activity Monitoring active data architecture for dynamically moving real-time data to end users through every step of the process. It shows various mechanisms to feed data into Oracle BAM. Oracle BAM processes incoming data and analyzes

63

events. Oracle BAM Web Applications, including Active Viewer, Active Studio, Architect, Administrator, enable users to build Oracle BAM schema, dashboards, and alerts. BAM Data Control enables developers to create ADF pages with active data content. Oracle BAM and its applications then provide output to users.

Oracle SOA Suite makes it easy to expose SOA events, such as BPEL processes, to the BAM engine. Because many of the events are not SOA events, you need to consider all of the different disparate events and how you want to correlate and aggregate that information together and display in real-time dashboards.

Oracle Complex Event Processing:-

Databases are best equipped to run queries over finite stored data sets. However, many modern applications require long-running queries over continuous unbounded sets of data. By design, a stored data set is appropriate when significant portions of the data are queried repeatedly and updates are relatively infrequent. In contrast, data streams represent data that is changing constantly, often exclusively through insertions of new elements. It is either unnecessary or impractical to operate on large portions of the data multiple times. Many types of applications generate data streams as opposed to data sets, including sensor data applications, financial tickers, network performance measuring tools, network monitoring and traffic management applications, and clickstream analysis tools. Managing and processing data for these types of applications involves building data management and querying capabilities with a strong temporal focus.

To address this requirement, Oracle SOA Suite provides Oracle Complex Event Processing (Oracle CEP), a data management infrastructure that supports the notion of streams of structured data records together with stored relations. Oracle CEP is included with Oracle SOA Suite, but available as a separate download. It is optimized to handle very large volumes of events, such as those found in bank transactions, that cannot be managed by Oracle BAM. In addition, Oracle Complex Event Processing can perform complex correlations and pattern matching.

For a composite application to use Oracle CEP, an Oracle Mediator publishes business events to the Event Delivery Network (EDN). At runtime, the Oracle CEP Service Engine subscribes to these events. The Oracle CEP Service Engine executes a Continuous Query Language (Oracle CQL) query and searches for patterns in event streams. Oracle CQL is a query language based on SQL with added constructs that support streaming data. Using Oracle CQL, you can express queries on data streams to perform complex event processing. The Oracle CEP Service Engine listens on these streams, caches all the necessary individual, seemingly unrelated events and tries to correlate them into specific patterns. The data provided from complex event processing queries can then be used in Oracle BAM.

The potential applications of Oracle CEP are numerous, from electronic trading and risk management to intrusion detection and compliance monitoring.

Specifically, Oracle CEP provides the following functional areas:

Data and Event Sources: An Oracle CEP event source identifies a producer of data that your

64

Oracle CQL queries operate on. Event sources include data feeds such as wire services and stock tickers, sensors such as temperature, motion, or radio frequency identification (RFID) detectors, and other devices. Oracle CEP provides a variety of adapters that connect such real-world event sources to your Oracle CQL queries. Oracle CEP adapters support the following event sources: JMS, HTTP publisher/subscriber, and file. Context Creation: Oracle CEP offers a variety of sliding window operators and views (subqueries) that allow you to define the temporal or semantic context in which filtering, correlation and aggregation, and pattern matching takes place. Using windows and views, you can define contexts such as events in the last 5 minutes or events for a particular customer, and so on. Oracle CQL provides a variety of sliding windows, including: range-based (time or constant value), tuple-based, and partitioned. In addition, you can easily define custom window operators. Filtering: Using Oracle CQL, you can specify queries that select on any of the attributes of the events offered by event sources. You use such queries to filter the event sources to obtain events of interest. Oracle CQL provides a rich set of operators, expressions, conditions, and statements for this purpose. Correlation and Aggregation: Using Oracle CQL, you can perform advanced statistical and arithmetic operations on the attributes of the events offered by event sources. Oracle CQL provides: single-row functions that return a single result row for every row of a queried stream or view; aggregate functions that return a single aggregate result based on a group of tuples, rather than on a single tuple; statistical and advanced arithmetic operations based on the Colt open source libraries for high performance scientific and technical computing; and statistical and advanced arithmetic operations based on the java.lang.Math class. In addition, you can easily define custom single-row and aggregate functions. Pattern Matching: Using the Oracle CQL MATCH_RECOGNIZE condition, you can succinctly express complex pattern matching operations for a wide variety of tasks such as algorithmic trading, double-bottom detection, non-event detection, and so on. The following example detects if perishable food is exposed to temperatures of 25 C or higher for more than 5 minutes.

<query id="detectPerish"><![CDATA[ select its.itemId from ItemTempStream MATCH_RECOGNIZE ( PARTITION BY itemId MEASURES A.itemId as itemId PATTERN (A B* C) DEFINE A AS (A.temp >= 25) and , B AS ((B.temp >= 25) and (B.element_time - A.element_time < INTERVAL "0 00:00:05:00" DAY TO SECOND)), C AS ((C.temp >= 25) and C.element_time - A.element_time >= INTERVAL "0 00:00:05:00" DAY TO SECOND) )) as its]]></query>

Complex Event Sinks: An Oracle CQL event sink identifies a consumer of Oracle CQL query results. That is, a consumer of notable events that Oracle CQL queries have extracted from event sources by executing filtering, correlation and aggregation, and pattern matching within various contexts. Typically, notable events are fewer in number (and much higher in value) than the events offered by event sources. Oracle CEP adapters support the following event sinks: JMS, HTTP publisher/subscriber, file, and event beans. Event beans are Plain Old Java Objects (POJO) that contain the business logic you want executed when certain notable events occur.

65

Oracle User Messaging Service:-

Oracle User Messaging Service provides a common service responsible for sending out messages from applications to devices. It also routes incoming messages from devices to applications.

You can easily send outgoing notifications from a BPEL process flow or invoke outgoing and incoming messages for tasks assigned to users from a human task.

Oracle B2B:-

66

Oracle B2B is an eCommerce gateway that enables the secure and reliable exchange of messages between an enterprise and its trading partners. It is a binding component of the Oracle SOA Suite and this platform enables the implementation of complete end-to-end eCommerce business processes.

What Is eCommerce?

Electronic commerce, eCommerce, is the buying and selling of products or services electronically and can take many forms, for example, machine-to-application, customer-to-application, application-to-application and business-to-business (B2B). In any form, eCommerce, is an integral component of any enterprise integration strategy and the focus must be the business process. You must address process orchestration, error mitigation, data (translation, transformation, and outing), security, compliance, visibility, and management.

What Does Oracle B2B Provide?

Oracle B2B addresses the documents, packaging, transports, messaging services, Trading Partner profiles, and agreements with the following features:

Document Management: Provides multiple document standards, such as definitions, validation, translation, identification, correlation, batching, routing, code lists, and envelope generation. Trading Partner Management: Provides capabilities to manage trading partner profiles and agreements. Profiles: Provides trading partners details, such as identifications, contacts, users, delivery

67

channels, supported documents, and security. Agreements: Enables agreement between trading partners for a specific interaction. System Management: Provides features to monitor and manage the environment.

The graphic demonstrates a typical eCommerce use case:

4 The application initiates the purchase order.5 A mediator service component receives the purchase order. It validates, performs code conversion, transforms the purchase order to a canonical, and routes the document. (Canonical refers to a canonical data model that is used to transition between different document standards.)6 A BPEL process service component receives the purchase order, orchestrates any required business process, and can invoke a human task, business rule, and error handling as required.7 A mediator service component receives the purchase order, validates, performs code conversion, transforms the canonical to the target purchase order, and routes the document.8 Oracle B2B receives the purchase order, identifies the partner, identifies the agreement, validates the purchase order, translates the purchase order to EDI, generates the EDI envelope, generates acknowledgments, and manages the secure exchange of the purchase order with the external trading partner.

Oracle JDeveloper:-

Oracle JDeveloper is the development component of Oracle SOA Suite. It forms a comprehensive Integrated Service Environment (ISE) for creating and deploying composite applications and managing the composite.

Oracle JDeveloper enables developers to model, create, discover, assemble, orchestrate, test, deploy, and maintain composite applications based on services.

The SOA Composite Editor enables you to create, edit, and deploy services, and also to assemble them in a composite application, all from a single location. These components are integrated together into one application and communicate with the outside world through binding components such as Web services and JCA adapters.

The SOA Composite Editor enables you to use either of two approaches for designing SOA composite applications:

The top-down approach of building a composite application puts interfaces first and implementation next. For example, you first add BPEL processes, human tasks, business rules, and Oracle Mediator routing services components to an application, and later define the specific content of these service components. The bottom-up approach takes existing implementations of service components and wraps them with Web service interfaces for assembly into a composite application. For example, you first create and define the specific content of BPEL processes, human tasks, business rules, and Oracle Mediator routing services components, and later create a SOA composite application to which you add these service components.

Oracle JDeveloper provides the following additional editors to design service components:

68

Oracle BPEL Designer: You can create a BPEL process service component in the SOA composite application of Oracle JDeveloper and then design it by using the BPEL Designer, which is displayed, when you double-click a BPEL process in the SOA Composite Editor. Oracle Mediator Editor: You can create a mediator service component in the SOA composite application of Oracle JDeveloper, and then design it by using the Mediator Editor, which is displayed when you double-click a Mediator in SOA Composite Editor. Human Task Editor: You can create a human task service component in the SOA composite application of Oracle JDeveloper and then design it by using the Human Task Editor, which is displayed when you double-click a human task in the SOA Composite Editor. Business Rules Designer: You can create a business rules service component in the SOA composite application of Oracle JDeveloper and then design it by using the Business Rules Designer, which is displayed when you double-click a business rule in the SOA Composite Editor.

Oracle Enterprise Manager:-

You can configure, monitor, and manage your SOA composite application during run time from Oracle Enterprise Manager Fusion Middleware Control Console. Fusion Middleware Control is a Web browser-based, graphical user interface that you can use to monitor and administer a farm.

A farm is a collection of components managed by Fusion Middleware Control. It can contain Oracle WebLogic Server domains, one Administration Server, one or more Managed Servers, clusters, and the Oracle Fusion Middleware components that are installed, configured, and running in the domain.

Fusion Middleware Control organizes a wide variety of performance data and administrative functions into distinct, Web-based home pages for the farm, domain, servers, components, and applications. The Fusion Middleware Control home pages make it easy to locate the most important monitoring data and the most commonly used administrative functions from your Web browser.

You deploy SOA composite applications designed in Oracle JDeveloper to the SOA Infrastructure. The SOA Infrastructure is a Java EE-compliant application running in Oracle WebLogic Server. The application manages composites and their life cycle, service engines, and binding components.

From Fusion Middleware Control, you select a farm and select the SOA Infrastructure for that farm to begin administration. You can navigate to Oracle SOA Suite administration tasks through the SOA Infrastructure home page and menu. The SOA Infrastructure provides you with access to all deployed SOA composite applications, service engines, service components, business events, and other elements.

Fusion Middleware Control provides a wide variety of administrative and performance data for the SOA components, composite applications, and composite instances within the SOA infrastructure, enabling you to administer and pinpoint issues.

69

SOA Composite Application ArchitectureSOA Composite :-

A SOA composite is an assembly of services, service components, and references designed and deployed together in a single application. Wiring between the service, service component, and reference enable message communication. The composite processes the information described in the messages.

The graphic provides an example of a composite that includes a mediator service component and a BPEL service component, an inbound service binding component, and an outbound reference binding component.

Service Components

Service components are the building blocks of a SOA composite application. Each service component is hosted in its own service engine container. Messages sent to the service engine are targeted at specific service components. For example, a message targeted for a BPEL process is sent to the BPEL service engine. Service engines process the message information received from the .

The following service components are available. There is a corresponding service engine of the same name for each service component. All service engines can interact together in a single composite.

BPEL processes provide process orchestration and storage of synchronous or asynchronous process. You design a business process that integrates a series of business activities and services into an end-to-end process flow Business rules enable you to design a business decision based on rules. Human tasks provide workflow modeling that describes the tasks for users or groups to perform as part of an end-to-end business process flow. Mediators route events (messages) between different components.

Services

Services provide the outside world with an entry point to the SOA composite application. The WSDL file of the service advertises its capabilities to external applications. These capabilities are used for

70

contacting the SOA composite application components. The binding connectivity of the service describes the protocols that can communicate with the service, for example, SOAP/HTTP or a JCA adapter.

References

References enable messages to be sent from the SOA composite application to external services in the outside world.

Wires

Wires enable you to graphically connect the following components in a single SOA composite application for message communication:

Services to service components

Service components to other service components

Service components to reference

Interoperability with Other Oracle Products:

Separately Licensed Products:-You can use the following separately licensed products with Oracle SOA Suite:

Oracle Service Registry Other Adapters Oracle SOA Governance Suite Oracle Business Process Management Suite Oracle Business Process Analysis Suite Oracle Event-Driven Architecture Suite Oracle Data Integrator Oracle Business Intelligence

Oracle Service Registry:-The Oracle Service Registry provides visibility into services, service providers, and related resources across the enterprise. Specifically, it publishes the Oracle Metadata Repository (MDS) services to the outside world. It provides a configurable, scalable, secure repository, called the Oracle Application Server UDDI Registry, of Web services that can be managed, discovered and governed by Oracle Fusion Middleware. The Oracle Service Registry advertises the existence of these services to potential consumers. The Oracle Service Registry provides the following services for an enterprise:

Enables service providers to publish and advertise their offerings Allows service consumers to find, access, and invoke services that meet defined criteria Provides critical features for SOA governance

71

For Oracle SOA Suite, a BPEL process service component use the UDDI registry to store a service key for a partner link in a BPEL process, and a mediator service component uses the registry to store a service key for a SOAP service. A BPEL process service componentinteracts with external services through partner links, and a mediator service componentcan route to an external SOAP services. When the SOA composite application runs, BPEL process and mediator service components use the service key to query the UDDI registry for the WSDL URL for the service. In this way, Oracle Service Registry manages the endpoint for WSDLs rather than Oracle BPEL Process Manager and Oracle Mediator.

The Oracle Service Registry is also provided as part of the Oracle SOA Governance Suite.

Other Adapters:-

Oracle provides the following packaged-application adapters for integrating Oracle SOA Suite with various packaged applications, such as SAP and Siebel:

Oracle Applications PeopleSoft SAP R/3 Siebel PeopleSoft J.D. Edwards OneWorld

Oracle provides the following legacy adapters for integrating Oracle SOA Suite with legacy and mainframe applications:

Tuxedo CICS VSAM IMS/TM IMS/DB

Oracle SOA Governance Suite:-

Oracle SOA Governance Suite eases the transition of an organization to service-oriented architecture (SOA) by providing a means to reduce risk, maintain business alignment, and show business value of SOA investments through a combination of people, process, and technology. Oracle's holistic SOA governance solution automates essential SOA governance processes to enable organizations to realize the agility benefits of SOA while managing risk in the transformation to SOA. It provides end-to-end capabilities to support SOA governance efforts, regardless of the status or progress of an organization's

72

SOA transformation. Whether just embarking on a SOA program, or expanding from project or pilot to broader deployment, the Oracle SOA Governance Suite solution guides organizations along the path to demonstrated, measurable SOA success. Oracle SOA Governance Suite is Oracle Fusion Middleware's strategic approach to governing SOA.

Components in Oracle SOA Governance Suite provide visibility, control and analytics to make SOA initiatives successful:

Oracle Enterprise Repository provides metadata management for all assets within the SOA and sophisticated tools for governing those assets throughout the lifecycle and enabling their reuse.

Serving as the core of Oracle SOA Governance, its primary focus is managing the detailed asset metadata associated with the design-time stages of the service lifecycle and applying structure for promoting those assets through the different stages of the lifecycle.

Oracle Service Registry provides a standards-based reference for the dynamic discovery and use of services and their associated policies at runtime.

It contains a subset of the metadata managed within Oracle Enterprise Repository that is useful to the runtime infrastructure for dynamic discovery of services and policies. Service descriptions, service location and end points, service operations and parameters, and service policies are all examples of the information available within the registry. Oracle Enterprise Repository publishes services, policies, endpoints, categorizations, and artifacts to the Oracle Service Registry at each stage of the lifecycle. Reciprocally, assets in the Oracle Service Registry can be submitted back to the Oracle Enterprise Repository for visibility and governance.

Oracle Web Services Manager provides message-level security policies. Oracle Enterprise Manager SOA Management Pack provides management of business processes and SOA deployments.

Oracle Business Process Management Suite:-

The Oracle Business Process Management (Oracle BPM) Suite provides an integrated environment for developing, administering, and using business applications centered around business processes.

The Oracle BPM Suite provides the following:

Enables you to create process models based on standards with user-friendly applications. It enables collaboration between process developers and process analysts. Oracle BPM supports BPMN 2.0 and BPEL from modeling and implementation to run time and monitoring. Enables process analysts and process owners to customize business processes and Oracle Business Rules. Provides a web-based application for creating business processes, editing Oracle Business Rules, and task customization using predefined components. Expands business process management to include flexible, unstructured processes. It adds dynamic tasks and supports approval routing using declarative patterns and rules-driven flow determination. Enables collaboration by providing integration with Process Space, which drives productivity and innovation. Unifies different stages of the application development life cycle by addressing end-to-end requirements for developing process-based applications. Oracle BPM unifies the design, implementation,

73

run time, and monitoring stages based on an SCA infrastructure. This enables different personas to participate through all stages of the application life-cycle.

The Oracle BPM Suite provides a seamless integration of all stages of the application development life cycle from design-time and implementation to run-time and application management.

The Oracle BPM Suite is layered on the Oracle SOA Suite and shares many of the same product components, including:

Business Rules Human Workflow Oracle Adapter Framework for Integration

Oracle Business Process Analysis Suite:-Oracle Business Process Analysis (Oracle BPA) Suite is a modeling and analysis tool targeted at business analysts. Oracle BPA Suite extends the business value of BPEL processes and fosters collaboration between business analysis and IT. It enables process owners, skilled business analysts, and architects to perform process modeling and analysis, simulation and publishing of process models. The Oracle BPA Suite further supports the execution and monitoring of these process models for IT Developers withBPEL and Oracle BAM.

Specifically, Oracle BPA Suite contains the following components:

Architect provides process modeling using BPEL, built upon a robust service-oriented architecture, for drawing business processes. Publisher provides a role-based presentation of process models to a Web portal. Repository stores and provides concurrent access to business process models and related artifacts. IT developers can use Oracle JDeveloper to utilize these models to create SOA composite applications. Simulator simulates the process models based on a set of discrete events to do "what if" analysis. This simulation enables business analysts to discover bottlenecks, determine process throughput time, compare process alternatives,and quantify the impact of organization changes. Oracle SOA Extensions take business processes from concepts to execution by sharing process blueprints with Oracle SOA Suite.

Oracle BPA enables collaboration among business and IT users by disseminating and distributing information. The business models promote rapid BPEL development by propagating business changes in real-time to IT. Changes can also apply to current work without IT losing work.

Unlike the Oracle BPM Suite, the business process models in the BPA Studio have to be explicitly promoted to be viewed with Oracle JDeveloper. This suite is beneficial when an enterprise is interested in how their organization or their business processes work, usually as part of a project to create a new process or to redesign or improve an existing process.

Oracle Event-Driven Architecture Suite:-

74

Oracle Event-Driven Architecture (Oracle EDA) Suite provides a set of Oracle integration products focused on meeting the event-driven application development needs for developers defining front-office applications that require low latency, high throughput, and deterministic processing of data or event streams. Oracle EDA Suite provides developers with a lightweight Java server for event processing tuned for high-throughput, low latency use cases on top of JRocket Real-Time. In addition to this event server, the Oracle EDA Suite is differentiated from the competition's offering by providing an industry-leading event processing engine and an event visibility platform.

Components in the Oracle EDA Suite provide visibility, control, and analytics to make SOA initiatives successful:

Oracle Business Rules Oracle Service Bus Oracle Complex Event Processing Oracle Business Activity Monitoring

Oracle Data Integrator:-Oracle Data Integrator helps to you to integrate the vast amounts of information stored in disparate systems. Oracle Data Integrator streamlines the high-performance movement and transformation of data between disparate systems in batch, real-time, synchronous, and asynchronous modes, with a focus on batch processing large amounts of data.

Oracle Data Integrator is optimized to handle very large transformations that cannot be managed by Oracle Mediator. The main scenarios are depicted in the graphic:

A BPEL process or a mediator service component passes XML payload for a document larger than 10 MB to Oracle Data Integrator to transform the payload. A BPEL process or an mediator service component passes an XML payload to Oracle Data Integrator to transform and load an XML file into a database. Oracle BAM, Oracle Complex Event Processing, Oracle BPEL Process Manager, human task, or Oracle Mediator trigger a rule requiring a data warehouse refresh for Oracle Business Intelligence. Oracle Data Integrator orchestrates data-tier loading and insertion into a staging area, and then transforms aggregate data and loads tables, enabling Oracle Business Intelligence and data warehouse applications to report on the triggered data.

Oracle SOA Suite and Oracle Data Integrator enable enterprises to perform any kind of data transfer and transformations: from real-time to batch and from small data changes propagation to complete replications. They enable companies to more easily handle initiatives related to business intelligence (BI), data warehousing, master data management (MDM), Oracle BAM, application migration and consolidation, and SOA.

Oracle Business Intelligence:-

Many IT environments use multiple applications and multiple data sources, making it challenging to:

75

Automate business processes across applications Modify business processes Make relevant business insight Provide access a cross applications

When Oracle Business Intelligence is used in conjunction with SOA composite applications, your organization can meet these challenges. Oracle SOA Suite and Oracle Business Intelligence enable business analysts to:

Gain insight from monitor and analyze business-process data. Oracle BAM provides visibility of in-flight BPEL processes and Oracle Business Intelligence shows the business impact of process performance by integrating application and process data and providing ad-hoc analysis and reporting. Take action from the dashboards, alerts, and reports provided by Oracle Business Intelligence. For example, a BI dashboard can initiate a BPEL process. Orientate business processes towards business goals. You can design a BPEL process to leverage business metrics in Oracle Business Rules and generate, access, and deliver business intelligence reports.

Specifically, Oracle Business Intelligence helps answer key business questions by providing the following output to business analysts:

Production reports support all document types, such as invoices, checks, statements, and government forms. Financial reports provide formatted financial statements and built-in financial intelligence. Ad-hoc queries enable business users to create and modify charts, picots, and dashboards. Interactive dashboards provide dynamic, event-driven guided analytics for leading business analysts from insight to action. Detections and alerts provide notifications to any device in multiple formats, such as PDF reports and Briefing Books. Microsoft Office output provides dynamic updates across applications. Disconnected and mobile analytics provide offline reports and dashboards to PDAs, phones, and laptops Desktop gadgets provide collaboration through report sharing, chatting, and discussion.

Introduction to Oracle SOA Suite:-

The components of Oracle SOA Suite benefit from common capabilities, including a single deployment, management, and tooling model, end-to-end security, and unified metadata management. Oracle SOA Suite is unique in that it provides the following set of integrated capabilities:

Messaging Service discovery Orchestration Web services management and security Business rules Events framework Business activity monitoring

76

These capabilities help address the fragmented IT landscape and addresses the difficulties associated with silos of IT infrastructure and applications. It enables greater flexibility through:

Interoperability: SOA, and the industry standards underpinning it, enable existing siloed applications to interoperate seamlessly and in an easier-to-maintain manner than any traditional EAI solution. Increased reuse: Once legacy systems and applications are service enabled, these services can be reused, which results in reduced ongoing development costs and results in reduced time to market. Further, business processes built as an orchestration of services can also be exposed as services, further increasing reuse. More agile business processes: SOA reduces the gap between the business process model and implementation. This enables changes to business processes already implemented as orchestrations of services to be easily captured and implemented. Improved visibility: SOA can give improved business visibility by enabling business capabilities exposed as services, and the status of in-flight business processes automated with business activity monitoring, to be rapidly integrated into service-enabled enterprise portals, aiding business decision-making. Reduced maintenance costs: SOA development encourages duplicated overlapping business capabilities (services) that span multiple applications and systems to be consolidated into a small number of shared services. SOA development enables elimination of redundant services and reduces the cost of maintaining systems by providing a single point of change for application logic. Further, SOA gives IT the means to gradually phase out legacy systems and applications, while minimizing disruption to the applications that are built on or are integrated with them using SOA principles. This process frees up funds for new projects. Compliance and governance: By realizing better and more standardized operational procedures, SOA provides the basis for a comprehensive security solution, and enables better visibility into business operations and exception conditions.

Oracle SOA Suite StandardsOracle SOA Suite puts a strong emphasis on standards and interoperability. Among the standards it leverages are:

The Service Component Architecture (SCA) assembly model abstracts the implementation and allows assembly of components, with little implementation details. SCA enables you to represent business logic as reusable service components that can be easily integrated into any SCA-compliant application. The resulting application is known as a SOA composite application. The specification for the SCA standard is maintained by the Organization for the Advancement of Structured Information Standards (OASIS). Service Data Objects (SDO) provide a data programming architecture. It provides a standardized view on data, and provides efficient transportation, as well as change capture, in form of a change summary. More specifically, it collects a data graph of related business objects, called DataObjects. This graph tracks the schema that describes the DataObjects. Knowledge is not required about how to access a particular back-end data source to use SDO in a SOA composite application. Consequently, you can use static or dynamic programming styles and obtain connected and disconnected access. Business Process Execution Language (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. XSL Transformations (XSLT) processes XML documents and transforms document data from one XML schema to another. Java Connector Architecture (JCA) provides a Java technology solution to the problem of connectivity between the many application servers in Enterprise Information Systems (EIS). Java Messaging Service (JMS) provides a messaging standard that allows application components based on the Java Enterprise Edition (JEE) to access business logic distributed among heterogeneous systems.

77

Web Service Description Language (WSDL) file provides a standardized view on the capabilities of a service. Bindings provide the entry points into the composite at runtime. SOAP over HTTP (SOAP) provides the default network protocol for message delivery.

Introduction to Service-Oriented Architecture:-

Changing markets, increasing competitive pressures, and evolving customer needs are placing greater pressure on IT to deliver greater flexibility and speed. Today, every organization is faced with predicting change in a global business environment, to rapidly respond to competitors, and to best exploit organizational assets for growth. In response to these challenges, leading companies are adopting service-oriented architecture (SOA) to deliver on these requirements by overcoming the complexity of their application and IT environments..

SOA provides an enterprise architecture that supports building connected enterprise applications to provide solutions to business problems. SOA facilitates the development of enterprise applications as modular business web services that can be easily integrated and reused, creating a truly flexible, adaptable IT infrastructure. You can move and reconfigure pieces, turning your systems into the IT equivalent of Lego blocks.

Goal of Service-Oriented Architecture:-

Increasingly fragmented and complex infrastructures are limiting IT's ability to deliver on business needs. Many organizations have inherited disjointed legacy systems and packaged applications, a large proportion of which were never designed for information interoperability, integration, and reuse. The result of this is that most of the IT budget goes into maintenance of the current IT infrastructure and only a small amount is available for new functionalities to drive new business opportunities. The major portion of budget for new capabilities goes into the cost of integrating new functionality into the existing systems that offer poor support for interoperability.

Traditionally, business information systems have been developed with a functional orientation often resulting in silos of information. The fundamental problem with this approach is that end-to-end business processes, which span silos, are not adaptable to change as business needs evolve. The processes become fragmented and embedded deep within systems. Enterprise application integration (EAI) and other traditional middleware solutions partially address this by enabling systems to communicate with each other, but they do not fully solve the problem. Their ability to create cross application business processes is inadequate, and they allow only limited business process adaptability. Moreover, these traditional solutions come at a high cost. The majority of EAI and traditional middleware solutions use proprietary technology, which causes dependency on specialized skills and to that single vendor's products. In addition, the systems become tightly coupled, so if an interface change occurs in one system, all other systems need to be adjusted. Not only does the technology make it difficult to make changes, it can become cost-prohibitive to do so.

Service-oriented architecture (SOA) helps address the fragmented IT landscape and addresses the difficulties associated with silos of IT infrastructure and applications.

78