Comphrensive list of WSS/MOSS Resources

A friend of mine Sezai spent a great deal of time putting together a great list of
WSS/MOSS articles. Thought I’d share them with you – thanks Sezai!!!

SharePoint
Products and Technologies 2007 Customization Policy
http://go.microsoft.com/fwlink/?LinkId=92311&clcid=0x409

Deploying
and Supporting Enterprise Search with MOSS 2007 at Microsoft – White Paper
http://download.microsoft.com/download/2/5/3/253f0074-5c2c-4b45-a1c6-62c2c288c6eb/deployingandsupportingenterprisesearchtwp.doc

2007
Office System Document: Bringing Web 2.0 to the Enterprise with the 2007 Office System
http://www.microsoft.com/downloads/details.aspx?FamilyID=8b48bd31-f043-4ab4-96eb-c6e958fe4ec9&DisplayLang=en

Microsoft
SharePoint Products and Technologies Document: Using Blogs and Wikis in Business
http://www.microsoft.com/downloads/details.aspx?FamilyId=6224AA0B-2EB5-4780-8161-C8C94D86B9E9&displaylang=en

Microsoft
SharePoint Products and Technologies Document: Microsoft Office Programs and SharePoint
Products and Technologies Integration – Fair, Good, Better, Best
http://www.microsoft.com/downloads/details.aspx?FamilyID=e0d05a69-f67b-4d37-961e-2db3c4065cb9&DisplayLang=en

2007
Office System Document: Understanding Workflow in Microsoft Windows SharePoint Services
and the 2007 Microsoft Office System

http://www.microsoft.com/downloads/details.aspx?familyid=DBBD82C7-9BDE-4974-8443-67B8F30126A8&displaylang=en

 

Microsoft
SharePoint Products and Technologies Document: Transform Your Business With SharePoint
Products and Technologies

http://www.microsoft.com/downloads/details.aspx?familyid=CF5BB5E2-909D-4910-A8BB-3F4718BEE8F7&displaylang=en

 

Microsoft
Best Practices Analyzer for Windows SharePoint Services 3.0 and the 2007 Microsoft
Office System

http://www.microsoft.com/downloads/details.aspx?familyid=CB944B27-9D6B-4A1F-B3E1-778EFDA07DF8&displaylang=en

 

Information
architecture in Office SharePoint Server (case study for Fabrikam Industries)

http://technet2.microsoft.com/Office/logredir.aspx?MODE=CT&CTT=ToExternal&target=http%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D91053&referrer=http%3A%2F%2Ftechnet2.microsoft.com%2FOffice%2Fen-us%2Flibrary%2F902bbfaa-d6cc-4e8b-a1f5-6215168f47681033.mspx&reldir=en-us%2Flibrary

 

Windows
SharePoint Services Document: Application Templates for Windows SharePoint Services
3.0 – Under the Hood

http://www.microsoft.com/downloads/details.aspx?FamilyId=C49A6B00-E0AA-4102-B585-B25CD3CBB383&displaylang=en

 

SharePoint
Server 2007 Document: Role-Based Templates for SharePoint My Sites – Under the Hood

http://www.microsoft.com/downloads/details.aspx?FamilyID=8248ab85-3ef7-4dd2-a5a6-2615683f6f6d&DisplayLang=en

 

Plan
for building multilingual solutions by using SharePoint Products and Technologies

http://go.microsoft.com/fwlink/?LinkId=79322

 

Planning
and architecture for Office SharePoint Server 2007, part 1

http://go.microsoft.com/fwlink/?LinkID=79552&clcid=0x409

 

Planning
and architecture for Office SharePoint Server 2007, part 2

http://go.microsoft.com/fwlink/?LinkId=85548&clcid=0x409

 

SharePoint
Server 2007 Sample: Creating a Custom User Site Provisioning Solution with Office
SharePoint Server 2007

http://www.microsoft.com/downloads/details.aspx?FamilyId=5B6C8FB0-9B67-47DB-8A09-BCA76BC9A5D1&displaylang=en

 

SharePoint
Products and Technologies Templates: Web Part Templates for Visual Studio .NET

http://www.microsoft.com/downloads/details.aspx?familyid=CAC3E0D2-BEC1-494C-A74E-75936B88E3B5&displaylang=en

 

Best
Practices: Writing SQL Syntax Queries for Relevant Results in Enterprise Search

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

 

Managing
enterprise metadata with content types

http://go.microsoft.com/fwlink/?LinkId=101604&clcid=0x409

 

Evaluating
and Customizing Search Relevance in SharePoint Server 2007

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

 

Chapter
3: Customizing and Extending the Microsoft Office SharePoint 2007 Search (Part 1 of
2)

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

 

Chapter
3: Customizing and Extending the Microsoft Office SharePoint 2007 Search (Part 2 of
2)

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

 

Best
Practices: Common Coding Issues When Using the SharePoint Object Model

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

 

Upgrading
an MCMS 2002 Application to SharePoint Server 2007 (Part 1 of 2)

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

 

Upgrading
an MCMS 2002 Application to SharePoint Server 2007 (Part 2 of 2)

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

 

Development
Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part
1 of 2)

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

 

Development
Tools and Techniques for Working with Code in Windows SharePoint Services 3.0 (Part
2 of 2)

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

 

Using
the Business Data Catalog and Smart Tags with the 2007 Microsoft Office System

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

 

Sample
governance plan

http://go.microsoft.com/fwlink/?linkid=92333&clcid=0x409

 

“Creating
Shared Hosting Solutions on Windows SharePoint Services 3.0” whitepaper

http://office.microsoft.com/search/redir.aspx?AssetID=AM102157711033

 

Windows
SharePoint Services 3.0 Document: Microsoft Windows SharePoint Services Quick Reference
Guide

http://www.microsoft.com/downloads/details.aspx?familyid=80FD0D64-4BD0-476B-BFD9-39DA34C22EFB&displaylang=en

 

Windows
SharePoint Services 3.0 Sample: Example Master Pages

http://www.microsoft.com/downloads/details.aspx?familyid=7C05CA44-869A-463B-84D7-57B053711A96&displaylang=en

 

Windows
SharePoint Services 3.0 Document: Tips and Tricks – Using Wikis in Windows SharePoint
Services 3.0

http://www.microsoft.com/downloads/details.aspx?familyid=BA4B9AFB-C06E-4480-B816-26B7E009E35C&displaylang=en

 

Windows
SharePoint Services 3.0

http://www.microsoft.com/downloads/details.aspx?familyid=D51730B5-48FC-4CA2-B454-8DC2CAF93951&displaylang=en

 

Windows
SharePoint Services 3.0 Application Template: Application Template Core

http://www.microsoft.com/downloads/details.aspx?familyid=C1039E13-94DA-4D7D-8CAE-3B96FA5A4045&displaylang=en

 

Windows
SharePoint Services 3.0 Application Templates: All Server Admin Templates

http://www.microsoft.com/downloads/details.aspx?familyid=AAE4CB5A-91D2-4F1B-9A45-3BB894E218F8&displaylang=en

 

Enterprise
Content Management From Microsoft

http://office.microsoft.com/search/redir.aspx?AssetID=XT102253281033&CTT=5&Origin=HA102063591033 
docx

http://office.microsoft.com/search/redir.aspx?AssetID=XT102063611033&CTT=5&Origin=HA102063591033 
doc

 

Microsoft
Office SharePoint Server 2007 on HP ProLiant Servers – Performance Summary

http://h71019.www7.hp.com/ActiveAnswers/cache/497613-0-0-0-121.html

 

Working
with Large Lists in Office SharePoint Server 2007

http://go.microsoft.com/fwlink/?LinkId=95450&clcid=0x409

 

SharePoint
Server 2007 SDK: Software Development Kit

http://www.microsoft.com/downloads/details.aspx?familyid=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en

 

White
paper: Using database mirroring with Office SharePoint Server

http://go.microsoft.com/fwlink/?LinkId=83725&clcid=0x409

 

White
paper: Chaos no more: Steps for building governance into Microsoft Office SharePoint
Server 2007

http://go.microsoft.com/fwlink/?LinkId=92602&clcid=0x409

 

White
paper: Integrating Office SharePoint Server 2007 and SAP

http://go.microsoft.com/fwlink/?LinkId=91026

 

White
paper: Configure Office SharePoint Server for SAP iView Web Parts

http://go.microsoft.com/fwlink/?LinkId=96087&clcid=0x409

 

White
paper: Data protection and recovery for Office SharePoint Server in small to medium
deployments

http://go.microsoft.com/fwlink/?LinkId=102839&clcid=0x409

 

White
paper: Managing social networking with Microsoft Office SharePoint Server 2007

http://go.microsoft.com/fwlink/?LinkID=98123&clcid=0x409

 

White
paper: Upgrading Large Microsoft Office SharePoint Portal Server 2003 Intranet Portals
to Microsoft Office SharePoint Server 2007

http://go.microsoft.com/fwlink/?LinkId=91410&clcid=0x409

 

White
paper: SharePoint Products and Technologies governance checklist guide

http://go.microsoft.com/fwlink/?linkid=91896&clcid=0x409

 

2007
Microsoft Office System Business Intelligence Integration

http://go.microsoft.com/fwlink/?LinkId=98657

 

Microsoft
SQL Server Reporting Services (SSRS) Installation/Configuration Guide for SharePoint
Integration Mode

http://go.microsoft.com/fwlink/?LinkId=98664

 

White
paper: Guide for Office SharePoint Server Management Pack

http://go.microsoft.com/fwlink/?LinkID=94824&clcid=0x409

 

White
papers: Role-based My Site template setup guides

http://technet2.microsoft.com/Office/f/?en-us/library/f1ddbcec-af41-4c3e-8c85-f30480329d491033.mspx

 

White
papers: Excel Services step-by-step guides

http://technet2.microsoft.com/Office/f/?en-us/library/eea3ace8-0863-429a-b1e8-041254ed2fc41033.mspx

 

Sample
project plan: Office SharePoint Server 2007 deployment (Office Project 2007 format)

http://go.microsoft.com/fwlink/?LinkId=101328&clcid=0x409

Sample
project plan: Office SharePoint Server 2007 deployment (Office Project 2003 format)

http://go.microsoft.com/fwlink/?LinkId=102043&clcid=0x409

 

Downloadable
book: Web Publishing and Planning Guide with Microsoft Office SharePoint Server

http://go.microsoft.com/fwlink/?LinkId=92330

Codename “Oslo”

Microsoft has just made the first public announcement of “Oslo” at the SOA and BPM conference, at a high level “Oslo” is an overarching initiative across multiple products and Microsoft divisions, in fact the first release as announced today will be made up of BizTalk Server “6”, BizTalk Services “1”, Visual Studio “10”, System Center “5” and .NET Framework “4.0”.   Therefore Oslo != Just BizTalk.


Official press release information can be found here and here along with a good overview by Directions on Microsoft which you can find here, but here’s my take for what’s it worth! J


Oslo is driven out of Connected Systems Division (CSD) which is the almagamtion of the BizTalk, WCF, WF, ASMX, MSMQ, .NET Remoting, etc. teams and has around 1000 people, Oslo as highlighted above is a huge program of work within CSD and across multiple divisions within Microsoft (AD, System Center, Developer Division, etc.).   It’s a huge investment. 


Two key themes for Oslo were annouced during the keynote, Models (Making models a mainstream part of development) and Services (Extending services from the client to the cloud).


Those of you familiar with BizTalk Orchestration and Windows Workflow or even “Whitehorse” style designers such as those created using the DSL Tools or the Class Designer in VS are well versed with how a modelling tool works effectively enabling you to view and modify an underlying “thing” with an abstracted graphical language. 


There has been lots of modelling attempts across the years across the industry; two things stand out for me as to why.  Firstly the model is typically a representation at a point in time, you draw a nice pretty picture either for reference purposes or to then generate some physical representation like code.   


Sometimes you get round-tripping which enables the model to be up-to-date but this becomes increasingly hard in most scenarios to the point of not being possible so invariably the model becomes out of date with the actual reality and therefore its value is minimal.


Secondly you have lots of “models” within a typical project, perhaps you have a business process modelled using BizTalk Orchestration, the physical datacenter modelled using the VS Team Architect tools and operational management within System Center.   Nothing is shared between these models and therefore everyone has their own version of reality – often out of date and there’s no knowledge transfer between the various software development lifecycle roles.


In short, the modelling vision is a great thing but has a number of serious limitations today which limits its values to small isolated parts of your solution, imagine though having one model to describe your solution that could be used across your entire solution development lifecycle (Business Analyst, Developer, Tester, Operations, etc.).


This model of course needs to be rendered into different views for each of these stakeholders, a business analyst has a different “view” requirement to a developer for instance.


All of this is fine but don’t we end up with a stale description of a solution?  Not in Oslo as the model is executed; therefore the model has to be up-to-date as its being used to execute the solution.


These models then have to “live somewhere”, firstly to make them broadly discoverable by all the stakeholders involved in the development process and secondly to enable them to be executed by some form of host.  This is where the Metadata repository comes in which leverages SQL Server.


The viewing/editing experience will be provided through a new tool offering an “office like experience”, this will be able to interrogate the repository and retrieve/persist models.  Precise technical detail of how all this hangs together isn’t available right now but more information will be available publically in due course.


So Modelling is a big focus for Oslo, basically taking the modelling concept but making it mainstream and used across the entire development lifecycle and thus connecting up all roles.


The next big focus for Oslo is around services and messaging; BizTalk today provides an incredibly powerful and flexible messaging platform through Adapters, Pipelines and the MessageBox.  We have publish and subscribe, correlation, transformation all in the box.


Through the use of adapters we can easily integrate with a variety of technologies provided by different vendors running on different platforms but this typically speaking is all about integration/messaging within your corporate boundaries.  


You can of course implement B2B scenarios where you can do cross business integration but any communication between B2B partners typically requires specific and dedicated communication links such as a leased line, VPN, SSL, etc.   This is expensive and normally only implemented by the larger organisations.


Oslo is set to address this and more through the use of what Microsoft is calling a “Internet Service Bus”, imagine being able to connect two organisations together without requiring anything more than a internet connection, no need for leased lines, NAT traversal?


This in part is offered today through the BizTalk Labs preview of the BizTalk Connectivity Services, this offers the concept of a relay which can patch two applications together even if they’re behind their own respective firewalls and would normally have no way to directly communicate with each other.


The relay offers NAT traversal technologies and once it’s patched you together it can then completely step out of the communication path enabling you to communicate together.  Now this might not see that useful on the surface but it opens up a whole new breed of solutions for the small-medium market but of course any size of user or customer.   


In short the relay enables communicate between users and applications even though there is no direct communication link between the two – of course this NAT traversal solution has been down before in silos by software such as Groove and MSN Messenger.  The key here is that the Connectivity Services  are doing all the hard NAT stuff for you and the service is hosted by Microsoft in the cloud.


A Security Token Service (STS) is also supplied through the BizTalk Labs preview which offers an identity provider to enable you to offload identity and authentication functionality.  Moving forward there is a commitment to provide workflow hosting.


All of these services are cloud hosted meaning that a Microsoft datacenter somewhere provides the hardware, resilience, software, etc. to expose these services, you don’t need to provision datacenter space, hardware, etc. but instead rely on Microsoft of another third party.  How this will be charged for hasn’t been agreed at this time.


So combining models and these cloud based services is interesting as suddenly you can develop your solution using Oslo tools and then make a deployment-time decision to host within your datacenter or to host within the cloud.   This is an interesting choice for organisations that currently maintain large datacenters and have to worry about monitoring, resilience and the like.  It also opens up completely new possibilites about how users/services can be contacted regardless of where they are, as long as they have a internet connection and can “see” the cloud they can communicate regardless of what network infrastructure is in the way.


So, all of that aside – your probably thinking about BizTalk today?  Should you continue to use it, will any new investment in BizTalk Orchestrations, Rules Engine, etc. be redundant in a few years time?  There’s also a slightly scary statement in the Directions on Microsoft report that advises that you may wish to limit new development using BizTalk Server.


I don’t speak for the product team, but can say that enabling you to run BizTalk Server 2006 artefacts within the Oslo release will absolutely be supported – Microsoft can’t turn away from the significant investment that customers have made today and aren’t planning to.


So, in short carry on using Biz Talk.  Oslo is a way away yet and there’s an incredible amount you can do with our technology stack today (BizTalk Server 2006 R2, Office 2007 Sharepoint, WCF, WF….)


That’s it for now, will provide some more thoughts and info as time goes on.

Codename “Oslo”

Microsoft has just made the first public announcement of “Oslo” at the SOA and BPM conference, at a high level “Oslo” is an overarching initiative across multiple products and Microsoft divisions, in fact the first release as announced today will be made up of BizTalk Server “6”, BizTalk Services “1”, Visual Studio “10”, System Center “5” and .NET Framework “4.0”.   Therefore Oslo != Just BizTalk.


Official press release information can be found here and here along with a good overview by Directions on Microsoft which you can find here, but here’s my take for what’s it worth! J


Oslo is driven out of Connected Systems Division (CSD) which is the almagamtion of the BizTalk, WCF, WF, ASMX, MSMQ, .NET Remoting, etc. teams and has around 1000 people, Oslo as highlighted above is a huge program of work within CSD and across multiple divisions within Microsoft (AD, System Center, Developer Division, etc.).   It’s a huge investment. 


Two key themes for Oslo were annouced during the keynote, Models (Making models a mainstream part of development) and Services (Extending services from the client to the cloud).


Those of you familiar with BizTalk Orchestration and Windows Workflow or even “Whitehorse” style designers such as those created using the DSL Tools or the Class Designer in VS are well versed with how a modelling tool works effectively enabling you to view and modify an underlying “thing” with an abstracted graphical language. 


There has been lots of modelling attempts across the years across the industry; two things stand out for me as to why.  Firstly the model is typically a representation at a point in time, you draw a nice pretty picture either for reference purposes or to then generate some physical representation like code.   


Sometimes you get round-tripping which enables the model to be up-to-date but this becomes increasingly hard in most scenarios to the point of not being possible so invariably the model becomes out of date with the actual reality and therefore its value is minimal.


Secondly you have lots of “models” within a typical project, perhaps you have a business process modelled using BizTalk Orchestration, the physical datacenter modelled using the VS Team Architect tools and operational management within System Center.   Nothing is shared between these models and therefore everyone has their own version of reality – often out of date and there’s no knowledge transfer between the various software development lifecycle roles.


In short, the modelling vision is a great thing but has a number of serious limitations today which limits its values to small isolated parts of your solution, imagine though having one model to describe your solution that could be used across your entire solution development lifecycle (Business Analyst, Developer, Tester, Operations, etc.).


This model of course needs to be rendered into different views for each of these stakeholders, a business analyst has a different “view” requirement to a developer for instance.


All of this is fine but don’t we end up with a stale description of a solution?  Not in Oslo as the model is executed; therefore the model has to be up-to-date as its being used to execute the solution.


These models then have to “live somewhere”, firstly to make them broadly discoverable by all the stakeholders involved in the development process and secondly to enable them to be executed by some form of host.  This is where the Metadata repository comes in which leverages SQL Server.


The viewing/editing experience will be provided through a new tool offering an “office like experience”, this will be able to interrogate the repository and retrieve/persist models.  Precise technical detail of how all this hangs together isn’t available right now but more information will be available publically in due course.


So Modelling is a big focus for Oslo, basically taking the modelling concept but making it mainstream and used across the entire development lifecycle and thus connecting up all roles.


The next big focus for Oslo is around services and messaging; BizTalk today provides an incredibly powerful and flexible messaging platform through Adapters, Pipelines and the MessageBox.  We have publish and subscribe, correlation, transformation all in the box.


Through the use of adapters we can easily integrate with a variety of technologies provided by different vendors running on different platforms but this typically speaking is all about integration/messaging within your corporate boundaries.  


You can of course implement B2B scenarios where you can do cross business integration but any communication between B2B partners typically requires specific and dedicated communication links such as a leased line, VPN, SSL, etc.   This is expensive and normally only implemented by the larger organisations.


Oslo is set to address this and more through the use of what Microsoft is calling a “Internet Service Bus”, imagine being able to connect two organisations together without requiring anything more than a internet connection, no need for leased lines, NAT traversal?


This in part is offered today through the BizTalk Labs preview of the BizTalk Connectivity Services, this offers the concept of a relay which can patch two applications together even if they’re behind their own respective firewalls and would normally have no way to directly communicate with each other.


The relay offers NAT traversal technologies and once it’s patched you together it can then completely step out of the communication path enabling you to communicate together.  Now this might not see that useful on the surface but it opens up a whole new breed of solutions for the small-medium market but of course any size of user or customer.   


In short the relay enables communicate between users and applications even though there is no direct communication link between the two – of course this NAT traversal solution has been down before in silos by software such as Groove and MSN Messenger.  The key here is that the Connectivity Services  are doing all the hard NAT stuff for you and the service is hosted by Microsoft in the cloud.


A Security Token Service (STS) is also supplied through the BizTalk Labs preview which offers an identity provider to enable you to offload identity and authentication functionality.  Moving forward there is a commitment to provide workflow hosting.


All of these services are cloud hosted meaning that a Microsoft datacenter somewhere provides the hardware, resilience, software, etc. to expose these services, you don’t need to provision datacenter space, hardware, etc. but instead rely on Microsoft of another third party.  How this will be charged for hasn’t been agreed at this time.


So combining models and these cloud based services is interesting as suddenly you can develop your solution using Oslo tools and then make a deployment-time decision to host within your datacenter or to host within the cloud.   This is an interesting choice for organisations that currently maintain large datacenters and have to worry about monitoring, resilience and the like.  It also opens up completely new possibilites about how users/services can be contacted regardless of where they are, as long as they have a internet connection and can “see” the cloud they can communicate regardless of what network infrastructure is in the way.


So, all of that aside – your probably thinking about BizTalk today?  Should you continue to use it, will any new investment in BizTalk Orchestrations, Rules Engine, etc. be redundant in a few years time?  There’s also a slightly scary statement in the Directions on Microsoft report that advises that you may wish to limit new development using BizTalk Server.


I don’t speak for the product team, but can say that enabling you to run BizTalk Server 2006 artefacts within the Oslo release will absolutely be supported – Microsoft can’t turn away from the significant investment that customers have made today and aren’t planning to.


So, in short carry on using Biz Talk.  Oslo is a way away yet and there’s an incredible amount you can do with our technology stack today (BizTalk Server 2006 R2, Office 2007 Sharepoint, WCF, WF….)


That’s it for now, will provide some more thoughts and info as time goes on.

How everyone should test their BizTalk based solutions presentation links

Thanks to everyone who came to my presentation today, I was humbled by the huge turnout!  The presentation deck will be broadly shared to attendees which contains hyperlinks to all the tools showcased but in the meantime the links are below if you want to get started right away.    I’ll look to share the entire deck via the blog shortly if I’m allowed!


A new release of LoadGen has very recently been made available which I didn’t mention today, this adds WCF support for injecting load amonst other things. 


PerfMon Counter spreadsheet
http://media.wiley.com/product_ancillary/22/04700464/DOWNLOAD/Chapter9_Code.zip

Orchestration Profiler
http://www.codeplex.com/biztalkorcprofiler

BizTalk Documenter
http://www.codeplex.com/biztalkdocumenter

LoadGen 2007 (now includes WCF, Sharepoint 2007 support amongst others)


http://www.microsoft.com/downloads/info.aspx?na=22&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dc8af583f-7044-48db-b7b9-969072df1689%26DisplayLang%3den


Old version of LoadGen 2004 (recommend you use the 2007 release moving forward)
http://go.microsoft.com/fwlink/?LinkId=59841

BizUnit
http://www.codeplex.com/bizunit

ARCast Coverage of SOA & BP Conference

Ron Jacobs has started posting daily recaps and interviews with some of our key presenters at the SOA & Business Process Conference. Checkout the recap of Day 1 and two great interviews with the guys building BizTalk Services on the App of the Future and the Internet Service Bus.


 Also, there is a new page covering yesterday’s announcement of Oslo on the Microsoft SOA/BP website.


 Keep your eyes peeled, there is more to come over the rest of the week.


-Kris

Demos from SOA conference (including RetryActivity)

If you attended my talk at the SOA conference on building composite activities, then you’ll find the demos here.  I really liked doing this talk and it gave me a reason to work on a composite activity that I wanted to write for a while: the RetryActivity.  I started wanting to build this activity because when I teach people about WF and we talk about security on incoming data, there is always a question about how to handle failed authorization.  When the user fails authz on the built-in activities today, an exception is raised which I can catch and handle in the workflow.  The problem is that once I have done that catch, I close out the composite activity that caught the exception and I’m no longer listening for data.  Well, if Bob tries to submit data and fails because he isn’t supposed to, I don’t want to stop listening for data, I want to keep listening and let Alice (who is authorized) submit data and interact with my workflow.   The retry activity lets me do that by re-executing the child activities for a certain number of tries as long as an exception gets raised. 

The way I implemented this was to spawn a new execution context for each iteration much like the while activity.  In my case, what I use to determine if I’ll iterate again is a combination of whether the child activity failed to succeeded, along with a retry count/max pair that lets me know if I should quit trying.  Naturally, if there are no failures, I just close and finish.  This allows me to use a single purpose activity for retry behavior instead of continually having use the while activity and check whether an exception was raised or not.  It also makes it easier to manage the errors raised by the child activities and nulling out the CurrentException property so I can decide when errors should propagate beyond my activity. 

Now, what I’d really like, related to security, is to move the authorization out of the workflow, so that authorization failures don’t have to be modeled in my workflow unless I want them to be.  That way my workflow doesn’t even get invoked if you don’t have rights.  Something where I can declare the security in the workflow, and then generally be able to apply security to the queues that are used to communicate with the workflow.   The “Silver” or WCF activities in .NET 3.5 do a little of this by reading the validation from the workflow definition and invoking it before sending the data to my workflow. 

 

I’ll be working on some other features of this activity to allow things like retry only on certain exception types, and the ability to put an interval between retries.  If there are other features you’d like to see, let me know and I’ll put them on my plan. 

Microsoft announces next big wave of products "Oslo"

I attended the Microsoft SOA and BP conference this week in Redmond where they announced their plans for future of connected systems (the division responsible for BizTalk, WCF, WF, AD, and much more).  You can read more about the announcement and what impacted products are on the Microsoft SOA site.  What I found most interesting is that this effort is not just about the Connected Systems Division (CSD) but also includes the Developer Division with the next release of Visual Studio and the .NET Framework, as well as the System Center products.  The close alliance of those product groups is something we don’t often see from Microsoft and can only be better for customers as we’ll get a better story about using those products together. 

Now being a BizTalk/WCF/WF guy, I’m pretty interested in how all of those technologies get impacted by the modeling and management tools as well as how the integration of these technologies continues to improve.  It’s only going to get better, but like all technology, we’ll continue to have things to learn and understand about these technologies and how they get leveraged in different environments. 

Most interesting to me is that the keynote included information stating that CTPs and Betas would be available in 2008. That makes this stuff much more real for the near term than say a 5 year timeline.  Microsoft obviously won’t be able to create the entire vision in a single release of each product, but the next phase is pretty exciting and being able to get your hands on the technology and see what they are doing and thinking can be critical as you plan for your future projects.  It’s also a great way to give feedback and help direct the product team about what is important to you as a customer. They really do listen, even if you don’t always get exactly what you want, significant changes happen based on customer feedback.  

We also had our two day pre-conference training on the new features in BizTalk R2 and .NET 3.5.  In addition we had some fun talking about “Astoria” and BizTalk Services which are emerging technologies built on WCF and other CSD technologies that provide some really compelling options for messaging and data access.  The class went really well and we’re thinking about making it available as a seminar course for people who want to get a good deep dive into the broad range of technologies.  Let us know if you are interested in the class for your company. 

The simple story of why I like REST

The simple story of why I like REST

So
I’ve been dabbling with REST (Astoria
among other things built on .NET 3.5).  I’ve been reading the stuff on Steve
Vinoski’s blog, and actually have had some good conversations with Sam
Gentile
  (and one tonight with him and Gar)
the last few days about the subject.

When
I read Steve
Vinoski’s blog post tonight
– it hit it home for me again (this is the story I
told Sam and Gar over drinks about why I like REST).  I feel like REST actually
gives me way more architectural guidance about how my service should be built than
SOAP.  With SOAP  I have Actions (which generally in WCF map to methods)
and messages, but there isn’t any *Zen* or guiding principal for me for building a
service.

With
REST – the guiding principal is the URI.  Take BAM for example from BizTalk –
I talked about building a RESTful API on top of BAM.  In BAM I’d have a URI – http://hostname/BAMAPI/

If
I hit the http://hostname/BAMAPI/ with
a GET – I’d get a list of all the registered BAM Activities.  If I hit the URI
http://hostname/BAMAPI/ActivityName
I’d get all the completed instances of that activity.  If I wanted to add a new
activity instance I’d do a PUT to http://hostname/BAMAPI/ActivityName/{ActivityId} where
the {ActivityId} would be the unique key for my activity.  If I wanted to update
that activity instance I’d do a POST to http://hostname/BAMAPI/{ActivityId}
and I’d put the new data in the body of the Http Request.  I could go on and
on about how this would work – but the point is – REST actually gives me guidance
on what this service should *be*.  SOAP give me a *how*.  REST gives me
a much more rational model on what my service should do and *why*.  And since
I understand the web, and I understand URIs – it all really just makes sense.

This
is probably the closest I will ever get to an “architecture” type post (I am sure
it is woefully inadequate next to a Steve Vinoski or a Tim Ewald) but nonetheless
I felt I had to let it out.

 



Check out my BizTalk
R2 Training.