Charteris Community Server

Welcome to the Charteris Community
Welcome to Charteris Community Server Sign in | Join | Help
in Search

Alan Dean

Senior Technologist, Charteris
  • Principles and Axioms

     I'm holding an internal discussion arising from one of our regular Core Capability conference calls at the moment and I thought that it would be useful to surface part of that to the outside world to get feedback.

    The premise is to see if it is possble to set out certain principles and derive some axioms from those principles that can drive out 'default development environments'. Here, I have chosen two sets of axioms. The first being "Microsoft" for those clients who prefer to use mainstream, low risk tooling and practices. The second being "Alt.Net" for clients who are willing to work with non-Microsoft software for development purposes, most notably open source software.

    My thinking may be wrong. My decisions may be wrong. Whatever you think - let me know!

    Please note that this is only a first draft - errors and omissions are to be expected.

    Axiomatically "Microsoft" Axiomatically "Alt.Net"


    Principle: Project status and progress should be available.
    Team Foundation Server
    MS Project
    Burndown Charts


    Principle: Requirements must be defined.
    Functional Requirements Specification
    Non-Functional Requirements Specification
    Personas
    User Story cards


    Principle: The architectural context must be defined.
    Logical Architecture Specification
    Physical Architecture Specification
    Logical Architecture Specification
    Physical Architecture Specification


    Principle: (Non-)Functional tests should be defined.
    Scenarios in Team Foundation Server Scenarios on reverse of User Story cards


    Principle: Non-Functional tests should be defined.
    Scenarios in Team Foundation Server Scenarios on reverse of User Story cards


    Principle: Version Control must be employed.
    Team Foundation Server Subversion


    Principle: Services should be employed to traverse boundaries.
    WCF / WS-*
    REST
    WCF / WS-*
    REST


    Principle: Coding standards should be enforced.
    FxCop & StyleCop FxCop & StyleCop


    Principle: Defects should be tracked.
    Team Foundation Server Bugzilla


    Principle: Developers must test units of code in isolation.
    MS Test NUnit


    Principle: Where possible, testers must automate functional verification of the application.
    MS Test FitNesse


    Principle: The application must be subject to a build process.
    MSBuild NAnt


    Principle: The application should be automatically built on a regular basis.
    Team Foundation Server CruiseControl.net


    Principle: XML Code Comments should be compiled.
    Sandcastle Sandcastle


    Principle: Deployment media should be built.
    WiX / Votive WiX / Votive


    Principle: Where possible, database design should evolve.
    Visual Studio Database Edition SubSonic Migrations


    Principle: Where appropriate, ORM should be employed.
    Linq2SQL SubSonic or NHibernate


    Principle: Where appropriate, diagnostics should be implemented.
    Enterprise Library Logging Block log4net


    Principle: Where appropriate, dependency injection should be employed.
    Unity StructureMap or Spring.NET


    Principle: Where appropriate, the MVC pattern should be employed in web development.
    ASP.NET MVC ASP.NET MVC or MonoRail


    Principle: Where appropriate, in-memory caching should be employed.
    Velocity Velocity or memcached


    Principle: Where appropriate, reverse proxies should be employed to enhance HTTP scalability.
    ISA Server ISA Server, Apache, or squid


    Principle: Where appropriate, AJAX should be employed in web applications to improve user experience.
    ASP.NET AJAX jQuery


    Principle: Applications should be security-hardened.
    SDLC & Threat Modelling STRIDE SDLC & Threat Modelling STRIDE


    Principle: Applications should encrypt sensitive data.
    System.Cryptography System.Cryptography
  • Alt.Net UK Summer Conference Dates Announced

     We are pleased to announce that the Alt.Net UK Conference will be returning in September, and that there will be room for more attendees this time!

    The plan is host the event at Conway Hall in London [1] and our thinking is to follow the same sort of schedule as we did in February:
     - Evening planning session on Friday 12th September, following by a trip to a bar to socialise.
     - The Open Spaces sessions all day on Saturday 13th September

    This time we are thinking of starting off Saturday with a Park Bench to get the juices flowing.

    We are very open to listening to feedback from the community if you think that there are ways that we can improve on the conference experience.

    We would especially like to have more testers, technical authors and usability folk attend to foster cross-pollination of ideas.

    User registration will start from Friday 11th July at 07:00 UK time [2] so the early birds will get the worm!

    The following social hubs have also been set up: Upcoming [3], Facebook [4], FriendFeed [5] and LinkedIn. Don't forget that you can subscribe to the AltNetUk News River [6].

    Finally, we are currently looking for sponsorship, so if you know of an organisation that would be interested to be associated with the conference in return for a little lucre, we would love to hear from you / them! (The conference is non-profit)

    Conchango and redgate have generously agreed to be launch sponsors - but more is needed, especially as we have to pay for Conway Hall this time.

    [1] http://www.conwayhall.org.uk/

    [2] http://altdotnet.org/events/uk

    [3] http://upcoming.yahoo.com/event/867921/

    [4] http://www.facebook.com/group.php?gid=31833353320

    [5] http://friendfeed.com/rooms/altnetuk-conference

    [6] http://newsriver.altnetuk.com/

    Regards,
    Ian Cooper, Ben Hall and Alan Dean

    You can discuss the announcement on Google Groups.

    Posted Jul 09 2008, 10:27 PM by aland with no comments
    Filed under:
  • My Digital Life on del.icio.us

      del.icio.us/alan.dean

    This is a social bookmarking web app. It is definitely in my top three most-used sites (at the time of writing I have just short of 7,000 bookmarks saved).

    At the simplest level, it is far easier to save your bookmarks in del.icio.us than on your local machine (favorites or desktop). I have installed both the IE Add-In and the Firefox Extension which make saving your current page in the browser a doddle. Here is a screenshot of the IE Add-In Save Dialog:

    The key to making del.icio.us work for you is to get the tagging right. In the screenshot above, I have simply tagged the Charteris website as 'Charteris' but usually I use many more tags, for example:

    Here I have applied eight tags to the [httpRange-14] resolution. Doing this builds up a rich 'tagspace' that I can drill-down into when I want to use my saved bookmarks.

    I have published a short introduction to navigating del.icio.us with user tags.

    Having a rich tagspace (also known as a folksonomy) can make your bookmarks an invaluable resource and research tool.

    To finish up, I have put together a brief screencast demonstrating how to set up your del.icio.us bookmarks as an IE7 search provider.

  • My Digital Life

    Note that there are some links in this post require Charteris credentials.

    Last week I chaired the initiation meeting for the Charteris Core Capability group. I was asked to put together some material on 'my digital life' discussing the web applications that I use.

    Taking this on, I have decided to start a series, with a post per application.

    Amongst the applications I will introduce are del.icio.us, LinkedIn, Facebook, and the various Google applications.

  • ISA Server as Reverse Proxy

    Here was me feeling that I wasn't learning stuff with a great deal of utility (to me, that is) and along comes a little golden nugget...

    I am familiar with the role of reverse proxies (especially their role in scaling RESTful applications). I have referred to Squid in the past and at my last employer we used BIG-IP to reverse proxy. What I had not realised was that ISA Server can be configured as a reverse proxy too - cool!

    Posted Feb 19 2008, 10:27 AM by aland with no comments
    Filed under:
  • Roy Fielding on REST

    Over the weekend, I spent 7 hours trawling through the [rest-discuss] list archive to pull together 'the collected utterances of Roy Fielding' (the originator of the REST architectural style in his dissertation). I hope that this may help people to understand REST more thoroughly. I plan to do some community talks on the subject later in the year.

    Coincidentally, this was the same weekend that Roy started a blog!

    Posted Feb 19 2008, 10:12 AM by aland with no comments
    Filed under: ,
  • The STSADMIN utility

    A first introduction to the command-line admin tool.

    To get help: STSADMIN ?

    Usage pattern: STSADMIN -o {operator name} -p {parameters}

    To add a template:
    STSADMIN -o addsolution -filename C:\templates\applicationtemplatecore.wsp

    Note that the application template core must be installed before any other template! (this is not made clear)

    Mike mentioned that the Groupboard template is good.

    To backup at the Web Application level: STSADMIN -o backup

    To restore at the Web Application level: STSADMIN -o restore

    Posted Feb 18 2008, 05:12 PM by aland with no comments
    Filed under:
  • Upgrading from WSS 2.0

    More contemporaneous notes from Mike:

    In-Place --> downtime

    Gradual --> disk space

    Database migration --> new hardware

    Posted Feb 18 2008, 04:39 PM by aland with no comments
    Filed under:
  • WSS Security Model

    Mike discussed the following security model for Windows SharePoint Services:

    Web Application -maps-to- IIS Application Pool
    |
    -contains-
    |
    Site Collections (first major security boundary: users, groups, permissions ...)
    |
    -contains-
    |
    Sites (inherit security settings from collection)

    Here is the whiteboard:

    Posted Feb 18 2008, 04:25 PM by aland with no comments
    Filed under:
  • 5060A Module 3: Installing Windows SharePoint Services 3.0

    Some contemporaneous notes.

    High-level installation activities are:

    1. Binaries
    2. Products & Technologies
    3. Initial Services
    4. Web Applications
    5. Site Collections

    Things to consider when selecting installation options:

    "Basic Installation" == "everything runs on one machine using Embedded SQL" (yes, that is Embedded not Express)

    "Advanced Installation » Standalone" and "Basic Installation" don't allow reconfiguration to a distributed architecture at a later date, but are good for test and dev.

    "Advanced Installation » Web Frontend" will usually be your choice. Can install to a single machine and then reconfigure. Can't use Embedded SQL, but can use Express.

    Here is the whiteboard:

    Posted Feb 18 2008, 03:53 PM by aland with no comments
    Filed under:
  • Mike Brown, Firebrand

    Our course trainer is Mike Brown (who unfortunately doesn't have a blog that I can link to).

  • Pile o' Books

    It's Day 1, so naturally there is a pile of books:

    Posted Feb 18 2008, 03:22 PM by aland with no comments
    Filed under:
  • SharePoint Training at Firebrand

    I am on a residential course on SharePoint at Firebrand Training.

    The course comprises "Implementing Microsoft Windows SharePoint Services 3.0" and "Implementing Microsoft Office SharePoint Server 2007".

     

    Posted Feb 18 2008, 02:31 PM by aland with no comments
    Filed under:
  • Introduction

    Hello and welcome.

    I am a Senior Technologist here at Charteris. This blog will focus on my activities here. For more information about me and what I do outside of Charteris, you can visit my homepage.