Before I get flaming e-mails (or comments) I do want to acknowledge that as long as we have PC’s and we use them we will need a browser, but what I really want to point out in this post is that while the browser is still important, there are other growing distribution channels that are becoming more and more important that while some companies continue to fight the “browser war” a new kind of distribution and content will make the browser irrelevant.

I have been following the Consumer Electronics Show (CES) and while we still see cool PC innovations, most of the innovations this year have a different face.  I see a convergance of media such as Internet and TV comming together in PC powered TV’s, content aggregation appliances (for TV’s of course), tablets, e-readers, and phones.  Also the introduction of more “connectedness” while you are mobile via new smartphones, gadgets and even cars where the browser is basically irrelevant.

Content is king and is finally taking on center stage.  A new wave of applications that consume this content and make it easier to consume by us (humans) is what we need focus our innovation power on.  The browser, yes, it will be here, but I am looking forward to interacting with content while I am on the run and not sitting in front of a desktop/laptop computer.


We are all excited here at Microsoft about the announcements made at PDC last year (2009). If you don’t know what I am talking then spend a little time reading about Windows Azure here.  well,  that is exciting but not as exciting as the new approach that our product management is finally taking.  We are opening up the flood gates to let YOU propose ideas on what should or should not be included in SQL Azure.  I welcome this new era of participation in the creation of the products that you will be using.    Check out the area where you can contribute and vote ideas and let us know what you want in SQL Azure.  after all….  Windows 7 was your idea, let SQL Azure be your idea too.

Looking Back

Exactly one week from today, it will be my first anniversary here at Microsoft. It has been quite an experience and eye-opener for me. I knew that Microsoft Consulting Services is always changing in order to better server our customer’s needs and to improve our customers and partners experience.
Combine that with the turbulent times we lived in the last 2+ years and as a result we have constant change. I joined MS in December 2008 and 7 months later the Global Practice had been reorganized and refocused. Our new focus is more what I was used to with my previous employers, so it was a change that I quickly internalized.
In this new role I have been exposed to mission critical projects for real customers. It has been exciting to work with the best side by side in establishing the Microsoft Platform in areas that usually are owned by Unix/Linux.
In this year I also had the opportunity to meet and get to know people outside the MCS organization. It has been exciting working with them and supporting them in readiness events around the world. Readiness is another exciting and familiar line of work for me. I started my career in 92′ as a Sybase and PowerBuilder instructor and technology consultant + support engineer. That was a role that I really enjoyed and accelerated my growth in the technology space. I do remember putting together custom training on Visual Basic 1.0 and how to develop Client/Server apps in VB 1.0 and Sybase. I remember “jimmy-rigging” the MS Access db scripts to execute them in Sybase in order to connect MS Access directly to a Sybase DB. good times!
You must me thinking, what a geek! Well, part of me still a geek, but in the last 10 or 11 years I discovered that in order to continue to grow I had to become business savvy and bridge the gap between technology and business. These two models exist in any enterprise and someone has to make them work together. That is a role I enjoy. As I continue to do that here at Microsoft I get a chance to do just that with a Platform that is Business and Enterprise Ready.

I am in Redmond this week. I am sharing a farily small room that is filled with 16 other architects. We are spending this week learning from each other and coming up with a repeatable approach to leading a transformation in the way we engage with and deliver “uber” opportunities. Quite exciting opportunity to be part of this effort and be the tip of the spear representing Microsoft and engaging with customers in discussing with customers how to realize business value. Our slogan is: “Your potential. Our Passion”, we are looking forward to help our customers materialize that potential.

David Wheeler (computer scientist) once said: “Any problem in computer science can be solved with another layer of indirection”.    This is often mis-quoted with “abstraction” substituted for “indirection”.  I think the main idea remains untouched.  We in computer science use this pattern all the time.  Most of widely used patterns are based in creating abstraction layers that hide the complexity of working with the overall system or architecture.  These abstraction layers can be represented as generalized models or algorithms that hide the complexity of the specific implementations. 

Well, that is exactly what we have done with the Managed Services Engine(MSE).  A model was designed to represent useful business logic via endpoints which abstract (hide the complexity of implementation) business services available on the wire to the enterprise.  Hiding the complexity of bindings, protocols, security, technology, etc… is priceless.  In this model the model components can be managed centrally and introduce to a level of management that is consistent across the myriad of services.  But representing today’s cloud of services is not enough, turning around and exposing these implementations in a totally new way with new attributes and behaviors is key to  any enterprise to successfully adopt SOA and enable core business functions in a way that remains under control.

The MSE uses the intermediary pattern to achieve the decoupling of the client and the service implementation.  This pattern has proven very successful for our service virtualization strategy to SOA.  The components of this pattern are:

  • Service Client – These are the consumers of the services
  • Service Implementation – Specific service implementation.  could be a Database, mainframe, web service (SOAP, REST, POX, etc…)
  • Service Intermediary – This is our “Runtime Server”.  This is the heart of the service virtualization strategy.  Virtual Services are expose their Address, Binding and Contracts (ABC) thru the “Runtime Server”.  
  • Service Catalog – The metadata that describes the virtual and service implementations must be stored in catalog.  there are two key components here: the Catalog database and the “Catalog Server”.
  • Design Tools – An administration tool to help you manage the metadata would make everyone’s life easier.  A WPF based tool that provides visibility across the whole model and exposes features that allow administrators to import metadata for various service implementations makes your life even easier.
Service Intermediatry

Service Intermediary

The MSE’s Service intermediary implementation allows us to host virtual services by reading the metadata that describes what these services Address, Binding and Contracts (ABC).  This intermediary sits between the Client and Service Implementations, thus providing a centrally available interception capabilities such as: Operation Versioning, protocol mapping, monitoring, routing, run-time policy enforcement and custom behaviors.   The value add here is that neither the client or the Service Implementation needed to be touched in order to enable these capabilities.

If you are looking to adopt an Enterprise Service Layering approach a Service Oriented Infrastructure will provide a good framework for centralizing control, improved manageability and visibility.

The Microsoft Global SOA Practice is happy to announce that our new release of the Managed Services Engine is available now at CodePlex. (here)

This new version is a huge departure from the Management Console snap-in. We now have a Windows Presentation Foundation (WPF) administration tool that simplifies management of the various old and new Service Model Components introduced in this version.

TechReady 8

As you probably know by now. I joined Microsoft at the beginning of December 2008. I have been in ramp up mode while trying to contribue as much as possible on sales calls, QA for one of our solutions, and of course all that HR required training.

Today we are less than a week away from Microsoft’s internal technology conference for folks in the field, people just like me!
I am excited about attending my first TechReady. I’ve heard about this conference, kind of like a TechEd but with no marketing.  Highly technical awareness & training.  It was a challenge building my schedule of sessions that I want to attend.  And in more than one time slot I have 2 or 3 sessions that I still have not made up my mind on which one I will be attending.   The tool even syncs up with my Calendar.  That Schedule builder tool was pretty neat and simple to use. I only wish it had to option to automatically suggest a schedule based on topics of interest in combination with my “Track”, in my case Architecture Delivery in SOA.

I will also help one of my colleagues, Chris Madrid, in a Hands On Lab. I will be a proctor during this lab and I am looking forward to answer questions on the SOAInfrastructure solution that the team has put together.  I kind of remember  when I was a Sybase & PowerBuilder instructor back in the day….  those days spent teaching RDBMS design, Sybase administration and deployment, PowerBuilder Basic and Advanced courses in Monterrey, Torreon and Merida.