Search This Blog

Sunday, October 12, 2014

2. Workflow Notes

Version of Workflow:
select workflow_version from wf_versions

1.What is Workflow??
Leaves applied to HR manager, after approval attedances should be updated as leave,
and leaves remaining should detect automatically,
and also the requester should get the approval.

2  Types of activities in every business process:

1. Manual : which will required manual interactions.
2. Automatic: which will be automated.



In workflow also have manual, automatic.

Notifications: manual activity...(manager clicking approve/reject buttons)
Automated Activity: Detect the leaves,attendances. (pl/sql functions, proc, packages.)

We can address above by creating pl/sql procedure and call this.

Graphical Tool:
Will allow to design the process requirement graphically.

Workflow files are saved to database tier, like rdf,fmb saved in application tier and with extension as .wtf.
No need to register with oracle application, just deploy(create and save) in the database.

Oracle workflow components:



Oracle workflow Builder: Graphical Designing tool, users can create,modify, view a new workflow process.
2 parts in WF.
        1. Navigator Tree.-similar Object navigatory of forms/reports builder, where we can access componenets from centralized location.
        2. Process Diagram.-graphical/picturial representation of ur business process.
Workflow Engine: One of the key componenets of the workflow, the entire capacity of workflow will reside in workflow engine.
             wf_engine is package(procedures/functions) which is called as workflow engine.
             It is Part of database.
             If we want to execte workflow then we need to call workflow engine.
                         Pass the parameters what workflow engine will do, it will star the workflow process.
             Runtime process will be create.(same as request id for concurrent program)
                         After it will start executing the start activity, next to other activities (process).
                         It will never touches the manual activies, it executes only automated activies.
Cost:
For everyautomated activities, need a cost.
A cost is what is the amt of time i need to spend to complete the proces.(prioritise the activies ex:immediately,schedule)
workflow engine has a thresold value,default 50.
cost given ex: 60
cost <= thresold value, automatically it will execute immediate.
cost >= thresold value, will execute later.
2 parts
1. foreground engine.-all online activies.immediate activities.
2. background engne.-all offline activities , execution later.

Once the activities completed, will go to the next activity.

Cost factor example:
OM>Shipping transaction
closing the sales order line - foreground engine
onhand qty -foreground engine
transfer to receivable interface -we can transfer in the night also, so background engine.

Workflow engine treatement to non-automated activies:
Notifications/Blocking activity occurs with in the workflow process, workflow engine stops/hold the process for sometime,
and will wait someone will come and delivers the notifications.

each and every activiy wil be monitored/administred by workflow engine.
maintains the history by the workflow engine.(started time, end time, who started and so on)

Approve/Reject -Transactional path.
Approve= approve path
Reject = reject path

whenever reaches the end activity, workflow engine process will stop.

Workflow Definitions Loader:
its a utility program, to which we can upload/download from local machine the workflows to the server (database).

Notification System:
Workflow engine will tell the notification system to deliver the notification.
It delivers base on the predefine template (header, body, footer) to the receipient/set of users.
Once the user response will take the response and give to the workflow engine.
Then the workflow engine will start the other activity base on the results.

Notification Worklist:
is the list of open notifications waiting for an user response.
its a type of function, attached to the responsibility.
1. selfservice function.
2. form function.

Directory Services:

In notification we need to specity the receipent(to whom has to deliver). (users/resp/)
In notifiction cant understand the resp, it wil take from directory services.

Directory services is a part of oracle databae, which is implmeneted as a set of views.
wf_users,wf_roles,wf_user_roles. (this contain all the user info and resp)
which is mapped underline application directory repository. (means application creating users/responsibilites directly mapped to directory servides views)

wf_users,wf_roles open the view and check the tables.(moment we will update the tables, this views will be updated)

Notification system will pick which Predefine template picks the data from the directory services views.


Workflow Monitor:
Is a application service through which we can monitor and administer the status of the workflow.
Conc manager will monitors the conc programs.
Admin rights need to monitor the workflow process.(of all users)

Business Event System:
Req: new employee created in hrms, notification has to triggered to all users that new employee has employeed.
couple of ways we can initiate the workflow:
traditional: pl/sql, button,executing conc program (work flow engine)
business event: ex:creation of employee(business event system)

it is an application servcie, which communicates business events between applications.

Workflow XML Loader:

whenever we create business event, related will be uploaded/downloaded from server/local pc.
its same as data definition to transfer the files from local to server.
Business event will be converted into xml file and then we will upload to server.

Workflow Manager.

To manage the workflow, to hold/run the request process (request id)
Workflow is the part of oracle application Manager.
from which we can manage the services of the workflow.

-------------------------------------------------------------------------------------------------------------------




Creating and Calling Workflow, Language (US, AR):

Creating workflow in two ways.
top level: High level design
bottow up level: programmatical design

Top level : no need underline components (for notification msg is underline, for func pl/sql is underline components)

 only during the graphical process of digram.
 
Before saving/moving to database (before validation), it should have dependent components.

Bottom up level:
First creating underline components , then the process.

Calling env:

1. Conc program
2. oracle forms.
3. pl/sql procedures.
4. Triggers.

To set Language:

American_America.AL32UTF8  for english
AMERICAN_AMERICA.AR8MSWIN1256 for arabic set nls_lang key to use arabic text in workflow.


------------------------------------------------------------------------------------------------------------------




No comments:

Post a Comment