Tuesday 20 December 2011

How Do you test a Webservice?

This is a basic thing every integration resource should be aware of. This article is for those who are new to Siebel EAI Webservices.
Here  I assume that an Workflow Process has been deployed as a webservice and you have the Seiebel WSDL ready with you.

In order to test this WSDL you need to have a tool like SOAPUI.Create a new project by importing the WSDL.On importing the WSDL you would get the XML structure which gives you an idea on Input Data expected. Provide the necessary data and click on the "Green" Button on the top to start testing the webservice.

Please note webservices can be successfully tested only if the Siebel Applicaiton is up and running else it would throw error like "Experiencing Difficulty"

What are application Parameters?

Application Parameters are basically the values whose value may vary from environement to environment.
Applicaiton Parameters are created to change the values dynamically instead of hardcoding the values into the Code/Configuration. Hardcoding the values would make the system unstable on moving the Repositiry from Dev to Test and Test to Production environments.

Having application Parameters is a good Practice to imrove the user friendliness of application.These parametes can be changed at any time and by any user wih necessary access without bouncing the server and thus improving the deployment.

How do we extract Database?

Database Extraction is a primary thing for any develoepr before he starts working on the Local DB.
In order to extract the Database for a Particular User ID say "DEV" then this Id needs to be added under the Siebel Remote Client-Mobile Clients,
Need to mention the Routing Model as "Mobile Client-Extract Only"(SADMIN credentials are required)
Once you are done with these changes you need to generate the database Template to start the Database Extract Job.
Steps:
1 Go To Admin Server Management-Jobs
2.Create a new Job and chose the Component as "Generate New Database"
3.Submit The Job and wait for the Job the to be successful(takes some time)
4.Once the above job is successful,create a new Job and chose the Component as "Database Extract"
5.Scroll Down and add the below Parameters
Client Name - DEV
Extract all Repository Tables -TRUE
submit  the Job and wait for the completion
6.Once you are done with the above jobs ,try to connect your Tools(your system) to the "Local" database and Click Yes on the "Intilize Database" message you would see....
This would sync with the Server , and Local DB would be created under the "Siebel/Tools/Local

Suuccessful DB intilization would allow you to CHECK IN/CHECK OUT your code/config

Unable to open the thick Client in local System?

This is a common error which is faced by those who are new to Siebel.
This can be fixed by making few parameters change in the CFG file under BIN folder.
There are 2 parameters...

Initial Value of these parameters are ..
RemoteSearchServerPath   = $(FulcrumHost)/tcp$(FulcrumPort)
EnableFQDN               = True


Please change these parameter vlaues to
RemoteSearchServerPath   = localhost
EnableFQDN               = false


Please modify these values and restart your local client!

what is a proxy business Service ?

Proxy Business Services are the Business services which are created by importing an externally provided WSDL(Webservices Description Language).Proxy Business Service defintion would not exist in Siebel.The definition/Functionality would be defined in the external system which provided the WSDL.The external application can make changes to this Business Service/Code.

This Business Service can be written in any language which is supported by the external System.
This proxy business Service created would have refrence in the Siebel Tools as well as in the Application side under Outbound Webservices.
To make any calls to the external system you need to map the Data in siebel to the Data type defined in the Proxy business Service(Data Maps are used)

Wednesday 16 November 2011

Data Maps

Data Maps are critical in any Outbound based integration.Data Maps are used to map the Siebel Data to an external Object format and Data Transformation is the basic task in any DataMaps scenario
Data Maps can be implemented through 2 ways..
1.By Using Data Maps Editor
2.By Scripting

Complex Data Maps are implemented through Scripting wherein it requires to check many conditions before being mapped to the external IO.
DataMaps Editor is the most commonly used technique in Data Maps.Data Maps Editor also allows implementing condition based transformation.

Symbolic Strings

Symbolic Strings are used while implementing multiple languages on Siebel.
For Eg: If its required to implement English and French from single repository then Symbolic Strings play a major role.

Symbolic Strings are also used in case if the Same label is used multiple times in the application.It would very easy to change the label and no need to change the label name in all the places
Eg: If the Label "Company" Used in more than 10 places(applets) .All of Sudden we get a request to change the label from "Company" to "Customer" then in general the Develoepr has to spend lot of time on changing the Label in all the Applets.

But in case if we have used a "Symbolic String" for the Label "Company" then the Developer has to just go to the Symbolic Strings Object,Query for the Symbolic String and just change the "Value" property from "Company" to "Customer" and compile the Symbolic String and the applet,you could see the change immediately.Within 5 minutes you are done else you would have to spend more than 30 minutes for all the 10 Applets.

Wednesday 9 November 2011

Difference between Proxy Business Service and a Business Service?

Proxy Business Services
-These are the Business Services whose functionality is not defined in siebel but in an External Applciation
-Proxy Business Service gets created in Siebel upon importing an external WSDL.
-Proxy businesss services are used by Siebel to make calls to an external applciation
-Proxy business services does't use any siebel Integration Object
-Before calling proxy business services you need to format the data which can be processed/accepted by the proxy busines service(Datamaps are used)


Business Services
-These are defined in Siebel tools.
-EAI Siebel Adapter is one of the Vanilla Business Service used by siebel
-These business service would work on Siebel Integraion Objects.
-Business Services are created within Siebel and not throgh importing WSDL
-Business Services can be exposed to external Application by means of Webservices

Interview Questions-WebServices

-What are webservices?
-What are the different Types of Webservices?
-What is the difference between Business Service and Webservice ?
-Is it possible to convert a business Service into webservice?If yes what are the steps?
-How do you deploy a Webservice ?
-Can we have a Worklfow process as Webservice?If not why ?If yes how do you deploy a workflow as Webservice?
-What is the difference between Inbound/Outbound webservices?
-What are the essentials to create an Outbound webservice?
-How do you configure Outbound wenservices?
-What type of IO gets created on importing a WSDL ?
-What is a WSDL?What does it contain ?
-What are the sections of WSDL? Describe each section?
-Why do we need Inbound and Outbound Webservices ?
-How does an external Applciation access the Siebel ?What are the diffrent techniques available?
-What are the different Objects created on importing a WSDL into Siebel?
-How do you provide a WSDL from siebel to external Application?
-What are secured Webservices ?
-How do you implement webservice security ?
-How do you test webservices ?what are the tools you have used ?
-What is a Proxy Business Service and when do you need a proxy business Service in siebel?
-What are session Based webservices/sessionless webservices?

Few more would be added....

Integration Objects

Hello Folks.

In my previous posts we had discussed on the EAI architecture and brief on the integration techniques.Going forward we start exploring the integration methodologies and the terms used and how they are implemented?

This posting would cover about Integration Objects.
Integration Objects are the major building blocks in Siebel EAI Architecture. IOs are critical and play major role in Data sharing with external Applciaitons. IO's can be called as the reflection of a Business Objects.
Eg:If we have to share the Account details with external application then we have to create an IO based on the Business Object for Account.

EAI Siebel Adapter Vanilla Business Service uses the Integraiton Objects to fetch the Siebel Data from the Siebel Database and converts the Data from BO format to SiebelMessage of newly created Inegration Object Type.
EAI Siebel Adapter is one of the Powerful Business Service capable of performaing various Actions-Qwery/Insert/Upsert/Delete/Execute/Sync
We will go through these "Actions" in later Postings.

Integration Objects are used in EAI worklfows to generate the XML data or Hierarchy Data.
How do you create IO's?
IO's are created through wizard in Siebel Tools.We need to select the required Business Objects/Business Components for an IO. There are various IO User Properties Defined which support special functionality.One of such user Property is "Admin Mode",this allows to Delete a record even if the BC level "No Delele" property is set to "True".

There are two types of Integration Objects
-Siebel Integration Object
-External Integration Object

Siebel Integration Objects are created within Siebel Tools and have the Type as "Base Object" and these would be used by the EAI Siebel Adapter to perform Query Data,Insert Data,Upsert,Delete,Execute(Update/delete/Insert)

External Integration Objects are not created in Siebel tools by using Siebel Business Objects.External Integration Objects have type "XML Object" and created in Siebel Tools when you import a WSDL/XML Schema provided by external Application. These IO's are used to provide the data in a format as expected by the external Application.


Saturday 5 November 2011

Want to Learn EAI ???..Part4

Continued ....
3.Which is the Target Application- Portal/Java/Mainframe??

In any Siebel Integration Target application plays an important role in implementation.
There are various vanilla Application Service Interfaces(ASIs) provided by Siebel to support applications.Lets have few examples
eg1:Portal -When the Target application is a Portal and expects Data in the form of XML,here data could be exposed by means of an Inbound Webservice.The portal could consume/Import this webservice(WSDL) and map the required xml tags in the Siebel weservice to its fields. The data is trasported by means of HTTP transport calls.

eg2: Mainframe System- When the target Application is a mainframe system then we need to have a middleware for Data movement.Commnly used one for mainframe is IBM MQ series.The Data trasportation is Queue based.The Data arrvies at the Q and then it would be moved to Siebel Application by using "MQ Series Server Trasnport" Subsytem with the help of workflow Dispatch mechanism.

4.Data Movement
Based on the Data Movement webservices are designed.If the Data is going out of Siebel  for a call from external Application then an "Inbound Webservice " could be used. Incase the Trigger is from Siebel and Data comes from an External Application then an Outbound Webservice would be used.

In case of Inbound Webservice an External Applciation would consume/import the WSDL/Webservice provided by Siebel and makes call to access the required Data.
Incase of Outbound Webservice Siebel Consumes/Imports the WSDL provided by the external Application to make calls.On importing the External WSDL,external application Object Structure gets created in Siebel as an Integration Object and a proxy Business Service is created .Siebel Calls this Proxy Business Service to access Data.

5.Data Source
-Data source needs to be finalized
-Data Distribution needs to be indentified
-Its important to identify the Data from External Application which is "JUST TO Be SHOWN" on Siebel and not to be stored.(VBC Concept)

6.What are the Solutions avaliable in Siebel respect to theTarget Application??
The Integration Solutions available in Siebel are below...
-Webservices
-Integration Objects
-Transaport Adapters-MQ Adapter/HTTP Adapter/SAP Adapters/MS MQ
-EAI Workflows
-Virtual Business Components
-External Business Components
-Java Message Service
-Preconfigured ASIs
-Business Services
-File Transports
-COM Interfaces

Basic setup to Start work on Siebel Customization

1.Siebel Tools/Cleint Installed
2.Sisbel Sample Database Installed
3.CFG changes for the Sample/local/Server
4.ODBC Configuration for the Local and Server Database
3.Database Extract for the User
4.Intiilize the local Database for your Tools and Client(One would be fine)
5.Point the Tools and Client to the newly intilized Database.
6.Access the Tools and try to CheckOut a project on Server.
7.Project has been Checked out and ready for customization/Make Changes
8.Provide the Compilatin Settings under Tools
9.Provide the /Public folder path to store the scripts generated
10.Compile the Projects/Launch the thick Client to verify your changes.

Interesting topics in Siebel

Siebel DataModel-Interesting and tough
Virtual Business Components
Siebel Websrvices(APIs)
Siebel Workflows
Business Service Simulator
Workflow Instance Monitor
Localization-Implemting Siebel in Local Language
DataMaps/Value Maps
Debugging Workflows
Siebel Business Services(Scripting)
Siebel Integration Architecture etc..
Integration Objects and XML Concepts from IO perspective

Friday 4 November 2011

Siebel Localization..Part2

What is siebel Localization?Why Do we need to localize Siebel ?Where do we need this concept?
Localization as the name itslef suggests is all about the Local Language implementation on Siebel. By using the Concpet if Localization its possible to Deploy the Siebel application in your Local Language.For eg. Its possible to Deploy Siebel in "Hindi" or "Spanish" or any other language by means of Localization. Localization is a very interesting topic under siebel. Localization concept would be used wherin the English Language is not Supported.

In order to implement the Localization you need to make use of the Symbolic Strings Concept effectively. Symbolic Strings is the base for implemting the Localization Concept.
The new language would be added under the Symbolic Strings and the equivalent value from the Local Language would be provided.For the localization we need to have the Langauge added in the Siebel Local Database instance before we change the Tools Language From English to the Required Language.
Once we are done with language changes we need to make changes accrodingly to the Directory Structure,CFG file to point to the new directoty,language settings,Compiler Settings.

Continued ... 

Siebel Interview Preparation Guide

Siebel Interview Preparation Guide
To help you guys to prepare better for Siebel Config/Admin/EAI interview I am giving few tips.
Hope these tips are helpful..


1.Resume:
Resume would be your first face before you go face to face with the Interviewer.Please keep your resume as simple as possible.
Do not write stories which would make your Resume looklike a Textbook rather than having the Skill Set.
I have seen resumes going for around 10 pages but to be honest no Interviewer has patience to read your Stories.
Please dont Mention Created Applet,Create Join,Created Link under the Projects you have worked.This is really senseless thing that
has been observed.Employees do a Cut and Paste with few wording Changes under the "Role in the Project";again This is a page filling Technique that we used to do while explaining Diagrams in Semester Exams:)

-Skills in Your Resume
Please be specific about what you have worked and what not?

 Configuration Skills:
-Applets
-Business Components/Business Objects
-Impilcit/Explicit Joins
-MVL/MVGs
-Views/Screens
-Symbolic STrings/Symbolic URLs
-Siebel Localization Concept
-Table Extension /Table Creation
-Scripting-Server/Browser
-WorkFlows-Runtime Events/Policies/Actions/Database Triggers
etc..


Adminsitration Skills: -Siebel Installation/Siebel Server/Webserver Installation and Configuration on Windows/Unix/Linux???
-Repository Migration/DDLSynup
-SRF migration
-Jobs Monitoring
-Data Refresh Activities
-Access Montoring/Security
-Infrastructure setup for Developers/Local Database Extractions
-Deployment Package Creation
etc..


Enterprise Application Integration:
-Siebel Integration Objects/External Integration Objects
-Workflows/Plocies
-Webservices-Inbound/Outbound Webservices
-DataMaps
-Debuggin/EAI Value Maps
-Workflows/IOs/Instance Monitoring
-Debugging Skills in Live Environemnt
-Webservices Testing Skills
-Webservice Security Implemnetation
-Siebel Transports-HTTP/MQ/JMS
-Debugging Webservices
-Siebel Adapters-EAI Siebel Adapter
etc...


Domain Experince:  -Telecom/Loyalty/Finance/Sales etc
Certification Details-Please add if you have done any certification

Project Experince:
Brief about the Project and your role.In addition add What was special in the Project?
       Role :Configuration/Integration/Migration Specialist??
       Please try to be more specific on your role here

2.Now How do we Prepare for the Skills mentioned ??

Configuration: 1.Just Go through the Configuration PPTs you have.

2.You may Say I have gone throgh 20 times why should I go through the PPts  again.

3.But going through the PPTs would give you the Picturization of  
Architecture/DataModeleEntities etc.

4.There is a PDF under Siebel Bookshelf DevDep.pdf.Please go through this pdf this would defintely help you a lot.

5.Then Comes the ConfigApps.PDF which is an essential for any Configuration Person before he goes for an interview

6.If you want Workflows then go throgh BusinessProcess.pdf

7.If you have gone thorgh the above all PDFs and PPts then I guarantee You that have the maximum Probabilty of Clearing.

Eanterprise Application Integration:
1.Once Again Please go throgh all the Config PPts

2.Thorougly go throgh all the EAI PPts

3.There are 4 EAI.pdfs.Its tough to go throgh all and most of the time all the four are not relevent for your skills hence Identify the one which is best suitable for you

4.Webservices-Please Take few examples of WSDLs and thoroghly study the major sections of the WSDL

5.Learn about the Webservices In depth as there would be multiple Questions in this area

6.Go throgh BusinessProcess.pdf for Worklflows Theory.

7.Vanilla Business Services provided by Siebel and the properties

8.XML Concepts

9.Logging mechanisms

10.Debugging worklflows

11.Creating ".dmp" files for the webservices to capture the outgoing message and incoming message in the local thick Client

Hope this would be helpful in one or other way.
 

Siebel EAI Interview Questions

Here I am sharing few Verygood Questions which would cover most of the areas under EAI.Hope this would be helpful

-Explain the Integration architecture?
-What are the EAI value Maps ?
-Diffrenece b/w runtime Events and worklfow policies?
-Whay do we need Database Triggers?
-Why do we need the Worklfow Monitor Agent?
-What is the Diffrence b/w Workflow Process Manager and Monotir Agent ?
-How do you debug a worklfow in a live environment ?
-What do you mean by Process Property and where do we use them?
-What are the various integration Techniques available in siebel?
-What is the difference betwen Siebel repository and SRF file ?
-Is it possible to Deploy and Activate the workflow Directly to the Application?
-what happens when we clickon the Sychronous Button for an IO?
-Why do we need Integration Objects ?why cant we integrate wihtout having IOs?
-Siebel IO and External IO are the same?
-How do you create an External IO?
-Why do we need Datamaps ?and what are the basic needs to have a Datamap?
-What are the IO user Properties?Exlplain with examples?
-What are webservices?Why do we need them ?
-What is an Inbound Webservice and Outbund Webservice?
-How do you implement Inbound Webservices and Outbound Webservices ?
-How do you achieve "Webservice Security?What are Security mechanisms available in Siebel?
-Can we have a workflow Process as Webservice in Siebel ?If not Why ?
-How do you Deploy a webservice in Siebel?and how do you share the Webservice Details with external Application?
-How do you access External Data from Siebel?
How do you integrate with Siebel?
Exlpain the Basic Needs for any basic integration scenario?
Continued...



How easy is siebel???

How Easy is Siebel??? Good Question to answer :-)
Siebel is easy when you understand the Siebel Datamodel.

Data Model is the core area of Siebel upon which the Siebel has been Designed.Data Model covers the Table structure/Object Structure.There are approximately 3200 Tables in Siebel.
Unlike any other Java based Applications we don't have to Develop new things like Applet/Screens/Views by means of Scritping.Here in siebel we are doing customization of the Application which has been designed to meet certain Industrial Requirements like Call Centre,HealthCare,Loyalty,Order Management,Sales,Insurance etc....

As part of Customization we might have to customize an Existing Object/extend Column/join/link to meet the requirements. Here customization means it doest't mean that we always work on the Vanilla(Vanilla means OutOfthe Box Objects provided by Siebel). As part of Customization we do have to create new objects to meet requirements.

Siebel is easy when you work on its tough to imagine and expect the same behavior while implementing. Hence I advice to practically work on Siebel Sample Database to learn Siebel. Its highly impossible to learn siebel by just going throgh the Standard PPTs/PDFs.You may know the concept but you will not how this concept works practically.

As you start work on the Siebel you would end up in so many errors which you feel are tough to solve but would be very simple when you have clear undrstanding of Object Definitions like Applet/Object/Join etc?
If you are still not Clear my Blog is here to Help you out :-) you can post your qweries.

So To begin with just go through all the materials that you have collected (ppts/pdfs) and then start practically exploring each concept in you Sample Database.
Siebel is not very tough its you who has to make it simple!!!
Happy Learning Siebel.

Siebel /Salesforce CRM

Siebel CRM

The Leader in the CRM market.Bit complex in implementation and requires experienced proffessionals to run the show.Siebel offers CRM solutions for various industrial verticals with its ready-to-use (with less customization) application.
-Highly Process Oriented
-Higher Implmentation Costs
-Need to buy license to Customize/deploy/Use.

Salesforce
-Moving faster easy to implement.
-OnDemand
-Lesser Implementation Cost
-Lesser Process Oriented
-Pay As you Use

Continued....

Diffrence B/W Siebel Config and Siebel EAI

Any Siebel Implementation can be grouped into 2 basic Parts from the Developer Point
1.Siebel Configuration
2.Siebel Enterprise Application Integration

If you ask me what is siebel Development I would say It would be better to use "Customization" instead of "Development".Yes its the Customization that we have been doing for the ReadyMade Tool/Client. We just make changes to meet the Customer Requirements/Needs.

1.Siebel Configuration
What is siebel Configuration? Siebel Configuration is concerned with the Customization of the Siebel Application Side to meet the Needs.Configuration would cover
-Creating Applets
-Creating Views
-Creating Screens
-Creating Joins
-Defining Links
-Creating Business components
-Creating Business Objects
-Extending Tables/Creating Tables
-MultiValueGroups/Links
-Symbolic Strings
-Picklist/PickMap/LOV
These are the few Basic Areas which would come to your mind when you think of Configuration.Under Siebel Configuration we always consider the Application Side Changes.But Siebel Configuration would have great impact on the Integration Side as we would be using the BCs and BOs which have been modified as part of the Configuration process. Any change in the BCs,BOs would directly have an impact on the Integration Objects created.Hence its always mandatory to keep the BCs' and the BOs in sync with IOs.

2.Siebel Enterprise Application Integration
The Siebel EAI Depends on the Configuration part.Under Siebel EAI we would concentrate on the Data Mapping with External Application,What data shared?,Data format ?etc. Application Integration would explore the Siebel functionality to external Application by means of deploying webservices and also it can consume external application WSDL(webservices description Language) and call the External Applciation by means of Proxy Business Services(Business Services would be discussed Later).
Under EAI we would work on
-Integration Objects
-Webserices
-Worklfows
-Business Services
-WSDLs
-Symbolic URLs
-Siebel Transports
-Siebel Subsystems

Want to Learn Siebel EAI??..Part3

EAI Posting continued.....

2.What kind of Data Shared?
The Data shared is a major issue for any integration.First the Data need to be indentified for the sharing.What Data should be stored and what data not to be shared?. We need to look at
1.Siebel Entities
2.Business Objects
3.Business Components to identify Data Sharing

Identifying the Business Objects and the Business components is very critical for the Data Sharing. The DataSharing in Siebel EAI happens by means of Integration Objects which are used by the EAI Siebel Adapter,DataMaps and other EAI Transports. The Integration Objects are just the reflection of the Business Object and the Business Components hence we need to concentrate more on BO and BC for any Integration Object.

Integration Objects would be discussed in depth in later part of the posting.


Thursday 3 November 2011

Want to Learn Siebel EAI ???..Part2

Here comes the Part2....
Previous posting had identified the Areas to be concentrated while implementing an EAI solution.This Post would take through each of the identified areas.

1.What kind of Integration Architecure ?
Identifying the Integration Architecture plays major role in EAI. Siebel Provides various built in functions or Vanilla functions to support Integration.

Standard Siebel EAI Architecture

This Architecture covers various Vanilla Components/Subsytems defined by Siebel Appplication to support Data transport mechanisms.
Lets have few Examples..
1.To Integrate with a Mainframe Application the solution would be to go for MQ series.Siebel has various Subsytems defined to support the MQ middleware.
2.In case of transactions happening over the web we have HTTP transport Subsytem Defined to Support.

Here the Subsytem means Collection Of Parameters to Support Driver-Eg. MQ/HTTP.
Message Queue Parameters-Target System IP/Queue Name/URL/PortName need to be provided while configuring the Transport

Want to Learn Siebel EAI ??? Part1

I have seen many of my friends who want to learn Siebel EAI but not sure of where to begin with??
Lets start with few simple Qs,
           -What is EAI-Enterprse Application Integration ?
           -Why EAI ?                                                                                      
           -What are the benefits/Advantages of EAI ?

EAI is essential to Share the Data between 2 or more Applications. Data may be centralized or may have spread across various Applications but data sharing is essential in achieving efficienct,Cost Effective implemenation .The data share may happen in various ways either Synchronous(Online) or Asynchronous(Offline) or batch load.
Any EAI Implementaion basically concentrates on...
1.What kind of Integration Architecure ?
2.What kind of Data Shared?
3.Which Type of Target Application- Portal/Java/Mainframe??
4.Data Flow Across Applications
5.Primary Data Source.
6.Available Integration Techniques
Continued.....

Wednesday 2 November 2011

Localization


The concept of Localization is a complex one but not an imposible one to understand.TheConcept has been implmented across various industrial verticals.
-Concept of Localization in Siebel?
-Benefits of Localization?
-Debugging Settings for other Languages? 

Understanding the Concept of localization is essential while implementing Local languages On Siebel.I would give a clear picture on how we implement Localization Concept?..

Continued....

Why This Blog??

Here is a 3 letter word CRM which has become very ieseential for any service provider in this highly Competitive World wherein each vendor offers a better solution to other.CRM-Customer Realtionship MAnagement is basically an enhanced version of Marketing.

In my Blog I would be exploring the various Problems/solutions/scenarious of Siebel CRM which I have encountered. Also I would be exploring the other Tools like SalesForce,MSCRM,Peoplesoft.

Going forward I would concentrate on the Siebel Side most.I request the follower to best make use of this Blog and also Share your thoughts on the Topics put up.
Also your Suggestions are welcome and corrections are accepted with an open mind.

Happy Reading :-)