Social Icons

Pages

Subscribe:

Monday, 30 June 2008

Task Based UI and its Usage


In all the Applications a particular task requires performing several steps to complete it which leads to common issues. Some issues are as follows:
  • Users may not be familiar with the sequence of steps
  • Users may inadvertently skip a step
  • Users often require additional training to complete the task.
Many clients prefer implementing a user interaction style that assists end users in completing such tasks.
The latest version Siebel 8.0 provides a feature called as Task Based UI, which enables us to use wizard-like interface( in this we can Use a wizard- like interface) to guide users through steps in a task. This helps in completing the tasks in (leads to complete some steps of a task in) a prescribed order. It supports forward and backward navigation through a sequence of views. In addition to this we can use the pause facility.
In TBUI one can implement the Branching conditions based on the users input. This can be achieved with the use of Transient BC (TBC). The mechanism behind TBC is that-data is collected and used during the execution of a task but not saved afterwards i.e. Transient data disappears when the task ends.
I worked upon a scenario i.e. Quote Generation which processes the Quotation, Opportunity and Account Information for each and every Quote. Following is the description
Requirement
The Process starts with the enquiry raised by the customer to the Customer Service Representative (CSR) for the same he/she will
  • Create an Opportunity by adding a Customer Account.
  • Create the Product for the same Opportunity from Administration – Products.
  • Create an Quote for the Opportunity.
  • Add the Price list for the Quote; this price should be available for the Line Items (product).
  • Generate the Quote information along with the Opportunity and Account.
Finally that will be delivered to the customer (Account Holder) through mail.
Development
Task, Task Group & Task Pane View: I created a new “Task Group” & a “Task”. Then added that “Task” to the “Task Group”. Later added the “Task Group” to the “View Task Group” named “Task Pane View”.
Views & Applets
I used vanilla Applets such as – Opportunity Entry Applet, Product Form Applet, Quote List Applet, Recipient List Applet etc. Made new Objects by copying the above mentioned applets and then used them on the corresponding Task Views. Also I inactivated the fields in the applet which was not supposed to be displayed.
Configuring TBC & Auto Quote functionality:
There is no change in the BC’s. I used Siebel provided “Auto Quote” functionality for the Quote creation. Due to the requirement of giving a choice to add multiple recipients for the Correspondence I created a Transient Business Component.
Adhoc functionality: All the Adhoc functionality which I used here was vanilla provided.
Pulling Data from Quote to Recipient:The biggest challenge was to pull Quote fields in Recipient BC through indirect Joins. First I created Link between Quote and Correspondence then with the help of Link Specification I pulled the Quote Row Id in the Correspondence then to the Recipient BC. Now by configuring a join in Recipient BC and Quote BC using the pulled Quote Row Id, I pulled all the desired fields of Quote BC.The Below Diagram will help you to understand it more clearly,
Task Based UI
The Final Version of Task flow was looking like the below figure:
Task Based UI
Finally, everything shaped up well and I delivered my first Task Based UI successfully on time. Please put your comments / suggestions.
Inputs from Abhinav A.
Read More about Task Based UI

Missing script for OBIEE Upgrade (7.8.5 to 10.1.3.3.1)


I did OBIEE upgrade with the help of the document Oracle® Business Intelligence Applications Upgrade Guide Version 7.9 February 2007 b31980.pdf
It was configured successfully but I encountered an error in the process of the final testing by running the provided out of box workflow through informatica. The workflows failed showing an ‘INVALID IDENTIFIER’ error indicating that some of the columns in the warehouse tables were missing. Hence I referred the document again.
As per the document the, warehouse Schema has been upgraded with the following mentioned scripts:-
UPGRADE.ctl script.
790_UPGRADE_PRE_CTL_SCRIPT.sql script.
DW.ctl script.
790_UPGRADE_PRE_DIMENSION_SCRIPT.sql script.
Though the above mentioned scripts were successfully executed, the workflows failed with the same error ‘INVALID IDENTIFIER’
Hence I figured out that one more script is required to resolve the above problem.
So after running the script placed at OracleBI\DAC\conf\sqlgen\ctl-file\ oracle_bi_dw.ctl
(DDLimp utility) the issue was resolved.
This script contained all the missing columns.
To run the Script use the following command:-
Here DDLimp is the utility provided by Siebel to run this Script.
Execute the following Command in the CMD Prompt:
—-DDLimp /U USER /P PASSWORD /C <Connect string i.e. system DSN> /G SSE_ROLE /I N /R Y
F <Path for the oracle_bi_dw.ctl Script>/L (location where you want to store log file)
Where,
U is Database Table owner name.
P is Database Table owner Password.
C is System DSN.
For G, I and R use the Default as given.
F indicates the path of the Script.
L indicates the path were the log file is to be stored.
Finally to my relief the upgrade completed by running the above mentioned script!
Inputs from Alok Chowdhary

Read More about OBIEE Upgrade

Friday, 20 June 2008

Haley’s in a Nutshell


INTRODUCTION:
CRM applications are based on various complex business processes that need to be coded in the application.They can change with time and this can be very often.Implementing the changes can have adverse effects on those parts that weren’t changed!!! Implementing Decision tress can be a nightmare through actual programming…with hundreds of If else conditions which is very difficult to maintain and foolish to code in the first place.
Haley Systems, Inc
has been the recognized global leader in rule-based programming. Haley’s Authority is a Rule authoring tool which allows you to write your Business rules in simple English, maintains them, executes them and allows testing them all in no time. Assume it as a programming language which uses simple English to code. The sentence “Set student’s grade to Distinction if he scored at least 70 in all subjects” can One needs to get back to school grammar to construct English sentences.
About Haley Authority: Mind your language (Grammar)
Get familiar with Nouns, Verbs, Adjectives, Adverbs, Prepositions, Conjunctions, Determiners, Phrases, Sentences, Subjects, Predicates and Direct & Indirect Objects.Haley adds few more terms such as Concepts, Entities, Relations, Phrasings, Statements, Conditions, Modules, Knowledge Base. With just an initial brush up on these topics you can get going with the wonderful tool.
Integrating with Siebel
Find below the Haley <- -> Siebel Integration Architecture.
Rule authoring tool
Siebel Object Importer
The concepts and relations needed to define rules on Siebel objects are created by importing the selected subset of the Siebel object model into Haley’s.
Siebel Deployment plug-in
Rule modules created in Haley Authority are compiled and stored into runtime tables
Rules Runtime Administration screen
It is used to activate, deactivate, and configure deployed rule modules.
Haley Authority knowledge base
It stores Haley Authority’s metadata, including Object Importer-created Siebel object definitions and rules
Haley inference engine
It executes rules.
Proxy Service
  • It is a proxy to the rules engine functionality at runtime.
  • It manages Haley’s runtime objects
  • It manages deployed rule modules
  • Interfaces with Siebel object manager for data
  • Interfaces with Haley’s inference engine for rule execution
  • Manages the rule execution results from Haley’s inference engine
THE PROS :
  • All the business logic can be isolated in a separate database (Knowledge base).
  • It can reduce scripting to a great extent.
  • Flexible to change the rules, policies on the go
  • Allows testing of the Rules created in Haley before actual deployment.
  • Easy to understand/write/maintain English Statements than blocks and blocks of code.
THE CONS:
  • Need to learn the GRAMMER. Haley Authority cannot write a poem or a play.
  • It can not replace all of your code but most of it.Remember everything is built for a purpose.
  • There’s no Check in Check out here.Maintaining a development environment where n developers are using Haley’s for constructing rules becomes difficult as only one Knowledge base per environment is supported.
Reader’s Take:
Consider the following scenario wherein an Insurance claim is to be ACCEPTED, PARTIALLY ACCEPTED, REJECTED based on the below decision tree.
Rule authoring tool
Rule authoring tool
I leave the answer to the readers to select between
  • A. Coding a mesh of 1000’s of If Else Statements
  • B. Using HBR
Comments welcome !
– Inputs from Pinank K.
Read More about Haley’s in a Nutshell

Thursday, 19 June 2008

Look before you leap – Is an assessment necessary before a Siebel upgrade ?


In today’s project execution scenario, upgrade assessments have gained much more importance than ever before.
Yet, IT managers face a lot of push back from their customer when they are faced with the cost associated with executing an upgrade assessment
The client wonders, why can’t we directly start with upgrade and move to a newer version. Why spend on an upgrade assessment?
Listed below are some of the arguments in favor of doing an assessment before going in for an upgrade. This applies equally to any package and not only Siebel.
1. Why we require Assessment?
If you do an upgrade assessment with a sample area of the functionality, you will be in a position
  • To measure the precise scope of the upgrade exercise: What has to be done, when and how long it will take.
  • To get a feel for the technical complexity of the upgrade – The vendor may tout the upgrade as a one click exercise that will be completed in half an hour while the users are out to lunch. The reality may be different.
  • To judge which of the new “features” are absolutely essential to get your users back on the road with minimum fuss and low cost
  • To assess the technical complexity of the upgrade – How much of your application will still work after the upgrade? Trust me, a lot of things will break.
  • To assess the gaps & issues highlighted by a focus group of users – You could let key users preview the result of upgrade exercise and see what they think about it.
  • To estimate the time and effort required to do the actual upgrade
  • To decide on a GO/NO-GO: The assessment will give you enough information to decide whether the upgrade is a good idea or not after all. It’s a good idea to get the assessment done by an independent party without bias to the software supplier
2. Continuing benefits of Assessment during the upgrade
Once a GO decision has been made, the upgrade assessment will continue to give you returns when executing the actual upgrade in the form of the below artifacts
  • Knowledge repository: You will have a good understanding of the pitfalls faced by the assessment team.
  • A realistic and re-usable Project Plan : Planning and precursor activities completed during POC will reduce actual upgrade timeline
  • Knowledge of Pre-requisites : Identification of upgrade tasks specific to Application/infrastructure
  • Compressed critical path: You will know which activities take a long time and fine tune upgrade processes to squeeze the timeline.
  • Resource readiness : You will know exactly what kind of resources are required to execute the upgrade and be ready to start upgrade on short notice
In conclusion, an assessment gives client an accurate method of determining if an upgrade is the right route to take, and gives precise estimation of the scope, schedule, resources and cost associated, which in turn lead to speedy decision making.
Inputs from Jagdish

Wednesday, 28 May 2008

Siebel moves to the SOA world


Siebel Web Services (SOA enabled) provide platform independent integration and rely on Internet development standards and protocols (XML, SOAP, WSDL etc) for communication. There are two type of Siebel Web Service known as Inbound Web Service and Outbound Web Service and Siebel provides host of pre-built ASI (Application Service Interface) which can be used for two way integration between external and Siebel Applications. Inbound Web Services are used to expose existing Siebel Business Service and Workflows to Web Service which will be consumed by external system. Outbound Web Service relies on a WSDL file provided by the external system to define the external service definitions to enable Siebel to invoke the Web Service.

An existing Siebel business service or workflow process can be exposed as an Inbound Web Service to be consumed by an external application. Siebel Outbound Web Services framework can also consume a Web Service Definition Language (WSDL) file provided by an external application and have the Siebel application invoke that Web Service. The diagram below depicts Siebel-External system integration using Siebel EAI/Web Service.

Soa_ws_tech
The OracleAS Adapter for Siebel uses the same Siebel Web Services Framework (introduced in Siebel 7.5).
Options
• ORACLE offered pre-built (release independent) ASI to functions such as Account and Opportunity
• Custom built ASI (release dependent) from the Siebel exposed business services
• ORACLE AS adapter
• Exposing Pl/SQL stored procedures as Web Services
• The iWay Adapter for to integrate Siebel application system with any other legacy system, DBMS, ERP, SCM, or CRM application on any platform
• Oracle Fusion middleware which support SOA and BPM for platform independent integration.
Methods
• ASI Exposes Siebel business services and workflow processes as Web Services which can be consumed by external system for further processing.
Inbound ASI: The Siebel application allows enterprises to publish any Siebel business service or business process as a Web Service. This process is also known as creating an Inbound Web Service for external application invoking Siebel exposed ASI as a web service (ORACLE financials synching ORACLE Order status to Seibel Sales Order).
Outbound ASI: Siebel apps invoking external web service. (Siebel sales order applet invoking ORACLE ERP to query quantity available.)
System Requirements for ASIs
• Siebel server environment, with the Siebel Web Server Extension (SWSE) set up.
• Application server
• Siebel Enterprise Application Integration (EAI) component group must be enabled.
• Access to the Web Services Administration view for this application, like using Siebel Client.
Soa_ws_tech
Inbound Web Service Strategy: The published Siebel Web Service will be consumed by External. The above diagram illustrates steps involved:
• The WSDL document for the active Siebel Web Service will be published as Inbound Web Service.
• WDSL will be generated for Siebel business service/Workflow and will be published on net. The published WSDL will be consumed by external system for further processing.
• The external system will send SOAP request to Siebel Application.
• The Siebel Inbound Web Service dispatcher will convert SOAP request into property sets and pass it to Siebel Business Service or Workflow for further processing.
• The property sets will be returned from business service or business process to the Siebel Web Service inbound dispatcher.
• The response will be converted into SOAP message and sent to the external system Web Service as a response.
Siebel Outbound web service integration strategy: External systems can publish Web Services/SOA WSDL file which will be consumed by Siebel. The above diagram illustrates steps involved:
• The WSDL document for the active Web Service will be published as outbound Web Service.
• The generated WDSL from outer system will be consumed by Siebel Outbound Web Services for further processing. Siebel Tools will be used to mapping and processing of external request.
• The Siebel will send SOAP request to external system.
• The Siebel Outbound Web Service dispatcher will convert SOAP response into XML and pass it to external system for further processing.
• The property sets will be returned from business service or business process to the Siebel Web Service outbound dispatcher.
• The response/request will be converted into SOAP message and sent to the foreign system Web Service as a response/request.
OracleAS: The OracleAS Adapter for Siebel supports the following integration access methods:
• Siebel Java Data Bean for services involving Siebel Business Components or Siebel Business Services. • Siebel COM Data Interface for services involving Siebel Business Components or Siebel Business Services.
• Siebel XML for events and services involving Siebel Integration Objects.
Actuate iServer exposes its functions as Web Services; which can be accessed by Actuate Web Services API or through WSDL published by Actuate.
PL / SQL Stored Procedures – to be exposed as web services.
Service Enabling Reference Architecture tools
• Workflow and business services are exposed as web services.
• Web service dispatcher handles inbound web service calls from consumers.
• Web services outbound proxy handles invocation of external web services to be consumed by Siebel.
Siebel 7.5.3
• SOA support
• SOAP 1.1
• WSDL 1.1
• XSD support
• ASI (application service interface) introduced.
Siebel 7.7
• SOA support
• SOAP 1.1
• WSDL 1.1
• XSD support
• WS-I
• Workflow and Business service based ASI
• WS-security
Siebel 7.8.2
• SOA support
• SOAP 1.1
• WSDL 1.1
• XSD support
• Interoperability validation
• Access control
Siebel 8.0
• WS-I attachment
• Customer order management exposed as web service
• SOA support
• SOAP 1.1
• WSDL 1.1
• XSD support
• Enhanced ASI (application service interface)
• Fusion Middleware (SOA and BPEL Support)
Inputs from Sanjeev Patel

Tuesday, 27 May 2008

Prune days and Change Capture in DAC


Here is a question I often get from customers regarding change capture by DAC when it is used for extracting Siebel data. The problem is equally valid for non-Siebel data sources if the default change capture mechanism provided in DAC is used for identifying changes in source data.
How can we ensure that data committed with an update timestamp between the start of an ETL run and the end of the extract is not excluded by the next ETL?
  • DAC stores a value called LAST_REFRESH_DATE at the end of an ETL extract.
  • During the next run, DAC captures changes to the source data by comparing this LAST_REFRESH_DATE with the LAST_UPD date of records in the source.
  • So if the LAST_REFRESH_DATE is less than LAST_UPD of a source record, then the record being processed has either been updated or created between the time of last execution and the current run
  • But what will happen if a record in the source is committed between the time of starting the data extract and completing the extract with a commit date that is less than the LAST_REFRESH_DATE
Prune days to the rescue!!! The solution to the above problem is to set the PRUNE_DAYS parameter.
If the prune days parameter is set to 1 for example, the change capture process will use LAST_REFRESH_DATE – Prune days as the cutoff timestamp for change capture
Here is an example of such a scenario
  • Let us assume that there is a table called S_CUSTOMER in transaction database with 2 records created during business hours on the 1st of January.
  • On the January 1st, Extraction of Customer Data begins at 1700 hours and completes at January 1st, 1800 hours into a customer Dimension called WC_CUSTOMER.
  • LAST_REFRESH_DATE stored is January 1, 1800 hours
  • Change capture in DAC
  • Now, a new customer is created between 1700 and 1800. But it is committed to the database AFTER the extract is completed with a timestamp of January 1st, 17.30
  • Change capture in DAC
    Change capture in DAC
  • More customers are added to the transaction database during the next working day. As a result the following is the condition of the source table at the time of the next ETL Extract i.e. Jan 2, 12:00 am
  • Change capture in DAC
    Change capture in DAC
    Change capture in DAC
    Change capture in DAC
  • Now the change capture process in DAC will compare the stored LAST_REFRESH_DATE with the update timestamp of the records in the source data and pull only the records updated after this LAST_REFRESH_DATE i.e. Jan 1, 1800 hours into the target table. Unfortunately for the 3rd record depicted below, the LAST_UPD is Jan 1, 1730 i.e. it is before the LAST_REFRESH_DATE. So, it does not qualify for the incremental extract and we have a missing record in the target table.
  • Change capture in DAC
    Change capture in DAC
  • g) But if we had set the PRUNE DAYS parameter to 1, the cutoff date used to identify changes in source data would be .Dec 31, 1800 hours i.e LAST_REFRESH_DATE – 1 day . If this ploy is used, all the records with LAST_UPD > Dec 31, 1800 hours will qualify for the incremental extract and we will have a complete set of data in the target table
Change capture in DAC
Change capture in DAC
Change capture in DAC
Change capture in DAC
Change capture in DAC
Change capture in DACThe Prune days parameter can be used to ensure that DAC Change Capture does not miss out data created around the time of data extraction.
Set it with care to a reasonable value to avoid increasing the volume of data selected by incremental load process.
New Feature in DAC 7.9 for non-Siebel Sources
For source systems other than Siebel, the Prune Days setting is used in the same way except that the DAC subtracts the number of prune days from the LAST_REFRESH_DATE of a given source and supplies this as the value for the $$LAST_EXTRACT_DATE parameter.
Inputs by: Raghunatha Yadav & Sanjay Rao