Monday, August 30, 2010

Finally a reliable Enterprise Service Bus - Dev Guide Included!

Having been a huge fan of Service Oriented Architecture for more than a decade, I've often had the dream of building the perfect Enterprise Service Bus. However, each time disappointment creeps in as the pragmatist in me weighs the cost of a true ESB vs. that of other solutions.

In startups and SMBs an Application Bus architecture is usually cheeper and sufficient to meet the need, but they always lack the features and scale of a true ESB. For larger clients, a framework solution, like Biztalk, usually takes the lead. In this case the frameworks are so cumbersome that they violate many of the rules of loosely coupled architecture. Either way, these solutions make my inner geek toss and turn with nightmares of technical debt and unneccessary overhead.

Finally this long awaited dream solution has become a reality; thanks to Window's Azure AppFabric. The AppFabric encompasses many of the components we would want in an ESB, giving us the control and features of a traditional ESB. The biggest difference is that Microsoft has moved this particular ESB to the internet and accepted the task of overseeing its maintenance. The AppFabric offers the features of an ESB without all the garbage found in a full framework solution.

After a year of development and feature enhancement, the AppFabric team has completed the first complete developer's guide to the AppFabric. Now its easy to learn how take advantage of its features without having to spend weeks of experimentation or months/years of trying to roll your own. But before you run out and start implementing the AppFabric, take a moment and read about what an ESB is and what's in the AppFabric ESB.

What's an Enterprise Service Bus?
In enterprise architecture, an Enterprise Service Bus (or ESB) is quite literally like a bus. It carries bits of data or service calls from one service to another or one application to another. When implemented properly it simplifies the management of security, communication, and maintenance of loosely coupled services.

In the context of cloud based solutions, an ESB bridges the gap between components of the service running in the cloud and on-premise applications through the creation of a facade in the service bus.

What's in the AppFabric?
While still a relatively new offering from Microsoft, the AppFabric already contains many of the features required in an effective Enterprise Service Bus. In its current version it includes the following: Access Control, Messaging, Message Buffers, and Naming/Discovery. Overtime, I'm sure it will adopt even more ESB features.

Naming/Discovery:
AppFabric, uses a URI based naming system for the management of service names. In this system the owner of the service sets names for each unique endpoint within their namespace as follows: [scheme]://[service-namespace].servicebus.windows.net/[name1]/[name2]/...

These services are registered on the Service bus and all public services can be discovered via an atom feed for each namespace.

Messaging:
The centerpiece of any good ESB is found in its messaging management. Of any I've worked with in the past, AppFabric is by far the most advanced. Most of the features of an ESBs messaging platform are found in the way you bind to services. Unlike custom built ESBs or the typical vendor driven ESB, the Bindings in AppFabric contains both vendor specific and vendor agnostic approaches ranging from the Basic Http Binding to ever coveted Net TCP Relay binding.

In Net TCP Relay Binding, the client who calls a service sends and initial message to the service bus. The service bus then negotiates NAT traversal for the client and the service to attempt to connect the two directly. This upgrade process eliminates overhead when calling services by bipassing the service bus altogether. In this sense, the service bus achieves the highest objective of any ESB, provide service management and facilitation without interfering with service execution.

Access Control:
The biggest challenge in the technology portfolio of many organizations is the creation of the single sign on process. How do we give our customers/employees one user name and password that traverses multiple applications and services. Accomplishing this can sometimes be more difficult than the development of the application itself. Fortunately, any good ESB, AppFabric included can tackle this challenge for you.

Gone are the days of Kerberos or the antiquated AD query language. In AppFabric, Microsoft went a different route and built in an open standard for authentication and authorization based on the OAuth standard. Best of all, they included the tools for integrating with Active Directory, Windows Live, Yahoo Id's, and a number of other non-Microsoft issuers. This means that it can work with most any form of centralized authentication.

Message Buffering:
Message buffering does just what its name suggests, it buffers messages from the client to the service. This allows for two key features in a SOA solution. First, it makes communication from one app to another easier even if the client is using legacy development tools or non-Microsoft platforms by communicating over a simple http(s) binding even if your app is designed for Net TCP Relay Binding. Second, it buffers messages in a queue allowing for delayed execution of messages up to 5 minutes, thus allowing your internal app to process certain calls at its own pace.

Conclusion:
The Windows Azure AppFabric finally gives .Net developers a convenient way to implement an ESB without the overhead and development cost associated with more complex framework or custom built solutions. Its one more way in which Azure helps cut through the expense of development and get us to the point of delivering business value faster.

To learn more about Windows Azure AppFabric, check out the developer's guide to the AppFabric.
Bookmark and Share

Tuesday, August 24, 2010

2010 Saint Louis Day of Dot Net

After going dark on my blog for almost 8 months, one of my favorite events has drawn me to write again.

The third annual Saint Louis Day of Dot Net has once again raised the bar of what a great tech conference should be. More than 650 people came from all over the world to enjoy some of the nations top technical talent, including members of Oracle, Dot Net Nuke, and the ever present Microsoft team. More than 50 speakers and close to 100 presentations made this one of the most informative weekends I've ever seen.

A few of my favorites:
Home Monitoring with Wireless Sensor Networks
- Jesse Phelps

The only thing cooler than a room packed with geeks, wires, and gadgets is an impromptu repeat of the full session in the hallway for the people who couldn't catch the session. Only at the STL DODN can you get a private session from the speaker. Who needs a pod cast with such a cool speaker group.

Start Me Up - Clint Edmonson
Clint covered the basic 6 steps needed to get an internet based start up off the ground. Once again, this was a well attended session. Fortunately this year it was in a bigger room, so there was no need to stand in the hall & listen.

Cloud Confetti - Jeff Ayers
Jeff covered a great architectural approach to securing & backing up data in the cloud. A much needed topic for any cloud deployment. My only regret is that I can't leverage his code just yet. Hopefully it will emerge on codeplex soon.

Better than the sessions:
However, as usual, the sessions were only half of the value. The conversations in the hall and after parties with speakers, vendors, and attendees were just as enlightening. For me the most valuable learning experience was a late night debate about the current/future states of HTML 5 & MS's role in it's development between @bgoldy & @kensipe.

Hats off once again to the STLDODN team for another great event. Can't wait until next year.

As promised, the slide decks for most of my sessions are as follows:




Jump Start: Azurehttp://slidesha.re/bMkk0m
Websites in the Cloudhttp://slidesha.re/9xAvV0
Managing Agile Teams - 300 levelhttp://slidesha.re/aOprLI
-->Precursor: Intro to Agile from STLDODN 2009http://slidesha.re/aABSWI
Bookmark and Share

Monday, January 4, 2010

New Year, New Opportunities for Innovation


Happy New Year! I hope you enjoyed your holiday season.


With this New Year comes new and exciting opportunities for innovation in the Saint Louis Technology Community.

In 2009 we saw a renewed interest in continuing education and a wave of enthusiasm for technical innovations like Cloud development. Unfortunately in 09, we also saw the steepest rise in technology unemployment since the dot com bust. Many of our fellow developers and IT pros spent the holidays fearful of eviction notices and disappointing job interviews that seem to go nowhere.

However, this increase in innovative awareness and a supply of brilliant people waiting patiently provides us a unique opportunity to impact long standing change in the Saint Louis Market. With the help of well-known and well-respected community leaders such as yourself, we can initiate a change in the IT landscape that will help many of our peers get back on their feet.

Saint Louis as a community is largely disregarded and overlooked as a technical leader. This is mostly because of a lack of innovative start up activity in the local market. This vital start up activity is seen by many as our nation's only chance for a speedy recovery from the current recession. Yet in our community (unlike peer communities on the East and West coasts) this type of activity is stifled, discouraged, and even frowned upon.

As community leaders, we now have an opportunity and a responsibility to help our brethren and our community by partnering across vendor specific boundaries and the existing clique communities in Saint Louis IT. If we act together and act quickly, we can provide fellow technicians with the opportunity and support necessary to strike out on their own, to get back on their feet, to spur on economic recovery, and to produce much needed innovation in the Saint Louis technology market.

With your help 2010 can be a year filled with technical innovation and technical growth throughout the Saint Louis area. With your help, we can use the Saint Louis Innovation Camp to impact an immediate and long term change upon the Saint Louis technology landscape.

If you are interested in a change in our local market, I ask you to stand and help us in this valiant effort by partnering with MATA Tech (www.matatech.org) to make the Saint Louis Innovation Camp (www.stlinnovationcamp.com) an overwhelming success.
Bookmark and Share

Friday, October 23, 2009

Coders 4 Charity - Project Review

The Community Council of Saint Charles approached the Coders 4 Charity Event with a few simply requests and an open mind. The basic request could have been solved with a wiki and a calendar tool. Because of their mindset and the dedication of the team, they left with much more.

Original Request:
  • Improved Site Navigation
  • Community Calendar
  • Ability to maintain the site with little technical involvement
Final Deliverable:
  • Complete re-branding for their company -
    Both internet and traditional marketing elements
  • Higher level of interactivity with the target market -
    The non-profit's staff, volunteers, and members now have controlled access to publish content and calendar events.
  • Business Process Optimization & Reduction in Technical Overhead -
    • One of the non-profit's most labor intensive operations was the processing of event registration and payment. The new system will handle this processing in an automated fashion thanks to an implementation of Dot Net Nuke's calendar & registration features.
    • One team member was able to donate hosting services eliminating pre-existing hosting expenses.
    • Another team member removed their dependency on a third party registration management system through the creating of customized attendance reports that extended the registration features.
    • An additional team member reduced their dependency on a third party email distribution system by implementing and enhancing the newsletter features of Dot Net Nuke.
    • Each of these contributions will have a positive, long term impact on the non-profits budget, resource allocation, and capabilities.
Technical Deliverable:
The team choose to leverage the benefits of the Dot Net Nuke Platform primarily because of the ease of configuration/customization, and the availability of a product expert. Once implemented, the team made the following modifications:
  • Secured a new host for the website
  • Implemented version 5.01.04 of Dot Net Nuke
  • Implemented a free skin from SnowCovered.com. Then modified the skin dramatically creating a unique design and layout.
  • Implemented & Extended the users module to allow for multiple levels of involvement, public profile, and account management
  • Implemented the Calender module to post events on the website and register for paid events hosted by the non-profit.
  • Implemented the newsletter module to enhance communication with registered users and decrease the dependency on Constant Contact.
  • Created custom reports to manage non-technical processes associated with event management, attendance, member registration, volunteer registration, and user profiles
  • Created an account with PayPal and added necessary javascript to collect donations and registration fees.
  • Added a javascript based picture rotation that allows the non-profit to graphically demonstrate their involvement in the community
  • Added menu widgets and navigation modules to improve navigation
  • Added modules to manage the advertisement of periodic, content sensitive sponsors and events.
  • Trained the non-profit's staff and volunteers so they could build and manage the content of the site.
Members of the Technology Team:
The success of this project was possible because of the dedication, commitment, and high-caliber of the team members. Each member made strong contributions to the project. Most importantly, the members were all focused and working like mad to complete the project in this short 48 hour project life cycle. The level of team work and professionalism from each of the following individuals was absolutely amazing.
Members of the Charity Team:
Another reason for the success of this project was the contributions of the Community Council team members. The customer was on hand for the duration of the project which allowed the developers to be truly innovative in their search for a solution. Further, three volunteers from the organization came forward to publish content. Their contributions allowed the development team to maximize the amount of time dedicated to development tasks.
Bookmark and Share

Tuesday, October 20, 2009

Coders 4 Charity - Geeks on a mission



This weekend the weather in Saint Louis was perfect for a family outing. Most of Saint Louis was enjoying the zoo and pumpkin patches during the last glimpse of warm weather before fall sets in. However, a group of 60+ dedicated Geeks choose to pass on the outdoor fun in exchange for 48 hours of fast paced, edge of your seat application and systems development. We made this trade because each of us was on a mission. A mission to upgrade the technology that powers several local non-profits. That mission was Saint Louis Coders 4 Charity.

Coders 4 Charity is a new type of event popping up all over the country. Typically during this event the organizers choose a non-profit or charitable organization. The members of the event then work as a team to deliver technical services at no cost to the organization. The biggest catch of this event is that it all takes place in a 48 hour window from Friday evening to Sunday evening.

To generate a bigger impact than usual, the core organizers of the Saint Louis Coders 4 Charity decided to focus on 9 organizations consisting of more than 11 projects, as opposed to just one project as seen in past C4C Events.

Surprisingly, their courage paid off. Each the 11 projects was a huge success with subsequent releases scheduled over the course of the next few weeks.

To the C4C organizers: Thank you for your courage and the great job managing this event. (Kevin Grossnicklaus, Muljadi Budiman, Scott Spradlin, Chris Deweese, and Clint Edmonson)

Value of this event:
In the last 9 months, I have had the honor of being involved in several networking events and continuing education conferences. Each of them was focused on giving back to the community and building connections within the IT industry. However, none of them was as effective at either goal as the Coders 4 Charity event.

Community Outreach - Most outreach events in the IT industry are deemed a success if the members of the community leave with additional education and/or business connections. In the case of Coders 4 Charity, there was a much larger impact. Because of this event several charities have received improved technology, business process optimization, reduced technical overhead, and an ability to better connect with their target community. In some cases, a weekend worth of IT work has significantly enhanced the non-profits ability to support the local community at large.

Technical Education - At C4C, we all had the opportunity to learn new technology products in an in-your-face, do-or-die setting. This focused, objective driven style of learning appeared to be much more effective than the traditional, stiff lecture format. The "on the job training" gave each of us insight into the products that would have otherwise required months in a classroom. Further, using a paired development approach, each member of the team was able to gain experience as a student, a teacher, and a leader. I am quite envious of those junior developers who joined us on this project. At that young stage of professional development, this type of experience provides education that can take years in a corporate environment.

Networking - The organizers of C4C choose to build teams around technical abilities and not existing industry ties. This allowed even the most introverted of geeks to open up to new connections. Further it forged new relationships in the face of success or failure. Best of all, each of us was able to see the real strengths (and weaknesses) of the people we networked with, not the facade that most people wear in the typical networking environment. As such, the relationships formed with the assigned team members at this conference appear to be much stronger than most of the networking connections formed in traditional networking events.


Looking forward:
You can expect continued support for this type of event in the coming years. Hopefully, I will have the opportunity to be involved again in the future. With any luck, we will see more of this type of event in the STL area and beyond.
Bookmark and Share

Wednesday, September 30, 2009

Financial and Environmental impact of Virtualization in your company

Energy costs are on the rise, as is the demand to reduce data center and server expenses. The Green IT Movement has proven to be a cost effective way to accomplish both. It also has the added benefits of helping the environment and creating positive PR for your IT team and your company. It’s no wonder that Green IT is among the top initiatives for CIOs and IT teams in 2010.

Virtualization and Cloud computing are at the center of most Green IT efforts. By now, most IT professionals have a vague understanding of the financial benefits of virtualization. However, few companies maintain specific calculations regarding the total cost of ownership for their servers or data center(s). Even less understand the total cost of ownership for virtual servers. Without this information, understanding the return on investment, or even completing a simple cost benefit analysis, can be a daunting task.

Further, the PR associated with a Green initiative is more impactful if the environmental benefits can be quantified and reported. Unfortunately, these calculations are even more difficult to produce, so most IT teams simply ignore them. This oversight makes it impossible for marketing, PR, and costumer relations to leverage the intrinsic value generated by your Green IT efforts. Ultimately, your company misses out on an opportunity to better connect with their target audience.

Fortunately, our friends at VMWare have done the leg work for us to create a baseline for these statistics. Their new TCO/ROI Calculator and Virtualization Savings Calculator can quickly quantify both the Financial and Environmental impact of server virtualization:

Just remember, VMWare is a provider of virtualization solutions. That said, this calculator does have a slight bent, because it is designed to motivate you to purchase virtualization products. However, it does serve as great benchmark to begin your own analysis. Further, the Virtualization Savings Calculator site includes a Virtualization Assessment Tool that can help you compare your needs to those of similar companies. It can also suggest a platform that best fits the virtualization plans of your Green IT initiative.

Bookmark and Share

Saturday, August 29, 2009

Saint Louis Day of Dot Net


The second annual Saint Louis Day of Dot Net (#STLDODN or @STLDODN) was a huge success. The speaker line up was simply amazing. The sessions covered everything from Application Architecture to WCF. Unlike most Microsoft events, the tracks in this session were focused on the needs of the local development community. To meet that need, there were sessions that talked about the current job market, Dot Net Nuke development, and even Subversion. None of which would be popular topics at PDC, TechEd, or other Microsoft training events.

Near the end of the day, I spoke with several local IT leaders and a few from other mid-western states. Each was excited about DODN's offering and the value it brought to their IT teams. Several of them suggested that this show changes the dynamics of their education budget. One even stated, "My team has learned more at the STL Dodn, than PDC. Since its a tenth of the cost, I can't justify the large out of state shows anymore." - Sorry PDC

I am amazed at the quantity and quality of the attendees. The turn out was even more amazing when you consider that this is only the second year for this show. Perhaps the most amazing part, is the history of this show. STL Day of Dot net and its 450+ attendees are the result of five IT leaders with a passion for the Saint Louis tech community. I guess there is no limit to what a group of geeks can do if they set their mind to something.

Planning for next years event will begin shortly, so if you are interested in sponsorship or attendance, check out the STL Day of dot net site: http://www.stlouisdayofdotnet.com/

My part:
In recent months, I have been focused on one core principal: “Building corporate value through IT”. The three topics that most clearly add to this focus are Agility, The Cloud (Infrastructure Agility), and Enterprise Architecture. Fortunately, I was selected to speak on two of these subjects: Agility and The Cloud. Given my background and the limited adoption of each in the Saint Louis market, my sessions were focused on the strategy of each, basic implementation, and their impact on the IT culture.

I wrote this post to share the slide decks from each of those talks. Some of the information in these slides were pulled from prior posts. However many of them were not. In the upcoming weeks, I will try to expand on the slides with short articles on each major topic in the slide decks.

Slide Decks on slideshare:
  • Cloud Intro - Saint Louis Day of Dot Net:
    Introduction to The Cloud from Saint Louis Day of Dot Net session.
    History, Composition, Advantages, Disadvantages, Cloud features available in the Microsoft Azure Platform.
  • Agility Intro - Saint Louis Day of Dot Net:
    Introduction to Agility from Saint Louis Day of Dot Net session.
    History, Definition, Comparison to Waterfall, Agile methodologies, Myths & Misconceptions, Common failure, & Advanced discussion points.
I hope you find this information useful. As always, feel free to join in the discussion. Your comments and tweets are greatly appreciated.
Bookmark and Share