SharePoint Conference Notes on SharePoint 2010 – Day 2
I am continuing my notes from the SharePoint Conference. Today I attended the Service Applications, Developing SharePoint on Windows 7 and the Development Best Practices sessions. I also did some hands on labs.
Link to my blog postings for each day at the conference.
Service Applications – this is the replacement for Shared Service Providers (SSP). They’ve ported all the SSP functionality (BDC, User Profiles, Search, etc…) to this Service Application methodology and then added around 20 new services. If you think of SSP as running on a single box or web application, think of Service Applications as running as a Middle Tier Service Layer. They talked about how these are not confined to a box, they are truly services now. Here are some advantages I’ve heard with Service Applications:
- You can configure seperate databases and application pools per service
- The Web Application chooses which services it talks to
- Services run on an application server and this application server doesn’t even have to be on the same farm as your web application. As long as security is configured correctly, you can talk to services from an application server on another farm. This is great for Enterprise situations in which a company has multiple farms. Each farm can reuse all, or some of, the services from the main application server. A great example of this is User Profiles. If an application is running off of AD, you only need that User Profiles on one farm, even if a company has valid reasons for separating their farm structure do to other security and/or functionality constraints.
- Application servers are load balanced out of the box. SharePoint 2010 provides a software load balancer and you can use the load balancer on applications servers (note: you can change this to hardware load balancing if you want). This means these service applications have redundancy built in if you build your infrastructure with more than one application server.
- SharePoint Foundation (formerly WSS) can also run services – just not the ones dedicated for SharePoint 2010 (formerly MOSS)
- This is an extensible framework. You can build custom services for your farms. This is going to be huge for the third party market.
- The one downside to this is going to be governance (in my mind). We are going to have to control and plan where the services reside and how other farms can use them. It will change the whole structure of how we architect/plan SharePoint sites in large Enterprise situations.
Developing on Windows 7
- There are a couple models to do this:
- Install SharePoint, in standalone mode, on the Windows 7 machine
- There are pre-requisites for doing this, they can be found here: http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx
- This will run the SharePoint services on your desktop
- This uses SQL Express by default
- Use bootable VHDs and run Windows 7 or Server on the VHD
- These are not virtual machines (VPC is dead), but just the VHD
- You can only run one at a time because you choose it from the boot menu
- You can create these VHDs from Windows 7 or from a Hyper-V machine. The presenter noted that it is easier to build them on a Hyper-V and then add them to a Windows 7 boot (if you have Hyper-V available)
- The performance impact is negligible as long as you use fixed size VHDs
- Use Hyper-V (this is not developing on Windows 7, so they didn’t go into this)
- Install SharePoint, in standalone mode, on the Windows 7 machine
- There are performance considerations for running SharePoint on your local machine. The presenter actually showed that it isn’t that bad – he showed that his machine was only utilizing a little over 4GB of memory. But, you don’t want SharePoint hogging your memory when you are not using it (i.e.: doing the regular laptop/desktop activities during the day). Here are some ways to help with the performance considerations:
- Set useless services off (useless in terms of development). These are things like Usage Data Collection and Health Data Collection.
- Set some services to “Auto Start (delayed)”. This delay’s the start of the service when the computer starts up.
- Utilize PowerShell scripts to stop the SharePoint services (including all the SQL Express stuff). The presenter gave me the scripts to do this, so be on the lookout for a blog on that soon 🙂
- The presenter showed a lot of PowerShell scripts to help development
- You can turn on/off the developer dashboard through PowerShell. This can help performance when you aren’t developing.
- You can start/stop services and SQL Express in order to turn SharePoint off when not in use.
- You can set up a Visual Studio project to run PowerShell scripts. This is really cool because you don’t have to go outside VS to run scripts. It seemed a little clunky to set up (you have to set some x64 stuff in a console application). But, it is possible.
- Here are the presenters recommended specs to run SharePoint on a dev machine
- x64 dual proc 2Ghz, 8Gb Ram, 80Gb HD.
- If you are going to run lots of bootable VHDs, you might want to increase the hard drive space. The presenter mentioned the fixed size for a bootable VHD should be around 45GB or higher.
Development Best Practices – This session described best practices that are applicable from SharePoint 2007 and how they translate to SharePoint 2010. I didn’t learn much in this presentation because it was either things that were best practices in class=”hiddenSpellError” pre=”in “>SharePoint 2007 or things that have already been said. The general gist of this session was: develop on standalone developer machines or bootable VHDs, do unit testing and package your code in WSPs.
Here are the Hands on labs I did today and my thoughts:
- PowerShell – I was impressed with what we can do with PowerShell. There are over 500 commands and they provide a lot of functionality. The lab started with showing how you can get an SPSite object. Then it showed how you could update an SPSite object in PowerShell. So far, this is all stuff I could do in Central Administration. But, then it showed how you can loop through sites and pipe them together to do everything at once. For example: they showed how to change all the secondary site collection administrators, on all site collections in a web application. They also showed how to create a sub-site for all site collections in a web application. This will make scripting and deployment much easier in the future. The only issue I have so far is the amount of PowerShell scripts they have and the PowerShell language (I guess I have to learn that now).
- Advanced WebPart development – this was ok. The lab just showed how to create and deploy Visual WebParts (which is just creating user controls). The thing I noticed here was the ease of development/deployment and the speed of deployment. Even though it was recycling the application pools, the site came up fairly fast. They mentioned that they’ve been tweaking this process to make deployments more bareable for us developers.
- External Content Types – I did a lab that showed me how to hook database data into a SharePoint list. This was all done through designer (even though you can do it in Visual Studio) and took only a few steps to set up. After hooking the list to the database table I could update the data, from my SharePoint list, and see it updated in the database. Very Cool.