Summary of Siebel Architecture Best Practices

5/30/2016 1 Comment

Siebel Administration and Architecture Best Practices Summary

We have discussed in detail before about the best practices to be followed by a Siebel Administrator for optimal performance of a Siebel application. Here we are presenting a summary if the client , application server, gateway server and database server best practices.

Client Best Practices

Functional Testing
Test the application using every type of client that is expected to access it.

Performance Testing
Include the client environment in performance tests and establish configuration requirements for the client environment as part of benchmark testing.

Select the appropriate client
Ensure that the appropriate client is selected for deployment based upon requirements, both in terms of functionality and performance.

Set Expectations
When preparing to deploy the Siebel eBusiness application, ensure the user community understands the functionality delivered by the chosen client(s).

Network
Use performance benchmark testing to understand the network requirements of the customized Siebel eBusiness application.When designing the application, ensure that the design caters for the differing likely network connection quality depending on the channel being used.

Gateway Server Best Practices

High Availability
Employ a high-availability solution for the Name server to provide a failover in the event this component fails.

Backup
Ensure that the Name server files are part of the regular system back strategy.

Schedulers
When a clustered Name server is utilised, the Resonate Central Dispatch schedulers must be installed onto different machines. Use dedicated scheduler machines when the user community is to exceed 1,000 concurrent users.

Scheduling Rules
Always preserve the supplied scheduling rules in order to facilitate an easy recovery should an error be made. Adjust the scheduling rules carefully and in a controlled and orderly fashion, making small incremental adjustments.

Benchmark Testing
Deployments of many thousands of users, either concurrent or in total should be benchmark tested to ensure the hardware resources for the scheduler service is adequate.

Application Server Best Practices

High Availability
Use load balancing to achieve high availability of those components that support load balancing. Use hardware cluster solutions for those servers hosting components that are not load balance enabled.

Resonate Central Dispatch
Include resonate Central Dispatch if it is likely to be needed in the future, regardless of whether load balancing is required from inception.

Backup
Ensure the SRF, CFG and application specific files are secured in such a way that they can easily be reinstated should they be lost or corrupted.The directories that are used to support Siebel Remote should be held on a resilient disk array, such as RAID-5, in addition to being secured by backup.

Benchmark Testing
It is essential to conduct performance and scalability testing of all components, including the client environment and network.

Regression Testing
Test a number of scenarios that will give rise to errors. Use results of these errors and the accompanying log files as a knowledge base to assist support personnel.

Logging
Since the volume of data can be very high, it is recommended to run production servers with minimal logging and only increase the logging level if problems are encountered.

Capacity Planning
It is recommended to continually or at least periodically monitor the resource usage of the Siebel Application server.

Automation and Procedures
Ensure that the regular maintenance and administration tasks are automated through scripts and that fully tested procedures are in place.

Database Server Best Practices

Ongoing regular maintenance
Establish maintenance windows to provide for conducting regular maintenance of the database.

Performance testing & tuning
Conduct the testing and necessary tuning effort on a database instance that is representative of the production volume, especially data volumes and distribution.

Resource and database monitoring
Establish procedures and solutions for the ongoing monitoring of the database and the database server, including response times.

Backup strategy
Prior to going into production, establish the backup strategy and solution for the database.

Scalable platform
Ensure a scalable solution is employed for the database solution.

Control data model
Maintain control of the Siebel data model and consider carefully any changes.
Review the chapter “Adding Custom Extensions to the Data Model” in the Siebel Tools Reference document within Siebel Bookshelf before embarking on any changes to the data model.

Conclusion

When implementing Siebel eBusiness applications, there are a number of aspects and best practices that should be considered with reference to the architecture. This document has presented many of the recommendations and best practices that are generally applicable to a Siebel eBusiness Enterprise architecture.

It is important to also consider best practices and recommendations related to other aspects of the Siebel eBusiness application, such as configuration, SmartScript implementation and use of eScript.
In addition to the details contained within this document, Siebel Bookshelf should also be consulted for more complete details, including but not limited to:
  • Performance Tuning Guide
  • Siebel Web Client Administration Guide
  • Siebel Wireless Administration Guide
  • Implementing Load-Balancing with Central Dispatch
  • Setting Up Your Siebel Environment
  • Server Installation Guide (there are Windows and UNIX documents)
  • Server Administration Guide
  • Configuration Guidelines
  • Application services integration reference

Siebel High Interactivity Web Client

5/10/2016 No Comment

High Interactivity Web Client

The high interactivity client framework is ideal for task-intensive, employee-facing applications, such as Siebel Call Center, Sales, Service, and Marketing. It improves user interface response time while maintaining the benefits of a completely Web-based client. It is easy to deploy and it does not require specific Siebel eBusiness application configuration changes.

The Siebel high interactivity framework contains the components shown below:



These components work together to render a rich user interface with:
  • High-performing interactive controls
  • Customized functionality provided by browser scripting
  • Specialized functionality provided by java applets
The browser document object model (DOM) is the foundation for the Siebel HI framework. The DOM provides a standard way to programmatically build, navigate, or update the user interface.

The high interactivity Siebel eBusiness application takes advantage of:
  • Java, for specialized applets like the CTI Toolbar and pipeline charts
  • JavaScript technology for application menus and basic framework functions
  • ActiveX, for features like keyboard accelerators and client integration
  • Browser DOM, which enables features such as sending data-only updates to the server separately from layout updates
The table below summarizes the differences at a high level:



Many usability and performance features are built into Siebel applications and are available solely through the Siebel high interactivity framework:
  • Calendar and calculator pop-ups
  • MVG shuttle applets
  • Keyboard accelerators
  • Drag and drop attachments
  • Rich text editing
  • Email integration
  • Implicit commit (save record)
  • Text value wrapping
These are some additional features of the Siebel high interactivity framework:
  • Query Assistant
  • Selected record chevron
  • Shortcuts and bookmarks
  • Expanded text fields
  • Enhanced scroll bars
  • Double-click selecting
  • Auto-complete pick list
The Siebel high interactivity framework uses advanced browser feature such as the DOM, Java, and ActiveX. Because the HI framework requires these technologies, only specific browsers and platforms can run Siebel eBusiness applications in HI mode. Use the Siebel System Requirements and Supported Platforms Guide to identify the latest platform and browser support information.

Tricky Project Leader Interview Questions

5/04/2016 2 Comments

Project Leader Interview Questions for any job interview.

Dear Readers. Please use the comment section to discuss the answers.
  • Describe in brief about the workshops and training have you undergone for project planning.
  • Suppose a new project has arrived where new set of technical skills are required. How do you ensure that you as well as all the other team members have the required technical skills to deliver and execute the project?
  • In your opinion who is the right person to lead projects?
  • Describe about the various activities you do as a project leader when the project is in the initial phase.
  • Describe in detail how you handle disruptive and non-productive team members?
  • Can you tell us the main difference between a project plan and a project schedule? Why both are important part of a project
  • Tell us about your greatest strengths and weaknesses as a project leader.
  • What are the important documents that you need to maintain as a project leader ?
  • Explain how do you track the activities of the team in your project? How often you communicate to the team about the activities?
  • How do you prepare the status report of your project?
  • Explain the scenarios that had let you to revise your project plan? Where do you store the plan revision frequency document?
  • Explain how you assign tasks and delegate work to your team members?
  • Mention some of the project management tools you have used in your project. How did they help ?
  • What are the main qualities and attributes to be possessed by a good project leader ?
  • There are some projects which  enterprise wide implications. How would you go about handling such a project. Explain what methodologies you adopted as a project leader.
  • If any of the team member comes to you with their personal problems, how do you handle it?
  • Explain with an example how do you choose the appropriate life cycle for a particular project?
  • How often do you communicate with the project manager about the progress of the project?
  • Have you ever used Microsoft Project in your project? 
  • Tell us about the budget for the largest project that you have managed till date?
  • How do you keep the team members informed about the current status, goals and milestones of the project?
  • How do you deal with a team member who is least interested in work ?
  • What do you think are the qualifications and experiences that are required to be an effective project leader?
  • What learning is very important for a project leader ?
  • Describe about the induction processes a project leader must plan for a new team member?
  • Tell us some of the steps that you have taken as a project leader to reduce the stress and tension among team members.
  • What is project schedule and what do you include in it ?
  • Explain how you identify the risks associated with your project. How do you document it?
  • What is Software Project Management Plan (SPMP)? How do you create it ?
  • After coming to office, how do you plan the activities for the day ?
  • How do you calculate the effort estimate for your project? Do you document the estimation procedure ?
  • What is the document yo need to maintain  for your project activities, your schedules and goals and milestones?
  • When and how the senior management review the progress of your project?
  • If you are to find a new project leader what will be the most important qualities you will look for? 
  • How often do you review the work that is done by a team member ?

Siebel Database Server and Best Practices

8/31/2015 No Comment

What is Siebel Database Server

Siebel eBusiness application software supports a number of different relational database systems; the document “Siebel System Requirements and Supported Platforms” contains details of the supported vendors and versions.

Siebel eBusiness software is delivered complete with a database schema that must be created on the chosen database. This schema is managed as part of the Siebel application configuration process and allows for a number of different types of extensions as a result of configuration.

Each Siebel eBusiness component that requires access to the database, such as the Siebel Application server, will use ODBC. The Siebel Application servers will maintain multiple connections to the database server, including support for the user sessions. To avoid many thousands of connections, the Siebel Application server can be configured to use connection pooling. This will cause the Siebel Application server to use a single database connection to service multiple tasks or user sessions.
All data manipulation interactions that occur must do so through a Siebel eBusiness application component, since referential integrity and data quality are controlled at the application layer. Direct insert, update and delete operations against the database are not supported. Although data retrieval operations are permitted directly from the database, Siebel does not guarantee or warrant that the results achieved will be as required.

The Siebel eBusiness database contains user data, reference data and the application definition, also known as the Siebel Repository. Access to the data contained within the database is controlled through users’ responsibilities and positions defined within the application. Database security is not employed to control access to data elements or attributes and as a result, to preserve data security, users must not be given the means to access the database directly.

When defining the database, several accounts will be required. They are typically:
  • Table or schema owner – SIEBEL
  • Application administration user – SADMIN
  • User role for all users – SSE_ROLE
The above is the information the Siebel eBusiness product is supplied preconfigured. The user accounts and roles must be added to the database by the database administrator, as must all user accounts.

Database Server Best Practices

The following best practices relate specifically to the database server component of the Siebel Enterprise. They should be considered in addition to any best practices or recommendations specified by the database vendor or administration team(s).

Ongoing regular maintenance
Establish maintenance windows to provide for conducting regular maintenance of the database. Without these opportunities to conduct maintenance, every task must be arranged separately with the user community and this can lead to user satisfaction issues.

Regular maintenance tasks would include defragmentation of database objects, creating new indexes. The database administrator should establish the program for regular maintenance in accordance with the requirements of the chosen database platform.

Performance testing & tuning
As with all aspects of the Siebel Enterprise, the database server must be the subject of an effective performance test. This must include the initial deployment as well as ongoing releases of new functionality, since these can have a significant impact on overall performance.

Conduct the testing and necessary tuning effort on a database instance that is representative of the production volume, especially data volumes and distribution. Conducting performance tests on a database that has minimal data will not provide an indication of the likely response times, resource requirements or query access plans.

When conducting performance tuning, consider testing new indexes on the database prior to defining them in Siebel Tools and also consider removing indexes. At all times the effect of the index changes must be evaluated for all areas of the application that access the affected data object. An index created to enhance one area of the application may in fact become and impediment to another area, depending how the data is accessed.
When migrating to the production environment, the Siebel Repository must contain the index definitions to be used. The migration process will build the indexes as they are defined in the Siebel Repository.

Resource and database monitoring
Establish procedures and solutions for the ongoing monitoring of the database and the database server. This includes the usage of the server resources, the responsiveness of the database and the general health of the various database objects, such as fragmentation of the database tables. The database vendor should have identified those aspects of the database that require monitoring.

Capacity planning
Capacity planning for the Siebel Enterprise as a whole is a good idea and in particular the database server. Ensure that the results of the resource monitoring are used for capacity planning as well as potential changes in the user community, the usage of the application and changes in application functionality.

Backup strategy
Prior to going into production, establish the backup strategy and solution for the database. When considering the backup strategy, ensure that the system can be easily and relatively quickly recovered.

Scalable platform
When deciding upon a platform for the database server, ensure a scalable solution is employed. Generally, during the production lifecycle of a Siebel eBusiness application, users and functionality are added over time. They each require additional resources and can lead to upgrades being necessary for the database server as well as other components. In general, replacing the database server is one of the most challenging tasks that could be undertaken within a Siebel Enterprise due to the amount of data that could have to be moved.
Avoid this operation as far as possible by ensuring the database server can be upgraded in place.

Control data model
The Siebel eBusiness data model that is supplied with the application offers a rich set of predefined tables and supporting indexes. Using Siebel Tools, the data model can be extended further with additional attributes, new indexes and new tables. Modifying the Siebel data model must not be considered a trivial task, since changes can have significant impacts in areas of the application.

Consider carefully any changes to the data model and consider the following:
  • Maintain central control of the Siebel data model to co-ordinate changes
  • Avoid reusing columns for diverse purposes
  • Include the database administrator to ensure changes are valid
  • Analyse the impact on database size and performance
  • Avoid using joins for frequently required data
  • Employ extension tables where data is not used frequently

FreshDream Blogger Template

4/04/2015 1 Comment

3-column SEO Optimized Blogger Template - FreshDream.

FreshDream is a 3-column Blogger template for personal blogs and article publishing websites. This template is a perfect choice for those who want to make a elegant and fresh looking blog. This simple yet beautiful interface is designed by our team with focus is on user-experience and usability. The theme is highly SEO optimized, and the websites using this template has experienced increase in traffic and pageviews. Template Features: Wordpress Look, 3 Columns, Right Sidebar and Left Sidebar,  Featured Content Slider,  Top Navigation Menu, SEO ready,  Awesome Fonts and thumbnails FreshDream Blogger Theme

FreshDream Core Features

  • Lightweight fresh and clean looking interface with grey background.
  • Related posts widgets with Thumbnails and Hover effect.
  • Highly SEO Optimized.
  • Lightweight Top navigation Menu with CSS3 +HTML Dropdown Menu.
  • Clean Looking threaded comments.
  • Advertisements banner ready - Perfect for Adsense users, right sidebar for Square ad, left sidebar for Skyscraper ad
  • Simple User Friendly Search Box.
  • Numbered Pagination using CSS.
  • Custom Widgets (Facebook Likebox, Recent Comment)
  • Social Share Counter Widget.
  • Auto Blog Post summarize And “Read More” Button.
  • Social Media Buttons integrated below each post.
  • Cool Image Slider for Blogger Posts.

Theme Customization

Configure Dropdown Menu:

Login to blogger dashboard --> Template--> Edit HTML. Find and scroll down to where you see the codes below: Input your menu item by replacing the YOUR_URL with your Content URL and YOUR DESC with the title of the content below.
<div id='cssmenu'> ...... ...... <li> <a expr:href='YOUR_URL'>YOUR DESC</a> </li>

Configure Content Slider:

Login to blogger dashboard --> Layout--> Add a Gadget. Add a HTML/Javascript widget above the Blog Posts and add the below code. Replace the URL with the content URL, IMAGE_URL  with the source path of the image file and TITLE with the content title.
 <script src="http://dimpost.googlecode.com/files/js-image-slider.js" 
 type="text/javascript"></script>
 <div id="sliderFrame">
 <div id="slider">
 <a href="URL_1"><img src="IMAGE_URL_1" alt="TITLE_1" /></a>
 <a href="URL_2"><img src="IMAGE_URL_2" alt="TITLE_2" /></a>
 <a href="URL_3"><img src="IMAGE_URL_3" alt="TITLE_3" /></a>
 <a href="URL_4"><img src="IMAGE_URL_4" alt="TITLE_4" /></a>
 </div></div>
If you face any problems during installation, or find any bugs and errors, please use the comment section to report them, I would be glad to help you. Please also provide your feedback about the template, the improvements that can be made.

CSS Drop Down Menu Without Javascript

12/17/2014 No Comment

Lightweight and Pure CSS Drop Down Menu without Javascript

The menu is created in CSS3 which consists of a nested ul structure to create the second level of the menu. Just copy the below code below to give your website a beautiful, light-weight and flexible Drop down Menu.

HTML Code for CSS Drop Down Menu

<cssmenu>
<ul class="cf">
<li><a href="#">Menu 1</a></li>
<li><a class="dropdown" href="#">Menu 2</a>
<ul>
<li><a href="#">Sub Menu 1</a></li>
<li><a href="#">Sub Menu 2</a></li>
<li><a href="#">Sub Menu 3</a></li>
</ul>
</li>
<li><a href="#">Menu 3</a></li>
<li><a href="#">Menu 4</a></li>
</ul>
</cssmenu>

CSS Code for Drop Down Menu

cssmenu ul {
 text-shadow:0 1px 0 #FFF;
    background: #ddd;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
cssmenu li {
    float: left;
    margin: 0;
    padding: 0;
    position: relative;
    min-width: 24.5%;
}
cssmenu a {
    background: #ddd;
    color: #444;
    display: block;
    font: bold 16px/50px sans-serif;
    padding: 0 25px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all .30s ease;
    -moz-transition: all .30s ease;
    -ms-transition: all .30s ease;
    -o-transition: all .30s ease;
    transition: all .30s ease;
}
cssmenu .dropdown:after {
    content: &#39; ▶&#39;;
}
cssmenu .dropdown:hover:after{
 content:&#39;\25bc&#39;
}
cssmenu li:hover a {
    background: #ccc;
}
cssmenu li ul {
    float: left;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 35px;
    visibility: hidden;
    z-index: 1;
    -webkit-transition: all .30s ease;
    -moz-transition: all .30s ease;
    -ms-transition: all .30s ease;
    -o-transition: all .30s ease;
    transition: all .30s ease;
}

How to float DIV side by side using CSS

11/22/2014 No Comment

In this article, we will discuss how to place 3 DIV side by side using CSS.

You need to have a container with a width greater than the sum of the widths of the all the 3 DIV elements. For this purpose, we have kept width of the container element as 520px and the individual DIVs as 170px. Use the float as left, the DIVs will be arranged side by side.
<div style="width: 520px;">
<div style="float: left; width: 170px;">Left DIV</div>
<div style="float: left; width: 170px;">Middle DIV</div>
<div style="float: left; width: 170px;">Right DIV</div>
<br style="clear: left;" /></div>
</div>
If the page is to be expanded in the future, the sizes need to be re-adjusted. So, it is advisable to use percentage (%) instead of px for the DIVs. This will also help in adjusting to screens of different sizes
<div style="width: 100%;">
<div style="float: left; width: 32%;">Left DIV</div>
<div style="float: left; width: 32%;">Middle DIV</div>
<div style="float: left; width: 32%;">Right DIV</div>
<br style="clear: left;" /></div>
</div>
 You can also do the same in a CSS file for modularity
#container{
    width: 100%;
    overflow: hidden; /* contain floated elements */
}
#left{
    float: left;
    width: 32%;
}
#center{
    float: left;
    width: 32%;
}
#right{
    float: left;
    width: 32%;
}

How to disable Copy, Paste and Text Selection using CSS

4/04/2014 1 Comment

Disable Copy/Paste and Text Selection using CSS and Javascript.

CSS Code to disable text selection and highlighting.

This CSS code will disable text highlighting and selecting for your website/blog post. This CSS code works perfectly in Internet Explorer, Mozilla Firefox and Google Chrome. In blogger you may put the code inside the .post-body section.
-webkit-user-select: none;
-khtml-user-drag: none;
-khtml-user-select: none;
-moz-user-select: none;
-moz-user-select: -moz-none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
One thing to note about the above CSS code is that in Firefox, it will also disable Copy/Paste of the content of your post/website. However, the copy will still be possible in Chrome browser.

CSS Code to enable text selection in Blockquote.

There may be cases where a certain portion of your post may still need the highlighting and selection, let say in the blockquote area where you may write certain sample code. In that case just you need to put
.post blockquote {
-webkit-touch-callout: text;
-khtml-user-select: text;
 -moz-user-select: text;
 -ms-user-select: text;
 user-select: text;
 -o-user-select:text;
 -webkit-user-select: text;
}

Disable Copy/Paste of you content.

To disable copy/paste in the blogger and Wordpress posts copy the below code into you theme template. This will make the task of copying text a little complex for content scrappers.
<script type='text/JavaScript'>
function killCopy(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function (&quot;return false&quot;)
if (window.sidebar){
document.onmousedown=killCopy
document.onclick=reEnable
}
</script>
 

Aired | The content is copyrighted and may not be reproduced on other websites. | Copyright © 2009-2016 | All Rights Reserved 2016

Contact Us | About Us | Privacy Policy and Disclaimer