by stephen-w-thomas | Nov 11, 2012 | Stephen's BizTalk and Integration Blog
Let this go down in the record books that today marks the First Annual Celebration of International Check Your Enterprise Single Sign-On Master Secret Key Day!
Picture this, it is 2 AM and you are sound asleep. All of a sudden your work pager goes off. The datacenter is flooded (why they had a datacenter in the basement is a whole other story) and you lost the Master BizTalk Server. The power went off and backup initially failed so all the servers restarted. Your other BizTalk boxes are just fine but can not talk to the Master SSO server so they are not working. Your SQL database is ok because it was higher on the rack. Would you know where your SSO Master Secret Key is in order to promote another server to be the Master? If so, you would be up and running in less than 2 minutes. Otherwiseit might take hours or even days to recover.
Did the expensive implementation consultants who have now left your company tell you something about a SSO Key file someplace but you do not know where it is or what the password is on the file (you can always try “password” first if you do not remember it)?
Put all those worries behind you thanks to today! 11-11 should be your day to re-export your SSO Master Secret Key and keep it in a safe place.
Exporting out the Master Secret is as simple as 1, 2, 3 (http://msdn.microsoft.com/en-us/library/aa559192(v=bts.10).aspx)
1. On the Start menu, click All Programs, click Microsoft Enterprise Single Sign-On, and then click SSO Administration.
2. In the scope pane of the ENTSSO MMC Snap-In, expand the Enterprise Single Sign-On node
3. Right-click System, and then click Back up Master Secret.
Remember first thing Monday, double check your SSO Master Secret Key file and have a Happy International Check Your Enterprise Single Sign-On Master Secret Key Day!
by stephen-w-thomas | Dec 29, 2005 | Stephen's BizTalk and Integration Blog
I guess I was sleeping and forgot to post the answers to the BizTalk Interview Questions from a few posts ago. No worries though, Gustavo Echeverry went thought and answered them complete with reference! Great work!
In any case, here are my answers. Of course, in some cases it may be possible to have more then one right answer.
Development Focused Questions
What is BizTalk?
· Biztalk is a messaging based integration tool.
· Bonus: It consists of several different pieces including Business Processes (Orchestrations), BAM, Rules Engines, and HAT.
In BizTalk 2002, schemas were DTD based and allowed Xml Elements to be in any order inside a record using the <Any> keyword. How is this different in BizTalk 2004?
· BizTalk 2004 is XSD based.
· BizTalk 2004 Elements default to <Sequence> and <Any> is no longer available.
What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk?
· Message Type is a BizTalk System property that is promoted inside a Pipeline. It is made up of Document Name Space # Root Node Name.
How do you call a Non-Serializable .Net helper class inside an Expression Shape?
· Add a reference to that class.
· Make sure your Orchestration is Long Running transactional.
· Add an Atomic scope.
· Create an Orchestration variable of that class inside the scope.
· Create an instance on that object inside the scope.
· Call the method.
· Bonus: Mention the class must be strongly signed and in the GAC.
What if the class is Serializable?
· No transactional Orchestration or Atomic scope is needed.
What does the Value Mapping Functoid do?
· Returns the second parameter if the first parameter is true
How do you use Auto Mapping in the BizTalk 2004 mapper?
· Select a top level node, hold down the Shift key, drag the top level node over to the other top level node.
What is the default mapping for Auto Mapping?
· The default is by structure. This can be change to by node name on the map properties. (This default in the auto map messes me up every time.)
Step-by-step, how do you set up a basic, pure messaging solution taking in a flat file and send an Xml File out to 5 different places?
· Create a Flat File schema
· Create a Custom Pipeline using the Flat File Disassembler
· Create a Receive Port
· Create 5 Send Ports
· Create a Send Port Group
· Add each Send Port to the Send Port Group
· Create a Filer on the Send Port Group using Bts.ReceivePortName (or something close to this)
· Additional: no map is required but it is ok to mention it
Design (Architecture) Focused Questions
What is the difference between a Distinguished field and a Promoted Property?
· Distinguished fields are light weight and can only be used inside an Orchestration.
· Promoted Properties are defined inside a property schema, are tracking in SQL, can be tracked in HAT, and can be used for content based routing.
How do you achieve First-In-First-Out message processing of messages received from multiple sources using an Orchestration?
· Use a Sequential Convoy to process the messages in the order they are received into the Message Box.
· Make sure Ordered Delivery is set to True inside the Orchestration Receive Port.
At high level, what do Receive Ports and Orchestration Send Port really do in terms of messaging? What about Send Ports and Orchestration Receive Ports?
· Receive Ports and Orchestration Send Port are both publishers.
· Ports and Orchestration Receive Ports are both subscribers.
When working with Schemas, Maps, Pipelines, and Orchestrations how should the projects be structured?
· Schemas and Maps in its own project
· Or Schemas and Maps together in its own project
· Orchestrations in its own project
· Pipelines in it own project
What is direct binding?
· Direct binding has three types: direct to message box, self correlating, and partner ports.
· Used to route message between the message box and Orchestrations without using bindings or from one Orchestration to another Orchestration.
What is BAM used for?
· BAM is used to monitor business milestones and key metrics in near real-time throughout a process in BizTalk.
What is the Rules Engine?
· Rules are used to provide highly efficient, easily changeable business rules evaluation to Business Processes. This allows rules to be changed without rebuilding and redeploying .net assemblies. The Business Rules Engine (BRE) can also be called from any .net component through the API’s.
What are Persistence Points and what causes them?
· Persistence is when the state of a running Orchestration is stored into SQL.
· It is good enough to know various shape and actions cause persistence. More specifically, it occurs: end of a transactional scope, at a send shape, at a start Orchestration shape, during dehydration, if the system shuts down expectedly or unexpectedly, or the business process suspends or ends.
What group does a user need to belong to in order to submit messages to the message box?
· The user needs to be a member of the hot group or isolated host group (assuming a default installation).
What user rights to you need to perform most actions in HAT?
· BizTalk Server Administrator
When installing Biztalk in a multi-server configuration with a remote SQL and Analysis Services, what SQL components do you need on the Biztalk Server?
· SQL Analysis Services Client Tools
When installing Biztalk and SQL on a Windows XP SP2 Desktop, what pre-requests are required?
· Correct answer: A Lot. The best answer something like I have a custom written installation document I use or I always referrer to the most current updated installation guide from Microsoft.
by stephen-w-thomas | Dec 13, 2005 | Stephen's BizTalk and Integration Blog
Wow, it has been some time now since I last blogged. I would like to say I have been super busy with tons of project work. But, actually I have been on vacation most of the time.
From time to time I get the chance to interview prospective Biztalk resource to join various projects. Since Biztalk 2004 is such a broad and relatively new product, it can sometimes be hard to compare different resources that might have had totally different experiences.
I have put together a few questions that I like to use when interviewing possible resources to give you an idea of the types of questions you might get asked in a BizTalk interview.
The point is not to know all the answers but to be able to demonstrate experience with the product and problem solving skills. I never penalize people for not knowing something as long as they can tell me how they would find out more about it.
At a high level, what should you know in order to be successful on a Biztalk project?
· General to moderate .net skills
· Basic SQL skills
· Debugging skills
· Understanding of Biztalk development
· Understanding of Biztalk design (if needed)
Development Focused Questions
What is BizTalk?
In BizTalk 2002, schemas were DTD based and allowed Xml Elements to be in any order inside a record using the <Any> keyword. How is this different in BizTalk 2004?
What is a Message Type (i.e. BTS.MessageType) and how is it used in BizTalk?
How do you call a Non-Serializable .Net helper class inside an Expression Shape?
What if the class is Serializable?
What does the Value Mapping Functoid do?
How do you use Auto Mapping in the BizTalk 2004 mapper?
What is the default mapping for Auto Mapping?
Step-by-step, how do you set up a basic, pure messaging solution taking in a flat file and send an Xml File out to 5 different places?
Design (Architecture) Focused Questions
What is the difference between a Distinguished field and a Promoted Property?
How do you achieve First-In-First-Out message processing of messages received from multiple sources using an Orchestration?
At high level, what do Receive Ports and Orchestration Send Port really do in terms of messaging? What about Send Ports and Orchestration Receive Ports?
When working with Schemas, Maps, Pipelines, and Orchestrations how should the projects be structured?
What is direct binding?
What is BAM used for?
What is the Rules Engine?
What are Persistence Points and what causes them?
What group does a user need to belong to in order to submit messages to the message box?
What user rights to you need to perform most actions in HAT?
When installing Biztalk in a multi-server configuration with a remote SQL and Analysis Services, what SQL components do you need on the Biztalk Server?
When installing Biztalk and SQL on a Windows XP SP2 Desktop, what pre-requests are required?
Please note that knowing that Ctrl-Alt-Z opens the Biztalk Explore when working inside Visual Studios did NOT make my list of questions.
by stephen-w-thomas | Aug 10, 2005 | Stephen's BizTalk and Integration Blog
Direct binding in Biztalk Server 2004 can be used to send messages from one Orchestration to another. It can also be used to send messages directly into the message box, but that is not the focus of this post. Direct binding is easily misunderstood, specifically Partner Port binding since can be somewhat confusing to set up.
I will walk through the 4 simple steps to set up direct binding using partner ports.
It is important to note direct binding still uses the publish and subscribe system in Biztalk to send messages between Orchestrations.
Terminology:
Orchestration1 – The process that will send the message to another Orchestration.
Orchestation2 – The process that will receive the message from another Orchestration.
Step 1: Create a new port and port type in Orchestation2. Note that you can also use any existing internal or referenced public port type.
Step 2: Set Porting Bindings. Select Direct Binging, Partner Port – 3rd radio button. Select the new port you are creating in the Port On Partner Orchestration drop down.
Step 3: Create a new port in Orchestration1 using the existing port type created (or selected) in Step 1.
Step 4: Set Porting Bindings. Select Direct Binging, Partner Port – 3rd radio button. Select the port you created in Step 2 on Orchestration2 in the Port On Partner Orchestration drop down.
It is that easy. If you have additional questions or want more information on Direct Binding, Charles Young has by far the best blog posting on this subject.
I have also put together a sample. This sample shows how to use Direct Binding with Partner Ports to send a message from one Orchestration to another.
Download: Biztalk Direct Binding Sample
To run the sample, just deploy the solution and start both Orchestrations. Drop a message into the In folder and it shows up in Out. Check HAT, you will see both Orchestrations ran.