Thursday, June 14, 2007

Blending in a little WPF

The product I’m most impressed with so far this quarter is Microsoft Expressions Blend. Most importantly, the product is shipping and I don’t have to wait until 2008 to take advantage of the tooling. A developer who is familiar with Photoshop/GIMP/PaintShopPro and Winform/Web development will find this tool pretty useful. To test this out I’ll dogfood this internally in IS. We have a bundle of internal IS applications called Dradis, built on ASP.NET 2.0, AJAX, and SQL Server 2005. At first I was wondering if I could take this web application and move it forward into a Silverlight platform. Then I realized that we all use IE here at work and I really don’t have any cross-browser concerns and I wonder what would happen if I went back to one of my earliest .NET application architectures, but this time try it out with WPF.

Back I the days of .NET 1.0, I proposed a LOB application for IBM Global Services using a Flash front end and web services in the background to do the heavy lifting for the application. I was laughed out of the room and we wound up with a very functional .NET 1.1 auto-deployed WinForm application. I saw this as a real take away from the application. We had a young group of users who were expecting dynamic interfaces and new sorts of collaboration techniques that it was hard to bake into the .NET WinForm without spending most of our development time on writing GDI+ code, or making extensive use of third party control libraries.

Fast-forward to present day. My mission, turn Dradis as a WPF pilot application. Ideally I would break the existing web application into two parts, code and presentation in preparation for the migration, but since these are internal web pages, and they have grown up over the last six months organically. I may just do a port. (Maybe I’ll start with one page at a time.)

FYI, if I ever use organic growth it really means that someone added a feature, followed by a different developer adding a different feature, until we arrive at a place where the code is pretty innovative, but doesn’t necessarily conform to any sort of enterprise standard.

So why would I want to pilot a WPF application? I believe that there is an opportunity for a new class of application that is easily deployed using click-once and has a much richer user interface than we can achieve with a web technology. A major obstacle in building dynamic web applications is that the end-users expect rich application functionality at the client and it costs a lot of resources to code your business logic a few times. One of the major policies we have at our organizations is a push to deliver web based applications. When you drill into the reason why the policy exists, it really has to do with the complexities of deploying Win32 applications in our organization. This problem is significantly reduced with the introduction of Prism for packaged MSI deployments and click-once deployment technologies.

In fact, I would argue that given our current setup, the simplest application to deploy would be a traditional client server application. Our desktop and database deployment processes are solid, repeatable and very testable. We should probably question whether or not that’s the way it should be, but that’s a different post altogether…

Stay tuned to see how this thing pans out.

Tuesday, June 12, 2007

MDC07 announced

If your looking for the same great content you will find at DevConnections, VSLive or TechEd, and your around the Twin Cities, attend mdc07. A great batch of local, regional and national presenters will be diving into technologies that affect your organization. It's very reasonably priced. I attened mdc06, had an excellent time, and did a deep dive into the CAB.

http://mdc.ilmservice.com/

Friday, June 08, 2007

Infrastructure must review Dynamics CRM

How do we create an edge server or VPN for remote users?
Is our AD ready?
How about Exchange?
Are our laptops powerful enough?

Don’t underestimate the amount of infrastructure required to deploy Microsoft Dynamic CRM. I just got out of a presentation at TechEd and if your infrastructure is ready then it's not a big deal. For many people in the audience they had some really creative solutions.

Some people had to upgrade their AD, others found that thier laptops were not powerful enough to run CRM so they rolled out new hardware on Vista. Others found that thier new Exchange 2007 environment doesn't support the 2003 requirements for CRM. Off to the airport.

I met a member!

So our president gets up in front of our company and tells stories about the plan members he meets in out and about. Well here I am at TechEd minding my own business J waiting for some coffee when a .NET Trainer asks me if I really work for the ELCA Board of Pensions. Well after a few short exchanges, he pulls out his pastor card and tells me that he is an interim pastor for the ELCA. He has a part-time job as a Microsoft trainer, but has a second job as an interim pastor. He wanted to know if I knew about the disability thing. I told him that I did indeed know about the disability thing and would have a series of meetings to get that setup for him. He was also glad to know that we were working smart and training people instead of remaining in the backwaters of technology.

So next time we ask who is the member, just think that one of them is a Microsoft MVP Trainer.

Silverlight timing

Q: When is Silverlight right for us?
A: When we adopt Visual Studio 2008. Silverlight provides quite an awesome experience for web applications, but until we have tool support I'm going to hold out.

Thursday, June 07, 2007

Iron architect results…

Of all the submissions here at TechEd and after a series of pretty awesome presentations by some top notch architects I am honored to place 2nd in the Iron Architect competition. Although not quite as spectacular as the first place prize, it was nice to receive the accolades from fellow professionals and a 5.8 Ghz Uniden phone. I really enjoyed the presentation and I would encourage anyone who is qualified for the first place prize to really try out for this. The challenge presented by the Iron Architect challenge has you thinking on your feet. I felt that I learned much more from the entire experience by participating in the challenge than I did just watching the competition go down.

For those of you who are interested, I’m planning on being at TechEd 2008 and I would be interested in having some architecture discussions with folks who would like to enter. Perhaps we can at flush out the problem statement together, brainstorm some ideas, and then come up with individual solutions in a way to still make it competitive.

I look forward to next years challange. I'm just getting started.

It's Iron Architect time

Well it's official, I'm going to compete at the Iron Architect challange this year at TechEd 2007.

If your at TechEd in Orlando, come and see me duke it out with other architects. We'll be in the ARC interactive theater (Blue 9) at 4:30 p.m. I need to keep it down to five minutes. Now I get to go practice in the bathroom.

I'm hoping they don't ask me about exactly how the solution supports a disaster recovery scenario. If they do it will be interesting when I answer with things like VMWare and EMC.

To learn more about the Iron Archtiect challange you can find out more here:
http://blogs.msdn.com/ironarchitect/

Wednesday, June 06, 2007

WF, MOSS, WSS, or BTS meet your workflow needs

I recently heard from our VP that we really don’t have a workflow solution. I disagreed with him up until a few hours ago. I was in a TechEd presentation and they really explained how to interpret the it depends matrix for workflow. Here is a summary:

If you have people involved, you really should think about using WSS/MOSS.
If you have a well defined business process that involves backend systems, then BizTalk is worth thinking about.

If you have an application that really doesn’t need the human workflow interaction and really doesn’t need external interaction then the internal workflow application provided by WF can work for you.

So in sort like all architectural choices the right answer is that it depends. Microsoft really has a solid workflow strategy and depending on what you are going to do, you can pick the right technology for your needs.

Tuesday, June 05, 2007

What does .NET 3.0 mean for me?

Well if you want to code out a bunch of your own stuff it means you can begin to adopt it now. Maybe we can wait until Visual Studio 2008 for .NET 3.5 to really take advantage of .NET 3.0. As I begin to think about this it really makes sense. When a technology has a the word Framework in it it means to me that the technology is available for production use, but might not be ready for me. I’m a lazy developer and have this idea that the tools should leverage the framework. I’m thinking that maybe we can really start to adopt the newer framework technologies once we have tool support. Now I know a few people where I work embrace the opportunity to jump into the pre-tool support arena. But when you look at how you really roll out a technology for your entire group, I think you really need to take a look at tool support. Maybe next year I can go the “How to leverage development tools to do more with the Framework” presentation. Now that would be awesome.

Can Microsoft Dynamics CRM be our application platform?

A few weeks ago I was at the ICSE 2007 and I envisioned an entire enterprise of applications build on top of the Salesforce.com’s APEX platform. I just got out of a TechEd 2007 presentation that demonstrated how to really build diverse applications using the Dynamics CRM as an application platform. I got really jazzed because they would handle the backend upgrades and we could handle the configuration elements we were most concerned with.

Instead of having two choices of build or buy for our organization, perhaps we have a third choice. I’m not sure what a good name is yet for this third option, but it involves leveraging the Dynamics CRMplatform to build out almost custom applications.

I get more excited about this than I did with the APEX platform because I have an existing Microsoft developer base than can really leverage their experience and bring it together inside of unified application architecture. I really like the idea of a unified application infrastructure, maybe because it feels more familiar than a message based SOA infrastructure. With SOA I can isolate key processes and upgrade them individually. With the common infrastructure approach I can quickly see us paying a lot in custom development every few years to reintegrate our new infrastructure.

Perhaps a SaaS application platform is really the way to go, and until we get there we can leverage the existing infrastructure using a SOA as a backend.

LINQ, LINQ, LINQ

LINQ is a technology I’m looking forward to building against as soon as it is delivered. They have a done an awesome job since PDC 2005 to really bring the technology into a compelling tool. With both LINQ and LINQ for entities we are moving into a rich new object focused manipulation of data. I thought moving to OO was going to be difficult, moving to LINQ as a mainstream development tool has some really compelling stories but I’ll have to really work on the dev team and the DBAs to move them towards adopting LINQ.

If you want to learn more about LINQ, I suggest you search on it with your favorite provider. J

Monday, June 04, 2007

Creating a vendor partner ecosystem

One of my pleasures with being a full-timer is the ability to watch the great people I’ve met through the user community partner with other fabulous people in the industry and really create some excellent companies. Then I stumble into a conference like TechEd and see these very same excellent people not only with the enthusiasm for the product that I know them for, but the solid partner story that demonstrates how their organization can really work with our internal staff to strengthen our own team instead of a vendor who can do the work for us.

Of the companies represented here at TechEd, Mindsharp comes to mind as such a vendor partner. Todd Bleeker is the most passionate man I know about any product, and he and Bill English have created a company I would be willing to call a vendor partner. I don’t know how this will all play out, but I feel that whatever I would wager on Mindsharp would be an excellent wager. I look forward to participating in their OnPath program and really learning how SharePoint can be leveraged to create a dynamic organization.

Sharepoint in my mind is one of those organizational changing technologies that helps push the possible collaboration technologies of the web down to the people who can actually use it. Right now I’m on a number of process improvement projects. It would be awesome if I could spin up a team site and have people contribute pervasively in the context of the project and its goals. Having the right vendor partner can help us jumpstart our own vision and maybe even give me some team sites.

IIS 7 deployments

If you are running a web farm with IIS 7 and have the same modules installed on each server, you can store your content and configuration in a UNC share. What is even cooler is that you can stage configuration and content on the web servers and then flip over, then flip back if things don’t go so well. Search for the Staged Deployment feature in IIS 7. For more information http://www.iis.net

MOSS - I'm in but will our culture handle it?

From a technology perspective it fits very nicely with where the rest of the industry is going for collaborative authoring experiences for the organization. MOSS is a key enabling technology behind the dynamic systems stack led by Microsoft.
One key is to focus in on the Intranet as piece of plumbing. You control the pipes, determine where they go, and if necessary, adjust some shutoff valves. If you were to roll out MOSS and keep a centralized deployment team, you are really not taking advantage of enabling dynamic business processes.

Building a SharePoint portal brings a different paradigm than we had with Dreamweaver and Sitecore. It gives the authors yet a third paradigm for creating content. It's not hard, but I'm confident that our end users was freak.

When you combine the cultural changes, paradigm shifts and its ability to really enable a dynamic organization, I can certainly predict doom for this initiative. We have a single department with a very tight hold on content, we sort of does alright cultural changes, but the big driver here is the organization’s tendency to shy away from a dynamic environment. By no means is this a show stopper, and I’m being a bit cynical here, but when we attempt to deploy dynamic technology into the enterprise we really need to understand the cultural considerations of the organization.

BizTalk 2006 as an ESB

Have you ever considered turning BizTalk Server 2006 into an Enterprise Service Bus (ESB), well a couple of folks have. They have actually pulled together a guidance framework with just that goal in mind. At http://www.codeplex.com/esb you can read about my recent TLC presentation at TechEd directed at targeting the ESB with BizTalk 2006. Some of the more interesting aspects of the ESB were its ability to select destination web services by looking them up from a UDDI repository. Two main things the presenter was really jazzed about and that are up on CodePlex, was using BizTalk to handle enterprise exception handling, something we had actually just ripped out of our implementation and BAM, also a core component of BizTalk intentionally turned off.

When I find a presenter at TechEd advocates for a position that you have rejected, I begin to question the differences between the presenters experience and my own. After a brief discussion with him I determined that indeed we had a different set of experiences. We are primarily using BTS as an integration platform and he was implementing an ESB. We do not have key business processes tied to the completion job with people watching the completion of the task. They do.

Windows Vista Compatability

So first of all the System Center Service Manager class was full. Then the SharePoint Services 3.0 Overview was full, so I wound up searching for a room that had some free space available. I wound up in a class where they are discussing Vista application compatibility. One of the big compatibility issues with running applications on Vista is the ability to run under Standard User Mode, something for us to think about when we are testing our existing WinForms applications. Microsoft offers a tool called the Standard User Analyzer.

Standard User Analyzer is a tool that verifies whether or not an application runs in standard user mode. I also learned how Vista introduces hundreds of shims that allow existing applications to run inside of Vista. If your application is not in charge of maintaining machine state, then it doesn’t need to be an administrator.

Perhaps we can add the Run as Standard User to our test plan the next time we run through a test on a WinForms application.

Lunch Time....

TechEd 07 Keynote

Oh no, my IT Pro knows what I can do with Microsoft technologies in development! As Tonja and I watched the keynote, we had a presentation on BizTalk, SQL, SilverLight, and some XAML inside of Microsoft Office 2007. We also looked at the model level integration between SQL Server 2008 and SCOM 2007.

This is totally cool stuff we can begin working on today. What I would give for a business that started driving hard for some usability and integration in a single system and the resources to make it happen. I have a feeling that a lot of our SilverLight, BizTalk and WF enabled applications may be internal IS tools. I’m thinking that the iisdev:100 is a great place to start as a demo site for these new technologies.

Now off to a System Center Service Manager overview.

Sunday, June 03, 2007

SCOM PreCon

I want to know as an EA how System Center Operations Manger 2007 will enable the development group and the operations group work more closely together. What I heard was that I can describe system definition models (SDM) and setup monitoring and dependency information inside of a Management Pack. The things that SCOM had looked far different than the DSI story I had seen before from the VSTS Team. Maybe I can import a SDM from SCOM and use it in VSTS.

So here is my big beef. When it came time to describe the management pack the audience tuned out. They wanted to know how to use the management packs. What I need is for an operations group to tell me if I’m monitoring the right things in my management pack. I think Tom x from Microsoft IT explained that the product group sends the management pack to him, he tunes it and sends it back to the product team. We need this same kind of process in an enterprise LOB application to compete with the management features that Microsoft provides out of the box on their larger applications. More importantly, when I have a LOB application that uses Dynamics CRM, SQL Server, BizTalk, MOSS, AD, and who knows what other Microsoft application we can pull together a management solution for our group of four administrators to really understand this increasingly complex and foreign thing called “Something from development”.

So much for all this pondering, I’m off to party with Palmero http://partywith.palermo.cc



Saturday, June 02, 2007

Ready for TechEd 2007

I’m in the hotel room, ready to get a good night sleep. I’m installing MOSS 2007 so I can play with SharePoint this week. I’m looking for the technology to really improve upon this week at TechEd. I’m going to focus in on System Center, especially around the Dynamic Systems Initiative, SharePoint and who knows what else. I’m a bit disappointed that the Service Desk portion of System Center won’t be out until 2008. I was really looking forward to implementing a Microsoft solution in this space. I may have to settle for some SharePoint Templates around incident, change and problem management. More to come tomorrow. I’ve got a pre-conference on System Center. I hope to do well as a EA in the operations presentation.