rickgaribay.net

.NET, WCF, SOA, Phoenix Connected Systems User Group, and miscellaneous discussions on software engineering, process and practices.
posts - 147, comments - 97, trackbacks - 6

My Links

News

PCSUG Meeting Jan 8
www.azgroups.com
www.pcsug.org

About

Rick G. Garibay is a member of the Connected Systems Development Practice at Neudesic, a leading Microsoft Managed Partner with a proven track record of providing reliable, effective solutions based on the Microsoft technology platform.







Archives

Post Categories

Published Works

Thursday, January 01, 2009

What's Your Value Add for 2009?

Between the mortgage and financial crisis and a U.S. car industry on the verge of nationalization, 2008 is turning out to be a pretty tough year on Wall Street. One of the most common gauges used to measure economic health is the Dow Jones Industrial Average. As of October 2008, the Dow was down 21%. To put this downturn in perspective, when the .com bubble burst in 2001, the Dow suffered a 34% depression. Even compared with the 89% plummet that ushered in the Great Depression, this is a significant loss that has only gotten worse. As of today, the DJIA is at 8,515, representing an alarmingly quick acceleration from the 13,930 number in October. The situation we are in is different and worse than the .com/911 bust because of the fact that real estate, one of the biggest assets that Americans invest in, has been jeopardized. This decline is particularly insidious because the value of our homes are historically supposed to increase, giving us virtual equity that allows us as consumer to have the peace of mind to make big ticket purchases, go on vacation or go to expensive dinners. Consumer spending is a primary driver of business in many sectors, and business is down on Main Street. Further, as the national unemployment rate approaches 7%, we are all bound to be affected by the economic downturn in 2009.

In my fairly large suburb of Phoenix, I've noticed the impact on Main Street for the last 6 months or so. First, a large supermarket closed its doors in favor of a sporting goods store (strange). Next, Mervyn's went out of business followed by one of my family's favorite ice cream shops. Next, a relatively new Chipotle copycat restaurant closed, followed by the closing of El Paso BBQ and a new French bistro next door in one of our most popular shopping centers. Moving west just a couple miles, a mom and pop party supply store finally went under along with a small wine shop. These closings all happened within 6 months and all within the same zip code, and range from small family owned businesses to major retailers.

With a depressed consumer base, companies have to make cuts to reduce operational expenses and maintain healthy margins. This means that you may notice less wait staff at your favorite restaurant, messy movie theatres or less selection at your grocery store. This behavior has already, and will continue to be felt throughout Main Street. This means that whether you are a consultant, a contractor, or full-time employee at a small, medium or Fortune 500 (or better) company, management is going to be evaluating your value add along with that of all employees to more efficiently manage the bottom line. My intention here is not to spark anxiety or worry, but to simply provide my thoughts and perspective for what, as responsible professional technologists we must do to make the best of what is proving to be a significant economic recession and only shows signs of worsening as we ring in the new year.

As a result of this cost cutting, it is possible that a gradual dilution of talent- either as a result of eliminating more costly (and talented) employees, or substituting cheaper, more commoditized employees for skilled technologists- creates a virtually insurmountable management overhead. This unfortunate possibility represents a significant adverse impact to the industry that could be further reaching than mere layoffs and could take longer for organizations to recover from. It could result in a bigger mess being made as a result of under-qualified practitioners unwittingly being put in positions to fail. When this blows over in the next 18 to 24 months, there will be a big mess to clean up, and companies will find themselves clamoring to try to hire some of the quality of talent back that just months ago they let go.

Having painted this picture of doom and gloom, what can we do to minimize the impact? I believe we each have a responsibility to do everything we can to help our employers be as profitable as possible, regardless of economic conditions, and to do that we will all need to be around to do everything we can to minimize the impact. Put another way, if you are to weather this storm, it is imperative that you communicate your value add to your organization, boss and customers. In addition, you should look at ways to do more with less, and last but not least, do all you can to better yourself in 2009.

Communicating your Value Add

Many of the clients I work with are running agile teams, which means that we actually report status individually once every day at a minimum within quick, 15 minute-or-less daily standup meetings. While this is a a great way to ensure your immediate team is up to date on what you are working on, most often, your boss is not a part of the daily standup. Making sure that both your team and your manager understand your individual contribution is key to ensuring that your value add is recognized.

Do you submit regular status reports? Regardless of how your team is organized, keeping your management up to date on your work is critical. Relying solely on your project managers or ScrumMaster to get your message out is not enough, because the focus of the reporting at this level is project-focused, not you-focused. If your manager collects status reports either by collecting updates on your behalf, or merely aggregates individual updates, how seriously are you taking your update? At a minimum, you should try to establish a weekly rhythm with your immediate supervisor. A short but effective status report is an important way to ensure that you are documenting your accomplishments and successes, and also making sure that your supervisor is never surprised. Take your status report seriously, and if you currently do not submit a status report, start now. In fact, ask your manager for a bi-monthly 1:1 to review your updates. Meeting with your manager twice a month is a great way to make sure that if your manager is not reading your status reports, you can at least use them as talking points in a brief, 20 to 30 minute conversation. The key to making one-on-ones effective is to communicate what you are working on (if you are writing status reports, you already have your notes), your recent accomplishments, and most importantly seek feedback.

Seeking feedback is an important tool for gaining reassurance that what you are doing is in fact pleasing your boss, or an opportunity to pick up subtle and not so subtle signals that you might need to make some adjustments. Establishing good communication and rapport with your manager is key to ensuring that he or she understands that you are on the same page and are here to help. After all, in addition to making your company more profitable, your secondary goal is to make your manager's job easier (you did know that, right?). Figure out what that means by talking to your boss often enough to keep a steady rhythm but no so much that you aren't getting your actual work done. Some tips for effective 1:1 meetings include a brief, but informative recap of what you've been working on (based on your status report), what you plan on working on in the next two weeks (again, straight from your status report), and last but not least, ask your manager what you can do to help him or her in the next two weeks. If you have a problem or a concern, voice it first before getting into your discussion. Managers are busy and meetings can end abruptly so use your time wisely.

Doing More with Less at Work

Whether it is teams being downsized or hardware infrastructure purchases being postponed, look for ways to help your organization do more with less. Adopting smart, effective application lifecycle management (ALM) practices is a great way to increase efficiency and effectiveness while reducing risk. ALM includes engineering practices like separating your development, integration, test and production environments and adopting test-driven-development and automated builds. If you are a Visual Studio 2005 or 2008 user, there is a great chance you already have much of what you need to get started. If a comprehensive ALM suite like Team Foundation Server is out of your reach, there are also several inexpensive or free solutions in the open source community that do a great job.

Of equal or arguably greater importance to/than sound engineering practices, an important part of ALM is process enactment and adherence because it drives all other practices (including engineering practices), whether they are project management based or engineering focused. Think about the process you undergo today to go from idea to production. Is is straightforward? Do you know where your team's code is in every step of the process or does each project feel like you are stuck in a tar pit, grasping to get out and occasionally doing so due to the brave heroics of a few? Do you know how many bugs you have or what percentage of unit tests have passed along with their corresponding code coverage? How are you managing scope while keeping your customers happy? These are all part of adopting ALM, and ALM will be more important than ever as organizations seek to maximize value while minimizing risk and reducing waste.

Before an organization even thinks about developing service-oriented applications or building an SOA enterprise, having the fundamentals in place is key. There is a close relationship between the flexibility and improved agility that SO and SOA bring and a solid ALM plan is a critical foundation to succeeding. All of the flexibility, loose coupling and business process automation in the world won't save your company any money if the process for getting these services out the door is fragile, brittle an unpredictable.

ALM does not have to be a big bang effort. You can start small by adopting a process that is right for your team. Once you select a process, choose the right tools to help you be effective, and if you have any questions or need some guidance along the way, feel free to ping me.

Self Improvement

One of my favorite sayings, which I don't know where I picked up, is "The more I learn, the less I know". I have found this to be very true in my career. No matter how much I learn about a subject or technology, as I immerse myself deeper in it, I often realize just how much more I have to go. I find this to be true both on the technical front as well as on the softer side.

Technically, this is a great time look the firehose coming out of Microsoft square in the face (make sure you wear goggles) and pick a technology or two in which to focus. 2009 and 2010 will be a big year for Microsoft technologies. We'll see significant changes in the .NET Framework, including the forthcoming .NET 4.0 which will include changes to the CLR, new versions of WCF 4.0 and WF 4.0. A new version of BizTalk Server will be released along with the second version of ESB Guidance. Oslo will continue to get wings and Azure will gain tremendous traction. All of this doesn't even include all the new stuff happening on the web front (I don't keep up with ASP.NET stuff as deeply as I once did, but they are doing so really cool stuff, especially around the MVC framework). Regardless of where you choose to focus, pick one to two technologies to get your feet wet with. This is a great way to not only be ahead of the curve when these technologies and products RTM, but it is also a responsible way to prepare your existing applications, projects and customers for what's coming. When the rest of the community is scrambling to figure this new stuff out when the gold rush hits, you'll be riding a nice knowledge wave that will allow you to sail comfortably ahead.

Did I mention a"Gold Rush"?  Yes, indeed I did. Every 5 to 10 years, a new wave of technology hits the industry that results in a tremendous rush of interest to exploit, leverage and learn. Interestingly, Microsoft tends to time these waves during slower economic climates. The last major gold rush from Microsoft, of course, was in 2001. Just as the .com bubble burst and the nation and world were reeling from 9/11, one of the most important advancements in modern software engineering was born. The .NET Framework was released in February 2002. 2009 and 2010 will bring innovation on par with 2002, just wait and see.

A great place to look to start deciding where to focus is http://channel9.msdn.com/pdc2008. Don't worry if you feel a bit overwhelmed, as I said, most of this stuff won't RTM until late 2009 at the earliest :-)

As you attain this knowledge, don't just horde it. Share it. Offer a brown bag lunch or lunch-and-learn session for your team when you have something interesting and worth sharing to present. These sessions are free (since they happen over lunch), require no catering (that's why its called a brown bag, because each attendee brings his/her own lunch) and are a great informal way to hone your technical speaking skills while making your contribution to your group visible.

Speaking of speaking skills, why not sign up to speak at a local code camp or user group? Phoenix has a number of user groups who are always looking for speakers to share their knowledge with their community. For a list of .NET focused user groups in your area, just go to: http://ineta.org/UserGroups/FindUserGroups.aspx. If you are in the Phoenix Metro area, www.AZGroups.org has a great calendar of events that will help you find a user group either to join or present. 

Lastly, don't look too far ahead without keeping your saw on currently shipping technologies sharp. While WCF, WF and WPF may seem passe because they are "sooo 2006",  this is a great time to ensure you have a solid foundation on which newer technologies will continue to build. If you haven't taken a certification exam in a while, why not knock one out? There are several newer certifications out there for technologies like WCF, WF, WPF, ASP.NET and .NET in general. Taking the time to get certified demonstrates discipline and a commitment to learning. While there are mixed thoughts on the value of certifications, every time I study for an exam on a topic I feel I know well, I am always surprised at how much I learn. Learn more at www.microsoft.com/learning.

Building Soft Skills

As technologists, technical skills are certainly important, but too often, as engineers, we tend to overlook soft skills. Like any skill, soft skills need practice too. If you are a great developer, but rarely talk to your team (or your boss!), and instead stay heads down in your cubicle or workspace with headphones on 8 hours a day be warned: your job is at risk. As painful as it may be, learning to communicate well with others is key to your continued success. Going back to my earlier tips about having 1:1s with your manager, and the value of feedback, ask your manager what you can do to improve your soft skills if you think they need honing. Your manager will likely be surprised and impressed that you have such self-awareness as to ask, which in and of itself shows strong interpersonal skills.

To this end, a great book that I'd like to recommend is "What Got You Here Won't Get You There" by Marshall Goldsmith. It is a long read but a very good one. While it is focused on executives, all leaders and even individual contributors stand much to learn from this gem. It turns out there are up to 20 things that we do that derail our interpersonal effectiveness. Focusing on the two or three top "flaws" is a guaranteed way to improve your soft skills.

Happy New Year!

I realize that there are folks outside of America that read this blog, but at the expense of sounding nationalistic, if there is one thing that we do as Americans when the going gets tough is get going. 2009 may not be the best year to find that new dream job, and your 401K may continue to look deathly ill, but one thing is for certain: We will get through this and what does not kill us only makes us stronger. So make sure you are doing everything you can to be the best you can be, communicate your value add to those who matter and make 2009 a great personal success- the rest will ride itself out before you know it.

posted @ Thursday, January 01, 2009 7:00 AM | Feedback (0) | Filed Under [ Misc. ]

Monday, December 29, 2008

January Phoenix Connected Systems User Group Meeting - Jan 8th

The Phoenix Connected Systems User Group is gearing up for what promises to be an exciting year for Connected Systems technologies.Our first quarter is already booked, with talks covering the .NET Services Service Bus in January, BizTalk ESB Guidance 2.0 in February and a big event in March that you will not want to miss. PCSUG_Med

Speaking of the January meeting, please join Glenn Kees, Principal Consultant with Sogeti USA who will be presenting on the Microsoft .NET Services Service Bus on January 8th.

Glenn will present a scenario-based approach for using the .NET Service Bus to address challenges that occur when implementing Enterprise Application Integration (EAI) solutions, particularly across disparate networks with various network traffic restrictions.

Going forward, we will be sharing relevant information via www.pcsug.org.  To ensure that you do not miss any important updates throughout the new year, please take a moment and register for our mailing list: http://www.pcsug.org/Account/Register

More about PCSUG:

The goal of the Phoenix Connected Systems User Group is to educate, evangelize and inform the community about the direction in which the Microsoft Connected Systems Division (and software engineering) is going, and how developers and architects of various, yet intersecting disciplines can start to prepare for what is ahead while serving the community through knowledge sharing and evangelism of current shipping technologies.

We meet the 2nd Thursday of each month at the Microsoft District Office - 2929 N. Central Avenue, Suite 1400, Phoenix, AZ from 5:00 pm to 6:30 pm.

posted @ Monday, December 29, 2008 11:05 PM | Feedback (0) | Filed Under [ Phoenix Connected Systems User Group ]

Thursday, December 18, 2008

Microsoft SOA and Business Process Conference – Jan 28th and 29th

 

I will be speaking at the Microsoft SOA and Business Process Conference in Redmond on January 28th on the “SOA and BPM Best Practices” track. My talk is titled "Lessons from Trenches: A Real World SOA Story" and will focus on a major enterprise SOA project I worked on recently.

The objectives of the talk include:

  • A discussion around the organizational, technical and political challenges inherent to distributing business processes across geographical business assets and business units of varying maturity.

 

  • Provide insight and guidance directly from the field on how to bring business, technical and vendor teams together to achieve the shared vision and promise of SOA using state-of-the-art technology from Microsoft and the .NET partner ecosystem including specific discussions around WCF and Neuron ESB.

 

  • Provide real-world metrics from this success story that can be used to plan and measure success in your SOA initiatives.

I am very excited that my client, Cathi Chinn has accepted my invitation to co-present with me. Cathi is the Director of the Program Management Office for Commercial Vehicle Operations at ACS and has been a tremendous partner and customer throughout this exciting initiative. Cathi is a business process and technology visionary and a fantastic speaker and I am very proud to share the stage with her.

Registration is now open for this once-a-year event: http://www.regonline.com/Checkin.asp?EventId=628664

I hope to see you there. If you come to my talk, please stop by and say hi!

posted @ Thursday, December 18, 2008 8:42 AM | Feedback (0) |

Sunday, December 07, 2008

Phoenix Community XBOX 360 Party

Harold Wong is hosting an XBOX party at the Phoenix Microsoft campus for community members and influencers. Come out and play XBOX games like Guitar Hero, Halo 3, Gears of War 3, hang out with your friends within the community and make new ones. The party is from 4 pm to 9 pm.

From Harold's invite:

"Calling all IT Pros and Developers in the Phoenix area!  Come join us for a fun time at the Microsoft Office.  There is no PPT slide or demo involved.  This is a year-end "party" for all the different User Group members to get together and have fun.  If you aren't already a member of one of the local User Groups, no problem, you are still welcome to come and have fun.

There will be 4 XBox 360 consoles networked together for maximum fun.  If you have your own favorite controller that you want to use, please feel free to bring it along."

To register, please follow this link so that Harold knows how much pizza and sodas to buy: https://www.clicktoattend.com/invitation.aspx?code=133878

See you there!

posted @ Sunday, December 07, 2008 8:05 AM | Feedback (2) | Filed Under [ Phoenix Connected Systems User Group ]

Saturday, December 06, 2008

Are You Using MS BRE?

If so, Microsoft Connected Systems Division wants to hear from you.

Please consider taking 15 minutes to participate in this important survey that will help set the future direction on Microsoft rule-based engine technology: https://live.datstat.com/MSCSD-Collector/Survey.ashx?Name=BRE_Usage_Survey_Blog

If you are not using MS BRE, or haven't used rule-based engines in your applications, check out my latest article in the Nov/Dec 2008 issues of CoDe Magazine: http://www.code-magazine.com/Article.aspx?quickid=0811071

posted @ Saturday, December 06, 2008 12:29 PM | Feedback (0) |

Thursday, November 20, 2008

November PCSUG Meeting on WF 3.5 - Recap + Late Breaking Update on WF 4.0

If you attended the Phoenix Connected Systems User Group meeting last week you know what a great talk it was. For those who attended and would like a summary, and for those that were not able to make it, here's what you missed.

Recap

Rob Wisehart, Technical Team Lead at DriveTime Sales & Finance did a fantastic job introducing the group to WF 3.5. He provided an Overview and Essentials of WF and really did a great job of explaining why WF is important and why it matters. People are visual. PB130030 We've learned thousands of languages since the beginning of time, but our Neanderthal ancestors had it right. We still communicate best with drawings and pictures. At least I do. Rob went on to talk about Sequential and State Machine Workflows and when each is appropriate. Rob really showed his experience with WF applications here, talking about the pros/cons of each worklfow type. Discussed as well was Hosting and Services. Just like WCF, WF needs hosting love too. In fact, any CLR process can host a WF service, and the models are quite similar.

PB130034My favorite part of the talk was on Custom Activities. Rob did an awesome job talking about why Custom Activities should be the preferred way to build WF applications. He really hit the nail on the head, talking about how, at DriveTime, they color code their Custom Activities, so that users (developers, and analysts) start to build that emotional connection with the software. For example, brown Custom Activities are always queue based activities while blue might be database related.

Of course, Rob closed out with a discussion on using WF as a WCF Service. While in 3.0 this required heroics, the story got better in 3.5, and today, if you are building a WCF service, using WF to orchestrate the logic should be compelling. On this topic, I believe that .NET 4.0 will really focus on WF from a marketing perspective, and WCF will be somewhat in the shadows of WF. This is OK, because .NET 3.0  and 3.5 was really all about WCF because it was a) a tremendous accomplishment that *will* change your life as a developer and b) fully baked. WF 4.0 will focus much more on the modeling aspects of building service-oriented applications, relegating WCF as a utility player. Of course, anyone that knows WCF understands that this could be further from the truth due to the incredible robustness and richness of the framework, but when a technology becomes commoditized, its a clear sign of success, both as a technology and from an adoption perspective. To say that WCF will commoditize cross-process communication between WF 4.0 applications is a very good thing indeed.

The Goods

Rob's deck can be downloaded from SkyDrive here:

Rob's code can be downloaded from SkyDrive here:

Swag

We closed the event with some great handouts, including WF+WCF 4.0 t-shirts courtesy of the Connected Systems Division, some laptop stickers and a group photo with folks that were lucky enough to get a t-shirt.PB130035 Many thanks to Marjan Kalantar at Microsoft CSD for taking such good care of us.

Late Breaking Update on WF 4.0

I also took about 5 minutes to talk about some of the changes that are coming in WF 4.0. Most of this content is a combination of what I learned at PDC along with a draft of a whitepaper that Kenny Wolf shared with me. While I've been asked not to circulate the paper until it is fully baked, I provided some of the biggest highlights and key points with Kenny's permission, of course.

As I've discussed in earlier posts (http://rickgaribay.net/archive/2008/10/28/wf-4.0-big-changes-ahead.aspx, http://rickgaribay.net/archive/2008/10/30/more-on-wf-4.0.aspx), there are several new features and key changes coming in WF 4.0:

  • WF 4.0 ships with a completely new designer which very much resembles the look and feel that is being demo' d in Quadrant.
  • WF 4.0 provides full declaration of activities using XAML. While this is the same XAML that is used in WPF and WF 3.0/3.5, the file extension has been changed from .xoml to .xamlx.
  • There is a new activity model which makes all WF 4.0 artifacts activities. There is no longer the concept of distinguishing between Workflows and activities. In WF 4.0, all artifacts *are* are activities, and this includes Sequential Workflow Activities, State Machine Activities and a new Flowchart Activity. The key is that activities are the root of everything in WF 4.0 and activities compose other activities, be they custom activities or workflow activities.
  • Significant runtime performance, between 10% and 100%.
  • Better persistence and re-hydration performance largely due to the fact that the entire workflow need not be persisted as is the case in 3.0/3.5, but instead, because the XAML model is extended to every aspect of the workflow application, persistence can be managed at the activity level (see, there is a method building here).
  • Code Activities are dead. Don't write them anymore. Seriously, no Code Activities in WF 4.0.

These are just a few of the major improvements/changes coming our way. The next thing we talked about is what do to to prepare and what the migration story is.

  • WF 3.0/3.5 will run side-by-side with WF 4.0. WF 3.0/3.5 will run in the 2.0 CLR and WF 4.0 will run in the 4.0 CLR. What?! You didn't know there is a brand, spanking new CLR coming in NET FX 4.0? Better start coming to PCSUG meetings!
  • WF 3.0/3.5 can be composed within WF 4.0 activities using the Interop Activity. I joked here that this is like the P-Invoke of WF, and I don't mean that in a critical way, it's just necessary. If you look at how we pass variables around in WF 3.0/3.5 and the fact that in WF 4.0, variables are just neatly bound at the activity level with in/out semantics (and thus, different signatures) you need a bridge. The Interop Activity is that bridge.
  • There is no support for the Code Activity. Is there an echo in the room? Stop using them and start writing Custom Activities.
  • There will be a migration tool to port from 3.0/3.5 to 4.0, but like any tool, CSD will try their best but it won't be perfect.

Start preparing for WF 4.0 now by:

  1. Choosing the fully declarative workflow template in 3.5
  2. Do not use Activity.Initialize to initialize your activity, instead use Activity.Execute. The former goes away in 4.0.
  3. Being diligent about scoping your variables within your 3.5 activities.
  4. Think in terms of activities. Think in terms of your domain. Build activities.
  5. Using WCF Send/Receive Activities in 3.5
  6. Stop using Code Activities (there's that echo again)

As promised before, as soon as the guidance whitepaper becomes public, I will post it here.

Note: There will be no PCSUG meeting in December as we will be participating at the MSDN Unleashed Presents: The Best of PDC event on December 10th. Be sure to register for this event as seating is limited and when you arrive, be sure to fill out our PCSUG registration card so we can stay connected and inform you of what's coming in 2009.

posted @ Thursday, November 20, 2008 8:09 AM | Feedback (0) | Filed Under [ WCF Events WF NETFX 4.0 Phoenix Connected Systems User Group ]

Tuesday, November 18, 2008

MSDN Unleashed Presents: The Best of PDC

The local DE team is putting on an event on 12/10 to recap some of the highlights of PDC.

This is a good opportunity to educate our selves on what's coming and start to prepare now, so please register for the event using the link below.

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032395730&Culture=en-US

Some may ask "Why would I want to go to this event when I can see all of the sessions online?" The answer is COMMUNITY. Did you know that Phoenix has over a dozen user groups, including the AZ.NET User Group, South East Valley .NET User Group, Tucson .NET User Group and Phoenix Connected Systems User Group? These user groups cannot be successful without YOU. Without YOU, events like this aren't possible.

Only YOU make it possible for the community to host more great events like the Scott Guthrie events AZGroups has sponsored and more opportunities to meet and get to know your local developer evangelists. Why not get off the coach (or come out of the cubicle) and join your local DE team and other peers for a great day of learning and networking? You never know who you might meet or what you might learn.

Plus, Rob Bagby designed a cool shirt for the event with a REST and WCF theme, and who couldn't use another cool shirt?

Hope to see you there!

posted @ Tuesday, November 18, 2008 7:17 AM | Feedback (0) |

Saturday, November 08, 2008

November PCSUG Meeting on WF 3.5 Next Thursday 11/13

Join the Phoenix Connected Systems User Group at the Phoenix Microsoft office for an introduction to Windows Workflow 3.5 on November 13th.

Rob Wisehart, technical team lead for internal systems at DriveTime will provide a foundational introduction to WF, Microsoft’s premier framework for building workflow-enabled applications and services. This session will focus covering workflow types, basic activities, custom activities and demonstrating how to workflow enable a WCF service and compose it with other WCF services hosted in different runtimes.

In addition, I will be providing a whitepaper on what you need to know and how to prepare for changes coming your way in WF 4.0.

We will also have a bunch of cool swag from PDC 2008, courtesy of the Connected Systems Division. WF + WCF 4.0 and Oslo T-shirts, laptop stickers, and other cool stuff will be available on a first-come first-serve basis. In addition, I will have a few books on "M" Oslo's new modeling language which is only available in limited release.

As always, details regarding location and logistics can be found at www.azgroups.org or www.pcsug.org.

See you there!

posted @ Saturday, November 08, 2008 7:32 AM | Feedback (0) | Filed Under [ WF Phoenix Connected Systems User Group ]

Saturday, November 01, 2008

Windows Mobile 6.1 for Samsung BlackJack II

I have been wanting to upgrade my phone since April of this year when Windows Mobile 6.1 was in pre-release. Even months after the new OS went RTM, ATT&T dragged its heels in providing even a modicum of support. Each and every in-store rep was completely and utterly clueless when I inquired once about every month. Alas, I was able to get my hands on the upgrade package for my BlackJack II directly from Samsung.

The upgrade process was pretty straight forward, and for BlackJack II users running Windows Vista, you should have no problems performing the upgrade if you go by the numbers: http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view.jsp?SITE_ID=22&PG_ID=557&PROD_SUB_ID=558&PROD_ID=957&AT_ID=132707%20

There are oodles of new features in Windows Mobile 6.1, and you can find a great feature comparison here: http://www.microsoft.com/windowsmobile/en-us/meet/version-compare.mspx

Kudos to Samsung for doing the right thing for the consumer.

posted @ Saturday, November 01, 2008 3:45 PM | Feedback (0) |

Thursday, October 30, 2008

David Chappell on WF 4.0, Oslo & Dublin

Very timely brand spankin' new whitepaper has been published on MSDN: http://msdn.microsoft.com/en-us/library/dd200919.aspx

Nice job of tying WF, Oslo and Dublin together for the big picture. You will notice what I think is becoming a theme in messaging around 4.0 marketing which is placing a much bigger emphasis on WF than WCF. That is probably fair, as WCF owned the spotlight in the .NET 3.0 release, but I believe we will see more and more focus on WF as WCF takes a back seat in this release. To be sure, however there are great improvements in WCF coming our way including full schematization ala WF, new bindings and performance/persistence patterns.

David does a great job covering Dublin. My synopsis is that Dublin is COM+ application server (throttling, persistence) and BizTalk admin (tracking, HAT, etc) packaged up for WCF and WF and integrated into IIS 7 management tools.

More to come!

posted @ Thursday, October 30, 2008 8:52 PM | Feedback (0) |

More on WF 4.0

Per my last post I have been eagerly pursuing more information on the impact of the changes to WF 4.0, and specifically, what these changes mean for applications written in 3.5 and new composable applications.

I had a great conversation with Cliff Simpkins, Technical Product Manager for the WF team who was able to answer a lot of my questions and provide some clarity as to what specifically has changed, why and how it affects WF applications.

Let's circle back to the points that Kenny Wolf made when we discussed the changes at a higher level and use these as talking points.

"First is delivering a truly model-based framework that allows every aspect of the WF to be represented declaratively."

In WF 4.0, all aspects of an activity are represented as XAML. Most importantly, this includes variables within each activity which are bound as input/output parameters from one activity to another. This is a significant change from 3.5 because variables are no longer scoped at the global workflow level, but instead are scoped to the activity level. And this is an important point. In WF 4.0, the paradigm is based on Activities, Runtime and Tooling. Activities form a logical workflow as a consequence of their composition. The focus is on the activities which consist of a root activity and child activities. The root activity is the orchestration of the child activities, and all activities exist as a logical workflow but are truly autonomous. They gain this autonomy by not being dependant on variables and state at the global level, but instead at each corresponding activity scope. This is huge when it comes to persistence as I'll discuss shortly.

"Second, was being able to truly participate in the repository ecosystem, which is key for deployment, management and operations scenarios."

This one should be obvious. XAML is the key to being able to serialize services and workflows in the repository. Reengineering how variables are managed by scoping them to the activity (I'll post some sample code soon) completes the picture. WF 4.0 (and incidentally WCF 4.0) will be repository ready, and this is the gestalt of the Oslo vision.

"And last, but not least was performance."

I don't yet have a full picture of how the performance improvements were attained. I suspect that there has been some runtime tuning, and I am eager to learn more here. However, a major positive consequence of the full schematization of the logical workflow is that the entire workflow does not need to be persisted, but instead, only the relevant activities. For example, if you have a workflow with 4 activities and the first two complete and the third activity waits for a stimulus before it resumes work, only the third and forth activity need to be persisted as opposed to the entire worklfow. I do still have questions about atomic versus long-running behavior, and this, along with other details will soon come to light.

Some more stuff

Another thing that you will immediately notice is that the designer has been completely redesigned, and there is a definite Quadrant influence. What is very cool is that both Quadrant and WF designer are using WPF. On this topic, I have to be honest. The design initially struck me as very drab. If you look at the picture I snapped in my original post you'll see a severe departure from the 3.0/3.5 aesthetic. The interesting thing though, is that as I sat in more sessions and touched and felt the designer it really grew on me. At the risk of sounding cliche, the simplicity of the designer makes for a very fluid user experience, perhaps less is more.

What about WF 3.5?

This is a logical burning question. First, let us all agree that WF 3.0 is not relevant to service developers, so I will ignore it, pretending it doesn't exist. The marriage of WF and WCF in WF 3.5 finally makes WF a compelling tool for composing services and this, by the way is going to be a common theme in the NET 4.0 timeframe and beyond.

So what about 3.5?  Should we continue to build composable service-oriented applications with WF 3.5 or bite the bullet and build on early WF 4.0 bits? Well, according to Cliff, Office 14 is shipping with 3.5, and if Microsoft is willing to invest this heavily in 3.5 in a brand new product that hasn't shipped, you can imagine that it should be suitable for LOB applications as well as the enterprise. A better question is probably how bad the pain will be in upgrading from 3.5 to 4.0. I talked about the Interop activity which will be the bridge from 3.5 to 4.0, but we can't be so naive to assume it will solve all compatibility issues. I spoke with Jurgen Willis who commited to the early guidance paper I mentioned very soon. As promised, when I get it, you'll have it here.

In the meantime, if you want to watch live recordings of the following PDC sessions on WF, I've provided the links below:

posted @ Thursday, October 30, 2008 8:38 PM | Feedback (2) | Filed Under [ WCF .NET 3.5 WF NETFX 4.0 ]

Tuesday, October 28, 2008

WF 4.0: Big Changes Ahead

If attendees in Kenny W's session on WF 4.0 yesterday at PDC 08 are like me, they are both elated, shocked and awed in the lead architect's discussion on major, major changes heading our way in Windows Workflow 4.

When I attended the WCF and WF SDRs in Redmond back in April, Kenny, Ed Pinto and his team talked to us about new workflow types and activities and sought our feedback. It was evident that these improvements that were afoot were positive, and building on a foundation that I had only recently grown to love having been primarily focused on WCF for the last 2 years. In fact, I have pretty much shifted my focus completely from BizTalk Server to WF, WCF and service bus technologies.PIC-0638

Anyway, among the improvements/features discussed were changes to existing workflow types and new workflow styles including sequential, flowchart, state machine and a unification of activities and rules. Also reviewed were improvements to XAML support for modeling and deployment. So, I was very interested to see how far these committed improvements had gone since April, but I was not prepared for such a big surprise.

A framework for writing workflow applications, now in its second release (WF 3.5) is being completely overhauled, from the ground up. Kenny asserted that these drastic changes were necessary to deliver on the changes the team had already been discussing for months, but had expertly kept the details of just what that meant safe within the walls of building 43.

So what does this mean?! This is a question anyone working today with WF is asking. How drastic is the impact to my applications? What should I know about what's coming so that my existing and future investment in WF can be leveraged. Is this another ".NET Remoting has been deprecated" situation?

I couldn't wait for public messaging to address this burning concern, so I talked to Kenny after his session and asked a number of questions, which he was, as usual, very open and willing to answering.PIC-0640

My first question was around the impetus for such a major overhaul. Kenny shared that they focused very, very deeply on key customer requests and opportunities based on earlier versions of the framework. There were 3 feature types that resonated most. First, is delivering a truly model-based framework that allows every aspect of the WF to be represented declaratively. Second, was being able to truly participate in the repository ecosystem, which is key for deployment, management and operations scenarios. And last, but not least was performance.

Earlier in his talk, Kenny cited intriguing improvements, including 10x to 100x performance improvements and persisted workflows becoming essentially "free" with WF 4.0. In our more one-on-one discussion after his talk, he used the analogy of swinging at a baseball with a wooden baseball bat. While the wooden baseball bat is effective, it feels a bit heavy, if not clunky at times. When you pick up an aluminum baseball bat, it is markedly lighter, and feels significantly more aerodynamic. WF 3.0 and 3.5 work, but WF 4 is a new and improved aluminum baseball bat.PIC-0641

While the metaphor was effective, of course, I wanted to know what, specifically I should stop/start doing immediately and ensure my clients receive this guidance. Kenny had partially addressed this earlier in his public talk by pretty much prescribing that WF developers should stop using custom code activities and opt for custom activities instead. In fact, he demo'd a new "Interop" activity that allows your WF 3.0/3.5 custom activities to talk to WF 4.0 activities and workflows. I must admit that this does feel a bit like a P-Invoke for WF, and I don't mean that to be critical, it is just an observation.

Obviously, there are many more questions to be answered, but the first takeaway is to stop using custom code activities and focus existing efforts on developing custom activities, which are really the way we should be developing for WF anyway. To help answer some of the other burning questions we all undoubtedly have, Kenny committed to do his best to provide some prescriptive guidance by the end of the week to fill in the rest of the gaps, or at least provide some early guidance to get begin to prepare. 

As soon as I get my hands on it, I will post it, along with any other gems of wisdom here.

On a final note, lest my prose present me as stoic, of course these changes make me nervous. I have yet to appreciate the full impact of these changes, and am eager to learn more. This said, I have to applaud Microsoft CSD for doing what is right, even when it is painful. We've seen this happen before (.NET Remoting) and will likely see it again. It is both the cost and benefit of forward progress in our great field of software engineering.

posted @ Tuesday, October 28, 2008 9:42 AM | Feedback (0) | Filed Under [ WCF .NET 3.5 SOA WF NETFX 4.0 ]

Friday, October 24, 2008

New Article in Nov/Dec 2008 Issue of CoDe Magazine

My new article on Microsoft BRE is out in the Nov/Dec issue of CoDe Magazine.

You can find CoDe Magazine at bookstores like Barnes and Noble, or you can read the article here: http://www.code-magazine.com/Article.aspx?quickid=0811071 

As always, I'd appreciate any feedback you may have. I would also like to thank Charles Young for his time and knowledge in providing a technical review during the editing process.

If you are not a subscriber, and you like this, or any other articles at Component Developer Magazine, I hope you will consider subscribing: https://www.code-magazine.com/Subscription.aspx 

This is a truly exceptional team to work with, and despite their headquarters being severely impacted by hurricane Ike, they still shipped this issue (that was in production during the storm) on time.

On a related note, if you will be attending the AZ .NET User Group or Phoenix Connected Systems User Group meeting in November (info here: www.azgroups.org) Scott and I will have complimentary issues available as usual. Just another example of how dedicated the CoDe team is to the developer community!

posted @ Friday, October 24, 2008 7:10 AM | Feedback (0) |

Monday, October 20, 2008

Building Service-Oriented Applications with Windows Communication Foundation

Thanks to everyone who came out to my talk at the Phoenix Connected Systems User Group meeting last week.

As promised, here are the links to the presentation materials and solution download.

Be sure to join us on November 13th for a foundational discussion on Windows Workflow Foundation (WF). Abstract to follow soon.

posted @ Monday, October 20, 2008 9:50 PM | Feedback (1) | Filed Under [ Speaking Events WCF .NET 3.5 SOA ]

Not a Typical Day at Work

Not every day you get to come into work to find a movie being shot across the street, especially in Phoenix.

I came into the client site this morning to find a live crew shooting a scene from the new file “Middle Men” staring Luke Wilson, Robert Forrester and James Caan among others: http://www.imdb.com/title/tt1251757/

This picture is from the parking garage directly behind the movie set. They had Monroe street blocked off from Central and backwards, so I was able to squeeze in a few shots from my phone, this being among the better ones. The scene below is in the alley next to a favorite downtown watering hole called Seamus McCaffrey's. On the left, near the edge is Luke Wilson who approaches Robert Forrester who has the trunk of a Cadillac open and is holding a bat. After a few seconds of discussion, Luke Wilson appears to capitulate and then runs off towards stage left.

Middle Men

Apparently, the film is about the beginning of a certain lucrative business that has some roots in Phoenix- go figure.

For those interested in viewing a sequential frame-by-frame sequence of the scene, you can save the following shots to your local machine and use a slide viewer feature to see the action (row 1, left to right, followed by row 2).

PIC-0619 PIC-0620 PIC-0621PIC-0622 PIC-0623 PIC-0624 PIC-0625 PIC-0626 PIC-0627 PIC-0628

posted @ Monday, October 20, 2008 9:44 PM | Feedback (1) |

Powered by: