I wanted to share a couple of updates about the Microsoft Architecture Journal:
1. Issue 16 has just been released to the web! You can find it here, and can also download a PDF version of the magazine here. The theme of issue 16 is Identity and Access, and Diego explains more about the articles in his blog post.
2. The call for papers for Issue 18 has just been released. Again, Diego uncovers the details here, the theme of this upcoming issue is Green Computing. I'm really looking forward to this issue, especially given all the work that is happening in this space, especially some of the advances in infrastructure architecture.
Today we announced the dates for this year's Microsoft Strategic Architect Forum, also known as SAF. This year we will be holding SAF on the 19th - 22nd November 2008 in San Francisco.
Now in it's 7th year, SAF is one of my favorite events - a gathering of around 350 of the smartest architects across a wide range of companies, cultures, and countries - discussing architectural challenges and sharing solutions. Although now retired, a tradition at all previous events has been an architect Q&A session with BillG himself.
Even though this is an invite-only event, we heard some great feedback about the online recordings that we posted of last year's event, and we definitely plan to do the same this year. We also use a lot of input as we plan the agenda for the event - so if you have ideas about topics that you would like to see at such an event, we'd love to hear from you.
Interested in writing for the next issue of the Architecture Journal - and having your article read by over 62,000 people in multiple languages, and distributed at PDC and SAF this year? If so, check out the call for papers from Diego Dagum. The theme of the next issue is around distributed computing.
.jpg)
It's a good question - and one that we try to answer in the current version of the Architecture Journal, aptly titled "The Role of an Architect". There are a lot of great articles in this issue, although my favorite has to be the "A-Z guide to being an architect" by Mark Bloodworth and Marc Holmes.
You can read the latest issue Architecture Journal and in PDF format, or even download our Journal reader, a WPF application for taking all of the issues offline.
When I started blogging, I made a promise that I would never write one of those posts that starts "I'm sorry I haven't blogged in a long time, but I've been really busy...". Well, here I am writing one of those posts... A couple of months ago I took on a new role leading the DPE platform architecture team here at Microsoft, hence the reason for being under the radar. I've been a member of the team for the last few years and it's a great honor to now lead the group.
As part of getting up to speed, we've been putting a lot of thought into some of the areas of focus this year (Microsoft's fiscal year runs from July 1 to June 30 in case you are looking at the calendar). We have some great things lined up, some of which I mentioned in my interview on our new ARCast show last month at TechEd. For those that don't know, ARCast is a popular podcast on architecture - started originally by Ron Jacobs, we've since re-launched a new version run by our global architect evangelist community. In this ARCast (which was the re-launch of the show under this new group), I chat to Bob Familiar about some of our events, channels, and content we have for architects.
Great to be back online!
On Monday I had the privilege of presenting at the TechEd 2008 pre-conference, the subject was "An Architectural Overview of Software + Services". In my presentation, I wanted to show the architectural angle of the S+S message. What does it mean? How does SOA, SaaS, Web 2.0, RIA, etc. relate to S+S? What are the architectural principles of S+S and what patterns can be derived from it.
Thanks for those who attended, it was great fun, and I enjoyed the feedback. Here is the presentation for download.
Update: Embedded slideshare deck into blog post
Today, Marc Mercuri, an architect in my team, launched one of the most exciting things I've seen for sometime: RoboChamps
RoboChamps is an online, virtual robotics competition that makes use of Microsoft Robotics Developer Studio 2008 and Microsoft Visual Studio 2008. The concept of the competition is to program a series of robots to complete a number of challenges, which include a maze, the surface of Mars, and an urban environment - all of which set in a virtual environment so that you don't need specialized robotics hardware. When you've completed the challenge, you can upload your solution to the RoboChamps site - and the winners of the leagues will face a showdown at PDC in October.
So, I can hear the question now - "Sounds good, but why should architects care about robots?" On the surface, it's difficult to make the connection, but I would encourage you to dig deeper into some of the components included with MRDS 2008, namely the Concurrency and Coordination Runtime (CCR) and the Decentralized Software Services (DSS). CCR provides multicore, concurrent programming support for the .NET Framework, and DSS enables you to take these concurrent components and offer them as lightweight services in a decentralized environment. If you have chance to download the MRDS examples you'll see how they make use of both technologies.
The answer to the question therefore is how we can make use of these technologies and new concepts in software architecture - how can we use CCR to distribute workload across multiple cores, and what is possible with DSS across services on multiple machines? I believe that these new tools will ultimately lead to several new patterns, especially in front end web farm scenarios. In the meantime however, I look forward to seeing if you can get your robot out of that maze :)
The next issue of the Architecture Journal will be focused on Identity Architectures. As more organizations embrace a services based infrastructure, the need to manage the identities of users in an organization becomes more and more important. Issues that have been easy to manage in traditional environments need now to be considered from the perspective of services moving to the “cloud”.
This can include fundamental issues that you may even be facing now, such as internal authorization strategies; not only for employees, but how do you include partners and customers? More complex issues may include tiered access; what data is relevant to each user or user group? How do you secure that data? Is all identity data relevant in any circumstance or does it depend on the role of the user at any given time? How do directories compare to claims based authentication? What happens with multipart, distributed transactions? What about auditing in various contexts?
If you have opinions that you would like to share with the architect community on identity management, here is your chance! Follow the instructions below to send an abstract before the cut-off date and you could see your thoughts and ideas shared with over 60,000 readers, translated in 5 languages, and distributed at multiple conferences around the world!
The cut-off date for abstracts for the next issue is April 21st 2008. If you are interested in making a submission, here are the details:
How do I make a submission?
To submit an idea for a paper, please send the following:
- A 2 – 4 paragraph abstract explaining how your paper fits the "Identity Architectures" theme of the magazine
- A 1 – 2 paragraph bio
- A list of previously published articles
Submissions should be made via Email to editors@architecturejournal.net
We receive many submissions for each issue, so we encourage you to put time and thought into the submission.
When will I know whether my submission is accepted?
After the call for papers has ended, you will be notified via Email as to whether your submission was successful or not.
What happens if my submission is accepted?
If accepted, you’ll have between 6 weeks to submit two drafts and a final version of your paper. These dates will be clearly communicated. Your first draft will be reviewed by an editorial board to ensure it is on message for the magazine. Your second draft and final version will be subject to both technical and copy editing.
The magazine is generally available in print and online 4 weeks after final drafts are submitted.
What are the guidelines for papers printed in the Architecture Journal?
We recommend that papers are between 3,500 and 4,500 words in length – although we have accepted shorter and longer papers in the past. The article should be submitted using Microsoft Word. Diagrams should be submitted in either Microsoft Visio or Microsoft PowerPoint, and will be reformatted for the magazine.
Do I still own the work?
Yes. We ask you to sign a release form that gives Microsoft permission to reprint the article, but ownership of the paper remains with you, the author.
Will I get paid for writing?
We do not currently reimburse authors for contributing to the Architecture Journal.
Will I get copies of the magazine as an author?
After printing you’ll be sent 10 copies of the Journal for your own use. Additional copies can be requested.
Where can I get more information?
Check out this link.
As you may have seen from previous posts, my team has been working on a set of materials for those that want to have the title of "architect" at some point in their career. Last week we published a new set of content on MSDN: 101 x 101 articles on becoming an architect. Think of these as a set of level 101 articles that cover all types of topics ranging from n-tier architecture, through organizational challenges, and even dealing with conflict.
All of these articles can be found here, and were written jointly with IASA members and Microsoft over the past few months. These articles fit into a larger skills taxonomy, which you can find on the IASA site here.
If this is for you, you may also be excited to know that we are holding a pre-conference for aspiring architects at TechEd US in June.
...and it's from Amazon.
Seriously.
I've been happily buying books and electronics from Amazon for years, when last week I happened to stumble across Amazon's new site, Amazon Fresh. Although it's very much in startup mode (they only offer service to certain zip codes around Seattle, USA), it's a classic example of how great user experience and service trumps lower cost alternatives. For example:
Searching. They have taken the simplicity and accuracy of searching from Amazon.com and applied it to grocery items online. In addition, their site pivots across three areas for narrowing down selections - aisle (category), brand, and type (e.g. organic). This makes searching for even the most random item a breeze.
Products. Amazon Fresh is one of the few online suppliers to offer a really good selection of organic and natural foods. It's kind of like having the online version of Whole Foods. Also, because they don't operate a chain of stores their inventory tracking system is current - therefore, when an item is out of stock it actually says so on the site (as opposed to other online grocery retailers where they either don't deliver or substitute for something that may or may not be appropriate.)
Pre-dawn Delivery. Order your groceries at night (I placed an order the other night at 10.40pm) and it's on your doorstep before 6am the next morning. You don't get disturbed - all of your shopping appears in Amazon's totes on your doorstep - you return the totes with your next order. Think of it like outsourcing your shopping overnight :)
A couple of things I would like the see them adopt:
More detailed product information. I have a child that suffers from food allergies, so reading labels is very important to check for eggs, nut traces, etc. Many of the products listed only offer basic ingredient information - although I believe they are working on this.
Being able to search for items in your cart. If you are putting together a long list of purchases, it's always nice to be able to search for things in your cart (when you stumble across something that would be much better).
If you live in one of their delivery areas, you should definitely check it out - you won't be disappointed. My only hope is that it doesn't become another WebVan!
The Syndicated Client Experiences Starter Kit & Reader SDK (a.k.a. the same technology that we used to build the Architecture Journal Reader) has now been released on http://www.windowsclient.net.
This is a great way to build offline, immersive, and searchable client applications that can aggregate multiple feeds into a single experience.
A little late, but Happy New Year! For those that subscribe to this blog to keep track of the latest with the Architecture Journal, we have just released the online articles for Issue 14 (Mobile Architecture). You can check it out on http://www.architecturejournal.net.
Each November my team holds a conference called SAF - the Strategic Architect Forum - an event where we invite the top 250 IT Architects from organizations around the world for three days of discussions and sessions. Although the conference is in it's seventh year, being an invite-only event we traditionally haven't shared any of the presentations. Given the quality of speakers and topics this year however, we wanted to share the content more broadly and will be releasing the video, slides, and transcripts.
This page on the MSDN Architecture Center contains the recordings from this year - you can check out many of the great sessions we held at the conference, including keynotes from Donald Ferguson (Technical Fellow at Microsoft), Behrooz Chitsaz (Microsoft Research), Charlie Bell (Amazon), Aber Whitcomb and Jim Benedetto (MySpace), and Paul Glen (C2 Consulting) - plus a selection of other breakout sessions.
We've just put the final touches on Issue 14 of the Microsoft Architecture Journal, which goes to print later this month. As we head into the New Year, the theme of the next issue will be around The Role of an Architect. This is the first time that we are going to look at the role and our profession, and I'm excited to hear more about how you work, certification, career path choices, and the future of IT Architecture.
If you think you could write a great article for the Journal, here is your chance! Follow the instructions below to send an abstract before the cut-off date and you could see your thoughts and ideas shared with over 60,000 readers, translated in 5 languages, and distributed at multiple conferences around the world!
The cut-off date for abstracts for the next issue is January 14th 2008. If you are interested in making a submission, here are the details:
How do I make a submission?
To submit an idea for a paper, please send the following:
- A 2 – 4 paragraph abstract explaining how your paper fits the Role of an Architect theme of the magazine
- A 1 – 2 paragraph bio
- A list of previously published articles
Submissions should be made via Email to editors@architecturejournal.net
We receive many submissions for each issue, so we encourage you to put time and thought into the submission.
When will I know whether my submission is accepted?
After the call for papers has ended, you will be notified via Email as to whether your submission was successful or not.
What happens if my submission is accepted?
If accepted, you’ll have between 6 weeks to submit two drafts and a final version of your paper. These dates will be clearly communicated. Your first draft will be reviewed by an editorial board to ensure it is on message for the magazine. Your second draft and final version will be subject to both technical and copy editing.
The magazine is generally available in print and online 4 weeks after final drafts are submitted.
What are the guidelines for papers printed in the Architecture Journal?
We recommend that papers are between 3,500 and 4,500 words in length – although we have accepted shorter and longer papers in the past. The article should be submitted using Microsoft Word. Diagrams should be submitted in either Microsoft Visio or Microsoft PowerPoint, and will be reformatted for the magazine.
Do I still own the work?
Yes. We ask you to sign a release form that gives Microsoft permission to reprint the article, but ownership of the paper remains with you, the author.
Will I get paid for writing?
We do not currently reimburse authors for contributing to the Architecture Journal.
Will I get copies of the magazine as an author?
After printing you’ll be sent 10 copies of the Journal for your own use. Additional copies can be requested.
Where can I get more information?
Check out this link.
Like many people, I have VOIP at home - my current provider is Vonage. One of the features of Vonage is an international virtual number. This gives me a local number in the UK that my family can dial, which automatically redirects to my home number here in the US. It's relatively cheap ($4.99 per month) and makes it really easy for friends and family to get in contact.
One of the disadvantages of having an international virtual number however is that people can accidentally dial the number - and when they do, because of the time difference (8 hours between PST and GMT) it can be a somewhat inconvenient. Let's just say that we've had about 3 or 4 wrong numbers this week, all of which have been about 2am in the morning. Not so good if you like sleep.
Vonage has a feature called "Do Not Disturb", which redirects all calls to voicemail - and which can be activated via their web page. As simple as this sounds, I can be forgetful at times, so enabling this before going to bed (and disabling when I get up) can be an issue. To overcome this I decided to put on my "web application test" hat and see if I could use Visual Studio 2008 to write an automated web test that logs into the Vonage site, and activates / deactivates this feature for me. First, I created a new test project in VS2008, added a new test project and a new web test (from the test menu). I recorded the action to enable the do not disturb feature:
I was able to strip down the required pages to just three requests (one to login, one to query for the phone number, and one to set the feature) and made sure that it worked within the IDE. I then duplicated this test to create a second that re-enabled the feature. (I'm sure there is a nice way of passing parameters to webtests, but just haven't worked it out yet). The test works as follows:
The first request is a HTTP POST that submits my Vonage username and password to the site.
<Request Method="POST" Version="1.1" Url="https://secure.vonage.com/vonage-web/public/login.htm" ThinkTime="6" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="Windows-1252" ExpectedHttpStatusCode="0" ExpectedResponseUrl="https://secure.vonage.com/vonage-web/dashboard/index.htm">
<FormPostHttpBody>
<FormPostParameter Name="countryURLs" Value="http://www.vonage.com" RecordedValue="http://www.vonage.com" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="username" Value="USERNAME" RecordedValue="USERNAME" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="password" Value="PASSWORD" RecordedValue="PASSWORD" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="submit.x" Value="30" RecordedValue="30" CorrelationBinding="" UrlEncode="True" />
<FormPostParameter Name="submit.y" Value="13" RecordedValue="13" CorrelationBinding="" UrlEncode="True" />
</FormPostHttpBody>
</Request>
The second request (this time a HTTP GET) brings up the do not disturb features page. This is required to obtain the phone number as a FORM parameter that we use in the next request:
<Request Method="GET" Version="1.1" Url="https://secure.vonage.com/vonage-web/features/DoNotDisturb/edit.htm" ThinkTime="4" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="iso-8859-1" ExpectedHttpStatusCode="0" ExpectedResponseUrl="">
<ExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractHiddenFields, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="1" DisplayName="Extract Hidden Fields" Description="Extract all hidden fields from the response and place them into the test context.">
<RuleParameters>
<RuleParameter Name="Required" Value="True" />
<RuleParameter Name="HtmlDecode" Value="True" />
</RuleParameters>
</ExtractionRule>
</ExtractionRules>
<CorrelationExtractionRules>
<ExtractionRule Classname="Microsoft.VisualStudio.TestTools.WebTesting.Rules.ExtractFormField, Microsoft.VisualStudio.QualityTools.WebTestFramework, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" VariableName="FormPostParam1.on" DisplayName="" Description="">
<RuleParameters>
<RuleParameter Name="Name" Value="on" />
<RuleParameter Name="HtmlDecode" Value="True" />
<RuleParameter Name="Required" Value="False" />
</RuleParameters>
</ExtractionRule>
</CorrelationExtractionRules>
<QueryStringParameters>
<QueryStringParameter Name="did" Value="PHONENUM" RecordedValue="PHONENUM" CorrelationBinding="" UrlEncode="False" UseToGroupResults="False" />
<QueryStringParameter Name="dndButton" Value="Configure" RecordedValue="Configure" CorrelationBinding="" UrlEncode="False" UseToGroupResults="False" />
</QueryStringParameters>
</Request>
The third request is a HTTP POST that sets the Do Not Disturb feature on or off depending on the value of the "on" parameter:
After the tests were complete, I put together two batch files (DNDOn.bat and DNDOff.bat) that call the webtests from the command line. Using MSTest.exe, it's possible to run webtests from outside the IDE:
set VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 9.0
"%VSINSTALLDIR%\Common7\IDE\MSTest.exe" /noresults /testcontainer:bin\debug\DNDOn.webtest
Once the batch files were working, I simply added a new scheduled tasks (in Vista, type "Task Scheduler" from the start menu to reach this) to run the DNDOn.bat file at 10pm at night, and DNDOff.bat at 7am in the morning.
(btw, this is the first time I've really used the new task scheduler in Vista. Two things surprised me: 1. How easy it was to create a new task that ran the first time (I have too many nightmares creating Backup batch files on NT4!). 2. How many tasks there are enabled in Vista - I need to spend some time figuring out what these do!)
...and that was it! A quick solution that I can deploy to my new home server that will avoid more unwanted wrong number phone calls in the middle of the night.
If you want to check it out, you can find my test file here. You'll of course need to replace USERNAME, PASSWORD, and PHONENUM (10 digits, remember to include the 1) with your specific values for your account.