Sunday, July 22, 2007

Back from Vacations

I was on my Annual Vaccations from 29 June to 21 July to my Home Town (Obviously Karachi;)). Weather was kind of a rainy over there and had also enjoyed heavy rain fall. it was a very nice trip except for some unusual and annoying power outages and bad political conditions in the country (which is always there). I am planning to post some picninc experience in my coming blogs (if i get time ;)).

Wednesday, June 13, 2007

SQL 2005- Online Indexing

In SQL Server 2005 Enterprise Edition we can create an index with option ONLINE, this option states whether the underlying tables and indexes will be available for queries and data modification while indexing operations are taking place. we can define its settings to OFF or ON:

while OFF Table locks are applied for the duration of the index operation. Clustered index operations acquires a schema lock, which prevents all user access to the underlying table for the duration of the index operation. Nonclustered operations acquire a shared lock on the table that allows for read operations but prevents data modification.

While ON Table locks are not held for the duration of the index operation. SQL Server will first acquire an intent share lock, which allows queries and data modifications. Then SQL Server acquires a shared lock at the start of the index operation and quickly releases it. If a nonclustered index is being created, SQL Server will acquire a shared lock again at the end of the operation. If a clustered index is being created or dropped, or a nonclustered index is being rebuilt, SQL Server acquires a schema modification lock at the end of the operation. ONLINE can’t be set to ON for indexes created on local temporary tables (tables whose names start with the # character).

Monday, June 11, 2007

Silver Light - Microsoft Implementation of RIA

My previous blog was about Google Gear- RIA (Rich Interactive Application) implementation from Google. Silverlight is Microsoft RIA implementation. According to Microsoft "Silverlight™ is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows."

"Silverlight will enable higher quality and better applications in the browser," says Microsoft director of product management Forest Key. "Silverlight is a factored version of .NET that is optimized for the Web and simple deployment. It carries with it proven technology, access to a variety of languages for development, such as JavaScript, VB, C#, Ruby and Python, WPF [Windows Presentation Foundation] support for controls and code-reuse, AJAX integration, and more. We are providing a highly integrated set of tools that facilitate new levels of collaboration between designers and developers and allows them to build amazing experiences while addressing the 'lost in translation' issue that is so common at most organizations."

Silverlight is also trying to eliminate various Flash deficiencies by offering much higher quality video. Microsoft says that Silverlight supports up to 720p video--1280 x 720 resolution much higher then Flash. And unlike Flash, Silverlight won't require any expensive back-end servers for companies wishing to rollout the technology also Silverlight supports all major Web browsers, including Internet Explorer, Firefox, and even Apple Safari, which runs only on the Mac.

Silverlight uses vector graphics for higher quality, Microsoft says, and can be used to display text, graphics, video, and video with text and graphic overlays. It will work with existing Web technologies such as Apache, PHP, JavaScript, and XHTML. Microsoft is also creating various Expression tools for creating and deploying Silverlight content, though these will be Windows-only.

Currently not enough documentation is present on SilverLight but there are some white papers present on Microsoft site discussing architecture and overview of SilverLight. Also there are number of videos present on Microsoft site featuring silver light implementation by different clients for different solutions.

Following are some useful links;

Silverlight Architecture: http://msdn2.microsoft.com/en-us/library/bb428859.aspx
Silverlight Site: http://silverlight.net/
Silverlight Demo: http://ds.pilot.serving-sys.com/BurstingRes/WPFE/msn_tech.html
BBC Radio Demo: http://download.microsoft.com/download/f/7/2/f72cff89-5769-4bd1-ab7d-f4333adbef16/BBC_mix.wmv

Google in Microsoft Boundaries- Google Gear

Microsoft the ultimate and undisputed king of Desktop world is enjoying its dream spell for the past 10 years; on the other hand Google the "Innovator" is continuously releasing Internet centric software, based on fresh ideas and user demands such as Google Map, Google Desktop, Google Blogger, and lots of other Googlies. So far both empires have their boundaries defined and emperors were playing within it. Google Desktop search was the first attempt of Google penetration in Microsoft boundary which was not successful as it was countered by more powerful Microsoft Desktop search. Now Google is ready for a new attempt with its new weapon named as Google Gear! So what is Google Gear? A free, open-source multi-platform JavaScript application programming interface (API) that lets Web applications work offline. Below are the words from Google Representative

"With Google Gears, we're tackling a key limitation of the browser in order to make it a stronger platform for deploying all types of applications and enabling a better user experience in the cloud," said Eric Schmidt, CEO of Google, in a statement. "We believe strongly in the power of the community to stretch this new technology to the limits of what's possible and ultimately emerge with an open standard that benefits everyone."

Google hopes Gears will become the standard for adding offline capabilities such as data storage, application caching, and multithreading to online applications.

David Mitchell Smith, Gartner web analyst, said that "The idea of taking Web applications offline is big," he said. While Google Gears can be viewed as a competitive move against Microsoft, he said that's not the only valid frame of reference.

Google Gears is also a threat for rich Internet applications. "Rich clients become less compelling the more the Web applications continue to grow," said Smith from Google. "Ajax has certainly taken a bite out of the opportunities that RIA developers thought they had."

Following are three Key features of Google Gear;
  1. A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server.
  2. A database, to store and access data from within the browser.
  3. A worker thread pool, to make web applications more responsive by performing expensive operations in the background

Google Gear is currently compatible with following set of browsers;

  • Apple Mac OS X (10.2 or higher) o Firefox 1.5 or higher
  • Linux o Firefox 1.5 or higher
  • Microsoft Windows (XP or higher) o Firefox 1.5 or higher o Internet Explorer 6 or higher

Following are some useful links related to Google Gear

Google Gear: http://gears.google.com/
Sample Tutorial: http://code.google.com/apis/gears/tutorial.html
Sample Applications: http://code.google.com/apis/gears/sample.html

Sunday, June 10, 2007

WSS 3.0 Application Templates

You can download WSS 3.0 Application templates for creating scenario sepecific sites and solutions.

Some of these templates have to be deployed on Site level and some at server level targeting different scenarios.

Following are thier lists;

Site Admin Templates Board of Directors Business Performance Reporting Case Management for Government Agencies Classroom Management Clinical Trial Initiation and Management Competitive Analysis Site Discussion Database Disputed Invoice Management Employee Activities Site Employee Self-Service Benefits Employee Training Scheduling and Materials Equity Research Integrated Marketing Campaign Tracking Manufacturing Process Management New Store Opening Product and Marketing Requirements Planning Request for Proposal Sports League Team Work Site Timecard Management

Server Admin Templates Absence Request and Vacation Schedule Management Budgeting and Tracking Multiple Projects Bug Database Call Center Change Request Management Compliance Process Support Site Contacts Management Document Library and Review Event Planning Expense Reimbursement and Approval Help Desk Inventory Tracking IT Team Workspace Job Requisition and Interview Management Knowledge Base Lending Library Physical Asset Tracking and Management Project Tracking Workspace Room and Equipment Reservations Sales Lead Pipeline

There are currently 40 templates available. Following is the reference site; http://www.microsoft.com/technet/windowsserver/sharepoint/wssapps/templates/default.mspx

SQL 2008

SQL 2008 CTP has been released, following is the link; http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx I will be posting further information on it in my coming blogs.

Tuesday, May 1, 2007

MOSS 2007 Guidelines for Performance optimization and Capacity Planning

MOSS 2007 has some limitations in terms of performance. These limitations and guidelines have to be followed in order to maximize MOSS performance and for avoiding any unpredictable behaviors or supportability issues.

Following are the details of performance guidelines along with their objects affected. This information will be handy for MOSS capacity planning and architecture design and also for checking product supportability.

The following table lists the recommended guidelines for site objects.

Site object

Guidelines for acceptable performance

Notes

Scope of impact when performance degrades

Site collection

50,000 per content database

Total farm throughput degrades as the number of site collections increases.

Farm

Site collection

150,000 per Web application

This limit is theoretical, and is dependent largely upon:

· Performance of the database server on which the configuration database resides.

· Performance of the Web servers in the farm.

· Network bandwidth between the Web servers and the database server.

This is not a hard limit, and assumes a single database server. Your environment may not be able to host this many site collections per Web application. Distributing content databases across additional database servers can increase the effective limit of the number of site collections per Web application. You should perform testing to determine the actual effective limit in your environment.

Farm

Web site

250,000 per site collection

You can create a very large total number of Web sites by nesting the subsites. For example, 100 sites, each with 1000 subsites, is 100,000 Web sites. The maximum recommended number of sites and subsites is 125 sites with 2,000 subsites each, for a total of 250,000 sites.

Site collection

Subsite

2,000 per Web site

The interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000.

Site view

Document

5 million per library

You can create very large document libraries by nesting folders, using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.

Library

Item

2,000 per view

Testing indicates a reduction in performance beyond two thousand items. Using indexing on a flat folder view can improve performance.

List view

Document file size

50MB (2GB max*)

File save performance is proportional to the size of the file. The default maximum is 50 MB. This maximum is enforced by the system, but you can change it to any value up to 2 GB.

Library, file save performance

List

2,000 per Web site

Testing indicates a reduction in list view performance beyond two thousand entries. For more information about large lists, see White paper: Working with large lists in Office SharePoint Server 2007 [ http://technet.microsoft.com/en-us/library/cc262813.aspx ] .

List view

Field type

256 per list

This is not a hard limit, but you might experience list view performance degradation as the number of field types in a list increases.

List view

Column

2,000 per document library

4,096 per list

This is not a hard limit, but you might experience library and list view performance degradation as the number of columns in a document library or list increases.

Library and list view

Web Part

50 per page

This figure is an estimate based on simple Web Parts. The complexity of the Web Parts dictates how many Web Parts can be used on a page before performance is affected.

Page

Managed path

20 per Web application

20 managed paths is a soft limit. Managed paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list. You should test for performance before exceeding 20 managed paths in a single Web application.

Web application

The following table lists the recommended guidelines for people objects.

People object

Guidelines for acceptable performance

Notes

Users in groups

2 million per Web site

You can add millions of people to your Web site by using Microsoft Windows security groups to manage security instead of using individual users.

User profile

5 million per farm

This number represents the number of profiles which can be imported from a directory service, such as Active Directory, into the people profile store.

Security principal

Approximately 2,000 per ACL (Access Control List) on any securable object (scope)

The total size of the ACL on scopes can be no larger than 64kb. Because each security principal is approximately 32 bytes in size, there can be no more than approximately 2,000 security principals or less for each scope.  If this limit is reached, indexing of items in that scope, and all items below that scope, to fail.

Also, because SharePoint Groups are expanded during the indexing process, having more than 2,000 users or Directory Groups in a SharePoint group and using that group for securing scopes may cause indexing of items secured with these groups, and all items below them, to fail.

This limit only occurs when Windows Integrated Authentication is utilized.

The following table lists the recommended guidelines for search objects.

Search object

Guidelines for acceptable performance

Notes

Search indexes

One per SSP

Maximum of 20 per farm

Office SharePoint Server 2007 supports one content index per SSP. Given that we recommend a maximum of 20 SSPs per farm, a maximum of 20 content indexes is supported.

Note that an SSP can be associated with only one index server and one content index. However, an index server can be associated with multiple SSPs and have a content index for each SSP.

Indexed documents

50,000,000 per content index

Office SharePoint Server 2007 supports 50 million documents per index server. This could be divided up into multiple content indexes based on the number of SSPs associated with an index server.

Content sources

500 per SSP*

This is a hard limit enforced by the system.

Start Addresses

500 per content source*

This is a hard limit enforced by the system.

Alerts

1,000,000 per SSP

This is the tested limit.

Scopes

200 per site

This is a recommended limit per site. We recommend a maximum of 100 scope rules per scope.

Display groups

25 per site

These are used for a grouped display of scopes through the user interface.

Crawl rules

10,000 per SSP

We recommend a maximum 10,000 crawl rules irrespective of type.

Keywords

15,000 per site

We recommend a maximum of 10 Best Bets and five synonyms per keyword.

Crawled properties

500,000 per SSP

These are properties that are discovered during a crawl.

Managed properties

100,000 per SSP

These are properties used by the search system in queries. Crawled properties are mapped to managed properties. We recommend a maximum of 100 mappings per managed property.

Authoritative pages

200 per relevance level

This is the maximum number of sites in each of the four relevance levels.

Results removal

100

This is the maximum recommended number of URLs that should be removed from the system in one operation.

Crawl logs

50,000,000

Number of individual log entries in the crawl log.

The following table lists the recommended guidelines for logical architecture objects.

Logical architecture object

Guidelines for acceptable performance

Notes

Shared Services Provider (SSP)

3 per farm (20 per farm maximum)

 

Zone

5* per farm

The number of zones defined for a farm is hard coded to 5.

Web application

99 per SSP

This limit includes the number of Web applications on child farms consuming resources on this SSP.

Internet Information Services (IIS) application pool

8 per Web server

Maximum number is determined by hardware capabilities.

Site collection

50,000 per Web application

 

Content database

100 per Web application

 

Site collection

50,000 per database

 

The following table lists the recommended guidelines for physical objects.

Physical object

Guidelines for acceptable performance

Notes

Index servers

1 per SSP*

 

Application servers running Excel Calculation Services

No limit

 

Query servers

No limit

Because 100 content databases are supported for each query server, the number of query servers required per farm is based on the number of content databases in the farm. For example, if there are 500 content databases in your farm, you will need at least 5 query servers.

Web server/database server ratio

8 Web servers per database server

The scale out factor is dependent upon the mix of operations.

Web server/domain controller ratio

3 Web servers per domain controller

Depending on how much authentication traffic is generated, your environment may support a greater number of Web servers per domain controller.

*Source Microsoft TechNet