11 October 2006

Patterns and Practices Summit - Day 2: Patterns

This is the Day 2 notes.  My co-worker David Boss is also blogging about the conference, but his updates are happening in real-time with posts after each session. 

Keynote: Architecture for Next Generation Web Applications - Scott Isaacs
Discussion of Web 2.0 and Mash-ups in the context of the architecture of Windows Live properties.  This is one of the first times I've come across the term "mash-up", so here's the definition given by Scott:

"Web Applications that consume (remixes) content and experience from different sources and aggregates them to create a new experience."

Scott also discussed enabling technologies, such as RSS, SSE and Microformats.  A quick demo of Live Clipboard was given.

Here are some of the links given:

Microformats: http://www.microformats.org
Microsoft Gadgets: http://www.microsoftgadgets.com
ASP.Net AJAX (Atlas): http://atlas.asp.net
Live Clipboard: http://spaces.live.com/editorial/rayozzie/demo/liv...


Session 1: Evolving to Patterns -  Jim Newkirk
Jim gave an excellent discussion on Evolutionary Design and evolving your code to patterns.  I'm lucky enough to work in a company that has a commitment to pattern-based development, so there was nothing new to me in this discussion.  With that said, it is important to realize the by definition, Patterns are not new, but rather solutions to commonly encountered problems that can now be discussed and described by a common vocabulary.

Here are some of the points that Jim made that resonated with me:

A New Metaphor

Let's forget the building architecture metaphor

Code is more malleable

Much more akin to Landscape Architecture



When to apply

  • Apply during design
  • Apply when you see bad code

Simple rule of thumb

  • Second person pays
  • Introduce the pattern the second time you need the functionality.


Technical Debt


  • Whenever you do something to reduce flexibility, you incur technical debt. (Hacks, compromises)
  • When debt is too high you rewrite (bankruptcy)

To fix

  • Remove duplication
  • Simplify code
  • Clarify your code's content

It is your responsibility to "clean as you go." You should always be cleaning the code.


Test Isolation

  • Make one change to cause a single test failure and see which other tests fail.
  • Shows good/bad test isolation
  • Shows objects that have dependencies that may need refactoring
  • Solve by using Stubs / Mocks


Session 2: Agile Presentation Layer Design - Andrew Flick (Product Manager, Infragistics) 
I haven't been involved in UI design and development for many years now, so it was nice to hear more about this topic.  With that said, I don't think an audience of developers and architects is necessarily the correect one for this talk.  He threw out a quote that I think backs up my assertion:

"Do engineers build bridges?  No, steelworkers build bridges."

Another good quote is:

"The design isn't complete when everything that is needed is in, but rather when everything that is not needed is removed."


Session 3: Contractual Zen - Scott Hanselman, Patrick Cauldwell
Scott and Patrick tag-teamed through this presentation, handing off easily from one to the other, sometimes in mid-sentence.  It was a lot of information, so some of the items passed by me pretty quiclky, but luckily, my company is doing similar things. 

The gist of the discussion was that you can make your life easier and make your customers happier byt providing them with a contract-based API that they can program against while offering you the ability to make refactorings against the underlying legacy code.

Here is the synopsis:



  • About your service description
  • About multiple transports


  • Exploit your Contracts
  • Extend your reach to other systems
  • Put a stake in the ground


  • Enabled to generate more code
  • Comforted by your layers of abstraction


Session 4: Security Patterns for Services -  Jason Hogg
A very smart guy talking about security stuff.  Here's my notes: "Blah blah blah web service blah blah blah WCF blah blah blah blah security blah blah encryption blah blah blah patterns."  Sorry if you aren't getting anything out of this one, but that's all I got out of it.  Looks like I might have to brush up on my WS security and encryption.  There was a bit about the Web Service Factory, but I was working on office stuff during that part.  I can't multitask, period.  I've been told that it was very interesting. 


Session 5: Versioning Web Services 2.0 - Don Smith
Don was more putting forth ideas around some versioning guidance possibly due out in December.  His contention on versioning is that your contract's members should all be optional and the validation of the data in the request message should occur on the receiving end.  I worked on an integration project last year that used this pattern to allow for integration between two disparate systems in my organization while leaving the two component systems decoupled from each other.  It worked very well.


Session 6: Reengineering to support workflow - Billy Hollis
Billy gave a great talk on workflow and workflow foundation.  Workflow foundation is going to be very helpful to any enterprise that needs to model and implement their business processes, like mine.  Here are some notes I took:

Types of workflow

Sequential workflow

  • flowchart-like workflow
  • Prescriptive, static

State machine workflow

  • Graph metaphor
  • Reactive, event-driven
  • Skip steps, go back, rework, handle exceptional cases

Elements of workflow

  • Work items - items to be worked on, documents, orders, prescriptions, etc
  • Rules/process (flow) - rules and logic that tell how items are to be worked upon

WF Tech Basics

  • Workflow is all composed of "activities"
    • Basic activity - individual step
    • Composite activity - contains other activities
    • Base activity library - OOB activity set
    • Expected third -party ecosystem
  • Workflow engine manages the activities and manages communications to outside processes
  • Workflow is hosted in some external host process (Windows Service, Windows Forms exe, console app, etc.)

WF Limitations

  • Does not address distributed workflows
    • You need your own architecture /design
  • Rules engine has no front-end
  • Limited connectors at first

Just like yesterday, itlate and time for bed.  Tomorrow is devoted to Development.  Should be a lot of great stuff.  If you haven't already guessed, I highly recommend attending this conference if you can.

Just as an FYI, Don Smith offered a tour of the new PnP workspace on campus.  I'll be going tomorrow with a small group of attendees.  I'll bring my camera and post some pics tomorrow.

- Steve


some name 2mvkatq said...

Web Promotion Software The Most Powerful Search Engine Marketing Software On The Web!

Anonymous said...

Payday Loans No Hassle Payday Loans - Payday Loans and Payday Advance Loans online with no hassle

Mr Miad said...

Atomic SEO The Most Powerful Search Engine Marketing Company On The Web!

mm42zwr6 said...

Atomic SEO I really like this blog when I first signed up here i wasn't sure were to post...

AtomicSEO said...

Atomic SEO I really like this blog when I first signed up here i wasn't sure were to post...

Anonymous said...

Car Auctions Nice blog. Check out my blog for the #1 source for car auctions.

Anonymous said...

I found a really good website on making money.I am interested in making money, if you are then I suggest you look theresoon.

Anonymous said...

Good post.
I was searching the internet for cheap internet phone service (Voip) and found a company called Via Talk. They are cheaper and just as good as Vonage.

They are now offering 1 year phone service Free when you purchase 1 year – for a limited time. Check it out at Via Talk

Anonymous said...

Nice blog.
If you’re interested in free weight loss tips please visit this site.

John Tiniakos said...

Hey you have a very good blog.

If by any chance you need weight loss help check out by blog: Weight Loss Tips

Anonymous said...

Car Auctions Nice blog. Check out my blog for the #1 source for car auctions.

Anonymous said...

FREE Business Advertising Tips The Most Powerful Internet Classified Advertising Methods On The Web! "TOP" Rated Money Making Website! A Must See!!!

k822xbk3 said...

Hey cool blog. Have you used squidoo yet? I've been doing product review there.

Here are just a few of them:

Burn The Fat Feed The Muscle
Fat Loss 4 Idiots
All PSP Games
PSP Blender
Satellite TV Elite
The Simple Golf Swing

Well hope you liked my reviews and you should check out squidoo sometime it is a lot easier than bloggin.


Anonymous said...

Nice Blog. I will continue reading........................

Tip For All Bloggers:

If I can sum up in three words how anyone or any website can totally "DOMINATE" the search engines and get to the very "TOP" of the search engines is: blogs, links, and content, period. That's all it takes. But you need "LOTS" of blogs, links and content.......................MajorEnterprise, Carael Knight

For more information, visit:

The Internet Marketing Genius, Carael KnightThe Most Powerful Internet Marketing Resources On The Web!

Anonymous said...

I am greatful for sites like yours. They are the reason that I will continue to surf. Tell-tale-signs-of-spyware

Anonymous said...

Nice Blog. I will keep reading. Please take the time and visit my blog about: Internet Marketing and Making Money Online


Anonymous said...

Home Base Business Blasting Sales Thru The Strosphere - 30,000 Franchise Owners and counting. There is a great reason for owing your own franchise. At the same time you can enjoy videos, music, download scripts - software or become an affiliate for free! Affiliate programs for residual income are in vogue and this one is the up and comer of all home base business. If Branding your own software products; Bringing visitors to your services; using the latest in website design; A serious home base business owner then come over for a visit. We are searching for new affiliates so if you are searching for a home base business that provides a fun atmosphere and credible credentials give us a visit and decide for yourself. It does not cost you a dime to have your own portal to making money

Post a Comment