Posts

Is Ruby Eating Your Lunch?

We have an internal discussion going on at my job about how Ruby is eating into the Java ecology. It seems that the Java community has become VERY interested in Ruby. The .NET crowd is too, but it seems the Java tribe picked it up quicker, and began running with it faster. I made a half-intended remark in that discussion that it seemed Ruby was eating Java's lunch. Easier to use, developers like the tools and language better, and they feel more productive. Our Java team lead fired back that Ruby is eating .NET's lunch as well. And he may be be right. I hope it is. But this post isn't really about whether Ruby will dominate in 12 months (my prediction is it won't, not in the classic sense.) This post is about what does the effect of Ruby (and it's ilk like Python) have on our ecologies, both Java and .NET. By ecology, I mean the community strength and presence, thought leadership, toolsets, open source projects and modern development practices. I think that the R...

Speaking at CincyPG

I have the honor of speaking at the Cincinnati Programmers Guild on August 29th, 2006. It's a Tuesday, at 6:30pm. It will be my first formalized presentation on 'Networking for Deveopers'. The topic does not cover how to meet people in your industry, but rather what you need to know as a developer about networks. Troy wrote a great abstract: The talk is aimed at giving developers some useful insight into how our computers get hooked together, talk to each other and ultimately make our applications work. If you've ever spent too much time trying to track down a bug in your program that turned out to be a firewall issue or something else networking-related, then this discussion is for you. And if you don't know much about computer networks, it's a great time to learn before you're expected to know all about them for your next project. If you are in the area, see if you can drop by and say hi!

Kellerman Software is on the air!

A friend of mine, Greg Finzer, who is also a great developer, has launched a company to sell components for developers. Greg has a great way of distilling complex needs down to simple to use components. Check them out at www.kellermansoftware.com . Why am I posting this? I like to support my friends. I also like to support people that have an idea, and take risks to at least try to make them a reality. There is nothing worse than forever wondering wether your idea would have worked or not.

Intro to BizTalk Server and Windows Workflow Foundation

I just finished my mini-tour of Ohio with the talk about BizTalk Server and WF. The sessions went well, although I ran out of time in Toledo, and wasn't able to complete a more complex demo. The goal of the session is to introduce workflow and the two major platforms to do it with, so I think I at least accomplished that goal. I want to thank NWNUG and the Dayton .NET Developers Group for having me. As usual, it was a lot of fun. I think the funniest part was in Dayton. They were reading off names for the the swag, and the announcer couldn't pronounce the last name of the winner and the first name had been abbreviated to just T. The announcer started spelling it, and a women (I actually should say THE woman, as she was the only one) stood up and said that it was her, and pronounced a name that most likely used every letter in the alphabet. Someone in the audience ( James from work) said "Why didn't you just say 'The Girl'?". Everyone laughed. James is f...

WF on tour!

I will be speaking about BizTalk Server and WF at NWNUG July 25th (Tuesday). They have a really interesting UG format. The first portion is meant to be easier content (level 100 type stuff). They then break for pizza, and then the second session is related to the first, but of a high level. A great way to help people ease into the water! Jim has graciously invited me to speak at the Dayton .NET Developers Group again. That will be this Wednesday (July 26th). The topic will be very similar to the NWNUG session. With BizTalk Server close to my hear, and knowing where MS is taking the product, workflow is near and dear to my heart. Mark my words, the lanscape for WF/BizTalk/middleware will be dreastically different in two years. There are major mind shifts happening, and I think it is very exciting. BizTalk server skills have always been a niche need, much like HIPAA, X.12, etc. Soon most developers will have at least basic skills in workflow and related technolgies, just like SQL serv...

The finer points of the WSS adapter

I have recently finished a project for a client that used the IBS model. Infopath -> BizTalk -> Sharepoint. In this application the Infopath client used several web services. Some were hosted in IIS, and some in BizTalk. When the user submitted the form, it was sent to a BizTalk orchestration exposed as a web service for processing before being stored in a WSS doclib. [In IP you have to send only the data, not the entire form, to the web service.] The orchestration was nicknamed the router. It did some server side validation (you should never rely on client side validation, that is just there for the user's UX benefit). It also dynamically configured the WSS send port, and did some other housecleaning tasks. Each form was for a different business unit (more than fifty options). The router determined which site (based on audit year) and doc lib (based on business unit) the form should be sent to. While doing this project we learned a bit about the WSS adapter that we hadn'...

Final TechEd thoughts

Well, it's Father's Day, and I have finally recovered from TechEd. I think I slept most of Saturday just trying to regain from the exhaustion. Out session on designing BizTalk solutions on Thursday morning went much better than I had hoped. I expected ten people to show up because it as was at 8:00am, which is a hard time to get up on the Thursday of TechEd. About 100 people showed up, and our score was 8.5 on a scale of 1-9! We were in the top ten of all 1,006 sessions until later that day. We got bumped to #11. Still a great showing. Personally, I think I have done better before, but the crowd seemed to have liked it. I ended up going to several IIS7 sessions, a session on DSL's and frameworks, and went to some other great sessions/chalk talks. The new architecture for IIS7 is really awesome. I can see how it will really help in the future. The first major step they did was to take the core functionality that supplied authentication, caching, dir browsing, static file ser...

TechEd Tuesday Treatise

Image
Wow! What a day. I needed some time off from going to sessions so I hung out in the architectre TLC area. I got to watch an arcCast be recorded. The topic was about the new service library GAT tools for patterns and practices. It was really intersting to see them talk about these new features. You should check out the kit. They have a CTP now, and will release at the end of July. The best talk so far, at all of TechEd was the SOA architecture talk by Beat Schwegler. He was a great speaker, very calm but very engaging. His slide deck was definitely outside what the content owners have been forcing us speakers to follow. I think that is cool. I have been toying with swapping to a serperate deck at the last minute. We shall see. I do want good scores, but I also want to be asked to come back next year. One of his points was that services should be designed around the What of business, not the how. Developers tend to immediately think of how, when an architect should always focus on the wh...

YATECU

Image
The 'blogosphere' (always hated that term) is a glow once more with a daily flood of TechEd updates. So, Yet Another Tech Ed Conference Update. I had a depressing start to the day. My first session was terrible, and the speaker was bad. The last ten minutes were what I thought the whole session was going to be about. I need to learn more about the new Office Scorecard Manager so that I can use it on a few upcoming projects (both internal and external). The speaker spent most of the time demoing and talking about BizTalk BAM. BAM is awesome, don't get me wrong, but the topic was supposed to be about scorecards. I learned my lesson, and should of bailed as soon as it was proving to be sucky. My second session was to be on building Finanical system with BizTalk and human components. Brian L and I thought maybe they were going Borg on us. But then decided that a human heart was likely NOT at the center of any financial system. James pointed out this was possible, if that heart...

Tech Ed 2006 : day 0

Image
So, day zero is nearly complete. Today is Sunday. I arrived yesterday after completely missing my plane. I thought my flight was on Sunday, and when I went to print out my itinerary Sat afternoon I made the connection that 6/10 was indeed not Sunday, but that someone had rudely moved it to Saturday. This would have been ok had I noticed this incovenient change before my flight. But I noticed this at 1:30, and my flight left at 11:00. I called up the travel people, and they re-booked me for a flight later that day. Got to the Hilton just fine thanks to them. While on the shuttle from the hotel I hooked up with Brian Loesgen, a fellow MVP and VTS'er. I spent the day registering for the event, and doing my initial check in at the speaker lounge. Registering was quick and painless, and instead of a normal laptop bag this year, we get Man-Purses. They are actually quite nice bags, your laptop goes in vertically however. The speaker lounge was less 'lounge-y' than I expected and ...

HOAP slide deck

I have been asked by some friends at the user group to post the slide deck for the agile talk. I put them up at my new site on officelive. www.brianhprince.com . Lower right hand side. The editing tools for office live aren't even close to what SharePoint can do, and I am starting to see some of the limitations. Anyway, enjor the deck. I also included all of the hand outs, etc. Let me know if you have questions. -bhp

HOAP in Columbus

There will finally be HOAP in Columbus. I will be doing Hands on Agile Practices this Thursday (5/25/2006) at CONDG.org. It is at the Microsoft building in the Polaris area. There have been plenty of great talks on Agile/xp, and what it means. They explain the why really well. The beliefs, etc. After those though I have always wondered about the how. This talk will focus on those things that WE do. HOAPfully this will help you adapt your practices. Then, as usual, it's hoggy's afterward. -bhp

BizTalk 101 in Findaly Ohio

I have the pleasure of presenting my BizTalk 101 talk to the Findlay, Oh area .NET users group on 5/24/2006. I really like driving up there and working with them. They always have great questions. If you are in the area, you should drop by and say hi. I will cover what this thing does, and how you can use it in your enterprise, your application, and how it can make your life better. :) -bhp

Where do business rules go?

‘Where do I put my business rules and logic? Where does validation fit in?’ I don’t know how often I hear this from clients. It is always asked in one or another during most coaching or development engagements. Sometimes it is because of BizTalk, and other times it is because of Atlas (or some other front end framework). Our first rule of validation: ‘All validation is done on the server side.’ The business layer is responsible for validating its input. We never trust input coming from outside the business layer. This is a fundamental guideline for application security. Any validation on the web client is purely to support a great user experience. It should definitely be there, but it is just for the user’s needs, not for the system’s needs. So, where do you put your business rules? As with many things with BizTalk, it depends. The first aspect to consider is how you are using BizTalk in your system. If you are using it as middleware to integrate several different systems (sort of an E...

www.brianhprince.com

I have setup a site for myself at www.brianhprince.com . I am keeping my blog here. I setup the site with MS Office Live. I wanted to get the domain name for free, and have an easy place to host files or stuff that I reference in my blog. I also wanted to try out the new service. It isn't bad for a beta. There are some significant features missing though. I can't get rid of the lame border around linked images, nor can I use custom HTML/CSS to place my own content. Even the content web part for Sharepoint can do that. -bhp

TechEd 2006 Schedule

I am getting very excited about going to TechEd 2006. Not only do I get to go, but I get to present. This will be great. I will be attending the second half of the MVP Engagement Event Sunday afternoon, and the influencer's party on Wednesday. Keith and I were just told that our session has been booked for that Thursday (6/15) at 8:00am! So, it looks like I won't be partying too much at the Influencer's Ball. Our session is : CON329 - BizTalk Server Solution Lifecycle: Planning and Design (Part 1) Level: 300 Part one of a three-part series of sessions covering the design, implementation and management of a BizTalk Server solution. The first session covers the common scenarios where BizTalk is an appropriate solution and what questions you should be asking to develop appropriate timelines, resource plans and deliverables. This session provides experienced IT project managers, who may not have previously worked with BizTalk Server, the background needed to successful launch a...

Simplicty bites

I am a big fan of simplicity, which is an unusual trait for us architects. But sometimes, it can waste some of your time. In BizTalk 2004, while using VS2003, if you wanted to push up your solution to the server to test it, you had to (chant with me now) RE-build, RE-GAC, RE-start [the host]. This can be a huge hassle, and slows down your momentum during development. To the point that you almost avoid it as long as you can. This always caused problems for me, since I would be tempted to break the 'change one thing at a time rule.' This just led to more frustration on my part. With the new BizTalk 2006 developer tools that plug into VS2005 they made this so much more simpler. You now right click the project, and choose 'deploy.' And that's it. It's all handled for you under the covers. VS will rebuild (if needed), upload, regac, etc. to get you new code running. Very cool. It made huge increases in my productivity, and has made it easier for new BizTalk developer...

HOAP in Cincinnati

Last Tuesday, Michael and I went to CINNUG to present our Hands on Agile Practices talk. This talk has been received well before, especially in Dayton. Something was in the air this time though. It might of been the Pepsi Michael pushed on me before the session started (I don't normally drink soda.) The group was in a great mood, and we had a ball. The time flew by, and everyone was laughing and hollaring. CINNUG meets at a training center. In the room next door there was a trial session of their PM classes so that potential students could get a taste. I can only imagine that the room was filled with eager PM's to learn what these classes were like, and all they could hear was us carrying on in our room. I am sure many of them signed up for developer's classes that night. It was obvious developers have a lot more fun. It was also good to retain my track record of filling the room at CINNUG as well! :) All kidding aside, it was great to see the lights go on with some people...

HIPAA errors

I have been struggling to get some 278 (service approval) HIPAA messages in through my BizTalk box (using the accelerator). I was stumped. I received some sample messages from colleagues, and I still couldn't get the messages processed. Then Keith (on the BizTalk team at MS) gave me an idea. I started up Notepad2 to look at the messages, and turned on the encoding/hidden characters. Voila! The line endings were CRLF. Changed them all to LF, and everything started going through! Yeah! In hindsight, it always seems to be the smallest thing that is the hardest to solve. I remember that when I was first using C, I would spend hours to fix an issue, and it turned out to be a missing semi-colon. For future reference, here is a small sample (of course wrapping is all messed up): ISA*00* *00* *ZZ*7654321 *ZZ*1234567 *050101*1200*U*00401*000000054*0*T*:GS*HI*7654321*1234567*20050101*0717*141797357*X*004010X094A1ST*278*0002BHT*0078*11*20030721071727*20030721*071727HL*1**20*1NM1*X3*2*NYSDOH**...

BizTalk 2006 HIPAA Accelerator

I have occasionaly had to work on HIPAA related projects. I never had to get very deep in the spec (there always seemed to be others around to do that heavy lifting). Recently I have had time to install the accelerator for BizTalk, and work with it. First off, the accelerators are a group of software add-ons for BTS that added new functionality for specific markets. SWIFT, HIPAA, HL7, etc. The HIPAA package adds all of the related schemas from WPC ( THE company that builds and maintains the schemas), and an EDI engine that can process the edi formatted messages. This engine runs as a service on Windows Server, and can be configured to watch a FILE drop or an FTP drop for in/out going edi formed HIPAA messages. It will grab the message, validate it, find the appropriate party from BTS, and then convert it to XML and drop it in the message box. The engine will also handle the functional responses often needed in a HIPAA exchange. These message (997, etc.) are responses back to the sender...