Windows Azure - how to leverage the platform

Have you heard about Windows Azure? I am sure you have if you subscribe to MSDN magazine, have gone to PDC events, developed .NET applications on the Microsoft platform, or talked with Microsoft Partners about their thoughts on this platform. It promises to be the service in the cloud for what we call cloud computing. The "cloud" or "cloud computing" simply is a large (massive) data center that contains many server computers that are accessible via a standard internet connection. This data center hosts applications available to all through a subscription. Cloud computing drove some well-known business terminology like Infrastructure as a service (IaaS), Platform as a service (PaaS) and the most common Software as a Service (SaaS).

Some of the major players in this space are Salesforce.com (CRM, Force.com, AppExchange), Microsoft Online Services (CRM, Exchange Online, Office Live Meeting, Office 14, Office Communications Online, SharePoint Online), Amazon web services (Amazon DevPlay, SimpleDB), Google Services (Google Apps) and Zoho (productivity & collaboration applications). When reviewing what the offerings are all about I can only denote one thing. The service offerings essentially provides users or companies the ability to store their intellectual properties (content) on the provider's scalable servers and are accessible through an internet connection. This gives the provider a larger profit margin and the customer a lower operating cost. That lower operating cost achieve the flexibility and hassle free Information Technology (IT) overhead of buying, maintaining and integrating with third-party applications.

So, how do we leverage this platform? Well the above vendors want their developer community to build cost effective applications that will attract end-customers. Developers are in a unique position to create applications that they can charge for and that their end-customers can use without the concern of maintaining a server infrastructure environment. In addition, they are not as concerned about the marketing of their service offerings because they have the branding of the above players to do all the marketing work for them.

So is Windows Azure the best platform for .NET professionals. Absolutely! That is because the platform allows .NET professional developers to create rich applications using well-known tools and publish them on servers they do not need to license and maintain. The only issue is when Windows Azure will get off the beta label and into wide scale availability. Microsoft is touting the end of 2009. We will see if that holds true. Otherwise, Salesforce.com here I come!

Nhibernate vs. Linq

I received comments about my previous post on Nhibernate for .NET. One commenter placed a link to a blog article that brought out a great syntactical example that depicts the true difference between Nhibernate and Linq. Thanks for the reference. I would recommend everyone viewing the blog at http://tanveerbadar.wordpress.com/2007/10/14/linqentity-framework-vs-nhibernate. Let me know what you think.

My Blog Referenced on techtarget.com

I was reviewing the many hits my blog has received over the past number of months and found that a number of users were coming from techtarget.com. When I researched it further, I noticed that the hits were coming from an article titled SharePoint 2007 Learning Guide. The author compiled a number of articles and links to help one get up and running with SharePoint 2007. I highly recommend the article. Let me know what you think.

Office SharePoint Server 2007 Service Pack 1 - Released

Click on the below URL to download the service pack. For those of you who have done this before; remember that you need to install the service pack for Windows SharePoint Services v3 first before installing it for Microsoft Office SharePoint Server 2007. With that said, go at it!

Microsoft Office SharePoint Server 2007 – Service Pack 1 Download --- (Read about the service pack)

Windows SharePoint Server v3 – Service Pack 1 Download --- (Read about the service pack)

ODC 2008 - What session I am taking...

Some of you are thinking. Great! The Microsoft Office Developers Conference is coming. What classes should I take? Well, I don't know what to say for you, but for me, I am taking the below classes. Maybe that will give you some ideas!

Note: The below tracks are abstracts from the track owners respective blogs.

Continue reading "ODC 2008 - What session I am taking... " »

The Microsoft Office Developers Conference 2008 - Will you be there?

I wanted to say thanks to all who have visited my blog over the years. I have not been able to keep up due to increasing demand on internal projects related to SharePoint customization and integrations. However, I have not forgotten to update it. I will do my best to post at least once every two weeks.

On a different note…are you going to attend the Microsoft Office Developers Conference 2008 in San Jose, California? If not, then consider it. If you didn't know, well, now you do. I will definitely be there. I believe with the releases of Windows Server 2008, Visual Studio 2008, .NET Framework 3.5, SilverLight 1.0, and SQL Server 2008 we have what is made up to be an incredible year of feverish learning and implementing.

The Office Developers Conference will undoubtedly help you determine if some of the new capabilities that have been released will require you to integrate or use any one of the new products to obtain its full potential. I could guarantee that it will – that is unless you are hoping to integrate new with old. I would guess that is about 85% of what application development teams in most medium to large firms do, so how about you?

My firm is taking full advantage of Microsoft Office SharePoint Server 2007 for its intranet and extranet capabilities. We are excited to see how we could make it do more for us with all of our projects. We have also implemented the Scrum methodology of the Agile Framework to quickly deliver services to the business. With it, we look at new offerings and where it makes sense we integrate them into the project. It makes for sets of great projects. I am excited to see that with the upcoming service pack for MOSS 2007 coming out on 12/11/2007 we are going to be able to make our SharePoint web parts be AJAX driven. We have done our best with this capability already, but we have much to do to increase the user experience as we ensure proper and efficient functionality.

So, what are you looking forward to with the upcoming product releases? Also, what do you want me to blog about? Feel free to let me know. I will definitely prioritize it and respond appropriately.

Take care,

James

WCF vs. ASMX web services

Click on the link below to an article titled "A Performance Comparison of Windows Communication Foundation (WCF) with Existing Distributed Communication Technologies" by Microsoft. It depicts why WCF is better than ASMX web services. It is a great read for all developers looking to build web services for internal systems.

http://msdn2.microsoft.com/en-us/library/bb310550.aspx

Increase STSADM Max Template Size

Todd Klindt posted an unknown STSADM command that you can use to change the max capacity of a site template. The command you need is:

    STSADM –o setproperty –pn max-template-document-size –pv 524288000

The –pv value is the value, in Bytes, that you wish to set the limit to. The maximum value that can be set is 500 MB or 524288000 Bytes.

Note: STSADM will crunch away at this command for a while so be patient and PLEASE do NOT terminate STSADM midstream!

HP Released a Server Sizing Tool for SharePoint

I am a big fan of Hewlett Packard notebook and server products. Maybe it is my bias with Compaq servers, now folded into HP. It is just my strong opinion that I will justify in a blog entry. Regardless, visit the Microsoft Office SharePoint Server 2007 hardware-sizing tool at http://h71019.www7.hp.com/ActiveAnswers/cache/70675-0-0-0-121.html.

Updated SDK for SharePoint 2007 and the new BDC Editor

Calling all SharePoint enthusiasts…Microsoft released an updated version of the Microsoft Office SharePoint Server 2007 (MOSS 2007) and Windows SharePoint Services 3.0 (WSS v3) SDKs. This is exciting because many features in SharePoint '07 are easy to program against, but hard to determine because of a lack of sufficient documentation. I know this from experience with the many SharePoint '07 projects I had. In addition, Microsoft released a Business Data Catalog editor two days ago. Who knows, it may be better than the BDC Meta-Man. Below is the link to download the BDC editor.

Click on the below links to obtain the updated SDKs.

Click on the below link to obtain the BDC Editor

NHibernate for .NET versus Microsoft Enterprise Library 3.1

I have been working on a project that integrates existing line of business systems together to provide customers with a single point of entry into the organization through the default website. Providing customers with targeted information is obviously a benefit to the customer. Each customer that is able to access a corporate site and easily retrieve pertinent information to them not only makes them a happy customer, but a customer that will sell your services to potential customers. Therefore, making the customer happy at first point of entry is obviously critical to an organizations success.

As the Senior Solutions Developer at my firm, I have to think about performance, interoperability, scalability, integration, and business requirements. It is an exciting position and requires quick thinking with lots of research. Currently, I am working on building Windows Communication Foundation (WCF) based services to integrate with our internal line of business systems and web controls in Microsoft SharePoint Server 2007 (MOSS 2007). It would allow the customer to access the targeted information expressed above. Whenever one thinks about integration, database access is never that far behind. Most usually requires it and it certainly is the case with me, thus the reason for my current blog post.

While creating the data access layer in WCF I was forced to think about how to develop the layer that would subscribe to best practices and provide for both Agile Software Development and Rapid Application Development without compromising quality of code. A fellow Senior Solutions Developer told me about the open-source NHibernate, which provides an ORM solution to building the data access layer. He told me that many J2EE developers integrated with this solution offering. I became very interested and so I started researching why NHibernate is better than the Microsoft Enterprise Library 3.1 Data Access Block published by Microsoft in May 2007. The result was quite stunning.

The Enterprise Library Data Access Block is great for quick access to the underlying data source and provides the required levels of abstraction; however, it fails in building stored procedures that models a normalized relational database that is something the developer would need to create. The typical Select, Insert, Update, Delete stored procedures are usually required for this type of model. I have found it shocking. NHibernate not only provides the appropriate levels of abstraction that conforms to best practices, but it also handles what the Enterprise Library lacks, the capability to dynamically build SQL that performs the required actions to normalized databases. NHibernate is a data access layer that can truly build high quality code that accesses the data access layer. It provides us with what we need and best of all…it is free and available from the open-source community. Visit NHibernate at www.hibernate.org or access the NHibernate Best Practices page on the code project website (http://www.codeproject.com/aspnet/NHibernateBestPractices.asp).

Disable "My Sites" and "My Links" in MOSS 2007

I came across an interesting blog article from a fellow blogger named Michael Van Cleave. He mentioned how to disable "My Sites" and "My Links" in MOSS 2007. I thought that it would be good to re-specify how to do this in MOSS 2007. The directions are below. Thanks Mike.

In order to turn off or disable the "My Site" or "My Links" functionality you need to be a SharePoint Administrator. Then follow the steps below.

  • Go to the Central Administration Web Page
  • Click on the link for Shared Services Administration
    • If you have more than one Shared Service Provider (SSP), select the one that is running the "My Sites" functionality
    • Under "User Profiles and My Sites", click "Personalization Services Permissions"
  • Select the group you want to limit the functionality.  More than likely you will just have "NTAuthority\Authenticated Users"
  • In the next screen, you will see a list of checkboxes
    • To disable "My Sites" uncheck "Create Personal Site"
    • To disable "My Links" uncheck "Use Personal Features"
  • Select the checkbox that is appropriate for you

Tech-Ed 2007 Powered by MOSS 2007

 

Tech-Ed released a customer presence for both attendees and non-attendees in Orlando, FL. The two major highlights of the site are the content management capabilities based in SharePoint 2007 and the WPF/E with XAML capabilities of Microsoft SilverLight. The power of the two presents a slick user-friendly site for all. Visit the virtual Tech-Ed by going to www.virtualteched.com.

 

Role-Based Templates for MOSS 2007 My Sites

Microsoft released templates to support roles within an organization. I believe that this is a great first step at addressing the critical need to have a "My Site" that is personalized and consistent with your role within the organization. I often review my "My Site" and think how I can make this functionally work for my role but had to succumb to manipulating it to support my way of working. Review the list of templates below. Maybe you can obtain some ideas to create site templates for users in your organization.

Available Role-Based Site Templates

WPF/E branded as Microsoft Silverlight

I remember when I was at Bentley College, working at the Academic Technology Center with a number of smart Computer Information System majors, when I thought that the web experience should be richer than it is today. We built academic course sites for professors and some built sites of their own. We used traditional HTML and JavaScript in notepad and ran these websites on the UNIX platform. Some of us used more elaborate IDE's like ColdFusion to develop on the Windows platform. Over the years, I have moved on to building dynamic web pages using the Microsoft ASP page model then using ASP.NET on the Windows platform. This allowed me to focus my efforts on developing software on a platform that I knew everyone was eventually going to use. With the advent of the .NET Framework 2.0, web developers were looking at how to build even richer content for companies and the upcoming web 2.0 users. Microsoft released the .NET Framework 3.0 and with it, a powerful framework called the Windows Presentation Foundation. This foundation uses XAML, windows controls, and partial class technology to build rich windows applications.

The Windows Presentation Foundation now has a following of developers. These developers were waiting for the release of the foundation for the web. Microsoft released several Community Technology Previews (CTPs) of the codenamed WPF/E for these developers. Microsoft launched WPF/E earlier this month in Las Vegas. The foundation is now branded as Microsoft Silverlight. Microsoft Silverlight promises cross-browser, cross-platform user experiences. It also separates designers from developers with the release of Microsoft Expression studio for designers and the well-known Visual Studio for developers. The cross-browser/platform promise comes by the install of a downloadable plug-in that you can be sure to see in your upcoming Windows updates.

Now it is up to web developers to take full advantage of the foundation and its capabilities. Building rich web experiences will no longer be limited to the .NET Frameworks availability on a web server or on an Apple Computer. Rich web experiences will only be limited to the current version of a browser and its capability to run the Silverlight plug-in. I can see that the next version of SharePoint will take full advantage of Microsoft Silverlight. It will give advertising companies the edge they need to deliver messages to potential customers that is appealing and interactive.

To find out more about Microsoft Silverlight visit http://www.microsoft.com/silverlight. For more FAQs, visit http://www.microsoft.com/silverlight/asp/faq.aspx. For resources on how to get started now, click on any of the links below.

 

Developers

Silverlight Software Development Kit (SDK) CTP (Feb. 2007)

Silverlight CTP Sample Pack (Feb. 2007)

http://www.telerik.com/products/silverlight/overview.aspx

Designers

Expression Studio (Free evaluation is available for download)

Hawaiian Airlines uses SharePoint Server 2007

Hawaiian Airlines built their public facing website on the Microsoft Office SharePoint Server 2007 (MOSS 2007) platform. They leveraged the web content management features inherent to Microsoft Content Management Server 2002 and now consolidated in MOSS 2007 to make this happen. I think this is a great case study for how SharePoint can be the software package solution for a corporate intranet, extranet, and internet-facing site.

Read the article here.

SharePoint Server Farms at Microsoft Corp.

I have worked with Microsoft SharePoint 2003 and 2007 quite extensively. That is from development, installation, configuration, and capacity planning perspectives. I have been fortunate enough to go to many Microsoft partner training events and learned allot of how Microsoft uses SharePoint as their intranet internally. I have been asked by clients, "What is the proper way to deploy SharePoint?", "Does Microsoft use SharePoint for their internal projects or as their intranet?", "How did Microsoft deploy it across the WAN?", and "Do you think Microsoft SharePoint 2007 can scale?". My answer was always "Yes" along with some supporting detail.

Some could not believe it, Microsoft using their own product, but to me it makes perfect sense. They are a big corporation, if they make it work internally they can find all the bugs and problems first hand. They can answer most of the questions before their customers bring them up. So, I appreciate Microsoft for doing that.

Here is how Microsoft has it deployed globally. They have three SharePoint Server farms deployed globally where each server farm has its own indexing server, about 130-140,000 site collections, and a master indexing server in Redmond that indexes all three server farms. They have the best deployment of security trimmed search results across their global deployment of SharePoint. Security trimmed search results simply mean that if a user issues a query for content, they will only view content that their credentials will give them access to. This feature set makes Microsoft search in SharePoint very attractive to enterprise search customers.

So, let me tell you what are the regions where they have SharePoint deployed. The three regional SharePoint Server farms are: MEA (Middle-east/Africa) based out of Dublin, Asia/South Pacfic based out of Singapore, and the Americas (North and South) based out of Redmond, WA.

As a treat, I figured I would give you the opportunity, to hear for your yourself, how Microsoft is using SharePoint Server 2007 internally from program managers of the Microsoft Information Technology (MSIT) group. Click on the play button below to view the streaming video.

Office SharePoint Server at Microsoft: 12 TeraBytes of data and counting

WCF Patterns & Practices

I wholeheartedly believe in building Windows Communication Foundation (WCF) based web services that follows industry patterns & practices. That is why I believe if you are looking to build WCF based service interfaces, it is with strong consideration that you visit the Web Service Software Factory web page located within the Microsoft Patterns and Practices Development web site.  In addition, I recommend that you download the following pieces of software where Visual Studio.NET 2005 is installed.

I would also recommend reviewing the MSDN Architecture Webcast: Web Services Security Patterns (Level 300) video. The introduction of the video tells you why the Service Factory was built and demonstrates the guidance automation experience in Visual Studio. Toward the end of the webcast, there is a demonstration that applies security to a WCF service using the latest release of the Service Factory.

I also recommend reviewing some community sites related to WCF. I have listed some below.

Redirect HTTP traffic to HTTPS in SharePoint 2007

I had a client that wanted to redirect traffic from HTTP to HTTPS. Internet Information Services (IIS) 6.0 allows web site administrators to redirect traffic from one port to another; however, this would not solve the problem completely. SharePoint 2007 is no longer tightly bound to IIS. Administrators can now specify "Alternate access mappings" to a SharePoint web application. So to solve the problem completely one would have to create a SharePoint web application and site collection on port 443, then extend the SharePoint web application on port 80, then go to IIS and perform the following on each web server in a server farm:

  • Go to Start -> Settings -> Control Panel -> Administrative Tools -> Internet Information Services (IIS) Manager
  • Navigate to the web application (on port 80) underneath the "Web Sites" folder and right-mouse click on it to access its properties
  • Click on the "Home Directory" tab and select the "A redirection to a URL" radio button
  • On the "Redirect to" textbox specify the "https" address and select "The exact URL entered above" checkbox

Microsoft Channel9 Videos about SharePoint 2007

I have selected a targeted set of videos that helps Information Technology Administrators, Developers, and Project Managers understand the capabilties of Microsoft Office SharePoint Server 2007 (MOSS 2007). The videos I am highlighting are from channel9.microsoft.com. Please review them at your convenience. I have specified links to the videos in case you are reading this blog entry through an RSS feed.

Here are the videos...enjoy!

Continue reading "Microsoft Channel9 Videos about SharePoint 2007" »

Ways to Backup/Restore SharePoint - Part 1

I have deployed both SharePoint 2003 and 2007 to companies that span industries. With each deployment, I had to address the same technical concerns around proper backup/restore operations for SharePoint. The proper answer varied based on the deployed version of SharePoint and restore time requirements. Therefore, it is safe to say that my answer was always appropriate for the customer and based on the variables provided.

I did want to share some of the ways to perform backups for the different versions of SharePoint.

Continue reading "Ways to Backup/Restore SharePoint - Part 1" »

SharePoint Server 2007 Portal Site Connection Fix for “My Sites”

I have deployed several Microsoft Office SharePoint Server 2007 (MOSS 2007) environments and have always chosen to split the default Portal Site from the "My Site". I follow this practice for performance and stability reasons. Often times, however, I have found that when users create a new personal "My Site" they lose the connection to the main portal site. I have found that this is a default setting by design and can easily be adjusted. To adjust this, after creating a "My Site", you would need to perform the following steps in order to connect the end-users "My Site" back to the originating portal site. Here are the steps:

To reconnect a "My Site" back to the original portal site

  • Go to the users "My Site" and click on "Site Actions" and select "Site Settings" from the context menu (As an alternative, you could simply replace the URL from "/default.aspx" to "/_layouts/settings.aspx", which will ultimately provide you with the following url "http://[YourMOSS2K7Environment]:[PortNumber]/personal/[UserName]/_layouts/settings.aspx"),
  • Under the "Site Collection Administration" section, click on the "Portal site connections" link
  • Type in the URL to the main portal site (i.e., http://[YourPortalSite]/) and name then click on the "OK" button
  • The top left navigation has changed to allow your "My Site" to return back to the main portal site

Note: The above steps must be performed on every existing portal site. To prevent future "My Sites" from having this issue, follow the below steps

To connect all "My Sites" to the original portal site

  • Open up a browser and replace the following token in the URL. (i.e., http://[YourMOSS2K7Environment]:[PortNumber] /_layouts/settings.aspx)
  • Under the "Site Collection Administration" section, click on the "Portal site connections" link
  • Type in the URL to the main portal site (i.e., http://[YourPortalSite]/) and name, then click on the "OK" button
  • The top left navigation will now change for every new "My Site" created for a user

Configure PDF searching in SharePoint 2007

Here are best instructions for properly configuring SharePoint to search PDF documents and view the file type icon in a document library. This involves installing the Adobe PDF IFilter 6.0 on each SharePoint 2007 front end web server. You would also need to do this on the Search Server, if you have split this up in your environment.

Perform the following steps for either Windows SharePoint Services v3 (WSS v3) and Microsoft SharePoint Server 2007 (MOSS 2007).

  • Download Adobe PDF IFilter 6.0
  • Stop the IIS Admin service: Start -> Run -> services.msc -> IIS Admin Service -> Stop
  • Run the Adobe PDF IFilter 6.0 Setup program to install the filter on the server
  • Copy the ICPDF.GIF file (click here to download the file) to "[Hard_Drive]:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Images"
  • Edit the file "[Hard_Drive]:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\Template\Xml\DOCICON.XML"
    1. Add an entry for the .pdf extension.
      <Mapping Key="pdf" Value="icpdf.gif"/>
  • Perform an iisreset by performing the following: Start -> Run -> iisreset. You could also recycle the SharePoint Application Pools in Internet Information Services Manager

For MOSS 2007, perform the following additional steps

  • If you have MOSS 2007 and have enabled Shared Services then, goto Central Administration -> Shared Services Administration -> Select your current Shared Services Provider -> Search -> Search Settings -> File types
  • Click on the "New File Type" button
  • Add the "pdf" file extension in the designated text box and click on the "OK" button
  • Go back to the Search Settings page
  • Click on the "Content sources and crawl schedules" link
  • Select the content source, access its context menu, and click on "Start Full Crawl"

Upcoming Developer Events

Save the date. Below are some meetings amongst the developer community that could be of interest. Follow the links to register.

February 1, 5:30 - 7:30 PM
Beantown .NET User Group
"Implementing SOA Design Patterns with .NET" - Rob Daigneau

February 1, 6:15 - 8:30 PM
New England Visual Basic Professionals
"Introduction to Workflow Foundation" - Susan Wisowaty

February 8, 6:30 PM
New England SQL Server User Group
"Developer-Centric SQL Server Topic [TBA]" - Adam Machanic

February 12, 10:30 - 3:30 PM
Microsoft arcCouncil - Waltham, MA
"Web 2.0 & Microsoft"
"Applying Web 2.0 Patterns & Best Practices"

February 13, 5:30 - 8:30
C# User Group of Greater Boston
"SharePoint Development with C#" - Robert Holmes

February 14, 5:00 - 8:30
Boston .NET User Group
".NET 101" - 5:00 - 6:00 PM
"Building Applications with Windows Workflow Foundation" - Michael Stiefel - 6:30 - 8:30

February 24, All Day
SharePoint 2007 Code Camp

SharePoint 2007 Code Camp

Chris Bowen, Developer Evangelist for Microsoft New England, announced a SharePoint Code Camp at the Microsoft Office on February 24, 2007. I would recommend anyone that is looking to implement SharePoint in their organization attend the event. You can register for the event by clicking here. It will be an all day event. I look forward to seeing you at the event.

The address to Microsoft New England is below. Access it on a map by clicking here.

Microsoft New England
201 Jones Rd
6th Floor
Waltham, MA 02451

Favorite Links

Most Recent KBs for SharePoint Server 2007