Service-oriented architecture (SOA) A service-oriented architecture architecture is essentially essentially a collection collection of services. These services communicate communicate with each other. The communication communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. Service-oriented architectures architectures are not a new thing. The first service-oriented architecture for many people in the past was with the use DCO or O!"ect #e$uest %ro&ers (O#%s) !ased on the CO#%A specification.
Services 'f a service-oriented architecture is to !e effective we need a clear understanding of the term service. A service is a function that is well-defined self-contained self-contained and does not depend on the contet or state of other services.
Connections The technology of *e! services is the most li&ely connection technology of service-oriented architectures. *e! services essentially use +, to create a ro!ust connection. The following figure illustrates a !asic service-oriented architecture. 't shows a service consumer at the right sending a service re$uest message to a service provider at the left. The service provider returns a response message to the service consumer. The The re$uest and su!se$uent response connections are defined in some way that is understanda!le to !oth the service consumer and service provider. ow those connections are defined is eplained in *e! Services eplained. A service service provider can also !e a service consumer.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
The Differences between SOA 10g to 11g
Introduction to the Functionality of the SOA Comosite !ditor This chapter descri!es the functionality of the SOA Composite ditor !y guiding you through the creation of service components !inding components and wires in an SOA composite application. Introduction to the SOA Comosite !ditor SOA composite composite applications consist of the following parts/
•
Service !inding components Composites
•
Service components
•
#eference !inding components
•
*ires
•
Designing an SOA Comosite Alication in Oracle "Develoer This section provides an overview of ho w to create and design an SOA composite application application in Oracle 0Developer. This overview is intended to guide you through the !asic steps of component creation along with descri!ing &ey issues to !e aware of when designing a composite application. The SOA Composite Composite ditor ena!les you to use either of two approaches for designing SOA composite applications. •
The top-down approach
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
The !ottom-up approach
*A#1'12/ *A#1'12/ Always Always save your changes !y selecting Save All from the tool !ar menu.
#ow to Create an Alication and a $ro%ect 3ou first create an application for the SOA pro"ect. 1ote/ Oracle SOA Suite is not automatically installed with Oracle 0Developer. %efore you can create an SOA application application and pro"ect you must download the SOA Suite etension for Oracle 0Developer (file name name soa-"dev-etension.4ip) from the Oracle Technology echnology 1etwor& and import it into Oracle 0Developer. 0Developer. 5or instructions on downloading and installing the SOA Suite etension for Oracle 0Developer see Oracle 5usion iddleware 'nstallation 2uide for Oracle 0Developer . To create an application/ 6. Start Start Oracle Oracle 0Developer 0Developer Studio Studio dition dition 7ers 7ersion ion 66.6.6 66.6.6.8.8. .8.8. 9. 'f Oracle Oracle 0Develope 0Developerr is running running for the first first time time specify specify the location location for the the 0ava 0D:. 0D:. 5igure ;-6 shows ;-6 shows how Oracle 0Developer appears the first time you access it. 5igure ;-6 Oracle 0Developer
<. Create Create a new SOA composite composite applicatio application n as descri!ed descri!ed SOA Composite Application Creation If Or Oracle "d "deve eveloer&&&
Then&&&
as no applications 'n the Application 1avigator in the upper left clic& 1ew Application = SOA 5or eample you are Application. opening Oracle 0Developer for the first time.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
If Oracle "develoer&&&
Then&&& 5rom the 5ile main menu/
as eisting applications 6. 9.
Select 1ew = Applications = SOA Application. Clic& O:.
5rom the Application menu/ <.
Select 1ew = Applications = SOA Application.
;.
Clic& O:.
This starts the Create SOA Application wi4ard. ;. nter the values shown SOA Composite Application Creation 7alues Field
'alue
Application 1ame
nter an application name (for this eample y SOA Application is entered).
Directory 1ame
Accept the default value or enter a different directory path.
1otes/ On a >1'+ operating system it is highly recommended that you ena!le >nicode support !y setting the ,A12 and ,C?All environment varia!les to a locale with the >T5-@ character set. SOA components may function in an unepected way. 5or eample a non-ASC'' file name can ma&e the file inaccessi!le and cause an error. Oracle does not support pro!lems caused !y operating system constraints. 'n a design-time environment if you are using Oracle 0Developer select Tools = references = nvironment = ncoding = >T5-@ to ena!le >nicode support. This is also applica!le for runtime environments. o
2.
Do not create applications and pro"ects in directory paths that have spaces (for eample c/Brogram 5iles). Accept the default values for all remaining settings and clic& net. The ro"ect 1ame page of the Create SOA Application wi4ard appears.
3.
nter a name for the pro"ect (for this eample y SOA ro"ect) and clic& 1et. 1ote that SOA is automatically selected as the pro"ect technology to use. 1ote/ Composite and component names cannot eceed 88 characters. A pro"ect deployed to the same infrastructure must have a uni$ue name across SOA composite applications. This is !ecause the uni$ueness of a composite is determined !y its pro"ect name. 5or eample do not perform the actions descri!ed. During deployment the second deployed pro"ect (composite) overwrites the first deployed pro"ect (composite). #estrictions on 1aming an SOA ro"ect
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Create an Alication (amed&&&
)ith an SOA $ro%ect (amed&&&
Application6
ro"ect6
Application9
ro"ect6
The ro"ect SOA Settings page of the Create SOA Application wi4ard appears.
4.
Select mpty Composite and clic& 5inish. The SOA Composite ditor shown it appears. The composite.ml file displays in the Application 1avigator. This file is automatically created when you create a pro"ect. This file descri!es the entire composite assem!ly of services service components and references. There is one composite.ml file per SOA pro"ect. SOA Composite ditor
Select Save All from the 5ile main menu.
#ow to Add a Service Comonent 3ou create service components that implement the !usiness logic or processing rules of your application.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
3ou drag service components into the designer to invo&e the initial property editor. This action ena!les you to define the service interface (and for asynchronous %, processes an optional call!ac& interface). The a!ove 5igure descri!es the availa!le service components. Starting Service Component ditors Dragging This Service Comonent&&&
Invo*es The&&&
%, rocess
Create %, rocess dialog/ na!les you to create a %, process that integrates a series of !usiness a ctivities and services into an end-to-end process flow.
%usiness #ule
Create %usiness #ules dialog/ na!les you to create a !usiness decision !ased on rules.
uman Tas&
Create uman Tas& dialog/ na!les you to create a wor&flow that descri!es the tas&s for users or groups to perform as part of an end-to-end !usiness process flow.
ediator
Create ediator dialog/ na!les you to define services that perform message and event routing filtering and transformations.
The following eample descri!es the procedures to perform when a %, process is dragged into the designer. To add a service component/ 6. 5rom the Component alette select SOA. 9. 5rom the Service Components list drag a %, rocess into the designer. The Create %, rocess dialog appears. <. nter the details shown in Ta!le ;- Create %, rocess Dialog 5ields and 7alues Field
'alue
1ame
nter a name (for this eample Say ello is entered).
1amespace
Accept the default value. Select Synchronous %, rocess.
Template 5or more information a!out availa!le templates see the online help.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Field
'alue
pose as a SOA Service
Deselect this chec&!o. This creates a standalone %, process. 'f you select this chec&!o a %, process and in!ound we! service !inding component are each created and connected.
Introduction to Activities and Comonents *hen you epand SOA Components in the Component alette of Oracle %, Designer service components are displayed. 5igure shows the components that display for a %, 6.6 process. A %, 9.8 process also shows the same components. 5igure A-6 SOA Components
Introduction to +$!, 1&1 and -&0 Activities This section provides a !rief overview of %, activities and provides references to other documentation that descri!es how to use these activities. Oracle %, Designer includes %, 6.6 and %, 9.8 activities that are availa!le for adding in a %, process. These activities ena!le you to perform specific tas&s within a process. Some activities are availa!le in !oth %, 6.6 and %, 9.8. Others are availa!le in only %, 6.6 or %, 9.8. To access these activities go to the Component alette of Oracle %, Designer. The activities display under either of two categories/
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
•
%, Constructs/ Displays core activities (also &nown as constructs) provided !y standard %, 6.6 and 9.8 functionality. The activities in this category are displayed under additional su!categories of *e! Service Activities and Structured Activities in %, 6.6 and *e! Service %asic Activities and Structured Activities in %, 9.8. Oracle tensions/ Displays etension activities that add value and ease of use to %, 6.6 and 9.8 functionality
1&Assign Activity This activity provides a method for data manipulation such as copying the contents o f one varia!le to another. Copy operations ena!le you to transfer information !etween varia!les epressions endpoints and other elements.
Provides a way to copy data between variables in a BPEL Process
One of the ways you can copy data from source to target in a BPEL Process.
you can perform following operation
Copy Append insert and #emove
Copy operation
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
-&Comensate Activity This activity invo&es compensation on an inner scope activity that has successfully completed. This activity can !e invo&ed only from within a fault handler or another compensation handler. Compensation occurs when a process cannot complete several operations after completing others. The process must return and undo the previously completed operations. 5or eample assume a process is designed to !oo& a rental car a hotel and a flight. The process !oo&s the car and the hotel !ut cannot !oo& a flight for the correct day. 'n this case the process performs compensation !y un!oo&ing the car and the hotel. The compensation handler is invo&ed with the compensate activity which names the scope on which the compensation handler is to !e invo&ed.
%elow 5igure shows the Compensate dialog in %, 6.6. 3ou can perform the following tas&s/ • •
Clic& the 2eneral ta! to provide the activity with a meaningful name. Select the scope activity on which the compensation handler is to !e invo&ed.
5igure Compensate Dialog
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
'n %, 9.8 the Compensate dialog does not include a S&ip Condition ta!. .& !mail Activity This activity ena!les you to send an email notification a!out an event. 5or eample an online shopping !usiness process of an online !oo&store sends a courtesy email message to you after the items are shipped. The !usiness process calls the notification service with your user 'D and notification message. The notification service gets the email address from Oracle 'nternet Directory. 5igure A-66 shows the mail dialog in %, 6.6 and %, 9.8. 5igure A-66 mail Dialog
/& !mty Activity This activity ena!les you to insert a no-operation instruction into a process. This activity is useful when you must use an activity that does nothing (for eample when a fault must !e caught and suppressed). 5igure a-69 mpty Dialog
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
'n %, 9.8 the mpty dialog includes a Documentation ta! and does not include a S&ip Condition ta!. & Flow Activity This activity ena!les you to specify one or more activities to !e performed concurrently. A flow activity completes when all activities in the flow have finished processing. Completion of a flow activity includes the possi!ility that it can !e s&ipped if its ena!ling condition is false. 5or eample assume you use a flow activity to ena!le two loan offer providers (>nited ,oan service and Star ,oan service) to start in parallel. 'n this case the flow activity contains two parallel activities the se$uence to invo&e the >nited ,oan service and the se$uence to invo&e the Star ,oan service. ach service can ta&e an ar!itrary amount of time to complete their loan processes. 5igure A-6; shows an initial flow activity with its two panels for parallel processing. 3ou drag activities into !oth panels to create parallel processing. *hen complete a flow activity loo&s li&e that shown in 5igure A-6. 5igure A-6; 5low Dialog (At Time of Creation)
Description of E5igure A-6; 5low Dialog (At Time of Creation)E
5igure A-6 5low Dialog (After Design Completion)
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
3ou can also synchroni4e the eecution of activities within a flow activity. This ensures that certain actives only eecute after other activities have completed. 1ote/ OracleFs %, implementation eecutes flows in the same single eecution thread of the %, process and not in separate threads. & Flow( Activity This activity ena!les you to create multiple flows e$ual to the value of 1 which is defined at runtime !ased on the data availa!le and logic within the process. 'nde varia!le increments each time a new !ranch is created until the inde varia!le reaches the value of 1. 5igure A-6G shows the 5low1 dialog. 5igure A-6G 5low1 Dialog
2& Invo*e Activity This activity ena!les you to specify an operation you want to invo&e for the service (identified !y its partner lin&). The operation can !e one-way or re$uest-response on a port provided !y the service. 3ou
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
can also automatically create varia!les in an invo&e activity. An invo&e activity invo&es a synchronous we! service or initiates an asynchronous we! service. The invo&e activity opens a port in the process to send and receive data. 't uses this port to su!mit re$uired data and receive a response. 5or synchronous call!ac&s only one port is needed for !oth the send and the receive functions. The invo&e activity supports the !pel/ inputroperty and !pel/ outputroperty that facilitate the passing of properties through the SOA header and the o!taining of SOA runtime system properties for useful information such as the trac&ing.composite'nstance'd and trac&ing.conversation'd. 5igure A-98 shows the 'nvo&e dialog in %, 6.6. 3ou can perform the following tas&s/
•
rovide the activity with a meaningful name. Select the partner lin& for which to specify an operation.
•
Select the operation to !e performed.
•
•
Automatically create a varia!le or select an eisting varia!le in which to transport the data (payload).
5igure A-98 'nvo&e Dialog
3& "ava !mbedding Activity This activity ena!les you to add custom 0ava code to a %, process using the 0ava %, eec etension !pel/ eec. This is useful when you have 0ava code that can perform a function and want to use this eisting code instead of starting over. 'n %, 9.8 pro"ects the !pel/ eec etension and 0ava code are wrapped in an Hetension Activity= element.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
This activity ena!les you to add custom 0ava code to a %, process using the 0ava %, eec etension H!pel/eec=. *hen user dou!le clic&s on the 0ava em!edding icon popup window will appear and user can enter the "ava code on it.
4& (otification Activities This activity ena!les you to send notification a!out an event to a user group or
destination address.
3ou can send a notification !y e-mail voice mail fa pager or short message service (SS).
10& $artner ,in* Activity This service ena!les you to define the eternal services with which your process interacts. A partner lin& type characteri4es the conversational relationship !etween two services !y defining the roles played !y each service in the conversation and specifying the port type provided !y each service to receive messages within the conversation. 5or eample if you are creating a process to interact with a Credit #ating Service and two loan provider services (>nited ,oan and Star ,oan)I you create partner lin&s for all three services. 5igure A-99 shows the artner ,in& dialog in %, 6.6. 3ou provide the following details/ • •
A meaningful name for the service. The we! services description language (*SD,) file of the eternal service.
•
The actual service type (defined as artner ,in& Type).
•
The role of the service (defined as artner #ole).
•
The role of the process re$uesting the service (defined as y #ole).
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
5igure A-99 artner , in& Activity
11& $ic* Activity 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 eclusive (the process either receives an acceptance or re"ection message !ut not !oth). 'f multiple events occur the selection of the activity to perform depends on which event occurred first. 'f the events occur nearly simultaneously there is a race and the choice of activity to !e performed is dependent on !oth timing and implementation. The pic& activity provides an Onessage !ranch. *hen you dou!le-clic& the Onessage icon in %, 6.6 the dialog shown in 5igure A-9; appears.
5igure A-9; Onessage Dialog
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
The two !ranches of the pic& activity are as follows/ •
onessage (automatically displays !elow the ic& activity icon) Contains the code for receiving a reply for eample from a loan service.
•
onAlarm (does not automatically displayI you must manually add this !ranch !y selecting the ic& activity icon and clic&ing the Add OnAlarm icon) Contains the code for a timeout for eample after one minute.
*hichever !ranch completes first is eecutedI the other !ranch is not eecuted. The !ranch that has its condition satisfied first is eecuted. 5igure A-9 shows the OnAlarm dialog of the pic& activity in %, 6.6. 5igure A-9 OnAlarm %ranch Dialog of a ic& Activity
.
1ote/ 3ou can also create onessage !ranches in %, 6.6 scope activities and onAlarm !ranches in %, 6.6 and 9.8 scope activities. pand the Scope activity in Oracle 0Developer and !rowse the icons on the left side to find the !ranch you want to add. 'f you add correlations to an Onessage !ranch the correlations synta is placed after the assign activity synta. The correlation synta must go !efore the assign activity. As a wor& around perform the following steps/ 6. Create a correlation set in Oracle 0Developer. 9. Assign this to the Onessage !ranch. <. Complete the remaining design tas&s.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
;.
%efore ma&ing or deploying the %, process move the correlation synta !efore the assign activity in the %,
1-& 5eceive Activity This activity specifies the partner lin& from which to receive information and the port type and operation for the partner lin& to invo&e. This activity waits for an asynchronous call!ac& response message from a service such as a loan application approver service. *hile the %, process is waiting it is dehydrated (compressed and stored) until the call!ac& message arrives. The contents of this response are stored in a response varia!le in the process.The receive activity supports the !pel/property etensions that facilitate the passing of properties through the SOA header and the o!taining of SOA runtime system properties for useful information such as trac&ing.composite'nstance'd and trac&ing.conversation'd. 5igure A-9G shows the #eceive dialog in %, 6.6. 3ou can perform the following tas&s/
•
rovide a meaningful name. Select the partner lin& service for which to specify an operation.
•
Select the operation to !e performed.
•
•
•
Automatically create a varia!le or select an eisting varia!le in which to transport the call!ac& response. 5igure A-9G #eceive Dialog
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
1.& 5ely Activity This activity allows the process to send a message in reply to a message that was received through a receive activity. The com!ination of a receive activity and a reply activity forms a re$uest-response operation on the *SD, port type for the process.5igure A-<6 #eply Dialog
1/& 5ethrow Activity This activity ena!les you to rethrow a fault originally captured !y the immediately enclosing fault handler. 1ote/ This activity is only supported in %, 9.8 pro"ects. 5igure A-<9 shows a rethrow activity within a fault handler (catch activity). 5igure A-<9 #ethrow Activity
1& Scoe Activity This activity consists of a collection of nested activities that can have their own local varia!les fault handlers compensation handlers and so on. A scope activity is analogous to a J K !loc& in a programming language.ach scope has a primary activity that defines its !ehavior. The primary activity can !e a
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
comple structured activity with many nested activities within it to ar!itrary depth. The scope is shared !y all the nested activities.
5igure A-<< Scope Dialog
5ault handling is associated with a scope activity. The goal is to undo the incomplete and unsuccessful wor& of a scope activity in which a fault has occurred. 3ou define catch activities in a scope activity to create a set of custom fault-handling activities. ach catch activity is defined to intercept a specific type of fault. 5igure A-<; shows the Add Catch icon inside a scope activity. 5igure A-< shows the catch activity area that appears when you clic& the Add Catch icon. * ithin the area defined as Drop Activity ere you drag additional activities to create fault handling logic to catch and manage eceptions. 5or eample a client provides a social security num!er to a Credit #ating service when applying for a loan. This num!er is used to perform a credit chec&. 'f a !ad credit history is identified or the social security num!er is identified as invalid an assign activity inside the catch activity notifies the client of the loan offer re"ection. The entire loan application process is terminated with a terminate activity. 5igure A-<; Creating a Catch %ranch
5igure A-< Catch Activity 'con
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
1& Se6uence Activity This activity ena!les you to define a collection of activities to !e performed in se$uential order. 5or eample you may want the following activities performed in a specific order/ • •
•
A customer re$uest is received in a receive activity. The re$uest is processed inside a flow activity that ena!les concurrent !ehavior. A reply message with the final approval status of the re$uest is sent !ac& to the customer in a reply activity.
A se$uence activity ma&es the assumption that the re$uest can !e processed in a reasona!le amount of time "ustifying the re$uirement that the invo&er wait for a synchronous response (!ecause this service is offered as a re$uest-response operation). *hen this assumption cannot !e made it is !etter to define the customer interaction as a pair of asynchronous message echanges. *hen you dou!le-clic& the Se$uence icon the activity area shown in 5igure A-
12& Switch Activity This activity consists of an ordered list of one or more conditional !ranches defined in a case !ranch followed optionally !y an otherwise !ranch. The !ranches are considered in the order in which they appear. The first !ranch whose condition is true is ta&en and provides the activity performed for the switch. 'f no !ranch with a condition is ta&en then the otherwise !ranch is ta&en. 'f the otherwise !ranch is not eplicitly specified then an otherwise !ranch with an empty activity is assumed to !e availa!le. The switch activity is complete when the activity of the selected !ranch completes. A switch activity differs in functionality from a flow activity. 5or eample a flow activity ena!les a process to gather two loan offers at the same time !ut does not compare their values. To compare and ma&e decisions on the values of the two offers a switch activity is used. The f irst !ranch is eecuted if a defined condition (inside the case !ranch) is met. 'f it is not met the otherwise !ranch is eecuted. 5igure A-
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
13& Terminate Activity A terminate activity ena!les you to end the tas&s of an activity (for eample the fault handling tas&s in a catch !ranch). 5or eample if a clientMs !ad credit history is identified or a social security num!er is identified as invalid a loan application process is terminated and the clientMs loan application document is never su!mitted to the service loan providers. 1ote/ 5igure A-;8 shows several terminate activities in the otherwise !ranch of a switch activity. 5igure A-;8 Terminate Activity
14& Throw Activity This activity generates a fault from inside the !usiness process. 5igure A-;6 shows the Throw dialog. 5igure A-;6 Throw Dialog
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
-0& Transform Activity This activity ena!les you to create a transformation that maps source elements to target elements (for eample incoming purchase order data into outgoing p urchase order ac&nowledgment data). 5igure A-;9 shows the Transform dialog in %, 6.6. This dialog ena!les you to perform the following tas&s/ • •
•
Define the source and target varia!les and parts to map. Specify the transformation mapper file. Clic& the second icon (the Add icon) to the right of the apper 5ile field to access the +S,T apper for creating a new +S, file for graphically mapping source and target elements. Clic& the dit icon (third icon) to edit an eisting +S, file.
5igure A-;9 Transform Dialog
. -1& )ait Activity This activity allows a process to specify a delay for a certain period or until a certain deadline is reached. A typical use of this activity is to invo&e an operation at a certain time. This activity ena!les you to wait for
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
a given time period or until a certain time has passed. actly one of the epiration criteria must !e specified. 5igure A-;G *ait Dialog
--& )hile Activity This activity supports repeated performance of a specified iterative activity. The iterative activity is repeated until the given while condition is no longer true. 5igure A-;N *hile Dialog
Interaction $atterns in +$!, 1& One7)ay 8essage
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
'n a one-way message or fire and forget the client sends a message to the service and the service does not need to reply. 5igure 69-6 provides an overview. 5igure 69-6 One-*ay essage
%, rocess as the Client As the client the %, process needs a valid partner lin& and an invo&e activity with the target service and the message. As with all partner activities the *SD, file defines the interaction. %, rocess as the Service To accept a message from the client the %, process needs a receive activity. -& Synchronous Interaction 'n a synchronous interaction a client sends a re$uest to a service and receives an immediate reply. The %, process can !e at either end of this interaction and must !e coded !ased on its role as either the client or the service. 5igure 69-9 provides an overview. 5igure 69-9 Synchronous 'nteraction
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
%, rocess as the Client *hen the %, process is on the client side of a synchronous transaction it needs an invo&e a ctivity. The port on the client side !oth sends the re$uest and receives the reply. As with all partner activities the *SD, file defines the interaction. %, rocess as the Service *hen the %, process is on the service side of a synchronous transaction it needs a receive a ctivity to accept the incoming re$uest and a reply activity to return either the re$uested information or an error message (a fault).
.& Asynchronous Interaction 'n an asynchronous interaction a client sends a re$uest to a service and waits until the service replies. 5igure 69-< provides an overview.
5igure 69-< Asynchronous 'nteraction
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
%, rocess as the Client *hen the %, process is on the client side of an a synchronous transaction it needs an invo&e activity to send the re$uest and a receive activity to receive the reply. As As with all partner activities the * SD, file file defines the interaction. %, rocess as the Service As with a synchronous transaction when when the %, process is on the service service side of an asynchronous transaction it needs a receive activity to accept the incoming re$uest and an invo&e activity to return either the re$uested information or a fault.
Introduction to the +$!, $rocess Service Comonent This section provides an introduction to the %, process service component in the design environment.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
5igure -< Oracle 0Developer Sections
ach section of Oracle %, Designer ena!les you to p erform specific design and deployment tas&s. • •
Application 1avigator 1avigator Design window
•
Source window
•
istory window
•
Component alette
•
roperty 'nspector
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Structure window
•
,og window1ote/
To learn more a!out these sections you can also place the cursor in the appropriate section and press 56 to display online elp. Introduction to $artner ,in*s A partner lin& ena!les you to define the eternal services with with which the %, %, process process service component is to interact. 3ou 3ou can define partner lin&s as services or references (for eample through a 0CA adapter) in the SOA Composite ditor or within a %, process service component in Oracle %, Designer. 5igure -@ shows -@ shows the pa rtner lin& icon (in this eample named *rite#ecord). 5igure -@ artner,in& 'con
Description of E5igure -@ artner,in& 'conE A partner lin& type type characteri4es the conversational conversational relationship relationship !etween two two services !y defining defining the roles played !y each service in the conversation and specifying the port type provided !y each service to receive messages within the conversation.
5igure -L artner ,in& Dialog
Ta!le -9 Create artner ,in& Dialog 5ields Field
Descrition
1ame
A uni$ue uni$ue and recogni4a!le name name you provide for the partner lin&.
roc roces ess s
Disp Displa lays ys the the % %, , proc proces ess s servi service ce comp compon onen entt name name..
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Field
Descrition
*SD, >#, The name and location of the *e! Services Description ,anguage (*SD,) file that you select for the partner lin&. Clic& the SOA Service plorer icon (second icon from the left a!ove the *SD, >#, field) to access a window for selecting the * SD, file to use. artner ,in& Type
The partner lin& defined in the *SD, file.
artner #ole
The role performed !y the partner lin&.
y #ole
The role performed !y the %, process service component. 'n this case the %, process service component does not have a role !ecause it is a synchronous process.
1ote/ The artner ,in& Type artner #ole and y #ole fields in the Create artner ,in& dialog are d efined and re$uired !y the %, standard. Creating a $artner ,in* The method !y which you create partner lin&s within the %, process in Oracle %, Designer impacts how the partner lin& displays a!ove in the SOA Composite ditor. This section descri!es this impact. The *SD, file can !e on the local operating system or hosted remotely (in which case you need a >#, for the *SD,). ,i&ewise creating and wiring a service or reference !inding component to a %, process service component in the SOA Composite ditor causes a partner lin& to display in Oracle %, Designer.
#ow to Create a $artner ,in* To create a partner lin&/ 6.
'n the SOA Composite ditor dou!le-clic& the %, process service component. Oracle %, Designer is displayed.
9. <.
'n the Component alette epand %, Services. Drag a artner ,in& into the appropriate artner ,in&s swim lane as shown in 5igure -68. 5igure -68 artner ,in& Creation in Oracle %, Designer
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
The Create artner ,in& dialog appears.
Complete the fields for this dialog as descri!ed in Ta!le -9. The following sections descri!e the impact of partner lin& creation on the SOA Composite ditor. $artner ,in*s for an Outbound Adater Ta!le -< descri!es the impact on the SOA Composite ditor. Ta!le -< 'mpact of artner ,in& Creation on the SOA Composite ditor Creating the Following for a +$!, $rocess in Dislays the Following in the SOA Comosite Oracle +$!, Designer&&& !ditor&&& •
A partner lin& for an out!ound adapter •
•
A reference handle for the %, service component A reference representing the out!ound adapter in the composite A wire connecting the %, service component to the adapter reference
5igure -66 SOA Composite ditor 'mpact
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
$artner ,in*s for an Inbound Adater Ta!le -; 'mpact of artner ,in& Creation on the SOA Composite ditor Creating the Following for a +$!, $rocess in Oracle +$!, Designer&&&
Dislays the Following in the SOA Comosite !ditor&&& •
A service for the %, service component
A partner lin& for an in!ound adapter •
•
A service representing the in!ound adapter in the composite A wire connecting the in!ound adapter service to the %, service component
5igure -69 shows how this method of creation appears in the SOA Composite ditor. 5igure -69 SOA Composite ditor 'mpact
$artner ,in*s and #uman Tas*s or +usiness 5ules Ta!le -N 'mpact of artner ,in& Creation on the SOA Composite ditor Creating the Following for a +$!, $rocess in Oracle +$!, Designer&&&
Dislays the Following in the SOA Comosite !ditor&&& •
A human tas& or !usiness rule in the composite
•
A reference for the %, service component
A human tas& or !usiness rule is created
•
A wire connecting the %, service component to the new human tas& or decision service
5igure -6; SOA Composite ditor 'mpact
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
$artner ,in*s from an !9isting #uman Tas*: +usiness 5ule: or Oracle 8ediator Ta!le -@ 'mpact of artner ,in& Creation on the SOA Composite ditor Creating the Following for a +$!, $rocess in Oracle Dislays the Following in the SOA +$!, Designer&&& Comosite !ditor&&& •
A partner lin& !y dragging an eisting human tas& !usiness rule or mediator service component from the #esource alette to the %, process
•
A reference for the %, service component A wire connecting the %, service component to the eisting human tas& !usiness rule or mediator
5igure -6 SOA Composite ditor 'mpact
Introduction to a Fault #andler 5ault handlers define how the %, process service component responds when the we! services return data other than what is normally epected (for eample returning an error message instead of a num!er). An eample of a fault handler is where the we! service normally returns a credit rating num!er !ut instead returns a negative credit message. rovides an eample of how a fault handler sets a credit rating varia!le to -6888. 5igure 69-6 5ault andling
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
)hat is +$!, Fault #andling; 5ault handling in a %, process is reverse wor& undoing the partial and unsuccessful wor& of a scope in which a fault has occurred. 5ault handling differs from compensation handling in that fault handling ta&es over when a fault occurs within a scope whereas compensation reverses the wor& of a successfully completed scope. A fault can occur for the following reasons/ • •
• •
A we! service operation cannot complete successfully and the service returns a fault An internal process error occurs and a standard %, fault is thrown. #efer to the list of %, Standard 5aults for more information. A Hthrow= or Hrethrow= activity throws a fault A platform-specific fault such as a communication failure occurs in a %, process instance
5ault handling can !e glo!al or local/ you can add fault handlers to the process as a whole or to a scope within the process. *hen a fault occurs normal processing is terminated and control is transferred to the corresponding fault handler as defined in the Hfaultandlers= section of the process or scope. 1ote that the process does not ena!le compensation for a scope in which a fault handler is invo&ed. 5ault handlers do not rely on state to determine which nested scopes have completed successfully. The code segment in ample 69-6 defines the fault handler for this operation in the %, file/ ample 69-6 5ault andler Definition Hfaultandlers= Hcatch fault1ameEservices/1egativeCreditE fault7aria!leEcrrrorE= Hassign nameEcrinE= Hcopy= Hfrom epressionE-6888E= HPfrom= Hto varia!leEinputE partEpayloadE $ueryEPautoloan/loanApplicationPautoloan/credit#atingEP= HPcopy= HPassign= HPcatch=
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
HPfaultandlers= The faultandlers tag contains the fault handling code. * ithin the fault handler is a catch activity which defines the fault name and varia!le and the copy instruction that sets the credit#ating varia!le to -6888. *hen you select we! services for the %, process service component determine the possi!le faults that may !e returned and set up a f ault handler for each one. Introduction to +$!, Standard Faults The %usiness rocess ecution ,anguage for *e! Services Specification defines the following standard faults in the namespace of http/PPschemas.mlsoap.orgPwsP988
!inding5ault conflicting#eceive conflicting#e$uest correlation7iolation forcedTermination invalid#eply "oin5ailure mismatchedAssignment5ailure remote5ault repeatedCompensation selection5ailure uninitiali4ed7aria!le
Standard faults are defined as follows/ • • • •
Typeless meaning they do not have associated messageTypes 1ot associated with any *e! Services Description ,anguage (*SD,) message Caught without a fault varia!le/ Hcatch fault1ameE!pws/selection5ailureE=
Introduction to Categories of +$!, Faults A %, fault has a fault name called a Qname (name $ualified with a namespace) and a possi!le messageType. There are two categories of %, faults/ • •
%usiness faults #untime faults
+usiness Faults %usiness faults are application-specific faults that are generated when there is a pro!lem with the information !eing processed (for eample when a social security num!er is not found in the data!ase). A !usiness fault occurs when an application eecutes a throw activity or when an invo&e activity receives a fault as a response. The fault name of a !usiness fault is specified !y the %, process service component. The messageType if applica!le is defined in the *SD,. A !usiness fault can !e caught with a faultandler using the fault1ame and a fault7aria!le.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Hcatch fault1ameEns6/fault1ameE fault7aria!leEvar1ameE= 5untime Faults #untime faults are the result of pro!lems within the running of the %, process service component or we! service (for eample data cannot !e copied properly !ecause the varia!le name is incorrect). These faults are not user-defined and are thrown !y the system. They are generated if the process tries to use a value incorrectly a logic error occurs (such as an endless loop) a Simple O!"ect Access rotocol (SOA) fault occurs in a SOA call an eception is thrown !y the server and so on. Several runtime faults are automatically provided. These faults are included in the http/PPschemas.oracle.comP!pelPetension namespace. These faults are associated with the messageType #untime5aultessage. The * SD, file shown in ample 69-9 defines the messageType/ ample 69-9 messageType Definition HRml versionE6.8E encodingE>T5-@E R= Hdefinitions nameE#untime5aultE target1amespaceEhttp/PPschemas.oracle.comP!pelPetensionE mlns/sdEhttp/PPwww.w<.orgP9886P+,SchemaE mlnsEhttp/PPschemas.mlsoap.orgPwsdlPE= Hmessage nameE#untime5aultessageE= Hpart nameEcodeE typeEsd/stringE P= Hpart nameEsummaryE typeEsd/stringE P= Hpart nameEdetailE typeEsd/stringE P= HPmessage= HPdefinitions= 'f a fault7aria!le (of messageType #untime5aultessage) is used when catching the fault the fault code can !e $ueried from the fault7aria!le along with the fault summary and detail. bindingFault A !inding5ault is thrown inside an activity if the preparation of the invocation fails. 5or eample the *SD, of the process fails to load. A !inding5ault is not retrya!le. This type of fault usually must !e fied !y human intervention. remoteFault A remote5ault is also thrown inside an activity. 't is thrown !ecause the invocation fails. 5or eample a SOA fault is returned !y the remote service. relayFault A replay5ault replays the activity inside a scope. At any point inside a scope this fault is migrated up to the scope. The server then re-eecutes the scope from the !eginning.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
This section provides an overview of the components that comprise the fault management framewor&. • •
• •
The fault management framewor& catches all faults (!usiness and runtime) for an invo&e activity. A fault policy file defines fault conditions and their corresponding fault recovery actions. ach fault condition specifies a particular fault or group o f faults which it attempts to handle and the corresponding action for it. A set of actions is identified !y an 'D in the fault policy file. A set of conditions invo&es an action (&nown as fault policy). A fault policy !indings file associates the policies defined in the fault policy file with the following/ SOA composite applications o o %, process and Oracle ediator service components #eference !inding components for %, process and Oracle ediator service o components The framewor& loo&s for fault policy !indings in the same directory as the composite.ml file of the SOA composite application or in a remote location identified !y two properties that you set. 1ote/ A fault policy configured with the fault management framewor& overrides any fault handling defined in catch activities of scope activities in the %, process. The fault management framewor& can !e configured to rethrow the fault handling !ac& to the catch activities.
•
The fault policy file (fault-policies.ml) and fault policy !indings file (fault-!indings.ml) are placed in either of the following locations/ o 'n the same directory as the composite.ml file of the SOA composite application. o 'n a different location that is specified with two properties that you add to the composite.ml file. This option is useful if a fault policy must !e used !y multiple SOA composite applications. This option overrides any fault policy files that are included in the same directory as the composite.ml file. ample 69-< provides details a!out these two properties. 'n this eample the fault policy files are placed into the SOA etadata Service (DS) shared area. ample 69-< 5ault olicies used !y ultiple SOA Composite Applications Hproperty nameEoracle.composite.faultolicy5ileE=oramds/PPappsPfaultpolicyfilesP fault-policies.ml HPproperty= Hproperty nameEoracle.composite.fault%inding5ileE=oramds/PPappsPfaultpolicyfilesP fault-!indings.mlHPproperty=
#ow to !9ecute a Fault $olicy 3ou deploy a fault policy as part of a SOA composite application. After deployment you can perform the following fault recovery actions from Oracle nterprise anager 5usion iddleware Control Console/
•
#etry the activity odify a varia!le (availa!le to the faulted activity)
•
Continue the instance (mar& the activity as a success)
•
#ethrow the eception
•
•
A!ort the instance
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Throw a replay scope eception
#ow to Create a Throw Activity To create a throw activity/ 6. 9.
5rom the Component alette drag a Throw activity into the designer. Dou!le-clic& and define the Throw activity.
<.
Optionally enter a name or accept the default value.
;.
To the right of the 1amespace >#' field clic& the Search icon to select the fault to monitor.
.
Select the fault in the 5ault Chooser dialog and clic& O:. The namespace >#' for the selected fault displays in the 1amespace >#' field. 3our fault selection also automatically displays in the ,ocal art field.
#ow to
•
The catch activity wor&s within a scope to catch faults and eceptions !efore they can throw the entire process into a faulted state. 3ou can use specific fault names in the catch activity to respond in a specific way to an individual fault. The catchAll activity catches any faults that are not handled !y name-specific catch activities.
#ow to Create a Comensate Activity To create a compensate activity/ 6. 5rom the Component alette drag an Compensate activity into the designer. 9. Dou!le-clic& the Compensate activity. <.
Select a scope activity in which to invo&e the compensation handler.
Introduction to Technology Adaters The artner ,in& dialog shown in 5igure -L also ena!les you to ta&e advantage of another &ey f eature that Oracle %, rocess anager and Oracle 0Developer provide. Clic& the Define Service icon shown in 5igure -6G to access the Adapter Configuration wi4ard.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
5igure -6G Defining an Adapter
Adapters ena!le you to integrate the %, process service component (and therefore the SOA composite application as a whole) with access to file systems 5T servers data!ase ta!les data!ase $ueues soc&ets 0ava essage Services (0S) Q and Oracle -%usiness Suite. This wi4ard ena!les you to configure the types of adapters shown in 5igure -6N for use with the %, process service component/ 5igure -6N Adapter Types
The following adapter types are availa!le/
•
Advanced =ueuing >A=? Oracle +usiness Activity 8onitoring >+A8?
•
Database
•
FT$ and File.
•
"ava 8essaging Service >"8S?
•
8essage =ueue >8=?
•
Oracle Alications
•
Oracle +-+
•
Soc*ets
•
Third $arty
•
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
ADF7+C Service This service connects Oracle Application Development 5ramewor& (AD5) applications using SDOs with the SOA platform. A= Adater This adapter acts as !oth a de$ueue (in!ound) and en$ueue (out!ound) messaging adapter. 'n the in!ound direction the adapter polls the $ueues for messages to de$ueue from a destination. 'n the out!ound direction the adapter en$ueues messages to the $ueue for su!scri!ers to de$ueue. Oracle +-+ This adapter ena!les you to !rowse %9% metadata in the etadata Service (DS) repository and select document definitions. Oracle %9% is an e-commerce gateway that ena!les the secure and relia!le echange of transactions !etween an organi4ation and its eternal trading p artners. Oracle %9% and Oracle SOA Suite are designed for e-commerce !usiness processes that re$uire process orchestration error mitigation and data translation and transformation within an infrastructure that addresses the issues of security compliance visi!ility and management. Oracle +A8 Adater This adapter integrates 0ava applications with Oracle %A Server to send data. This adapter is used as a reference !inding component in a SOA composite application. Database Adater This adapter ena!les a %, process to communicate with Oracle data!ases or third-party data!ases through 0D%C. To access an eisting relational schema you use the Adapter Configuration *i4ard to do the following/ • •
'mport a relational schema and map it as an +, schema (+SD). A!stract SQ, operations such as S,CT '1S#T and >DAT as we! services.
*hile your %, process deals with +, and invo&es we! services data!ase rows and values are $ueried inserted and updated. Direct +inding Service This service uses the Direct %inding A' to invo&e a SOA composite application in the in!ound direction and echange messages over a remote method invocation (#'). This option supports the propagation of !oth identities and transactions across 07s and uses the T< optimi4ed path. %oth synchronous and asynchronous invocation patterns are supported. 3ou can also invo&e an Oracle Service %us (OS%) flow or another SOA composite application in the out!ound direction. !"+ Service This service ena!les you to send and receive messages through nterprise 0ava%eans (0%s).
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
File Adater This adapter acts as !oth an in!ound and out!ound adapter. 'n the in!ound direction the adapter polls for files in a directory to retrieve and process. 'n the out!ound direction the adapter creates files in a directory. FT$ Adater This adapter acts as !oth an in!ound and out!ound adapter. 'n the in!ound direction the adapter polls for files in a directory to retrieve and process. 'n the out!ound direction the adapter creates files in a directory. #TT$ +inding This service ena!les you to integrate SOA composite applications with TT !inding. This service ena!les you to invo&e SOA composite applications through TT OST and 2T operations and invo&e TT endpoints through TT OST and 2T operations. "8S Adater This adapter acts as !oth a consume (in!ound) and produce (out!ound) messaging adapter. 'n the in!ound direction the adapter polls (consumes) messages from a 0S destination. 'n the out!ound direction the adapter sends (produces) messages to a 0S destination. 8= Adater This adapter provides message echange capa!ilities !etween %, processes and the '% QSeries messaging software. Oracle Alications This adapter provides comprehensive !idirectional multimodal synchronous and asynchronous connectivity to Oracle Applications. The adapter supports all modules of Oracle Applications in #elease 69 and #elease 66i including selecting custom integration interface types !ased on the version of Oracle -%usiness Suite. The adapter provides real-time and !idirectional connectivity to Oracle Applications through interface ta!les views application programming interfaces (A's) and +, 2ateway. The adapter inserts data into Oracle Applications using interface ta!les and A's. To retrieve data from Oracle Applications the adapter uses views. 'n addition it uses +, 2ateways for !idirectional integration with Oracle Applications. +, 2ateways are also used to insert and receive Open Application 2roup 'ntegration Specification Soc*et Adater This adapter ena!les you to model standard or nonstandard protocols for communication over TCP' soc&ets. 3ou can use this adapter to create a client or server soc&et and esta!lish a connection. The data that is transported can !e tet or !inary. Third $arty Adater This adapter ena!les you to integrate third-party adapters into a SOA composite application. These thirdparty adapters produce artifacts (*SD,s and 0CA files) that can configure a 0CA adapter.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
8ediators@ Introduction to Oracle 8ediator Oracle ediator provides a lightweight framewor& to mediate !etween various components within a composite application. ediator converts data to facilitate communication !etween different interfaces eposed !y different components which are wired together to !uild a SOA composite application. 5or eample a ediator can accept data contained in a tet file from an application or service transform it to a format appropriate for updating a data!ase that serves as a customer repository and then route and deliver the data to that data!ase. Oracle ediator facilitates integration !etween events and services where service invocations and events can !e mied and matched. 3ou can use a ediator component to consume a !usiness event or to receive a service invocation. A ediator component can evaluate routing rules perform transformations validate and either invo&e another service or raise another !usiness event. 3ou can use a ediator component to handle returned responses call!ac&s faults and timeouts. This section provides an overview of Oracle ediator f eatures/ • • • • • • • • • • •
Content-%ased and eader-%ased #outing Synchronous and Asynchronous 'nteractions Se$uential and arallel #outing of essages Transformations 7alidations 0ava Callout vent andling Dynamic #outing rror andling ultiple art essage Support ediator cho Support
Oracle ediator provides support for setting rules !ased on message payload or message headers. 3ou can select elements or attri!utes from the message payload or the message header and !ased on the values you can specify an action. 5or eample ediator receives a file from an application or service containing data a!out new customers. %ased on the country mentioned in the customerMs address you can route and deliver data to the data!ase storing data for that particular country. Similarly you can route a message !ased on the message header. •
Synchronous and Asynchronous 'nteractions Oracle ediator provides support for synchronous and asynchronous re$uest response interaction. 'n a synchronous interaction the client re$uests for a service and then waits for a response to the re$uest. 'n an asynchronous interaction the client invo&es the service !ut does not wait for the response. 3ou can specify a timeout period for an asynchronous interaction which can perform some action such as raise an event or start a process. Se$uential and arallel #outing of essages A routing rule eecution type can !e either parallel or se$uential. 3ou can configure the eecution type from #outing #ules panel.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Transformations Oracle ediator supports data transformation from one +, schema to another. This feature ena!les data interchange among applications using different schemas. 5or eample you can transform a comma-delimited file to the data!ase ta!le structure.
•
7alidations Oracle ediator provides support for validating the incoming message payload !y using a Schematron or an +SD file. 3ou can specify Schematron files for each in!ound message part and Oracle ediator can eecute Schematron file validations for those parts.
•
0ava Callout Oracle ediator provides support for 0ava callout. 0ava callouts ena!le the use of 0ava code together with regular epressions.
•
vent andling An event is message data sent !ecause of an occurrence of an activity in a !usiness environment. Oracle ediator provides support for su!scri!ing to !usiness events or raising !usiness events. 3ou can su!scri!e to a !usiness event that is raised when a situation of interest occurs. 5or eample you can su!scri!e to an event that is raised when a new customer is created and then use this event to start a !usiness process such a s sending confirmation email. Similarly you can raise !usiness events when a situation of interest occurs. 5or eample raise a customer created event after completing the customer creation process.
•
Dynamic #outing Dynamic #outing separates the control logic which determines the path ta&en !y the process from the eecution of the process. 3ou can create a dynamic routing rule from the ediator ditor.
•
rror andling Oracle ediator supports !oth fault policy-!ased and manual error handling. A fault policy consists of conditions and actions. Conditions specify the action to !e carried out for a particular error condition.
•
ediator cho Support Oracle ediator supports echoing source messages !ac& to the initial caller after any transforms validations assignments or se$uencing are performed.
•
ultiple art essage Support Oracle ediator supports messages consisting of multiple parts. Some #emote rocedure Call (#C) we! services contain multiple parts in the SOA message.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Difference between 8ediator and +$!, 3ou have many tools to use in a composite and they may overlap for some cases. ediator is particularly useful for content !ased routing of events and as a listener for events. %, of course offers more possi!ilities for !usiness logic and would generally !e suited to defining process logic. A more comple SOA composite li&ely includes !oth components and others as well.
ediator serves the purpose of a !us. 't can !e !est utili4ed when used for routing. 't can do routing !ased on many parameters and the !est part is the routing rules can !e modified at runtime thus giving the flei!ility to choose the target at any point in time. %, 6) Comple ,ogic 9) 2ood Support language in form ofactivities <) erformance wise very slow ;) Support of Dehydration and 'nstance onitoring ) 5or ,ong #unning process %, is the #ight Solution G) To implement the controlled Transactions 'ntegration of #ules ngine and uman * or&flow N) To implement the service virtuali4ation %, is not the right approach ediator 6) ,ess Comple ,ogic 9) ,ess Support <) Three times faster than %, ;) 1o support of de hydration ) 5or ,ong #unning process not a proper solution G) 3ou cannot control the transactions in ediator. N) ediator is the right approach for the service virtuali4ation 'irtualiation Service virtuali4ation provides companies with the a!ility to create virtual services that offer a sta!le interface (location transport standards policies messages) even when the physical service changes. 7irtuali4ation offers high-availa!ility and load-!alancing performance and S,A monitoring and management routing versioning and mediation capa!ilities to mitigate the impact of change at the provider on service consumers. ediator is used for Transformation and #outing. #outing------------------Static routing and Dynamic #outing Static----------------Serviced %ased vent %ased Dynamic------------%usiness #ules
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Oracle nterprise Service %us (OS%) o
o
•
Old US%VOS% was the primary S% prior to %A ac$uisition. After ac$uisition of %A its role is to provide mediation services !etween SOA Suite components
o
'n 66g this will !e &nown as the ediator and acts as a component in an SCA assem!ly
o
OS% is the only S% availa!le if running on a non-*e!logic server
Oracle Service %us (OS%) o
reviously &nown as %A A$ualogic Service %us (A,S%)
o
OracleFs primary service !us
o
the preferred platform for service virtuali4ation and interactions eternal to the SOA Suite
o
Currently OS% is only availa!le on *e!,ogic server !ut the intention is provide it on other platforms as well in the future
o
OS% is the foundation of service !us functionality moving forward
o
Can !e used independently without SOA Suite
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
ediator vs. Oracle Service %us (OS%) ediator •
•
o
The Vtiny Vlight weight service !us
o
,imited to simple ediator functionality for the implementation of the 7T#O pattern
7 alidade
nrich
T ransform
# oute
O perate
o
7alue apping and Cross-#eference Ta!le for supporting the canonical datamodel
o
Development through 0Developer 'D
o
vent Delivery 1etwor& for u!lish-Su!scri!e semantic
o
essage Transformation with +S,T
o
Can !e used and deployed as a SCA component
Oracle Service %us (OS%) o
The large powerful service !us
o
tended functionality important for enterprise-wide 'ntegration li&e
essage Throttling
Service ooling
#elia!le essaging
o
Development through clipse 'D or *e! Console
o
essage Transformation over +Query and +S,T
o
OS% specific deployment
o
1ot yet integrated with SCA
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Imlement Domain 'alue 8as >D'8? Domain 7alue aps (D7) are an interesting feature of Oracle SOA Suite for supporting Canonical Data odels. They help to map from one voca!ulary used in a given domain to another voca!ulary used in a different domain. 5or eample one domain might represent a country with a numeric code while another domain may represent a country with the 'SOstandard alphanumeric country code. 'n SOA Suite 68g there were part of the Vold Oracle S% and in SOA Suite 66g they can !e used from a ediator component. >nfortunately this feature is not yet availa!le in Oracle Service %us (OS%). 't will !e added in the future as the statement of direction states.
•
This might !e less of a pro!lem when using !oth the Oracle SOA Suite together with the Oracle Service %us in a larger architecture. 'n this case the responsi!ility for mapping these values can !e delegated to the SOA Suite 66g ediator component where the D7 functionality is availa!le. %ut if only the OS% is used standalone then such value mappings would !e nice in the OS% as well. *ith the help of +Query the D7 functionality can !e implemented in a similar way so that if the feature is later availa!le in a new version of OS% it can !e replaced !y that with minimal wor& involved. This !log entry shows the custom D7 functionality implemented for the Oracle Service %us.
Introduction to Domain 'alue 8as Domain value maps operate on actual data values that transit through the infrastructure at runtime. They ena!le you to map from one voca!ulary used in a given domain to another voca!ulary used in a different domain. 5or eample one domain may represent a city with a long name (%oston) while another domain may represent a city with a short name (%O). 'n such cases you can directly map the values !y using domain value maps. A direct mapping of values !etween two or more domains is &nown as point-to-point mapping. Ta!le ;;-6 shows a point-to-point mapping for cities !etween two domains/ Ta!le ;;-6 oint-to-oint apping CityCode
City(ame
%,2?1?ST,ouis
%elgradeSt,ouis
%,2?1C
%elgrade1orthCarolina
%O
%oston
1
1orthport
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
CityCode
City(ame
:1?>SA
:ensington>SA
:1?CA1
:ensingtonCanada
ach domain value map typically holds a specific category of mappings among multiple applications. 5or eample one domain value map may hold mappings for city codes and another may hold mappings for state codes. Domain value map values are static. 3ou specify the domain value map values at design time using Oracle 0Developer and then at runtime the domain value map columns are loo&ed up for values.
8DS 8DS is used as a repository for managing and reusing shared resources li&e +SD *SD, +S, files. DS should !e implemented from day 6 of development otherwise developers will run into +SD mismatch also during production it will !e very tough to &eep the +SD same. The concept is very simple rather than each pro"ect pic&ing the sd (any other file) from there pro"ectMs MsdM folder pic& it from the commonPshared folder. Oracle SOA suite 662 provides Central DS and ,ocal DS. Central DS is present inside the SOA server •
•
,ocal DS is a folder inside the 0Developer
WWW 'deally all the artifacts should !e inside the central DS. +#ef Ta!les / The +ref ta!les we create is a one-time activity and we can refer to any +#5 ta!le from oramds if it is properly populated in +#5?DATA. *e will !e using %, process for populating the data.
Introduction to the Oracle +usiness 5ules Oracle %usiness #ules is a high performance and lightweight !usiness rules product that is p art of the Oracle 5usion iddleware Suite that can !e used in !oth SOA and % suite. To have a !usiness process more agile and coherent with the changing demands of %usiness Oracle %usiness rules is a must for any design. Also it should act as a central component where all process rules are located. *ith O%# 66g one added advantage of !usiness rules is that they can !e eposed as any other we! service. This ma&es it an instant hit as it !ecomes hot plugga!le. A Decision component also called a !usiness rule service component supports use of Oracle %usiness #ules in a SOA composite application. Decision components support the following SOA composite usage.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
The %elow ta!le #ules Designer 1avigation Areas Descriptions
5ules Designer (avigation Tab
Descrition
5acts
5acts are the o!"ects that rules reason on.
5unctions
A function in Oracle %usiness #ules refers to the standard mathematical functions.
2lo!als
A glo!al in Oracle %usiness #ules is similar to a pu!lic static varia!le in 0ava.
%uc&etsets
%uc&etsets define the data types of fact properties.
,in&s
,in&s are used to lin& to a dictionary in the same application or in another application.
Decision 5unctions
A Decision 5unction is a function that is configured declaratively without using #, ,anguage programming.
#ulesets with #ules and Decision Ta!les
A ruleset provides a unit of eecution for rules and for Decision Ta!les. A Decision Ta!le provides a mechanism for descri!ing data processing tas&s.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Introduction to #uman )or*flow any end-to-end !usiness processes re$uire human interactions with the process. 5or eample humans may !e needed for approvals eception management or performing activities re$uired to advance the !usiness process. The human wor&flow component provides the following features/ •
uman interactions with processes including assignment and routing of tas&s to the correct users or groups
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
•
•
•
Deadlines escalations notifications and other features re$uired for ensuring the timely performance of a tas& (human activity) resentation of tas&s to end users through a variety of mechanisms including a wor&list application (Oracle % * or&list) Organi4ation filtering prioriti4ation and other features re$uired for end users to productively perform their tas&s #eports reassignments load !alancing and other features re$uired !y supervisors and !usiness owners to manage the performance of tas&s
5igure 9-6 provides an overview of human wor&flow/
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Introduction to #uman Tas* Design Concets To use the uman Tas& ditor you must understand human tas& design concepts including the following/ • • • • •
The types of users to which to assign tas&s The methods !y which to assign users to tas&s (statically dynamically or rule-!ased) The tas& participant types availa!le for modeling a tas& to which you assign users The options for creating lists of tas& participants The participants involved in the entire life cycle of a tas&
Introduction to the 8odeling $rocess Oracle SOA Suite provides a graphical tool &nown as the uman Tas& ditor for modeling your tas& metadata. The modeling process consists of the following/ • •
•
Creating and modeling a human tas& service component in the SOA Composite ditor Associating it with a %, process 2enerating the tas& form for displaying the human tas& during runtime in Oracle % *or&list.
o design the human tas&/ 6. 9.
'n the Title field enter #e$uest for 7acation. Accept the default values for outcomes (A#O7 and #0CT). 5or this tas& these outcomes represent the two choices the manager has for acting on the vacation re$uest.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
<.
On the right side of the arameters section clic& the Add icon to specify the tas& payload. The Add Tas& arameter dialog is displayed. 3ou now create parameters to represent the elements in your +SD file. This ma&es the p ayload data availa!le to the wor&flow tas&.
;. Select lement. . To the right of the lement field clic& the Search icon.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
+A8 >+usiness Activity 8onitoring? %usiness Activity onitoring is a tool that is useful in monitoring !usiness services and processes. 't actively collects data applies rules and reports information to users. *hen something goes wrong in !usiness processes %A can !e configured to ta&e corrective measures such as emailing administratorsPsupport team. #ow does +A8 interface with other SOA A$$,ICATIO(S; %A uses Data O!"ects to capture and store information from other sources. 't uses %eal &ime 'ata (treaming to stream data through Oracle %A Adapter 0S connector OD' or we! service A'. *e are going to eplore the features of %A through a simple use-case as shown !elow/
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Descrition@ mployee information is sent to %A ample rocess (%,). %, sensors sends this information through %A Adapter to populate mployee Data O!"ect in %A. mployee Dash!oard report will capture this information and show in the form of a
Create Employee Data O!"ect Create %A #eport Configure %A Adapter Create %, Sensor Activity and Sensor Action
1& Create Employee Data Ob%ect • •
• •
•
•
Open %A console using http/PPHyourhost=/L886POracle%A Open %A Architect
Clic& on ECreate Data O!"ectE and enter EmployeeE in the name field. Clic& on EAdd 5ieldE and add following fields/ id (Auto-incrementing 'nteger) name (String) department (String).
Clic& on ECreate Data O!"ectE to finish creation. 3ou can optionally create a su!-folder to hold mployee o!"ect. a&e sure mployee o!"ect is visi!le under Data O!"ects section.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
-& Create +A8 5eort •
Open Active Studio
•
Clic& on ECreate a 1ew #eportE.
• •
• •
•
Clic& on first option/ Single tiled #eport. nter Employee Dash!oardE for #eport title and select E< D %ar ChartE as report type.
Select EmployeeE o!"ect from Data O!"ects section at the !ottom and clic& on 1et !utton. Select VDepartment in 2roup %y section Vid in Chart 7alues and VCount in Summary 5unction(s). Clic& on 1et and then 5inish !utton.
Save this report and it will !e visi!le through E#ecent #eportsE in ome ta!. This report now shows mployee count grouped !y Department.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
.& Configure +A8 Adater • •
• •
•
Open *e!logic Server Administration Console. 5rom left side Domain Structure section select Deployments.
Search and select EOracle%amAdapterE. Clic& on EConfigurationE and EOut!ound Connection oolsE from Oracle%amAdapter settings page.
*e can see predefined connection pools for #' and SOA connections. pand !oth connection factory lin&s. *e need to configure these connection pools to use %A server.
Imortant@ #epeat following steps for !oth EeisP!amPrmiE and EeisP!amPsoapE. •
Open VeisP!amPrmi lin& and enter Out!ound connection properties as follows. #eplace connection parameters as per your installation. it Vnter &ey after entering each property value. Clic& on Save once youFve finished.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Open VeisP!amPsoap and enter connection parameters as follows. it Vnter &ey a fter entering each property value. Clic& on Save once youFve finished.
(ote/ The >ser1ame field should contain an Oracle %A user who is a mem!er of application-level role Administrator or #eport Architect. Vwe!logic user !y default is an Administrator. •
Cli& on Oracle%amAdapter from Deployments page. 2o to Control ta!. Select Oracle%amAdapter clic& on Stop and then Start !uttons. 1ow Oracle %A Adapter is ready for use.
/& Create +$!, Sensor Activity and Sensor Action • • •
• •
Create an empty 2eneric ro"ect and name is %Aample. 'mport following employee.sd file into %Aample pro"ect. Create one-way %, process and name it %Aamplerocess. Select mployee element from ro"ect Schema 5iles for 'nput message for the service.
Dou!le clic& on %Aamplerocess in composite.ml to open the %, process. Clic& on onitor !utton at the top right corner of the process window to change to onitor view.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
•
#ight clic& on receive'nput activity and create sensor.
Change valuation Time to Completion. This will activate sensor after the completion of receive'nput activity. Select mployee element for input7aria!le as shown !elow.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
•
•
•
5rom %A ample rocess Structure window right clic& on Sensor Actions and Creatte = %A Sensor Action X
Select ActivitySensor?6 for Sensor property. Choose mployee Data O!"ect from %A Data O!"ect Chooser. Select V'nsert as Operation type. One other interesting operation is >psert that stands for >pdateP'nsert. This operation creates an o!"ect if one does not eist or updates an eisting one. nsure %A Connection 5actory 01D' value is VeisP!amPrmi. *e can specify VeisP!amPsoap in case %A and %, servers are separated !y a 5irewall.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Create a new mapping !etween %A data o!"ect and %, input varia!le as shown !elow.
•
sta!lish +AT mapping.
• •
Clic& on O: to close Sensor Action creation Dialog. #ight clic& on %Aample !pel process and deploy to SOA Server.
Test +A8 !9amle rocess •
2o to %Aample in nterprise anager and Test the process.
•
nter Oracle6 and O#AC, for name and department respectively. Clic& on Test *e! Service.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
•
Open %A Active 7iewer. Clic& on VSelect #eport and choose Vmployee Dash!oard report we saved earlier. *e can see the updated graph. periment with different values.
Oracle +$!, Correlation !9emlified Correlation is one of the important tric&y techni$ues availa!le within Oracle %, . %elow ta&en a simple route to eplain the correlation techni$ue. Synchronous B Asynchronous web services@ *henever a synchronous we! service is invo&ed from Oracle %, via a partner lin& only one port is esta!lished for communication with the eposed we! service which is used !y !oth re$uest response messages. owever when an asynchronous we! service is invo&ed two ports are opened for communication/ one for re$uest one for response messages. #ow does Oracle +$!, identify asynchronous resonses; As response from an asynchronous we! service is not guaranteed to !e received within a specified time frame and many instances of the same service might !e invo&ed !efore even a response can !e o!tained how does Oracle %, identify and relate the responses to the appropriate re$uests and proceed for completion of further activities that may !e scheduledR The answer is E*S-AddressingE. )hat is )S7Addressing; *S-Addressing is a transport-neutral mechanism !y which we! services communicate addressing information. SOA envelopes headers used within we! services for transporting data through transport layers li&e TT does not possess intelligence to specify uni$ue addressing information. ence *S Addressing evolved which contained endpoint references (#) and message information headers for identification. This information is processed independently of the transport mechanism or application. %y default Oracle %, implements *S-Addressing for all asynchronous we! service calls hence we donMt have to eplicitly implement identification relationship !etween the incoming outgoing messages. Correlation@ 'n short Correlation is a %, techni$ue which provides correlation of asynchronous messages !ased on the content of the message. )hy B )here Correlation; The following are few scenarios in which we would !e re$uired to implement Correlation to identify relate message communicationI 6. *hen the eternal we! service called doesnMt have * S-Addressing capa!ility 9. *hen the message travels through several services and response is solicited !y the initial service from the last service directly 5or instance re$uest flow pro6 -= pro9 -= pro< and response is received from pro< -=pro6
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
Imlementing Correlation@ a.) Creating Correlation Sets/ 'n Structure *indow of the 0Developer 'D right clic& on the Correlation Sets and choose MCreate Correlation SetM rovide a name for your correlation set !eing created. 'n the properties section select MAddM to display the property chooser window Choose MCreateM to create a property on which the correlation has to !e initiated. rovide a name and type for the property. !.) Associating the Correlation set on receivePinvo&e pic& activities 2o the the correlations ta! on the activity (invo&ePreceivePpic&) on which you need to set validate the correlation Add the created correlation set to the activity 'nitiate Attri!ute/ (7alue Set - yes no) *hen set to yes correlation set is initiated with the values of the properties availa!le in the message !eing transferred *hen set to no correlation set validates the value of the property availa!le in the message attern Attri!ute/ (7alue Set - in out in-out) *hen the value is MinM it means that the correlation property is setPvalidated on the incoming message *hen the value is MoutM it means that the correlation property is setPvalidated on the message going out of %, 'n case of Min-outM the property will !e setPvalidated on !oth incoming o utgoing messages c.) Creating roperty Alias/ 'n the Structure *indow of the 0Developer right clic& on the Mroperty AliasesM and select MCreate roperty AliasM Select the message type that you want to set to the correlation property (already created) 1ow correlation design is complete. owever correlation will not !e esta!lished unless we reference the correlations on the * SD, file of the %, process. To do this import the correlation *SD, file (created under the pro"ect) in the %, process main *SD,.
Dynamic artner lin* in +el So far we have discussed %, processes where all partner lin&s have !een d efined at the design time and related to actual we! services. *e have used a single partner lin& for each we! service we have communicated with.
'n an advanced %, process we might want to define the partner lin& endpoint references at runtime. This means that the %, process will dynamically determine which actual we! service it will use for a certain invocation !ased on the varia!le content. This is particularly useful in scenarios where the %, process communicates with several we! services that have the same *SD, interface. This has !een the case for our travel process eample where American and Delta AirlinesM we! services shared the same interface.
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
At times you have mutiple service end points and you donFt want to design your !pel !ased on each service. 3ou can have a single invo&e for all the service endpoints using dynamic !ining.
6) Create one *SD, - Should have diff portType for various services ,i&e / Hpln&/partner,in&Type nameESupplier%pelE= Hpln&/role nameESupplier%pelroviderE= Hpln&/portType nameEclient/Supplier%pelEP= HPpln&/role= HPpln&/partner,in&Type=
Hpln&/partner,in&Type nameESupplier%pel9E= Hpln&/role nameESupplier%pelrovider9E= Hpln&/portType nameEclient/Supplier%pel9EP= HPpln&/role= HPpln&/partner,in&Type= Hpln&/partner,in&Type nameESupplier%pel
Create %pel !ased on this *SD, 9) Create another ro"ect Create varia!le partner#eference of Type / Jhttp/PPschemas.mlsoap.orgPwsP988
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
HPcopy= Hcopy= Hfrom varia!leEservice?typeEP= Hto varia!leEpartner#eferenceE $ueryEPns9/ndpoint#eferencePns9/Service1ameEP=HPcopy=
) Assign partner#eference to artner ,in& Hcopy= Hfrom varia!leEpartner#eferenceE $ueryEPns9/ndpoint#eferenceEP= Hto partner,in&Eartner*e!SEP= HPcopy=
Thats it you can also have a general service in place "ust for !inding at first place.
Dehydration in SOA 11g Oracle %, rocess anager uses the dehydration store data!ase to maintain long-running asynchronous processes and their current state information in a data!ase while they wait for asynchronous call!ac&s. Storing the process in a data!ase preserves the process and prevents any loss of state or relia!ility if a system shuts down or a networ& pro!lem occurs.'f you have a large num!er of composite instances present for a single or multiple composites the nterprise anager will not !e a very ideal place to loo& at if we want to &now the states of these instances. The ta!le !elow shows the various State 7alue for composite instances in the C>%?'1STA1C ta!le of the SOAI(F5A schema in the dehydration store. 't stores instance meta data information li&e creation date last modified date current state process id etc. 5ollowing are processes state codes and their meaning State Code Closed and A!orted @ Closed and Cancelled N Closed and Completed Closed and 5aulted G Closed and (ending or Cancel) ; Closed and Stale L 'nitiated 8 Open and 5aulted < Open and #unning 6 Open and Suspended 9
'nstance data occupies space in Oracle %, rocess anager Schema ta!les. Data growth from auditing and dehydration can have a significant impact on data!ase performance and throughput. Oracle +$!, $rocess 8anager Tables Imacted by Instance Data rowth@7 >I?audittrail@7Stores the audit trail for instances. The audit trail viewed in Oracle %, Control is created from an +, document. As an instance is processed each activity writes events to the audit trail as +,. >ii?auditdetails@7Stores audit details that can !e logged through the A'. Activities such as an assign activity log the varia!les as audit d etails !y default.Audit details are separated from the audit?trail ta!le due to their large si4e. 'f the si4e of a detail is larger than the value specified for this property it is placed in this ta!le. Otherwise it is placed in the audit?trail ta!le. >iii?cubeinstance@7Stores process instance metadata (for eample the instance creation date current state title and process identifier) >iv?cubescoe@7Stores the scope data for an instance (for eample all varia!les declared in the %,
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600
flow and some internal o!"ects that help route logic throughout the flow). >v?dlvmessage@7Stores incoming (invocation) and call!ac& messages upon receipt. This ta!le only stores the metadata for a message (for eample current state process identifier and receive date). >vi?dlvsubscrition@7 Stores delivery su!scriptions for an instance. *henever an instance epects a message from a partner (for e ample the receive or onessage activity) a su! scription is written out for that specific receive activity. >vii?documentciref@7Stores cu!e instance references to data stored in the ml?document ta!le. >viii?documentdlvmsgref@7Stores references to dlv?message documents stored in the ml?document ta!le. >i9?schemamd@7Stores metadata a!out columns defined in the Oracle %, rocess anager schema (ora!pel). >9?tas*@7Stores tas&s created for an instance. The Tas&anager process &eeps its current state in this ta!le. >9i?wor*item@7Stores activities created !y an instance. All activities in a %, flow have a wor&?item ta!le. This ta!le includes the metadata for the activity (current state la!el and epiration date (used !y wait activities)). >9ii?9mldocument@7Stores all large o!"ects in the system (for eample dlv?message documents). This ta!le stores the data as !inary large o!"ects (%,O%s). Separating the document storage from the metadata ena!les the metadata to change fre$uently without !eing impacted !y the si4e of the documents. >9iii?#eaderroerties@7stores headers and properties information Durable and Transient $rocesses@7There are two types of processes in Oracle %, rocess anager. These processes impact the dehydration store data!ase in different ways. >i?Transient rocesses@7 this process type does not incur any intermediate dehydration points during process eecution. 'f there are unhandled faults or there is system downtime during process eecution the instances of a transient process do not leave a trace in the system. Transient processes are typically short-lived re$uest-response style processes. The synchronous process you design in Oracle 0Developer is an eample of a transient process. >ii?Durable rocesses@7 this process type incurs one or more dehydration points in the data!ase during eecution !ecause of the following activities/ W #eceive activity W Onessage !ranch in a pic& activity W OnAlarm !ranch in a pic& activity W *ait activity 'nstances of dura!le processes can !e saved in-flight (whether they complete normally or a!normally). These processes are typically long-living and initiated through a one-way invocation. $roerties that can effect the Dehydration Store@7 >i?idemotent +$!, $roerty@7 'dempotent Activities/-An idempotent activity is an activity that can !e retried (for eample an assign activity or an invo&e activity). Oracle %, Server saves the instance after a nonidempotent activity.A %, invo&e activity is !y default an idempotent activity meaning that the %, process does not dehydrate instances immediately after invo&e activities. Therefore if idempotent is set to true and Oracle %, Server fails right after an invo&e activity eecutes Oracle %, Server performs the invo&e again after restarting. 'f idempotent is set to f alse the invo&e activity is dehydrated immediately after eecution and recorded in the dehydration store. 'f Oracle %, Server then fails and is restarted the invo&e activity is not repeated !ecause Oracle %, rocess anager sees that the invo&e already eecuted. *hen idempotent is set to false it provides !etter failover protection !ut at the cost of some
SOA Solutions, Near S.R.Nagar e-Sava,Ph:-09705717600