Showing posts with label EAI. Show all posts
Showing posts with label EAI. Show all posts

December 08, 2016

How to find the siebel log files using command line?

While working on Siebel projects you must have come across numerous occasions where you need to find specific log with specific error or any one user name or any one xml value which is causing trouble.



Usually this type of task involve tedious task of opening all the log files during the time duration one by one. 

July 03, 2016

WebServices Performance Tuning



Recently I have been working on high traffic and highly available web service which is hosted by Siebel. I was asked to improve performance of it. I checked all the places for any performance degradation clues, there was hardly any, all queries were on indexed columns and thin BC's were used, there was no fat whatsoever.

With all the logs and spool generation my focus went to these two problems. 

1. Before every web service call Siebel was requesting file system to write read user preference file which was taking fair bit of time due to contention at file system. You might see following in logs, if user preference file is corrupted.



ObjMgrLog Debug 5 0 2016-06-29 06:50:56 SharedFileReader: \SiebelFS\userpref\EAIUSER&Siebel Sales Enterprise.spf: Open iteration 0 failed. errcode = 2.


This file read was absolutely unnecessary, luckily there was a way to turn off by setting "OM - Save Preferences" to FALSE for EAI object manager. This will make all logins to avoid looking up for user preference file.

2. Another useless transaction I noticed was with database. It was when Siebel tries to update the last login date on S_USER record. 
In logs you can see queries like these:

UPDATE SIEBEL.S_USER SET
LAST_LOGIN_TS = :7,
MODIFICATION_NUM = :8,
LAST_UPD_BY = :9,
LAST_UPD = :10,
DB_LAST_UPD = current_date,
DB_LAST_UPD_SRC = :11
WHERE
ROW_ID = :12 AND MODIFICATION_NUM = :14;
This can also be turned off in recent Siebel versions by setting DisableLastLoginTS = TRUE 

Its a new parameter introduced by Oracle, you can read more about this parameter on oracle support 1665762.1

Hope it helps. If you have come across any such parameter which can improve performance then please share it in comments below.

January 24, 2014

Siebel Twitter Integration - Overview


What is Siebel?

Siebel is Oracle's CRM(Customer Relationship Management) product suite, which offer to manage customer relationships through various touchpoints. Siebel suite is designed mostly for all industry verticals and horizontals, and help business to manage customer data, order information, partner information, sales force automation, customer self service and many more customer interactions.

With its powerful integration capabilities Siebel can interact with other enterprise systems (like billing, back office systesms) on many protocols(like MQ Series, JMS, HTTP, Webservices, database connections, COM, Java, DLL and more..).


What is Twitter?

Does anybody need introduction? Twitter is first and biggest microblogging platform having billions of users accross the world. Some features like verified accounts, hash tagging and trending has made it one of the biggest social network platform.

User can vent their spleen out to the world lietrally about any topic and can follow any user or topic accross the world. From couple of years people have started venting about the poor customer service and problems on twitter. Business are forced to act on the complaints and provide response to keep the brand image. Recently angry customer's tweet about his lost baggage forced British airways to conduct a massive search operation, and helped passenger to get his lost baggage.

Does Siebel Provides Out of the box way to integrate with twitter? No!
Siebel recommends a third party product Buzzinet to handle the twiiter interaction and provide processed information back to Siebel. Which is a very tacttical solution and provides some benefits too. Thus it comes with premium licensing cost and service agreement.

Siebel Twitter Integration

In this series we will discuss a solution which can be implemented to integrate Siebel with twitter without the need of any another enterprise application or middleware.
Twitter only support REST API 1.1 for integration with other applications, current Twiiter API only accepts and provide response in JSON strings. That does not mean Siebel can not integrate Twitter. By using Java based EAI JSON Converter Siebel can create JSON strings and convert back string to data. Follow these links to understand more about EAI JSON Converter..

Twitter REST API v1.1 (@twitterapi) have three major ways of pulling and posting tweets into the cloud.

1. O-Auth User authentication


This method is used by mobile application and third party websites to allows users to acccess twiter features without leaving their environment.

2. Applicaton Only authentication


This type of authentication allows application to execute search queries on twitter and follow topics. With this type of authentication Twitter provides little more generous rate limits for querying twitter, and are best suited for CRM applications.

3. Streaming API


This is firehose of twitter tweets, and it streams live tweets to the applcation using long lived open HTTP connections. This feature should only be implemented if some serious research of user analytics need to be performed.


For the purpose of this series we will demonstrate a solutions which will help organizations having, to follow topics on twitter and post replies to the tweets all by using Siebel on premise application.



Later in this series:
 Stay tuned for coming up posts.

December 04, 2013

Siebel EAI Interview Questions

Question: How to generate XML in Siebel?

Answer: Use EAI Siebel Adapter Business Service Query method and then EAI XML Converter Service Method HierToDoc to generate XML Doc.


Question What is the difference between External & Internal Integration Object? 

Answer: Internal Integration Object refers to Siebel Business Object for querying and saving data.
External Integration Object refers to XML schema, one can not use query or insert operation on external integration object.
To create external integration object, either XSD or DTD document is required.

Question: How to change the XML tag in an Siebel Message?

Answer :  Find the Integration object from the xml and then go to the desired integration component and update the XML Tag of desired integration component field.

Question: How to change the source field of XML tag in Siebel XML?

Answer : Find the Integration Component Field and update the External Field name to the new field name.

Question: What is the significance of Name of Integration Component Field?

Answer: Name of Integration Component Field is used to create the Siebel Message property set, It is essential to know the ICF name if script is used to get value from XML.

Question: What is the use of XML Container Element?

Answer: XML container element if specified on IC then Siebel adapter will always create an XML tag before the start of child IC records, and it will always be present in XML even if no records are returned by query method.

Question: What is XSD? How to create XSD in Siebel?

Answer: XSD is an XML Schema Definition document. It is a type of XML document which defines the structure of an XML document. It contains the structure of the XML and the data type and length of XML.
Siebel tools can generated by Generate XML Schema wizard by clicking Generate Schema Button.

Question: What DTD? How to generate DTD of an Siebel Integration Object?

 Answer: DTD is Document Type Definition, it is another form of document which describes the structure and data types of an XML document. It can also be generated through Generate Schema Button on the Siebel Integration Object.

Question: What is a WSDL?

Answer: WSDL stands for Web Services Descriptive Language. It is an XML file which describes everything about a web server. 
Typically it contains:
  • Web service end point (URL)
  • Methods web service Support
  • Input and output arguments.
WSDL is technology/platform independent syntax thus it is widely accepted way of describing web services definition.


Question: How to import WSDL in Siebel?

Answer: Importing WSDL in Siebel is two step process.
First, WSDL is imported into Siebel Tools using WSDL Import Wizard. It creates Integration objects and proxy business service from WSDL definition, and generates XML for run time data creation.

Secondly, XML generated  is then imported in to web client. Process is outlined in bookshelf here.

Question: How to convert incoming Data to uppercase before importing in Siebel?

Answer: Siebel does not support changing the case of through EAI, however it is possible to call a custom business service through data maps which can convert the case.
InvokeServiceMethod ("CustomDataMapper", "UpperCase", "InputStr='"+[Integration Field Name]+"'", "OutputStr")
   

See more EAI Siebel Adapter Interview Questions.
See more Siebel Workflow Interview Questions.

June 24, 2013

Restrict certain queries on BC/EBC/VBC : GetSearchExpr()

Recently someone posted requirement on it toolbox to capture and change the queries executed by user on certain Siebel business components.

Few consultant suggested use pre query event of business component to change the search spec using GetSearchExpr and SetSearchExpr, however it is not possible to achieve this without releasing srf.

Perhaps there was a solution which could be achieved without releasing srf.In such type of requirements we can use Siebel Run Time events and client side business services which are independent of srf release.