BizTalk is a daunting development environment. If everything works as expected, we're fine! If it doesn't, then you don't even know where to start looking!
Here are some tips on BizTalk bug hunting to help you get started:
1st - check service instance database
Go to BizTalk Administrator, BizTalk Group, Show suspended service instances (if you don't find it here, try the dehydrated section).
If your instance is listed here, you can look at the exception report. Read the message and try to interpret it from the server's perspective.
2nd - use Health and Activity Tracking (HAT) to look at messages and debug orchestration
BizTalk logs its steps for each process in a database, and HAT allows you to access the database. Use this if the exception message itself is not enough to find out what's happening. Beware, too much detail can confuse as well as help.
3rd - check Windows Event Viewer
If the problem is in the server the best place to find out something is the Windows Log. Use the Event Viewer (Control Panel, Administrative Tools, Event Viewer).
Happy hunting!
Feel free to post here about other tips on BizTalk bug hunting. Your input is welcome!
2008-04-14
BizTalk main concepts and best practices
This semester I'm teaching a course about Enterprise Applications' Integration. We're using Microsoft BizTalk Server 2006.
This is a brief concept map of BizTalk concepts:
Shapes
- Send
- Receive
- Construct Message
- ...
Message
- Schema
- Distinguished field
- Promoted field
- Map
-- Functoid
Correlation
Business rules
- Policy
- Vocabulary
You can find more information about this in the BizTalk Library.
I've also recommended my students the following best practices:
1 - Shapes first, connections next, bindings last
This helps to keep the development focus on one problem at a time.
2 - Follow a consistent naming convention
It can be prefix-based (Port_...) or suffix-based (..._Port) or something else. But do use one!
3 - Use small and simple orchestrations to try out components
Use small and simple projects to try out the features of BizTalk. Tutorials are good for the overall solution, but most of the times you need to solve a particular problem at hand, and testing it in the middle of a complex orchestration won't help. Create a test project, try what you want and then use what you learned in the main project.
This is a brief concept map of BizTalk concepts:
Shapes
- Send
- Receive
- Construct Message
- ...
Message
- Schema
- Distinguished field
- Promoted field
- Map
-- Functoid
Correlation
Business rules
- Policy
- Vocabulary
You can find more information about this in the BizTalk Library.
I've also recommended my students the following best practices:
1 - Shapes first, connections next, bindings last
This helps to keep the development focus on one problem at a time.
2 - Follow a consistent naming convention
It can be prefix-based (Port_...) or suffix-based (..._Port) or something else. But do use one!
3 - Use small and simple orchestrations to try out components
Use small and simple projects to try out the features of BizTalk. Tutorials are good for the overall solution, but most of the times you need to solve a particular problem at hand, and testing it in the middle of a complex orchestration won't help. Create a test project, try what you want and then use what you learned in the main project.
2008-03-31
Mac's Exposé and Spaces coming to a Windows near you
Macs have the edge on Windows (XP and Vista) when it comes to window management.
First it was Exposé, a quick and intuitive way to find open windows or to uncover the desktop.
More recently, it was Spaces, an easy to use virtual desktop manager that allows you to have one desktop for your email, one for your work, on for documentation, etc.; and switch between them.
Otaku software brings these features to Windows with TopDesk and DeskSpace.
Highly recommended! Give them a try and "see what you think", literally ;-)
First it was Exposé, a quick and intuitive way to find open windows or to uncover the desktop.
More recently, it was Spaces, an easy to use virtual desktop manager that allows you to have one desktop for your email, one for your work, on for documentation, etc.; and switch between them.
Otaku software brings these features to Windows with TopDesk and DeskSpace.
Highly recommended! Give them a try and "see what you think", literally ;-)
2008-03-28
BizTalk 2006 installation guide (in portuguese)
You can find it in this Google Doc.
It's in Portuguese, but it uses the English terms for each step of the way. Some steps are illustrated with screenshots.
It's in Portuguese, but it uses the English terms for each step of the way. Some steps are illustrated with screenshots.
2008-02-20
Association vs Union / Ordem vs Sindicato
Last week, a colleague asked:
"What's the difference between the Engineering Association and the Engineers' Union?"
At the time I could not give him a straight answer, but after some tought, I think it comes down to this:
The Association protects Engineering; The Union protects Engineers.
/ This post is bilingual: English (U.S.) and Portuguese (Portugal) /
Na semana passada, um colega perguntou:
"Qual a diferença entre a Ordem dos Engenheiros e o Sindicato dos Engenheiros?"
Na altura não lhe consegui responder de forma simples, mas depois de pensar um pouco, acho que se resume ao seguinte:
A Ordem dos Engenheiros protege a Engenharia; O Sindicato protege os Engenheiros.
"What's the difference between the Engineering Association and the Engineers' Union?"
At the time I could not give him a straight answer, but after some tought, I think it comes down to this:
The Association protects Engineering; The Union protects Engineers.
/ This post is bilingual: English (U.S.) and Portuguese (Portugal) /
Na semana passada, um colega perguntou:
"Qual a diferença entre a Ordem dos Engenheiros e o Sindicato dos Engenheiros?"
Na altura não lhe consegui responder de forma simples, mas depois de pensar um pouco, acho que se resume ao seguinte:
A Ordem dos Engenheiros protege a Engenharia; O Sindicato protege os Engenheiros.
2008-02-04
PhD Position Paper - v1.0
Today I finished the first complete version of my position paper. One month late according to my original planning.
The title is "Computer science research for the Internet of Things". The paper is about the forthcoming widespread use of smart things, like RFID tags and sensors, along with omnipresent wireless networks, that will create an Internet of Things (IoT), where most everyday objects will be interconnected and part of an universal-purpose system akin to the Internet.
This position paper looks at the IoT in a computer science research perspective. It identifies the main challenges to address and points to a set of possible research paths. It also provides some insight into what will change in the way information systems are designed and used in the IoT era.
The paper is still not ready for publishing, but it's ready to be sent to my Advisor so we can discuss the written ideas.
In short, the PhD prologue still isn't over, but I'm making progress...
All the best!
The title is "Computer science research for the Internet of Things". The paper is about the forthcoming widespread use of smart things, like RFID tags and sensors, along with omnipresent wireless networks, that will create an Internet of Things (IoT), where most everyday objects will be interconnected and part of an universal-purpose system akin to the Internet.
This position paper looks at the IoT in a computer science research perspective. It identifies the main challenges to address and points to a set of possible research paths. It also provides some insight into what will change in the way information systems are designed and used in the IoT era.
The paper is still not ready for publishing, but it's ready to be sent to my Advisor so we can discuss the written ideas.
In short, the PhD prologue still isn't over, but I'm making progress...
All the best!
2008-01-29
More juggling help: "hat" of the day
When I have several working "hats" to wear in a week - teaching, research, etc - a technique that also helps me to keep focused is setting a "hat" for each day, at the start of the week. This way I can do more related tasks in a single day thus reducing context-switching costs.
For example, this week my "hats" are:
Monday -> Teaching
Tuesday -> Big Picture
Wednesday -> PhD
Thursday -> PhD
Friday -> Teaching
For example, this week my "hats" are:Monday -> Teaching
Tuesday -> Big Picture
Wednesday -> PhD
Thursday -> PhD
Friday -> Teaching
2008-01-28
John C. Dvorak on Software License Agreements
Generally speaking, a software license and various terms-of-service and terms-of-use agreements say the following:
- Whatever you think we said, or whatever we said, about the product may have nothing to do with reality, and you agree not to expect that it does.
- No matter what happens, including damage to your equipment or even someone's death, you agree not to blame us even if it is our fault.
- If we are a Web site and you use it, no matter what bad things happen, it is not our fault.
- If you contribute anything at all to a site or system, we own it.
- You will never sue us for anything, ever.
My advice is to have a 13-year-old do all the installations and make all the agreements. They cannot legally enter into these contracts. I wish someone would try that trick and litigate it.
John C. Dvorak in PC Magazine
2008-01-18
Juggling tasks at work
No, this post isn't about Circus artists (or is it...? ;-)

Currently I'm struggling with several different nature tasks at the same time. Some are bureaucratic while others are highly focused knowledge work (in my case, programming).
When I'm programming, I'm constantly being interrupted and I lose track of what I'm doing. Bureaucratic tasks are never very complicated, but they require full attention.
If one of the sources of lower productivity (and motivation) is constant interruption, then I tried to eliminate the source of most interruptions, namely, e-mail. I have turned off the email programs while I'm programming and I willed myself into resisting the urge to go and check it every few minutes! Now I work hour-long intervals and things have been working out much better!
It wasn't my idea actually, but my wife's. (One more) big thanks to her!
I'd like to hear how you handle the same problem!

Currently I'm struggling with several different nature tasks at the same time. Some are bureaucratic while others are highly focused knowledge work (in my case, programming).
When I'm programming, I'm constantly being interrupted and I lose track of what I'm doing. Bureaucratic tasks are never very complicated, but they require full attention.
If one of the sources of lower productivity (and motivation) is constant interruption, then I tried to eliminate the source of most interruptions, namely, e-mail. I have turned off the email programs while I'm programming and I willed myself into resisting the urge to go and check it every few minutes! Now I work hour-long intervals and things have been working out much better!
It wasn't my idea actually, but my wife's. (One more) big thanks to her!
I'd like to hear how you handle the same problem!
2008-01-11
InspiRed by love...
... I keep on moving forward and upward!
Subscribe to:
Posts (Atom)