Wednesday, July 1, 2015

Begineer to BizTalk Expert : Interview with Mohamad Halabi

Welcome to thirteenth interview of the series, today's expert is Mohamad Halabi.
 

He is six time MVP award receiver and  work as a Solution Architect in the e-Government secto and his main responsibilities are:
-Designing an Enterprise Service bus using BizTalk Server, WCF, WF, ADFS, and WIF
-Designing and automating the enterprise Application lifecycle management through TFS
-Managing IT Governance through COBIT and ITIL


He is also a speaker in Microsoft events such as GDC, TechEd ME, and Open Door and member of Devlifestyle Microsoft User Group.

Let's begin the interview....

Mahesh: Who are you and what you do?
Mohamad:
I am Mohamad Halabi, a Microsoft Integration MVP. I am from Lebanon. I work as a Chief Architect in the government sector. My work revolves around Enterprise Architecture - from Business Architecture to IT architecture. It might seem that my work is more at a higher level than implementation, but I'm a firm believer than an (practical) architect should guide projects from architectural design all the way to implementation and technology, and that's what I do.

Mahesh: When did you start working on BizTalk?
Mohamad:
I started with BizTalk Server back in 2006. It was a self learning journey driven by big interest in integration. I knew back then that integration was the path I want to take. After I learned BizTalk, I was lucky that my company - who till then was mainly working on web technologies - got it's first BizTalk project. I immediately took the chance and asked to be handed the project. I got my wish and I started from there.



Mahesh: How did you mastered BizTalk (Learning path, amount of time)?
Mohamad:
As I said, it started as a self learning journey. I purchased a book, read it, and started a project. Of course as you know, studying BizTalk and actually implementing it are two totally different things. I starting learning as I implemented - and still do till this very day. It's hard to specify a time, because as I said, I still learn every day - but that's the fun part!


Mahesh: Which are the major projects you handled so far?
Mohamad:
I'd say the major projects (12 months +) are 4 mainly in the retail and government sectors. There are other smaller to medium projects ranging from a couple of process to re-engineering existing implementations.


Mahesh: How do you see BizTalk compare to other integration platform?
Mohamad:
Well I have not used other integration platforms although I've seen the latest IBM Integration Bus (IIB) in action. Therefore I cannot do an objective comparison, but I have to say that BizTalk has always served me well in all scenarios. BizTalk - with the ESB toolkit - has covered every need whenever the scenario calls for the ESB architectural style.


Mahesh: What as per you is must to know to become an Integration(BizTalk) Expert?
Mohamad:
I think this is a very important question, because I've met many people who think they would be integration experts just by learning the tool - which I believe is incorrect. As an integration architect you are required to know a lot of standards, protocols, and technologies. For example HTTP, XML, XPath, WS-*, REST, WCF, MEPs (just to name few) are just some of the things an integration architect must know. Learning BizTalk architecture is of course essential, but mastering the tool alone is not enough: after all BizTalk is intended to be a middleware 'sitting' in the middle of different platforms, protocols, and styles; if you do not know how these things work, then knowing the tool alone won't help much.


Mahesh: What are your thoughts on forums,blogs and articles etc.?
Mohamad:
The wealth of existing online resources is a great asset for any aspiring BizTalk developer/administrator. I think that BizTalk has such a rich online community that it rarely happens that a problem has no solution posted somewhere.


Mahesh: Your suggestion to a newcomers? What should be approach to get sound knowledge in Biztalk?
Mohamad:
Well why not start with a little bit of marketing for myself :) I'd tell them go check my Pluralsight BizTalk course. Of course there are a lot of great books about BizTalk - all are great learning resources. But I repeat what I said before: the learning path should cover a large scope of technologies, protocols, standards, etc...in addition to BizTalk as a tool.


Mahesh: There are many tools from community which support BizTalk in some or the other way(like BTDF, Bizunit etc), what do you say about it? Which ones you would recommend?Why?
Mohamad:
I've used various tools along the way, such as the BizTalk Deployment Framework, BizTalk Terminator, and BizTalk MsgBox Viewer. In general I always keep an eye on the community for what it's producing and I advise every BizTalk dev/admin to do the same. Reusability is critical, and if someone has put time and effort to serve the community, others must take advantage.


Mahesh: What are your thoughts around BizTalk certification?
Mohamad:
They're nice to have :) but as someone who interviews people regularly, frankly certifications are not an indication for knowledge anymore. For various reasons it became easy to gain certifications. In addition, in my opinion the team behind certifications at Microsoft must work to make the exam questions more like real-world scenarios, because right now they are not.


Mahesh: What is the future of BizTalk?
Mohamad:
Well with Microsoft recently ending support for Windows Server AppFabric - which for a while looked like BizTalk's alternative (regardless whether that was actually their plan) - it seems BizTalk is here to stay for on-premise integration. That being said, the future path is cloud-based, but do not expect enterprises with millions of dollars worth of investment to just dump everything and move on. On-premise integrations will continue and with them - I believe - BizTalk will continue to be strong. Meanwhile, Azure BizTalk Services is there to help with hybrid (on-premise / cloud) applications which will allow organizations to gradually switch to the cloud. That being said, BizTalk Services is still in its early stages and surely Microsoft will invest more on it.


Mahesh: Any thoughts on cloud?
Mohamad:
It's clear that the cloud is major shift. It's the perfect example of how technology provides opportunists to business. The advantages are there for everyone to see; however, as I said, the movement takes time and existing on-premise investments will continue to function. In addition many government agencies will not move easily - if they ever do.


Mahesh: What motivates you to do the community work?
Mohamad:
Networking! In my career I probably learned from people more than I did from books. There is no better way to connect with people of different expertise and backgrounds than the community.


Mahesh: Being MVP, do you feel that responsibilities get added? What is your thought on MVP?
Mohamad:
Well I don't see the MVP award as a responsibility, but rather as an appreciation that I must live up to. I frankly never worked to be an MVP, but when I was rewarded I cannot hide the fact that I was very proud to be part of this community. Besides all the technical benefits, the MVP community is the perfect place to connect with people of different backgrounds and expertise - which as I said before, is the main reason I do community work at the first place.
 
Thanks a lot Mohamad for sharing your experiences, this will surely benefit many !!!

Feel Free to ask questions to Mohamad in the comments!!!!!!!!




Related Post:



Monday, June 8, 2015

Primary Receive Location cannot be deleted


 
In an application, I had created two receive locations one FILE based and the other FTP based.
 
 
The FILE based location was to be removed (as it was not required now), so it was to be deleted and while deleting it, got below error:
 


 

Why it happened:


The FILE based receive location was created first and then FTP based receive location. So whenever you have a Receive port having more than one receive location then the receive location which was created first is automatically marked as the primary location. If there is only one then that is the primary location.
 
As can be seen above, FILE based receive location has been marked as Make this the primary location and checkbox is disabled for change.
 
 
FTP based receive location has not been marked as primary location and checkbox is enabled to do change if required.


What to do:


There are two ways to delete primary location
1. Delete the Receive port, create new with only FTP based receive location (so this will be the primary location)  ---> This is ok in this scenario where I have only two receive location but if there are more then not at all good solution.

2. Mark the other Receive location  as Make this the primary location, doing this will make the earlier receive location as not primary - which makes it available for deletion

So I went ahead with second way and mark the FTP based receive location as primary location
 
After doing this the FILE based receive location got it's Make this the primary location unchecked and become available for deletion. And I was able to delete it.
 

 

Monday, June 1, 2015

Begineer to BizTalk Expert : Interview with Richard Seroter

Welcome to twelfth interview of the series, a year ago started this series for getting the insights on how to become expert and what experts did to become expert, first interview was Begineer to BizTalk Expert : Interview with Steef-Jan Wiggers and today's expert is Richard Seroter
 

Richard is the Vice President of Product for cloud leader CenturyLink, a Microsoft MVP, InfoQ editor, blogger, author, trainer and frequent public speaker. He has spent the majority of his career working with organizations as they planned and implemented their enterprise software solutions. He recently earned a Masters Degree in Engineering from the University of Colorado, Boulder.

Richard is the author or contributor to three recent books: “Applied Architecture Patterns on the Microsoft Platform” (Packt Publishing, 2010) which discusses where to use which Microsoft platform technology; “SOA Patterns with BizTalk Server 2009″ (Packt Publishing, 2009) which takes a look at how to apply good SOA principles to a wide variety of BizTalk scenarios; “Microsoft BizTalk 2010: Line of Business Systems Integration” (Packt Publishing, 2011) in which he wrote chapters explaining integration strategies for Windows Azure, Salesforce.com and Dynamics CRM 2011.

Richard maintains a semi-popular blog at http://seroter.wordpress.com that recounts his exploits, pitfalls, and musings with enterprise software. You can follow him on Twitter at http://twitter.com/rseroter, read his regular contributions to InfoQ.com at http://www.infoq.com/author/Richard-Seroter, and find his Pluralsight training courses at http://pluralsight.com/training/Authors/Details/richard-seroter.


Let's begin the Interview ......


Mahesh: Who are you and what you do?
Richard:
I am the Vice President of Product for global technology provider CenturyLink. I lead product for cloud and hosting solutions.

Mahesh: When did you start working on BizTalk? 
Richard:  The summer of 2000. I worked for a consulting startup named Avanade, and was asked to look at this "BizTalk thing" that was in beta form from Microsoft. I found myself on a handful of subsequent projects and became an accidental expert.

Mahesh: How did you mastered BizTalk (Learning path, amount of time)? 

Richard: Does anyone ever REALLY master BizTalk? After the 2004 release, I got pretty engaged and became fairly competent with the product. That was through many hours experimenting and reading the early product material and blogs.

Mahesh: Which are the major projects you handled so far? 

Richard:  I worked on a number of BizTalk projects over the years, but most significant ones were during my time as an integration architect for the world's largest biotechnology company. BizTalk was (and is) the service bus at the company and I worked on most of the early projects to link line of business systems together.


Mahesh: How do you see BizTalk compare to other integration platform? 

Richard:  Mature, robust, and nicely integrated with other Microsoft technology. With the recent push to cloud-enabled integration, Microsoft has split their attention a bit between things like Service Bus, Logic Apps, and other interesting cloud-first solutions. If they can marry the on-premises with cloud services, it'll be a killer combo.


Mahesh: What as per you is must to know to become an Integration(BizTalk) Expert?

Richard: To become an expert in anything, you must focus on learning and hands-on experience. There are no paper experts. Book learning alone is insufficient. Use the product, stretch the limits, break things, and reflect on the lessons learned.


Mahesh: What are your thoughts on forums,blogs and articles etc.? 

Richard: It's one of the best ways to get exposed to new ideas and angles. The BizTalk blogging community was amazing in the early years, and helped so many people get up to speed. The Technet Wiki has taken over as a prime source of information, and that's excellent as well. The most important thing is for the entire community to engage in sharing information. Don't rely on a few individuals to write about their experiences; EVERYONE should get involved.


Mahesh: Your suggestion to a newcomers? What should be approach to get sound knowledge in Biztalk?
Richard:
Don't try and learn everything at once. There isn't a person in the world that can claim expertise with EVERY aspect of a product like BizTalk. Focus on hooking up basic messaging scenarios, understand core principles, and keep layering on additional things like orchestration, BAM, rules, cloud, and more.



Mahesh: What are your thoughts around BizTalk certification?
Richard:
Certifications can be useful, but they are no substitute for practical experience!



Mahesh: What is the future of BizTalk?
Richard:
We'll see. Integration has never been more important, and a flexible, robust integration bus is a must-have for any organization. I suspect that we'll continue to see primary attention spent on cloud-based services, but on-premises integration solutions will be relevant for years and years.



Mahesh: Any thoughts on cloud?
Richard:
I think it's here to stay! Organizations have seen the power of getting on demand infrastructure and using cloud services to quickly assemble applications that add value. There's no going back to purely on-premises systems that are governed by a central IT department. But with that freedom, comes new complexities. Architects will remain busy linking together disparate systems that now span multiple geographies. 


Mahesh: What motivates you to do the community work?
Richard:
I love to learn, and appreciate that we're in such an interesting period of technology advancement. Has there ever been a faster rate of change? It's exciting, and I enjoy sharing my experiences so that others can learn from my successes and mistakes.



Mahesh: Being MVP, do you feel that responsibilities get added? What is your thought on MVP?
Richard:
 It's always a privilege to get renewed as an MVP, and it definitely carries additional expectations. Specifically, the expectation to produce value to the community! The friendships I've made through the MVP program have been life-altering, and it's always enjoyable to collaborate with Microsoft product teams to make products even better.

Thanks a lot Richard for sharing your experiences, this will surely benefit many !!!
 

Feel Free to ask questions to Richard in the comments!!!!!!!!



Related Post:



Friday, May 29, 2015

Could Not Allocate Space for Object... because the 'PRIMARY' filegroup is full

Today lots of messages were getting suspended in the production env and to find the exact reason for this sudden messages getting suspended, looked into the Event Log and found below two errors:


 
 


Why it happened:

As can be interpreted from error message, the allocated space for BizTalkMsgBoxDb was full.


What to do:

The first thing was to check if AutoGrowth is enabled or not on BizTalkMsgBoxDb, and it was.
 
Then had a look at the jobs and found that DTA Purge and Archive Job was disabled since a week (don't know how) and that was the reason for this issue. So to fix the issue, reconfigured the job and enabled it and also purged the Tracking database.

Friday, May 1, 2015

Begineer to BizTalk Expert : Interview with Nino Crudele

Welcome to eleventh interview of the series, today's expert is Nino Crudele.

He is full of passion for integration world and he likes to use all possible technologies to do that, Microsoft Azure, Event Hub, Stream Analytic, BizTalk Microservices, BizTalk Server, and all possible Integration technologies patterns.

Nino Crudele has been an BizTalk MVP for 7 years, besides that he is also a Virtual Technology Specialist for BizTalk Server, a role in which he works closely with Microsoft. He enjoys this role as it enables him to work with many different clients seeing BizTalk in different scenarios from a technical point of view, size, and criticality.

He developed the famous BizTalk Visual Studio NoS Addin.
All information here:
http://visualstudiogallery.msdn.microsoft.com/3b4d76e8-6875-4990-b986-6a28691da5a3

Nino has worked with most of the BizTalk accelerators, Rosettanet, HL7, SWIFT and has done some big projects on EDI and RFID. In the past he also had the opportunity to be part of a big integration project with a major Italian enterprise organization that integrates many technologies like SAP, AS400, TIBCO and others using BizTalk.

He is founder of the first Italian BizTalk communty, http://biztalkia.com
He is founder of the first Italian Connected System communty, http://ugics.org

Certifications:
MCTS BizTalk Server, MCT, MCAD and MCSD.


His blog at http://ninocrudele.me



Let's begin the interview.....


Mahesh: Who are you and what you do? 
Nino: I’m Nino Crudele, I have three amazing children Rebecca, Carolina and Riccardo, one wonderful wife, Grazia, and my life is totally focused on them.
I have been Application Integration MVP for 8 years, I’m working in Solidsoft Reply as Application Integration Specialist.
I like sports as Kayak and Skateboard, when I need to relax I just like to take a run with my skateboard, I also like to read about maths, science and play Chess.

Mahesh: When did you start working on BizTalk? 
Nino: I start many years ago using BizTalk Server 2002 version and I have a good memory about this time.

Mahesh: How did you mastered BizTalk (Learning path, amount of time)? 
Nino: I was really lucky about it because I worked for many years as Virtual Technology Specialist for Microsoft and I had the opportunity to do a lot of different things with BizTalk.
I used all the adapters and accelerators and I followed a lot of different critical missions, this was a good way to improve my knowledge.

Mahesh: Which are the major projects you handled so far? 
Nino: I worked in many different projects and for all the biggest companies in Italy, I have many different and interesting situations to speak about, some of them because using hundreds of CPUs or BizTalk boxes other because using a lot of different accelerators and adapters.

Mahesh: How do you see BizTalk compare to other integration platform? 
Nino: Good question and not so simple to answer, I think that BizTalk is the most complete and solid platform that Microsoft has developed, I really love BizTalk Server and my opinion is not because I’m Microsoft MVP but because it is real.
I used other integration platforms but BizTalk Server is the only one which able to cover all the most important aspects, for example reliable, correlation and transaction (SAGA), in very easy way.

Mahesh: What as per you is must to know to become an Integration(BizTalk) Expert? 
Nino: A BizTalk expert is a person who able to know all about the product and how to solve problem using it, he also needs to have a very good vision about integration scenarios and different technologies.
BizTalk runs on SQL Server, Windows resources, network, he has a lot of different features inside which use IIS, Disk I/O, and BizTalk has hundreds of adapters and thousands of setting to know.

An Integration expert needs to know a universe of things and BizTalk is one part of these.

Mahesh: What are your thoughts on forums,blogs and articles etc.? 
Nino: I think that all of these things are important to share knowledge, I like to write article and share, this is the best option we have to merge our passion.

Mahesh: Your suggestion to a newcomers? What should be approach to get sound knowledge in BizTalk? 
Nino: My best advices are:Keep calm, sit and start understanding the engine, BizTalk is not a complicate thing and there is a lot of good documentation and books in internet.

Start following the BizTalk engine flow, concept of port -> receive location -> adapter -> pipeline -> orchestration
How it works, Publish / Subscribing and Message context.

Mahesh: What is a BizTalk Host and Host Instance?
Nino: Don’t start developing because drag and drop and don’t force yourself using only BizTalk things, you are a developer, and you have also to use code.
Understand the BizTalk domain and what it means developing and using an own external library and how to manage it in the best way, in term of monitoring and errors.

Mahesh: What are your thoughts around BizTalk certification? 
Nino: Is a good option to certify your capabilities.

Mahesh: What is the future of BizTalk? 
Nino: BizTalk is a great product and I think it will be present for a long time.

Mahesh: Any thoughts on cloud? 
Nino: Microsoft released a lot of new interesting things in Azure , now we have a lot of more options and a lot of different technologies to use , I think That now the challenge is not about a Particular product but is the understanding how to use all of them in the best and convenient way ,

I like to say that the power of Azure is directly proportional with the summation of things that we are able to combine together.
I think about Azure as a little universe full of things and the collision between them is able to create energetic solutions.

The world of integration is huge and we have many different options to solve problems, I’m working in this new engine, JiTGate (Just in Time Gate), it is able to use all of these things together to integrate technologies in very easy and fast way, I’m in a good point with the development and I hope to release a version soon.

Mahesh: What motivates you to do the community work? 
Nino: I think the knowledge That Has to be free and not drove by the main actors, I'm not just speaking only about technology but about all, we have to be free to share and help people to understand and to live a better.

Mahesh: Being MVP, do you feel that responsibilities get added? What is your thought on MVP?
Nino: Yes I’m feeling the responsibilities to be a MVP, it is a big thing, the MVP family is full of great persons and I’m honoured to be part of this.


Thanks a lot Nino for great insights, this will surely benefit many !!!


Feel Free to ask questions to Nino in the comments!!!!!!!!



Related Post:



Monday, April 6, 2015

Fetching Data From Multiple Tables Through Dynamically Invoking Stored Procedure

There is a comment/question posted on following post:Polling data from SQL using WCF-SQL Adapter in BizTalk 2010 - TypedPolling(From Multiple table)  where Vinoth posted the scenario:

"Please help me, I have to poll the data from 15 Tables, Table by Table, should not join in to single select statement. For example, if I have 15 Tables to poll, I have to poll Table1 and store as XML and i have to poll Table 2, then 3, 4, 5...
Multiple Table polling by looping, how to do it dynamically poll the data Table by Table...
Please provide me the solution? its very urgent... "


There are situations where we have to configure WCF port dynamically,

1. The information for the configuration is available at runtime through some content in message or through some other way.

2. The configuration information is already known but it can change or has to be changed depending on the business needs.

To demonstrate how to configure WCF Port dynamically and how  to Invoke stored procedures dynamically, have used following scenario:

Scenario:

 I have to poll the data from Tables, one by one and save it on file system. The challenge is the number of tables can increase or can be reduced .For this demonstration , I have used 3 tables (Logic remains same for 15 tables as well).

Ok, as per the requirement posted the configuration of the port which fetches data has to be done dynamically and in a loop, so nothing has to be static inside orchestration related to the storedprocedure thus used BRE as it provides a way to do changes without having to change anything in orchestration after initial CallRules configuration. 


I have made some assumptions:

1. There is chances of changes in number of tables to be fetched - thus have used BRE which has provision of changing number of table without touching the Orchestration.
2. The response received is not to be mapped, instead it is to be saved as it is.
3. Invoking stored procedure can be anywhere in the designed process, thus have used dummy Order to instantiate the orchestration (which has nothing to do with logic)

Building the solution:


1. Database


a. Creating three tables

Figure1. Demo Database with three tables


Figure2. Order table design

 
Figure3. Order1 table design

Figure4. Order2 table design


b.Creating three stored procedures with simple query


Figure5. uspGetOrder1 stored procedure
Figure6. uspGetOrder2 stored procedure
Figure7. uspGetOrder stored procedure
  
Figure8. Three tables and respective stored procedures

2. BRE


a. Creating Policy GetConfigDetails


Figure9. GetConfigDetails Policy

b.Creating four rules under GetConfig

The first rule is used to set the number of tables to be fetched.


Figure10. GetConfigDetails Policy - Rule1

The rest three rules are used to set the properties i.e. Action,Address,Bindingtype and TransportType which are required to configure the port dynamically.


Figure11. GetConfigDetails Policy - Rule2


Figure12. GetConfigDetails Policy - Rule3


Figure13. GetConfigDetails Policy - Rule4

   

3. BizTalk Solution

For solution the name given is DynamicInvocationOfStoredProcedures which has schemas(intiating message, Configuration message , storedprocedure message), Orchestration, strong name key(used to sign the project) and binding files which are generated by wizard while creating schemas from stored procedures. Steps are as below.

Figure14. Solution structure

a. Create schema for message to instantiate the orchestration


b. Create schema for message to hold configuration details - which is updated using BRE

All the elements are promoted as distinguished field so as to get/set values from those in orchestration

c. Generate schemas from the stored procedures which are to be executed dynamically

We need to do this so that we can refer to the binding files generated to get configuration details.

1. Right click the project and  select Add-->Add Generated Items
2. Then select "Consume Adapter Service"
3. Now the Consume Adapter Service wizard wants us to provide it the required information, so firstly select "sqlbinding" against the label Select a binding.
4. Click the Configure button, on security tab select the Client credential type
5. On URI Properties tab:
      i.Type the name of the server where your database is located ( I have used "." as the database resides on same machine)
     ii. Provide the name of the database you want to use.
     iii. I have left InstanceName as blank because am using the default instance of SQL (If need to use some other instance then provide the name of that instance)


6. After done with above configuration,click on Connect then select Contract type as Client(Outbound operations)
7. Select the category as Procedures then select procedure based on which schema is to be generated, click ADD
8. Give Filename Prefix (it's optional - but it helps) and click ok
Figure. Generating schema from uspGetOrder storedprocedure

9. Repeat above steps for other stored procedures

d. Create Orchestration



Figure.PollMultipleOneByOneDynamically Orchestration

The orchestration as shown above has following variables and types used in it


Ports and Port Type
1. prtRcvStart of type prttypeRcvStart - to receive intial message thus binded to Order schema as intial message is based on it

2. prtExecuteSP of type prttypeExecuteSP - it is dynamic port to send message to invoke storedprocedure and to receive response from storedprocedure,binded to System.XMLDocument.
Why System.XmlDocument? - As per the requirement multiple storedprocedures are to be invoked but those are not static and are to be set dynamically so this port can't be binded to single schema. And as System.XmlDocument is the base schema for all schema it can be used in the scenario where generic approach is required.

3.prtSndInvokeSPResp of type prttypeSndInvokeSPResp - to send the response received from stored procedure to a folder


Figure.PollMultipleOneByOneDynamically Orchestration variables and types

Message and  Variables
1. msgstart - based on Order schema, used to instantiate the orchestration
2. msgConfig - based on Config schema, used to get config details from BRE
3. msgInvokeSP - based on System.XmlDocument, used to send message expected by StoredProcedure
4. msgInvokeSPResp - based on System.XmlDocument, used to get response from stored procedure
5. varLoop - Int variable to hold the value (number of times loop is to be run)
6. varAction - String variable to hold Action value set on msgConfig by GetConfigdetails policy
7. varAddress - String variable to hold Address value set on msgConfig by GetConfigdetails policy
8. varBinding - String variable to hold Binding value set on msgConfig by GetConfigdetails policy
9. varTransportType- String variable to hold TransportType value set on msgConfig by GetConfigdetails policy
7. xmlDoc - Variable of type System.XmlDocument

Steps in Orchestration

1. Receive start message
2. Construct the config message in message assignment shape, this message will be passed, here to note is that GetTableNumber element has values as Yes  

 3. Configure  the CallRules shape, select the GetConfigdetails policy and message expected by it  - msgConfig

4. Assign  the Loop variable to the value received in NumberOfTables field of msgConfig
5. Set the Loop condition

6. Inside loop , call the policy
7. Assign  the varAction,varAddress, varBinding,VarTransportType to the value received in msgConfig





8. Construct the message to invoke the stored procedure and set it's WCF.Action property - this is where we are dynamically setting the action - which we get from Policy we execute in step 6



9. Send the message to prtExecuteSP and collect the response
10. Send the collected response to the folder
11. So  now reset the loop variable by reducing it by one and also now next table is to be fetched so set TableNumber field of msgConfig respectively.










Allright, so why CallRules is used twice in above Orchestration?

Considering that number of tables to be fetched can be changed, the first callrule is used to tackle this scenario. So when Orchestration passes config message to rule engine having GetTableNumber as Yes, then  the NumberOfTables is set  and returned. And in loop, Orchestration is interested in knowing which StoredProcedure is to be executed(the WCF.Action property) and here second callrule is used to get the Action against the TableNumber.

If you see at Rules above, it will be more clear :)

e. Build, Deploy and Configure


After deployment the dynamic port is automatically added to the Application in the Admin console, whose configuration we did in orchestration dynamically.





So we just need to configure one Recieve Port, one static send port and bind it to Logical ports of Orchestration

Figure. After  Binding Orchestration

To test I dropped the instance of Order message (message which instantiates the orchestration) and three xml files were generated in the folder which is binded to the port which sends the response received from stored procedures.



Note : System.XmlDocument is used as base for the message  to communicate with stored procedures so it's untyped . There are two limitation that the response received can't be used in any map and if there is subscriber in your group for untyped message then copy of it will be passed to it as well.




Download Sample:

Wednesday, April 1, 2015

Begineer to BizTalk Expert : Interview with Michael Stephenson

Welcome to tenth interview of the series, today's expert is Michael Stephenson.

Michael is an independent integration & cloud specialist based in the UK. He is primarily focused around integration technologies in the Microsoft integration platform such as BizTalk, Windows Azure, and a number of other open source offerings. 

Michael has many years of technical leadership and coaching experience and has worked with customers to deliver a number of complex real-world hybrid integration solutions connecting business partners and SAAS applications to an organisations on premise line of business systems.  Prior to freelancing Michael also held a technical evangelist role with Edenbrook who were a large UK consultancy.

Michael is also heavily involved in community activities such as the UK Connected Systems User Group and blogging.  Michael also recently pioneered the BizTalk Maturity Assessment (http://www.biztalkmaturity.com) which is designed to help customers ensure they are doing the right things to deliver successful projects with BizTalk. Recognized by Microsoft as an Integration MVP - 7 Years.


Lets begin the Interview....

Mahesh: Who are you and what you do?
Mike:
I am Mike Stephenson, i am 38 years old and live in Newcastle in the North East of England.  I work as a freelance Consultant specializing in Integration and Cloud technologies on the Microsoft technology platform. I work with customers in the UK and abroad to help them create traditional integration solutions and also to understand how to leverage the cloud to create hybrid integration solutions.


 
Mahesh: When did you start working on BizTalk?
Mike:
I started working on BizTalk in 2002 with a company who specialized in supply chain outsourcing and have worked on every version of BizTalk since then.

Mahesh: How did you mastered BizTalk (Learning path, amount of time)?
Mike:
Personally I think BizTalk is a product where you always have something to learn.  There are so many different types of solution you can create whether it is integration patterns you have not used before or applications you have not integrated with.  Today technology is also changing very quickly so there are always new things to learn.
I also like to consider myself to be an Integration Specialist rather than just a BizTalk person.  I think its also very important to learn about the other integration technologies too and to understand where to use what.
For training I usually use Pluralsight and Technet wiki and peoples blogs to keep up to speed and also attend #IntegrationMonday web casts


Mahesh: Which are the major projects you handled so far?
Mike:
I have handled a number of projects over the years, back when I used to work for consultancies I spent time spent time supporting projects at many different customers and I have also worked on a number of projects with healthcare companies but more recently i am working in the higher education sector

Mahesh: How do you see BizTalk compare to other integration platform?
Mike:
If you compare BizTalk to other products within the microsoft integration technology suite then I consider BizTalk to be like the swiss army knife which has something for almost any integration problem.  This is why many customers use BizTalk at the heart of their integration solutions.
If you compare BizTalk (or microsoft integration) to other vendors then I think you will find it really depends upon what your use cases are.  I guess as a generalization there are two types of vendors those who provide the heavy weight tools which have been around for years and the newer breed of vendors who offer the lighter weight integration platforms where you can provide simpler ways to solve some of the newer world integration problems but often struggle to deal with the more complex integration solutions.
I think what is interesting about microsoft is it is moving quickly towards a good offering in both spaces. 

When it comes to comparing I think it is important to get past the marketing car sales man view of the products you will come across and to look into the real capabilities and how they are implemented.  This is why i contributed to the whitepaper by Kent Weare http://www.biztalk360.com/whitepaper/choosing-an-integration-platform/


Mahesh: What as per you is must to know to become an Integration(BizTalk) Expert?
Mike:
I am not a great fan of the term integration expert because expert implies you know everything and in integration there is such a wide range of things to consider that you can never know everything about everything and the best skill is to try and be humble and meet new people with different ideas and be learning all of the time.

To excel at integration i think you need to combine knowledge about the integration products you use with knowledge about best practices for application life cycle management and then the non technical skills such as how to work well with other people and how to understand managing dependencies.

I think you need to have a well rounded skill set of the above things to do well in the integration space


Mahesh: What are your thoughts on forums,blogs and articles etc.?
Mike:
I have always thought the biztalk community have an excellent set of blogs, forums etc.  I have my own preferences about how i like to interact but there is always opportunities to get involved and the community is very supportive of new contributors

 
Mahesh: Your suggestion to a newcomers? What should be approach to get sound knowledge in BizTalk?
Mike:
I think the most important thing is hands on experience and the best way to get that is working with lots of different people to discover the practices they use to decide which you like best.  Books, videos etc are all great but to get to the next level its really about hands on experience and appreciating that no matter how much experience you have you should be learning every day

Mahesh: What are your thoughts around BizTalk certification?
Mike:
I think BizTalk certifications have a value up to a point but over the years i have met people who had certifications who werent that great and i have met many people who have not considered certifications who were truly excellent.

If I was interviewing people a BizTalk certification would not be a factor which would make me choose on person over another for a role but is certainly a nice badge to have on the CV and I guess the best thing about certifications is that it can make you look at parts of BizTalk you may have never used before.


Mahesh: What is the future of BizTalk?
Mike:
Right now I am more excited about the future of BizTalk and Microsoft Integration than I have been at anypoint for a long time.  I think combining BizTalk with the new azure technologies will let us build some great solutions.

 


Mahesh: Any thoughts on cloud?
Mike:
I am a huge fan of cloud and like to work with customers who have a desire to consider where the cloud could benefit their organisation.

I would say to anyone now working commercially with cloud you absolutely must be learning about it in your own time or you will quickly fall behind which could affect your opportunities in the future.


Mahesh: What motivates you to do the community work?
Mike
: I think I like the challenge of doing interesting stuff and learning but also over the years i have developed some excellent friendships with the people in the integration community and its cool to work together on little projects and also to help and encourage each other

Mahesh: Being MVP, do you feel that responsibilities get added? What is your thought on MVP?
Mike:
I dont think the mvp programme adds extra responsibilities.  It is an excellent way to bring together community influencers and to help encourage people to participate in the community.  I think ive been in the programme for 7 or 8 years now and as result ive developed friendships with people in many countries around the world.  It rocks!


Thanks a lot Mike for great insights, this will surely benefit many !!!


Feel Free to ask questions to Mike in the comments!!!!!!!!



Related Post: