We've officially launched a new website dedicated to providing invaluable information around building Services Oriented Architecture (SOA) and Business Process Management (BPM) solutions using the Microsoft platform.  As a part of this site, we've released our latest roadmap and product strategy around the next generation of Microsoft SOA-based technologies, codenamed "Oslo", to included updated messaging and workflow technologies in BizTalk Server and other products starting in 2009.

The "Olso" vision will leverage the next version of BizTalk Server as it's primary delivery vehicle for delivering a superior SOA infrastructure, but that's not all.  "Olso" will also feature updates to the Visual Studio development environment and the System Center line of systems management products as well as provide the appropriate infrastructure support to support business-to-business composite applications.

This is going to be an exciting ride in the world of SOA, and Microsoft will be right there in the mix!

Windows Server 2008 and Windows SharePoint Services 3.0

Posted in SharePoint Products and Technologies | Windows Server at Monday, October 29, 2007 10:07 PM Eastern Standard Time

It was announced today on the Windows Server Team Blog that Windows SharePoint Services 3.0 will return to being available via a separate download for Windows Server 2008 customers.  In early betas, WSS 3.0 was included as a component in the Windows Server 2008 configuration.  This decision was made to allow more flexibility in the WSS development process, while still allowing customers to conveniently obtain the technology.

WSS will still remain a free component for Windows Server customers.  More coverage on this important announcement in on both the SharePoint Team Blog and Windows Server Team Blog.

Helpful tip on Virtual Machine Configuration using Virtual PC

Posted in Tips & Tricks at Saturday, October 27, 2007 4:16 PM Eastern Daylight Time

I'd been racking my brain trying to remember the configuration steps for configuring a Virtual PC -based VM that's running as a Domain Controller (with DNS enabled) to access the internet.  I've done this many times in the past and just couldn't remember the steps.  This is a tricky thing because with a DC, DNS is also installed, therefore if you run your VM on say...your corporate network, and you have DNS enabled, then the DNS server within your VM could potentially be handing out IPs to DHCP-enabled networked clients.  This doesn't make your IT department (most notably, your Network Administrators) happy :-) because whenever you shut down the VM, everyone who had an IP issued by your DNS server can't resolve and thus looses network connectivity :-) I can't count how many times I've seen folks give demos and wound up hosing almost every one of their colleagues in their office because they just hard-wired into the corporae network with VMs running as DCs with DNS enabled :-)

 

I stumbled across this post, from the UK Dynamics CRM Blog, that provides a nice summary of the steps.  Hopefully this will be a good reference in case you get into some configuration scenarios where you need to do this.  For those of you doing development or giving demos using a Virtual PC, hopefully this will save you (and your Network Admins) a lot of pain :-)

SharePoint Object Model "Hidden Gems"

Posted in SharePoint Products and Technologies at Saturday, October 27, 2007 3:57 PM Eastern Daylight Time

I was recently presented a scenario by a gentleman who wanted more control over a MOSS 2007 site, list, and item settings.  He wanted to essentially "track" changes that were made to these artifacts within a given site collection.  In addition, he wanted to know the type of change that occured.

SPListEventReceiver or SPWebEventReceiver you might suggest?  Not quite the solution here.  One of the "hidden gems" within the SharePoint object model is the SPChange class.  This class represents a change that has been made to objects or metadata within an item, list, Web site, or site collection scope, or a security policy change at the Web application scope that has been recorded in the Microsoft Windows SharePoint Services change log.  An example of this functionality is cited in the code example below:

SPSite siteCollection = SPContext.Current.Site;
SPWeb site = siteCollection.AllWebs["Site"];
SPListCollection lists = site.Lists;

SPRegionalSettings regionSettings = site.RegionalSettings;
SPTimeZone timeZone = regionSettings.TimeZone;

SPChangeQuery query = new SPChangeQuery(true, true);
SPChangeCollection changes = site.GetChanges(query);

foreach (SPChange changedObject in changes)
{
    switch (changedObject.GetType().ToString())
    {
        case "Microsoft.SharePoint.SPChangeItem":
            SPChangeItem changedItem = (SPChangeItem)changedObject;
            try
            {
                Response.Write(lists[changedItem.ListId].Title + " == " + lists[changedItem.ListId].GetItemByUniqueId(changedItem.UniqueId).Name + " == " + timeZone.UTCToLocalTime(changedItem.Time) + " == " + changedItem.ChangeType + "<BR>");
            }
            catch
            {
                Response.Write("The object to which item " + changedItem.UniqueId + " belongs does not exist.<BR>");
            }
            break;
    }
}

The code snippet above allows you to display the names of lists in which items in a site has changed.  The SPChange object provides a powerful mechanism for retrieving this type of information in MOSS.  Note the use of the GetChanges() method that is being called on the SPSite object in the code above.  The GetChanges() method of the SPList, SPWeb, SPSite, or SPContentDatabase object returns the collection of changes that have occurred within the given scope.

In addition to SPChange, there are quite a few other classes that have similar functionality and represent various types of changes that occur during the lifecycle of a SharePoint site, list or item.  I've cited a few of them below:

SPChangeGroup

Represents a change to a group

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

 

SPChangeSecurityPolicy

Represents a change to a security policy

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

 

SPChangeUser

Represents a change to a user

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

One of the biggest challenges I feel that we (Microsoft) face in showcasing the "value" of architecting/developing Office Business Applications is providing what I'll call "solid reference implementations" along the lines of Duwamish Books, Fitch and Mather, Global Bank, LitwareHR, other many other solutions we've released.  Sure, we have the OBA Reference Architecture Packs (OBA RAPs), but, by definition, they are meant to serve as simple examples of how to leverage the OBA pattern to address a given business scenario.  However, where I think they are lacking is in providing sound guidance and implementation practices around many of the architectural and implementation challenges many organizations face today in trying to deliver business value to their users.  Many organizations today are asking questions like:

  • What are good practices for securing our OBA solution?
  • What are good practices for integrating with other Line-Of-Business (LOB) applications and how do we take advantage of other Microsoft integration technologies in order to accomplish this?
  • What are good practices for implementing other Microsoft platform technologies and services like Windows Live Services (Live ID, Virtual Earth, etc) and UX technologies like Microsoft Silverlight and WPF?  And, more importantly, WHEN should they be used?
  • What are good implementation strategies for building addressing scability and performance challenges in your solution design?
  • What are some common implementation patterns that allow for changes in business objectices and requirements and changes in technology?

and tons more.  So my question to you, dear reader, is what would you like to see in an OBA reference implementation?  Is something like Duwamish too much?  Are the OBA RAPs a step in the right direction?  This is an opportunity for you to be heard.

OBA Resources

New Blog Home

Posted in General Opinions at Friday, October 26, 2007 11:48 AM Eastern Daylight Time

As I mentioned on my old blog, for those who follow my blog, note that I've moved to a new location.  Don't fret, I haven't left Microsoft, just moving to a new blog home.  As a part of the move, I'll be moving some of the posts (read: not all) from my old blog to this blog.  I'm going to move the more popular posts and leave all the "legacy" behind :-).  So please update your links to my new blog.  Still working the kinks out with the latest version of DasBlog, so bear with me as I get settled :-)

View Lamont Harrington's profile on LinkedIn

Microsoft Employee


Calendar

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

On this page...

Tags


Archives