by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
I’m part of a curriculum advisory panel for California State University for an upcoming SOA program. As part of that, I spoke with someone there recently, relating real-world experiences, in a rather wide-ranging conversation. I started thinking “gee, I should write some of this down, it could be a good blog post”. So, here it is!
I’ll start off by saying that I could probably write a book about this, and there’s likely a bazillion of my peers that could co-author. Many have already written books about this. However, instead, I’m going to distill selected thoughts down into a soap box-ish ranting blog post. I have boiled down some key points into just a few phrases. Maybe it works, maybe the value gets lost in a haze of over-simplification. Maybe I should do a series of posts (but I have NO plans to do so!).
Think big, do small
I’d say the single most important factor is planning. And by that, I don’t mean lock a bunch of smart people in a room for a year and have them emerge with a detailed waterfall Gantt chart. I mean realizing that you’re embarking on a path that will transform the way you create, deploy and manage your business-critical applications. Done right, your enterprise becomes more agile, cost and time to deploy new functionality decreases, and you achieve the nirvana of code re-use we as an industry have been seeking for decades. Done wrong, and you’ll squander precious people resources and budget on an initiative with little or no return.
Mitigation: “boil the ocean” approaches fail. Think it all through, and then select some small services, then gradually pilot/deploy/build-up from there.
Think across the enterprise
In a large company with multiple IT sub-organizations, you need to have enterprise-level vision. Create a governing body. Identify a services portfolio. Without this, you could be doomed to costly inefficiencies such as duplication of efforts where multiple departments create different variants on a service, inconsistent naming, and eventually, a maintenance nightmare.
Mitigation: If you don’t already have an enterprise architecture group chartered with setting enterprise-wide standards and policies, form one.
Take a holistic view
A developer will write 12 lines of super elegant code and say “there, the service is done, you can deploy it now”. It’s no fault of the developer, in their opinion they are done. The problem of course is that you need a services management strategy, and that goes far beyond the realm of what the rank and file developer sees, or in most cases, beyond what they need to see, and certainly beyond what they usually think about.
Mitigation: Think about the entire lifecycle of a service. How will you deploy it? Is there an approvals process? How will you secure it? How will you manage it? How will you monitor it? How will you retire it?
Recognize the people challenges
SOA thinking moves people into the realm of message-oriented, or contract-first if you like, architectures. This requires a different mindset than traditional object-oriented or procedural architectures. You’re in a realm where everything is loosely-coupled, and operations often become asynchronous. I have seen firsthand at challenged client sites just how horribly wrong things can go if you try to apply object-oriented thinking and functional decomposition in a message-oriented environment.
Mitigation: recognize this paradigm shift, and invest in your people (architects and developers) to help them make the transition. Get them training and mentoring.
Recognize the infrastructure challenges
Creating an efficient operations environment for services is something that will be new to many IT folks. Your SLA’s will drive requirements such as high availability and response times. Policy-driven SLAs and policy-driven security add a layer of indirection that result in a more change-tolerant and resilient infrastructure.
Mitigation: Plan for the near-term future, but look to the long-term future to ensure the environment you are putting in place will be able to scale to meet future demands. Your tooling may be great when you have 6 services in production, but how will it be when you have 1,000?
Think beyond the technologies and into the processes
Today’s fast-paced world and rapidly changing business requirements of course lead to rapidly changing needs from the applications we create. Back when applications were monolithic silos, change came slowly, and evolution and deployments occurred at the monolith level. In a services-oriented world where there are numerous services acting as cogs in the machine, the new unit of deployment is at the service or service-composition level. Change is assured, and solution subset deployments become normal. “cowboy deployments” although almost always bad, in this type of environment become disastrous.
Mitigation: recognize Application Lifecycle Management as a key part of your process, and invest in it. Put procedures in place to assure repeatable, reliable builds. Have a testing strategy. Have a versionning strategy. Code migration should not be something people are afraid of.
Plan for disasters
An interesting side effect in the reuse of code assets by implementing intelligent stratification is that you inevitably build dependencies. For example, if all your services use an exception management service to log and respond to exceptions, what happens if that service is unavailable? The impact of a single service outage could ripple through your entire environment.
Mitigation: Think carefully about the dependencies, and architect and build robust services that incorporate mechanisms to respond to outages.
Benefiting from a successful SOA strategy is possible, but it’s something you (as an architect) need to think about. As technologists, we often naturally gravitate towards and get caught up in the technologies. However, there are many touch-points beyond just the technology decisions, what I’ve listed above are just some of the things I’ve observed out in the real world, out where people are actually implementing SOA-based initiatives. I’m hoping by posting this that I’ll help ease the path for some of you….
Technorati Tags: SOA,BizTalk,Service Oriented,ESB
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
I’m currently architecting a project where one of the requirements is to limit the number of concurrent calls to a web service. I’d covered a similar topic in a previous post, and outlined two ways one could try and configure this behavior.
First, you could limit the number of simultaneous connections for the SOAP adapter by […]
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
I’m currently architecting a project where one of the requirements is to limit the number of concurrent calls to a web service. I’d covered a similar topic in a previous post, and outlined two ways one could try and configure this behavior.
First, you could limit the number of simultaneous connections for the SOAP adapter by […]
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
Well, like I mentioned back in January, one of my major personal goals for this year has been to complete my first marathon. I started training back in December and followed Hal Hidgon’s novice training program. I only missed a few runs here and there but was able to stay pretty consistent throughout the 18 week program. Sometimes it got a little tricky while traveling but thanks to the GMaps Pedometer, LogYourRun.com, and my Garmin Forerunner 305, I was able to figure out decent routes on the fly.
I trained for the Ogden Marathon, which was held this past Saturday. We had to get up at 3:45am to drive into downtown Ogden to catch the buses at 5:00am that shuttled us up the canyon and into the mountains. We arrived at the start line around 6:00am where we found some bon fires and about 50 green porta-potties lined up in a row. There were about 2000 runners, which is max-capacity for this marathon.
My wife and I found our friends we’d been training with and joked around until the start of the race, trying to reduce the nerves as much as possible, hitting the porta-potties occassionally, while trying to stay warm. It was very cold up in the starting area — cold enough to see our breath. But we also heard we we’re going to have record-breaking heat later in the day, somewhere in the 80-90 F range.
After a short motivational speach by Jeff Galloway, the race started promptly at 7:00am and there was no turning back. The first 8 miles of the race was mostly downhill, running down a small canyon into the valley of Pineview Reservoire. The next 10 miles required us to run around the reservoire. There were several long stretches that never seemed to end and only one hill worth mentioning. The route took us to the top of Ogden Canyon, where we began our decent into downtown Ogden. This final canyon decent was about 6 miles long (from miles 17-23), at which point we got on the Ogden River Parkway running path for the next few miles until we emerged onto Grant Street and could see the finish line a mile down the road. So the course was mostly downhill — and is generally considered easy — but it didn’t turn out that way for me.
There was a great deal of excitement, energy, and adrenaline in the air when the race began. So like an inexperienced first-time-marathoner I started out way too fast. My normal long run pace is a little under 9:00/mile and I ran the first 3-4 miles at a 7:30/mile pace. I knew I was probably running a little too fast for my own good so I slowed it down to an 8:00/mile pace, which I held for most of the first half. At mile 13, my time was about 1:48 so I was totally on pace to crush the 4:00 mark, which was my main time goal.
Going out too fast was my first mistake but not the only one. I also ate and drank too much early in the race. I had a banana, a gatoraide, and a Gu before the race began. Then at the first few aid stations I ate whatever they gave me. I think this amounted to a few more cups of Poweraide, another Gu, and an orange slice. In the end, it was too much stuff, and I started feeling sick to my stomach. So for like the next 10 miles or so all I could handle taking was water, and I could feel my energy levels depleting. At mile 13, it was also starting to get hot, much hotter than the weather we were used to training in.
I hit my first major wall around mile 15 and knew I was in trouble. After the half-way mark, I slowed my pace down to my normal 9:00/mile pace but after mile 15, I was having trouble even maintaining that pace. I still felt a bit nauseus but I also knew I had to get more carbs in my body or I would never make it. So I put some more Gu down and took some fruit at the next aid station and did my best to keep it in. I also started using Jeff Galloway’s run/walk technique at this point where I’d run for a mile and then walk for 30 seconds. This helped conserve what little energy I had left until I got to mile 20, where I hit an even bigger wall.
After mile 20, I felt like my body was completely depleted and wasn’t sure if I’d be able to propel myself to the finish line. When you start feeling like this, your mind starts playing funny games on you. It’s weird. And to top it off, all the running downhill started to hurt my right hip and knee, so I was dealing with some occasional sharp pains, which forced me to stop a stretch periodically. My intervals between run/walk started evening out, and my overall pace slowed down dramatically…closer to a 12:00/mile pace, but that didn’t bother me any more, because at this point my newly revised goal was to simply finish.
When I finally emerged into downtown Ogden and saw the finish line, all I could think about was collapsing on the ground. When I got close to the end I saw my family and my son Michael joined me to the finish line. It was an amazing feeling to cross the finish line after such a long internal battle.
My final time was 4:19. So I didn’t reach my 4:00 goal but I was very happy to finish. I placed #826, which means that there were more people behind me than in front of me so I felt good about that. 😉
The heat definitely tooks its toll on me and many of the other runners. Over the last 5-6 miles, it was so hot that several runners collapsed off to the side of the course. I saw 3 groups of policemen trying to revive runners along the way, so I was glad to still have been dragging myself along to some degree. Before the race, Jeff Galloway said that when the temperature is over 60 F, most runners slow down about 30-45 sec per mile. Everyone I talked to after the race, ran somewhere between 20-30 minutes slower than they wanted to so Jeff’s estimate was pretty close given my limited sampling.
But heat aside, I think my other two mistakes of 1) going out too fast, and 2) eating too much early on had already done me in. I have much more respect for the race now, the difficulty level, and the importance of training properly and running the race smartly. If there’s one thing I learned, it’s the importance of running the race just like the long runs in training. There were some amazing athletes out there zooming by me with plenty of energy left at the end of the race and I couldn’t help but admire them.
In the end, it was a lot of pain but I’m glad I did it. Although I didn’t win any prize money, I did lose 25 lbs, which was the real purpose behind the goal. I feel much healthier now than I have in a long time.
Now the million dollar question: will I ever do another one?
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
Well, like I mentioned back in January, one of my major personal goals for this year has been to complete my first marathon. I started training back in December and followed Hal Hidgon’s novice training program. I only missed a few runs here and there but was able to stay pretty consistent throughout the 18 week program. Sometimes it got a little tricky while traveling but thanks to the GMaps Pedometer, LogYourRun.com, and my Garmin Forerunner 305, I was able to figure out decent routes on the fly.
I trained for the Ogden Marathon, which was held this past Saturday. We had to get up at 3:45am to drive into downtown Ogden to catch the buses at 5:00am that shuttled us up the canyon and into the mountains. We arrived at the start line around 6:00am where we found some bon fires and about 50 green porta-potties lined up in a row. There were about 2000 runners, which is max-capacity for this marathon.
My wife and I found our friends we’d been training with and joked around until the start of the race, trying to reduce the nerves as much as possible, hitting the porta-potties occassionally, while trying to stay warm. It was very cold up in the starting area — cold enough to see our breath. But we also heard we we’re going to have record-breaking heat later in the day, somewhere in the 80-90 F range.
After a short motivational speach by Jeff Galloway, the race started promptly at 7:00am and there was no turning back. The first 8 miles of the race was mostly downhill, running down a small canyon into the valley of Pineview Reservoire. The next 10 miles required us to run around the reservoire. There were several long stretches that never seemed to end and only one hill worth mentioning. The route took us to the top of Ogden Canyon, where we began our decent into downtown Ogden. This final canyon decent was about 6 miles long (from miles 17-23), at which point we got on the Ogden River Parkway running path for the next few miles until we emerged onto Grant Street and could see the finish line a mile down the road. So the course was mostly downhill — and is generally considered easy — but it didn’t turn out that way for me.
There was a great deal of excitement, energy, and adrenaline in the air when the race began. So like an inexperienced first-time-marathoner I started out way too fast. My normal long run pace is a little under 9:00/mile and I ran the first 3-4 miles at a 7:30/mile pace. I knew I was probably running a little too fast for my own good so I slowed it down to an 8:00/mile pace, which I held for most of the first half. At mile 13, my time was about 1:48 so I was totally on pace to crush the 4:00 mark, which was my main time goal.
Going out too fast was my first mistake but not the only one. I also ate and drank too much early in the race. I had a banana, a gatoraide, and a Gu before the race began. Then at the first few aid stations I ate whatever they gave me. I think this amounted to a few more cups of Poweraide, another Gu, and an orange slice. In the end, it was too much stuff, and I started feeling sick to my stomach. So for like the next 10 miles or so all I could handle taking was water, and I could feel my energy levels depleting. At mile 13, it was also starting to get hot, much hotter than the weather we were used to training in.
I hit my first major wall around mile 15 and knew I was in trouble. After the half-way mark, I slowed my pace down to my normal 9:00/mile pace but after mile 15, I was having trouble even maintaining that pace. I still felt a bit nauseus but I also knew I had to get more carbs in my body or I would never make it. So I put some more Gu down and took some fruit at the next aid station and did my best to keep it in. I also started using Jeff Galloway’s run/walk technique at this point where I’d run for a mile and then walk for 30 seconds. This helped conserve what little energy I had left until I got to mile 20, where I hit an even bigger wall.
After mile 20, I felt like my body was completely depleted and wasn’t sure if I’d be able to propel myself to the finish line. When you start feeling like this, your mind starts playing funny games on you. It’s weird. And to top it off, all the running downhill started to hurt my right hip and knee, so I was dealing with some occasional sharp pains, which forced me to stop a stretch periodically. My intervals between run/walk started evening out, and my overall pace slowed down dramatically…closer to a 12:00/mile pace, but that didn’t bother me any more, because at this point my newly revised goal was to simply finish.
When I finally emerged into downtown Ogden and saw the finish line, all I could think about was collapsing on the ground. When I got close to the end I saw my family and my son Michael joined me to the finish line. It was an amazing feeling to cross the finish line after such a long internal battle.
My final time was 4:19. So I didn’t reach my 4:00 goal but I was very happy to finish. I placed #826, which means that there were more people behind me than in front of me so I felt good about that. 😉
The heat definitely tooks its toll on me and many of the other runners. Over the last 5-6 miles, it was so hot that several runners collapsed off to the side of the course. I saw 3 groups of policemen trying to revive runners along the way, so I was glad to still have been dragging myself along to some degree. Before the race, Jeff Galloway said that when the temperature is over 60 F, most runners slow down about 30-45 sec per mile. Everyone I talked to after the race, ran somewhere between 20-30 minutes slower than they wanted to so Jeff’s estimate was pretty close given my limited sampling.
But heat aside, I think my other two mistakes of 1) going out too fast, and 2) eating too much early on had already done me in. I have much more respect for the race now, the difficulty level, and the importance of training properly and running the race smartly. If there’s one thing I learned, it’s the importance of running the race just like the long runs in training. There were some amazing athletes out there zooming by me with plenty of energy left at the end of the race and I couldn’t help but admire them.
In the end, it was a lot of pain but I’m glad I did it. Although I didn’t win any prize money, I did lose 25 lbs, which was the real purpose behind the goal. I feel much healthier now than I have in a long time.
Now the million dollar question: will I ever do another one?
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
Microsoft has recently added another addition to their Poster Series. They have now added Business Activity Montoring Poster which provides an overviewof the entire life cycle of a BizTalk BAM implementation. It illustrates the design of the observation model by the business analyst, mapping the observation model to the implementation by the developer, deployment by […]
by community-syndication | May 19, 2008 | BizTalk Community Blogs via Syndication
Microsoft has recently added another addition to their Poster Series. They have now added Business Activity Montoring Poster which provides an overviewof the entire life cycle of a BizTalk BAM implementation. It illustrates the design of the observation model by the business analyst, mapping the observation model to the implementation by the developer, deployment by […]
by community-syndication | May 18, 2008 | BizTalk Community Blogs via Syndication
Hi readers,
BizTalk 24 * 7 is down at the moment due to hardware failure at my ISP. They are currently working on the case. I’m trying whatever I can on my capacity to bring it back online ASAP.
Apologies for any inconvenience.
I’ll give you an update once the issue is fixed.
Nandri,
Saravana
by community-syndication | May 18, 2008 | BizTalk Community Blogs via Syndication
Hi readers,
BizTalk 24 * 7 is down at the moment due to hardware failure at my ISP. They are currently working on the case. I’m trying whatever I can on my capacity to bring it back online ASAP.
Apologies for any inconvenience.
I’ll give you an update once the issue is fixed.
Nandri,
Saravana
by community-syndication | May 18, 2008 | BizTalk Community Blogs via Syndication
The BizTalk Team anounced that a new poster, the BAM poster , will see the light of day. I really like the posters that have been released as companions to the BizTalk Server documentation. I'm not really the grapical guy, at least not when it comes…(read more)