1 1 This presentation is for informational purposes only and may not be incorporated into a contract or agreement 2 This presentation is for informational purposes only and may not be incorporated into a contract or agreement The Oracle BPEL Process Manager Administration Overview Feature Preview Webinar Series Kevin Clugage, [email protected]Product Director Robin Zimmermann, [email protected]Senior Product Manager Dial-in: 888.283.3946 or +1.210.795.4773 passcode: bpel Press *1 at the end to ask verbal questions To ask questions during conf, use "chat" feature
36
Embed
Administration Overview - Oracle · This presentation is for informational purposes only and may not be incorporated into a contract or agreement 2 This presentation is for informational
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
1
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
2
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
The Oracle BPEL Process Manager
Administration OverviewFeature Preview Webinar Series
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Workflow – A special mention
• Changes in 10.1.3:
• New Workflow service in 10.1.3• Not compatible with previous workflow service• Previous workflow service will be supported• Watch Workflow Deepdive webinar for details
Identity Service Plugin example
Workflow Service 10.1.2 source
Workflow Service 10.1.3 source
10.1.2 10.1.3
12
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Agenda
• Basic Facts
• Oracle BPEL Process Manager API• Deployment
• Dehydration Store Management• High Availability and Clustering
• Process Recovery• Miscellaneous
7
13
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Use JNDI names consistently
• Example for database adapter:• Use database connection eis/DB/myConn in your
application• Set the connection factory in each environment for
that name:In dev, eis/DB/myConn points to dev databaseIn prod, eis/DB/myConn points to prod database
• Config file for DB Adapter:<HOME>\system\appserver\oc4j\j2ee\home\application-deployments\default\DbAdapter\oc4j-ra.xml
14
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Deployment in 10.1.2Deployment version
• Use tokens to make files generic• Use obant to replace tokens with actual value• Use different targets for different environments• Do this for bpel.xml + WSDL files• Cannot be used in a JDeveloper project
• Database settings are tuned (e.g. for growth)• Optionally tweak storage settings. Examples:
• Partition tables• Store blobs separately
19
37
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Dehydration Store• It only grows... You must manually archive and purge• Can be done via the API (fully supported)• Can be done directly in SQL (Not so supported)
• API can't archiving -- must be done in SQL• Schema definition can change at any time!
Process instances
Process variables
Incoming messages
Outgoing messages
Task information
38
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
-- Purge all handled invoke_messagesfor r_invoke_message in c_invoke_messageloop
delete from invoke_message_binwhere message_guid = r_invoke_message.message_guid;
delete from invoke_messagewhere current of c_invoke_message;
end loop;
-- Purge all handled callback messagesfor r_dlv_message in c_dlv_messageloop
delete from dlv_message_binwhere message_guid = r_dlv_message.message_guid;
delete from dlv_messagewhere current of c_dlv_message;
end loop; end purge_instances;
end bpel_dehydration; BPEL_HOME\system\database\scripts\domain_oracle.ddl
40
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Purging
procedure delete_ci( p_cikey in integer )asbegin
-- Delete the cube instance first--delete from cube_instance where cikey = p_cikey;
-- Then cascade the delete to other tables with refe rences--delete from cube_scope where cikey = p_cikey;delete from work_item where cikey = p_cikey;delete from wi_exception where cikey = p_cikey;delete from document where cikey = p_cikey;delete from scope_activation where cikey = p_cikey;delete from dlv_subscription where cikey = p_cikey;delete from audit_trail where cikey = p_cikey;delete from audit_details where cikey = p_cikey;delete from sync_trail where cikey = p_cikey;delete from sync_store where cikey = p_cikey;collaxa.delete_txs( p_cikey );
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Using different criteria
• Use whichever criteria you like to select the rows
• Some examples:
select cikeyfrom cube_instance, domainwhere cube_instance.domain_ref = domain.domain_refand domain.domain_id = 'X' X is the name of the do mainand state = X X is the state (see previous slide)and modify_date < sysdate-X X is the number of day s of history and process_id = 'X'; X is the process name
44
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
I didn't get my space back!
• Tablespaces do not reclaim space unless you truncate or rebuild the table
• Oracle RDBMS 10g has shrinking tablespaces• Create new tablespace
create tablespace ts_orabpel datafile 'xxxxxxxx' size 100M segment space management auto;
• Move tables to new tablespace using "alter table move" statement
• Configure tables for auto segment managementalter table cube_scope enable row movement; alter table cube_scope shrink space compact; alter table cube_scope shrink space; alter table cube_scope disable row movement;
46
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Agenda
• Basic Facts
• Oracle BPEL Process Manager API• Deployment
• Dehydration Store Management• High Availability and Clustering
• Process Recovery• Miscellaneous
24
47
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Remove Single Points of Failure
BPEL Server
Database(dehydration store)
48
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Database(dehydration store)
Remove Single Points of Failure
BPEL Server
Use multiple BPEL nodes• Stateless
BPEL Server
BPEL Server
25
49
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Database(dehydration store)
Remove Single Points of Failure
BPEL Server
Each server is independent – needs coordination
BPEL Server
BPEL Server
50
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Database(dehydration store)
Remove Single Points of Failure
BPEL Server
Cluster the BPEL servers
BPEL Server
BPEL Server
Load
Bal
ance
r
26
51
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Database(dehydration store)
Remove Single Points of Failure
BPEL Server
BPEL Server
BPEL ServerLo
ad B
alan
cer
Asynchronous service
52
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Database(dehydration store)
Remove Single Points of Failure
BPEL Server
BPEL Server
BPEL Server
Load
Bal
ance
r
Asynchronous service
Set callback to load balancer
27
53
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
RAC
Remove Single Points of Failure
BPEL Server
Database(dehydration store)
BPEL Server
BPEL ServerLo
ad B
alan
cer
Cluster the database
54
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Clustering BPEL servers
1. Configure all BPEL servers to point same dehydration store
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Configuring BPEL for RAC4. For DB Adapter, configure resource adapter
• Set the followinguserName=""
password=""
usesExternalConnectionPooling="true"
usesExternalTransactionController="true"
5. In BPEL PM Admin Console, set fatalConnectionMaxRetry
• The maximum number of times a fatal connection error can be retried before failing.
• Defaults to 2
30
59
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Deploying to a cluster
10.1.2• Deployment information is kept on each node• Can only deploy locally• Deploy on each host, or deploy to one node and
manually copy Jar file to other hosts
10.1.3• Deployment information is kept in the dehydration
store• Can deploy remotely• Deploy to any BPEL server, automatically deployed to
database and replicated to other nodes
60
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Agenda
• Basic Facts
• Oracle BPEL Process Manager API• Deployment
• Dehydration Store Management• High Availability
• Process Recovery and Clustering• Miscellaneous
31
61
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Process Recovery
• Need to recover process when things go wrong
• Examples:• Host dies• BPEL engine fails• Timeouts from services taking too long• Timeouts from too many messages
62
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Process Recovery
• Restarting a BPEL server will automatically start recovering processes
• Recover processes manually using BPEL Admin Console
• Can automate recovery using the Java API• May add an auto-recovery agent in release 11
32
63
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
64
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
33
65
This presentation is for informational purposes only and may not be incorporated into a contract or agreement
Timeouts
• Occur when time between last dehydration and now is too large. For example:• Call a synchronous service that takes too long• Too many messages come in and can't be processed in time
• Monitor for stale instances• Automatically clean stale instances• Send email alerts• Currently tested on JBoss• http://sourceforge.net/projects/jaisy-obpel-itf
36
71
This presentation is for informational purposes only and may not be incorporated into a contract or agreement