Random Technical Stuff RSS 2.0
 Saturday, November 21, 2009

The forecast for 2010 is looking very cloudy, with every technology company delivering some type of cloud offering, and analysts estimating that almost everyone will try some form of cloud computing. But from a practical stand point, how should organizations leverage cloud computing effectively? Is it to simply host existing and legacy assets somewhere else, or to create next-generation applications that enable differentiated capabilities? In addition, what role does SOA play in the age of cloud computing? And does this impact the way we manage and interact with data?

Facilitated by Microsoft, the premise of this half-day event is to provide an open forum where architects can meet to discuss technologies and insights with peers. This forum will provide first-hand experiences and best practices intended to help the community to collectively discover and generate knowledge. Please join us for this opportunity to learn, share and network with your peers and other thought leaders.

Event Summary

  • Provide a clear and profound understanding of Microsoft’s cloud strategy and roadmap, and latest updates on the Windows Azure Platform
  • Discuss the state of SOA, and its relevance in the age of cloud computing
  • Review case studies and models of cloud usage, and examine approaches to build next-generation capabilities leveraging the cloud
  • Explore trade-offs, best practices, and guidance on today’s myriad of data storage options
  • Explain the differences and patterns of using various data interaction frameworks

Who Should Attend

Technology and business stakeholders, including CTOs, CIOs, VPs, Directors, Program and Product Managers, Architects, Lead Engineers, and IT Managers

Agenda

12:45PM: Introduction and Announcements

01:00PM: Windows Azure Platform – Overview of the Microsoft Cloud

01:30PM: SOA and Cloud Computing

02:00PM: Architecting Solutions Leveraging the Cloud

02:30PM: Making Sense of the Expanding Range of Data Storage Solutions

03:15PM: Best Practices with Data Interaction Frameworks

04:00PM: Groupthink

When & Where

Date: December 15, 2009

Location: Denver, CO

Event ID: 1032350832

Event URL: http://wweventstest.one.microsoft.com/CUI/EventDetail.aspx?EventID=1032350832&Culture=en-US clip_image001[1]

Hosts

David Chou

Architect, Microsoft

http://blogs.msdn.com/dachou

David Chou is a technical architect at Microsoft, focused on collaborating with enterprises and organizations in areas such as cloud computing, SOA, Web, distributed systems, security, etc., and supporting decision makers on defining evolutionary strategies in architecture. Drawing on experiences from his previous jobs at Sun Microsystems and Accenture, David enjoys helping customers create value from using objective and pragmatic approaches to define IT strategies, roadmaps, and solution architectures.

 

Joe Shirey

Architect, Microsoft

http://www.joeshirey.com

Joe Shirey is a Senior Architect Evangelist for Microsoft based in the Denver area. In this role, Joe works closely with customers and the community to help them understand where Microsoft technologies fit into the architecture of their solutions. Prior to joining Microsoft, Joe was a Vice President at Interlink group where he was responsible for service and delivery for Interlink's Denver market. In the past, Joe was a Microsoft Regional Director, a member of the Microsoft Architect Advisory Board, and sat on the .NET Partner Advisory Council. Joe has more than eighteen years of hands-on technical and functional experience in project management, systems analysis, design, development, and implementation. Joe attained his Microsoft Certified Architect award in 2005.

21-Nov-2009 11:58 AM  #   


 Friday, November 13, 2009

Recently I did a number of IE8 presentations, but nothing as wide reaching or humorous as Dolly Parton’s explanation of them on YouTube.  If you are a fan of Dolly, you can download the web slice from the IE8 add-on gallery.

13-Nov-2009 3:45 PM  #   


 Thursday, October 29, 2009

One of the best things about any job is the personal and professional relationships you get to make.  Recently Rob Bagby announced that he was leaving our team (and potentially Microsoft).  While I am disappointed to lose a great teammate and a friend that I get to work with quite a bit, I am very excited for Rob and his family as they begin this new adventure in their lives.  Rob is one of those guys that is just fun to be around – he is smart, witty, and always willing to help out.  Going to miss having him on the team.

Recently, Rob has been putting a lot of effort into a series of post/webcasts on Pattern Based Development with Silverlight.  It is an excellent series that you should check out if you are doing anything with Silverlight or just want to learn some common patterns like Repository or Model View ViewModel.

29-Oct-2009 4:38 PM  #   


 Wednesday, September 23, 2009

Cafe-200909

DAY 1 – September 28, 2009 at Noon PST
From the Trenches: Using Architectural Skills to Increase Solution Adoption Success Rates
Jim Wilt
Products, Solution Frameworks, and Development Tools are too often touted by vendors and development teams as solutions to customer business problems. Why do development teams, customers, and users seek products to fill this gap? When solutions fail is it too easy to blame a given platform than for those really responsible to take responsibility? It more often has to do with one's level of problem solving skills, planning, and ability to align technology with business strategy. This session introduces proven field architectural practices in leadership, communication, and some strategy tools that will assist stakeholders in becoming owners of their solutions--taking responsibility for their outcomes. This results in greater customer satisfaction, as the focus is all about enabling problem solvers (not expecting products) to deliver successful solutions.

REGISTER HERE | Add to Outlook Calendar

 

DAY 2 – September 29, 2009 at Noon PST
Software as a Service in the Cloud
Michael Stiefel
Architecting and building a Software as a Service application requires solving a series of problems that are independent of a particular software platform. First, a SaaS architecture follows directly from the fundamental principles of the business model. Second, a series of difficult technical problems must be solved in addition to providing the business functionality. These include certificate security, low-IT-capable clients, business continuity when connectivity is lost, provisioning of services, scalability as the number of clients increase, database design for clients, how to use virtualization, and how to integrate and release service functionality over several different client applications. Third, you have to effectively use the platform technology such as WCF and ASP.NET. If you approach building a SaaS application on these three levels, you can then leverage your work into new platforms such as Windows Azure.

REGISTER HERE | Add to Outlook Calendar

 

 

For up-to-date details and registration of the September 2009 series, please visit http://blogs.msdn.com/sac/pages/cafe-2009-09.aspx.

For information on other events part of the Architect Cafe series, please visit http://blogs.msdn.com/sac/pages/architect-cafe.aspx.

23-Sep-2009 10:37 AM  #   


 Friday, September 04, 2009

With the release of Internet Explorer 8 (IE8), there is some new functionality that enables a developer to extend the browser pretty easily.  One of my particular favorites is the ability to create accelerators.  Accelerators allow a user to invoke a service from another site based on the text selected in the current page.  Some examples of accelerators that are available by default include:

  • Take what ever text is selected and search on Bing
  • Select an address and see the map inline with Bing Maps
  • Select text in a foreign language and translate it on the fly (below is an on the fly translation from the Al Jazeera site)

image

It is pretty easy to write your own accelerators for search.  In a recent presentation I showed how to write a fairly basic one for searching Stack Overflow.  It is just an XML file that describes to the browser how to handle the activity.  Here is the code for that particular accelerator:

<?xml version="1.0" encoding="utf-8" ?>
<openServiceDescription xmlns="
http://www.microsoft.com/schemas/openservicedescription/1.0">
  <homepageUrl>
http://www.stackoverflow.com/</homepageUrl>
  <display>
    <name>Search on Stack Overflow</name>
    <icon>
http://www.stackoverflow.com/favicon.ico</icon>
  </display>
  <activity category="Search">
    <activityAction context="selection" >
      <execute method="get" action="
http://stackoverflow.com/search?q={selection}" />
    </activityAction>
  </activity>
</openServiceDescription>

Let’s take a look at each of the pieces that need to be changed to create a new accelerator.  In this example I will write one that will take the selected text and search on weather.com.  I think about this as the example where I might have my online itinerary and can select a zip code or city name and be taken directly to where I can see the upcoming weather.

 

First thing we need to do is change the <homepageUrl> element.

<homepageUrl>http://www.weather.com/</homepageUrl>

Next we need to create the icon/text the use will see when they invoke the accelerator.  Note that most sites that use an icon that appears in the browser have their icon stored at the root web under the name favicon.ico, but that isn’t universal – double check to ensure that it is there.

  <display>
    <name>Check weather on Weather.com</name>
    <icon>
http://www.weather.com/favicon.ico</icon>
  </display>

 

Finally, we need to give an action for the browser.  In this case we will open up a new tab with the search performed.  To figure out the URL, I usually do a search on the site and grab the URL.  I usually search for the term “selection” which will give me the direct URL.  In the case of weather.com we get a URL of

 

http://www.weather.com/search/enhancedlocalsearch?whatprefs=&what=WeatherLocalUndeclared&lswe=selection&lswa=WeatherLocalUndeclared&from=searchbox_localwx&googleTypeSearch=on&where=selection

 

I played with the URL a little bit to get rid of any extraneous information and found that the following URL worked also

 

http://www.weather.com/search/enhancedlocalsearch?where=selection

So the activity section of the XML would be:

  <activity category="Search">
    <activityAction context="selection" >
      <execute method="get" action="http://www.weather.com/search/enhancedlocalsearch?where={selection} “
/>
    </activityAction>
  </activity>

Notice that I have taken the text “selection” and surrounded it with curly braces.  This tells IE to replace the text when opening up the URL.  So the final XML file for the accelerator would be:

<?xml version="1.0" encoding="utf-8" ?>
<openServiceDescription xmlns="
http://www.microsoft.com/schemas/openservicedescription/1.0">
  <homepageUrl>
http://www.weather.com/</homepageUrl>
  <display>
    <name>Check weather on Weather.com</name>
    <icon>
http://www.weather.com/favicon.ico</icon>
  </display>
  <activity category="Search">
    <activityAction context="selection" >
      <execute method="get" action="http://www.weather.com/search/enhancedlocalsearch?where={selection}”
/>
    </activityAction>
  </activity>
</openServiceDescription>

 

Next we need to write an html page that will trigger IE to install the accelerator.  This is done by firing a piece of JavaScript that only works on IE8.  Here is the simple HTML to fire that JavaScript when a button is pressed.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Weather.com Accelerator Install</title>
</head>
<body>
    <p>
         <button id="WeatherButton"
                     onclick="window.external.AddService('http://localhost/Accelerators/Weather/WeatherSearch.xml')">
                     Install Weather.com Accelerator
         </button>
     </p>
</body>
</html>

Note the “window.external.AddService” call.  The argument of that method needs to point to the location of the xml file we created above. 

 

If you would like to try out the install experience you can go to the install page on my site.  If you would like to download the files we have created above you can find them on my public SkyDrive folder.

4-Sep-2009 11:26 AM  #   


 Tuesday, August 11, 2009

ARCHITECT COUNCIL | Innovation is the Name of the Game

Architects:  Adverse times are also best times for innovation!  Choosing the right battles to fight, and reinventing ourselves with less resources are par for the course today.  However, not all innovation needs to be revolutionary or transformative. In fact, in the current economic crisis, opportunities for innovation can be found in aspects of our core competencies, and implemented as incremental and iterative changes.

For this series of Architect Council live webcasts on August 24 and 25, we will discuss two of the many ways architects can innovate by recognizing the impact to architects, and learning how to effectively leverage cloud computing beyond just another place to host existing assets.

 

DAY 1 – August 24, 2009 at Noon PST

Role of the Architect in Turbulent Times  --  Event ID:  1032423112

Miha Kralj – Architect, Microsoft

With faltering economies and the resulting shift of priorities - architects must be ready for change in their role. Innovative new technologies such as Cloud Based Computing, Software as a Service and Virtualization open up new and exciting opportunities for architects to show value in their organizations.   In this session we will discuss how the role of the architect has changed, introduce new architectural patterns, and show how to "do more with less".

Link to Register:  ARCHITECT COUNCIL | Innovation is the Name of the Game Day 1 Live Meeting

 

DAY 2 – August 25, 2009 at Noon PST

A Closer Look at an Internet Service Bus  --  Event ID:  1032423113

Clemens Vasters – Program Manager .NET Online Services, Microsoft

Look under the hood of the Microsoft .NET Services service bus - the protocols we use- and how to use the services from non-Microsoft platforms and languages.  Learn which part of the messages and requests the Building Block service inspects, which parts are not inspected, and how you can verify this.  Also, learn how to work through NAT and Firewall limitations.   Lastly, hear about architecture on the Data Center side that enables "Internet scale”.

Link to Register:  ARCHITECT COUNCIL | Innovation is the Name of the Game Day 2 Live Meeting

SPEAKER BIOS

Miha Kralj

As a senior architect on the Microsoft Platform Architecture Team, Miha Kralj is responsible for leading architectural communities, helping the architectural profession to mature and grow, and coordinating activities within professional architectural organizations and bodies. Miha is a Microsoft Certified Architect (MCA), Project Management Professional (PMP), and Certified Information Systems Security Professional (CISSP). He was also a founding member of the Project Management Institute (PMI) chapters in Slovenia and Yugoslavia.

 

Clemens Vasters

Clemens Vasters is a Principal Technical Lead in the .NET Services team, working in an architect role on the 'Service Bus' feature area and acting – more behind the scenes – as the architect for the Billing feature area and as the architect/lead developer for the internal Provisioning infrastructure of .NET Services. Before joining Microsoft some 3 years ago, Clemens spoke at many conferences, taught technology, and helped companies with software architecture in over 35 countries.

11-Aug-2009 3:22 PM  #   


 Wednesday, June 17, 2009

The Generations Network runs one of the most popular genealogy websites in the world – ancestry.com.  One of the things they wanted to provide their users was a simplified way to browse and edit their family tree.  Even smaller trees can become a bit unwieldy and very large trees can become nearly impossible to navigate – particularly when you talk about using html based technologies.  The team at TGN decided to leverage a Rich Internet Application platform and after surveying the existing technologies decided that Silverlight was the best technology to use in this situation. Microsoft has produced a case study documenting their project which you can find here.

From the case study:

The Generations Network (TGN), through its flagship Ancestry.com Web site, is the world’s leading resource for online family history, providing services to millions of users worldwide. To enhance the appeal of its Web sites, TGN wanted to revamp its Family Tree Viewer application to provide a graphically rich experience and fast performance—a combination that was hard to deliver with its existing development tools. The company decided to become an early adopter of the Microsoft® Silverlight™ browser plug-in, which is based on development tools that TGN is already familiar with such as Microsoft Visual Studio® Team System 2008 Team Suite and Microsoft Visual C#®. TGN used Silverlight to create a prototype of the application an estimated 30 percent faster than it would have taken using Adobe Flash. TGN expects the rich Internet application to keep the company ahead of its competitors.

17-Jun-2009 4:02 PM  #   


One of the customers that I have worked with for quite some time is Archstone.  They are a top notch organization that have done a lot of interesting things with technology do set themselves apart in the apartment management space.  Recently they just completed a rollout of a kiosk based solution for prospective residents that is really impressive.  It was interesting enough that Microsoft put together a case study to highlight the details of the project.  You can check it out here.

A little bit from the case study:

Luxury apartment owner and operator Archstone wanted to create a better, faster, and more consistent way for its leasing agents to work with—and close leases with—prospective residents. The need was most acute when Archstone was leasing units in buildings under construction, which made on-site tours difficult. The company found a solution: self-service kiosks in sales offices that run a highly visual and interactive solution built with Microsoft® technologies including Visual Studio® Team System 2008 and the Microsoft .NET Framework 3.5. The kiosks have improved the customer experience, reduced the time required to close, and contributed to an increase in occupancy upon opening for the company’s newest apartment development. Archstone developed the solution in half the time that it would have taken using other technologies, and the company anticipates extending the solution to the Web.

17-Jun-2009 3:39 PM  #   


 Friday, June 12, 2009

After I finished off my TechEd Interview with Scott Hanselman in May, I had to take him over for an interview for the MSDN Summer Bytes series.  This series is a fun an fairly humorous look at what technologies are getting people excited this summer.  It was conceived and executed by a couple of very sharp people in our marketing department (Erin Jacobs and Nora Kelly) and I really like what I have seen so far.  There are some fantastic people that were interviewed.  I recommend that you check it out and if you like it, subscribe to the RSS feed.

12-Jun-2009 10:26 AM  #   


A few members of my team just completed a series of online webcasts this week which went very well. The topics were on Patterns for Moving to the Cloud, Patterns for Silverlight and WPF with Prism, and Patterns for Parallel Computing.  The slides and session recordings are available for anyone.  Click here to see more information.

12-Jun-2009 9:58 AM  #   


  
Archive
<November 2009>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
About the Author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Joe Shirey
All Content © 2012, Joe Shirey