Sunday, August 25, 2013

Top Contributors Awards!! System Center 2012, Hybrid IT Infrastructures, BizTalk, Microsoft Project 2013 and Lovable Techie Gurus!

I was pleasingly surprised after seeing my name... feels good!!!!!!!!!!!!




Reference:

Top Contributors Awards!! System Center 2012, Hybrid IT Infrastructures, BizTalk, Microsoft Project 2013 and Lovable Techie Gurus!


Friday, August 23, 2013

Interview questions on Orchestration



This post intends to cover the answers to orchestration related questions, which a BizTalk developer can face during an interview.

Questions:

1.How are messages created in an orchestration?

2.Where is information about promoted properties stored?

3.What is message metadata?

4.Can we use message metadata in Orchestration?

5.How does Orchestration subscribes to messages?

6.Design patterns in Orchestration?

7.Types of messages?

8.How to load message in a variable?

9.Can recursion be achieved in Orchestration?

10.What is binding?

11.To which scope compensation block can be added?

12.Is it necessary for all .Net components being called from orchestration to be serializable?

13.Is it possible : Orchestration A calls another Orchestration B and vice versa?

14.What is XLANG and where it is used?

15.Can we prevent Orchestration from entering a suspended state?

16.What is persistence point?

17.XMLDocument is non-serializable still it's called without atomic scope with no error, why?

18.What is maximum number of properties that can be used in correlation set ?

19.Can an Atomic scope can have exception handler of their own?

20.Pro's and Con's of Direct binding?

21.Can orchestration use components other than listed in Toolbox?

22.When is convoy used?

23.Is it possible to enforce Orchestration to behave in singleton way?

24.Where is BTS.SPID and BTS.ReceivePortID used?

25.When is property "Synchronized=true" used?

26.What is maximum number of branches that can be used in a parallel shape?

27.Which language does expression shape support?

28.What is relation between Orchestration instance and correlation?

29.What are the ways to add properties in context?

30.What is difference between written property and promoted property?

31.What is correlation type?

32.What are conditional persistence points?

33.What are Scopes used for?

34.Which shapes are used to implement "AND" and "OR" situation in Orchestration?

35.Which scope can have Exception Handling?

36.Is it possible to get exception object from General Exception?

37.Whats the main difference between Call and Start Orchestration?

38.What are the different types of transactions available for orchestration?

39.When a persistence point occurs at the Orchestration level?

40.Can persistence point occur in the Delay or Receive shape?

41.Is it possible to use Message Assignment shape and Transform shape individually?



For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Orchestration





Interview questions on Schema


This post intends to cover the BizTalk schema related questions, which a BizTalk developer can face during an interview.

Questions:

1.What is the purpose of a document schema?

2.What is the purpose of a property schema?

3.What is the purpose of an envelope schema?

4.What is the purpose of a Flat File schema?

5.What is the target namespace to schema?

6.Is it possible to create a custom data type and use it in a schema?

7.Can schema have two nodes with the same name and different datatypes?

8.Can schema have multiple root nodes?

9.Is it possible to include and import in a single schema?

10.By default, what is the data type of elements in a schema?

11.What is the difference between Group Max occurs, Group Min Occurs and Max occurs, Min Occurs?

12.What is BlockDefault property used for?

13.What is canonical schema?

14.What is correlation property schema?

15.Difference between Flat File Schema and XML schema?

16.Can we have schema without target namespace? What will be its MessageType?

17.Which property is only available for Flat file schema?

18.What is Message?

19.What is difference between BizTalk (Schema) Editor and BizTalk Schema Generator?

20.BizTalk can automatically create schema from DTD , well formed XML , XDR . To do this schema generator is used.

21.How is schema generator invoked?

22.What is InstallWFX.vbs script?

23.Can "EDI" be a part of Namespace?

24.Is it possible to promote XML record of ComplexContent ?

25.What is the maximum length allowed for promoted properties?

26.What is the maximum length allowed for Distinguished fields?

27.How to create an XPath alias  to a field which can be used to in decision making in Orchestration?

28.What is <Any> element?

29.What is the Root Node?

30.How BizTalk engine identify a unique schema?

31.How BizTalk engine perform a validation of an instance of the message against the Schema?

32.What is difference between XSD and DTD?





For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Schema





Interview questions on Map

This post intends to cover the  mapping related questions, which a BizTalk developer can face during an interview

Questions:

1.What are maps?

2.Can we have map without any links on it?

3.How do we provide/include custom XSLT in map?

4.Is it possible to have global variable in a map?

5.What are the places map can be used?

6.Can we have map chaining on ports?

7.What is limit of maps on ports?

8.Is it possible to generate XSLT from the map?

9.Is it possible to use untyped message in map?

10.Is it possible to create map for schema's with unknown structure?

11.Where are transformations are more flexible?

12.Is it possible to override the mapping of Mass copy?

13.Is there limit on number of pages on Map grid?

14.Why should pages to be added to Map Grid  if all can be done on single page?

15.Is there a way to add custom logic required in Map?

16.Can value from Orchestration variable be passed to destination field in Map?

17.Is it possible to have map with n incoming messages to n outgoing messages?

18.Is it possible to have map with n incoming messages to 1 outgoing messages?

19.Is it possible to have map with 1 incoming message to n outgoing messages?

20.Can functoids and external XSLT be used in single map?

21.Can we debug Map just like .Net code?

22.What is a .btm File?

23.What is BizTalk Mapper Designer and were I can find it?

24.What kind of transformation can we accomplished using maps?

25.What is grid pages and how many can we have?

26.Is it possible to pass the output of a functoid(on map grid it is placed on right side) to other functoid(on map grid it is placed on left  side)?



For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Map



Interview questions on BRE

This post intends to cover the  BRE related questions, which a BizTalk developer can face at during an interview.

Questions:

1.What is Business Rules Engine?

2.What is the tool that I need to use to create Business Rules?

3.What is Business Rule Language?

4.How can I execute a Business Rule in my orchestration?

5.What is used to create new vocabulary definition?

6.What is a Policy?

7.Is it possible to change Business Rule policy after it was published?

8.Does rule composer have provision of adding ELSE logic?

9.What is Long term fact and Short Term fact?

10.What is the difference between Publishing and Deploying the Rule ?

11.Can we call policies from .Net code?

12.Can we call specific version of Policy using Call rule shape in Orchestration?

13.What is purpose of BizTalkRuleEngineDb?

14.Is there limit for versions of policies ?

15.What is Rete Algorithm, does it have any relation with BRE?

16.How does it differ, calling policy in Call Rules Shape and in Expression ?



For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - BRE



Interview questions on Visual Studio in context to BizTalk


This post intends to cover the  Visual Studio related questions, which a BizTalk developer can face during an interview.

Questions :

1.What purpose does Visual Studio serve?

2.What is strong name key?

3.How is strong name key generated?

4.Difference between Build and Rebuild?

5.What are the actions in order to deploy from Visual Studio?

6.Can I create or configure Receive Ports or Send Ports through Visual Studio?

7.What is a .btproj File?

8.Are all the BizTalk development tools embedded inside Visual Studio?

9.Why we get the error "Unexpected error writing metadata to file <filename>"?

10.Where can we see assembly information in Visual Studio?

11.What is Build Order and can it be changed?

12.What is option Clean used for?



For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Visual Studio

Interview questions on BizTalk Pipeline

This post  intends to cover the BizTalk pipeline related questions, which a BizTalk developer can face during an interview.

Questions:

1.Why do we need custom pipeline when we have default pipelines?

2.What is maximum message size supported by XML send and XML receive pipeline?

3.What is minimum number of components allowed in pipeline stage?

4.What is the maximum number of components allowed in pipeline stage?

5.Does Flat file assembler pipeline component validates the incoming XMLmessage?

6.What is a .btp File?

7.How many states have the Receice Pipelines and the Send Pipelines?

8.Is there any Visual Studio Wizard to create custom pipeline components?

9.What's the difference between Default Pipelines and Custom Pipelines?

10.Is there is a error handling functionality to handle error on pipelines?

11.When is filter used to create a subscription?

12.Which property is required when using Flat file Disassembler component?

13.What if Document Schema property is not specified when using Flat file Disassembler component?

14.Which API is used to implement Pipeline?

15.What are types of pipeline components?

16.  Why attributes are added to class while developing custom component?
         
17.  Custom Component is not visible in Toolbox, even after adding the assembly to GAC?




For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Pipeline




Interview questions on BizTalk BAM

This post intends to cover the  BAM related questions, which a BizTalk developer can face during an interview.

Questions:

1.What is BAM and whats the benefits of using it?

2.Is it possible to integrate BAM installed on server1 and BizTalk installed on server2?

3.What is the difference between TrackingProfile DB and DTADB ?

4.What is an Activity and an Alert?

5.What is ContinuationID?

6.What is TDDS?

7.What are the various types of BAM Interceptors available?

8.What is Activity Relationship ?

9.What is a BAM View?

10.Can we have multiple views created on single Activity?

11.Where BAM collects raw tracking data?

12.Is BAM Tools a prerequisite for EDI/AS2 Runtime in BizTalk Server 2010?

13.How many database are used by BAM?

14.What is this tool BM.EXE and why do I need it?

15.Where the data came from, what the BAM Data Sources?

16.What is BAM Portal?

17.It is required to track custom code used in application , which can be used TPE/BAM API or both can be used?

18.Is there any shape in Orchestration which can't be tracked?

19.What are various event streams used in BAM API?

20. Is it possible to apply BAM on the retry mechanism of Send Port?


For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - BAM





Interview questions on BizTalk Application

This post intends to cover the BizTalk Application related questions which a BizTalk developer can face during an interview.

Questions:

1. What is MessageBox?

2. What is purpose of MessageBox?

3. What happens to the messages coming in to MessageBox?

4. How does MessageBox treats messages without subscriber?

5. How many receive locations can a single receive port have?

6. Types of subscription in BizTalk?

7. Is it possible to have various  ports with same name in two applications?

8. In which state can a send port does not subscribe to a message?

9. What could be the reason for having multiple receive locations inside one Receive port?

10. How can we check what's going on inside BizTalk Server?

11. Can a send group be a part of multiple send group?

12. Ordered delivery on send port has serious performance impact, why?

13. Ordered delivery does not have effect even after it is set, when this might happen?

14. Can a message in a MessageBox be changed?

15.What happens when we run MSI package?

16.In how many ways can we do BizTalk Application deployment?

17. How it's possible to work with several pipelines as soon as new Application is created?

18.What happens to message when all subscribers have received their message?

19. What can be done to avoid loss of messages in a scenario where we know beforehand unavailability of the destination system, but source system is publishing messages ?

20.When does ErrorReport properties get promoted?

21. Which is the first step to enable Subscription?

22. Can Application be in start state when host is Offline?

23. When does filters on send port does not apply?

24.  How to apply maps on send port group?



For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - BizTalk Application


Interview questions on XSLT - BizTalk

This post intends to cover the  XSLT related questions, which a BizTalk developer can face during an interview.

Questions:

1.What is XSLT?

2.Where does XSLT comes into picture in BizTalk?

3.What is Muenchian method?

4.Which version of XSLT is supported by BizTalk mapper?

5.Can I use Custom XSTL inside a BizTalk mapper?

6.Is it possible to exclude xml declaration <?xml...?> in the ouptut file?

7.Can filter be applied to the output from the xml file?

8.How to traverse through the repeating node in input file?

9.  Is it possible to have custom functions?

10. Is it possible to use method from a assembly available in GAC?


For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - XSLT




Interview questions on Helper Class/.Net Assemblies BizTalk

This post intends to cover the questions on Helper classes with BizTalk, which a BizTalk developer can face during an interview.

Questions:

1.What is a helper class?

2.Where can the helper class be used?

3.A helper class which is not marked serializable , can it be used in Orchestration?

4.What does property "copy local" indicates?

5.Is it possible to create a .Net class variable in BizTalk if property "Use default constructor" is set to false?

6.What is Gacutil.exe?

7.Is there a way to automate the process of adding assembly in GAC?

8.Is helper class deployed like BizTalk application?

9.Why helper class/.Net assembly is not listed in Resources of Application, in spite of having reference to it and used in application?

10.How helper class or .net assembly  is added to GAC?

11.There is a .net helper class which suits to a requirement (in Orchestration)of an application but it is  Non-Serializable, how can it be used?


For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Helper Class



Interview questions on BizTalk Adapter

This post  intends to cover the questions related to  BizTalk Adapter  which a BizTalk developer can face during an interview.

Questions

1.What is an Adapter?

2.What is required for a developer to create a custom adapter?

3.What is purpose of Adapter?

4.Does adapter writes to content of message?

5.What are the native adapters in BizTalk?

6.Which port do you need configure in a firewall for in- and outbound traffic when using the FTP Adapter?

7.What happens  to file when message is suspended in MessageBox?

8.What does "Public address" property defaults to?

9.What is the default value of Retry count and Retry interval(min)?

10.What is an Adapter Handler?

11.What Is the Adapter Framework?

12.What you mean with Native Adapters and Custom Adapters?

13.I've heard the term connector in BizTalk. So whats the difference between an adapter and a connector?

14.What can we expect when Propagate fault message is enabled?

15.What is an Isolated Receive Adapter?

16.What is journal queue?

17.What is dead queue?

For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Adapter



Thursday, August 22, 2013

Interview questions on Functoid


This post intends to cover the questions related to BizTalk functoid  which a BizTalk developer can face during an interview.

Questions:

1.What is functoid?

2.What is required for a developer to create a custom functoid?

3.Why would a developer create a custom functoid ?

4.What is the difference between Value Mapping and Value Mapping Flattening functoid?

5.How can you build an if-then-else construction with functoids?

6.Is it possible to reuse method of a Scripting Functoid in other Scripting Functoid?

7.What is Microsoft.BizTalk.BaseFunctoids.dll?

8.What are the ways to integrate custom functoid into solution?

9. What can be done using Scripting Functoid?

10. How many categories are functoids divided in Tool Box?

11. Can we concatenate 200 input parameters using String Concatenate functoid?

12. How can we get the count of the repeating node or repeating element?

13. Is it possible to know the index of current record in looping structure?


For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - Functoid




Interview questions on BizTalk EDI

This post intends to cover the questions related  to BizTalk EDI which a BizTalk developer can face during an interview.

Questions:

1. What is EDI?

2. What are the things which makes EDI solutions differ from standard XML solutions?

3. How to create EDI schema?

4.What is the default character set supported by EDI pipeline?

5. How does BizTalk resolves Agreement?

6. When does fallback agreement properties come into picture?

7. It is required to use EDI Pipeline in the EDI solution, but I can't see in the options?

8. What are the values which Segment Separtor Suffix and Segment Terminator Suffix can have?

9. Is there a realtion between EDI send pipeline and Parties?

10. What are the options to release EDI Batch message to destination?

11. Is it possible to receive Multiple Interchanges in a Single Message and parse it?

12. Can we access EDI message context properties in orchestration?

For answers please have look at following article:
BizTalk Developer Interview Questions and Answers - EDI




Interview questions on BizTalk Database

This post is intended to cover the questions related to BizTalk Database which a BizTalk developer can face during an interview.

Questions:

1.What effect does creating a new Host have on Database?

2.MessageBox database holds all the messages that are processed, what about messaging Objects?

3.Is there any change in database when filter is added to Send port or when Activate property of Receive shape is set to true?

4.What databases are part of every solution?

5.Which service looks after known issues in the database?

6.How would you define database role in context to BizTalk?

7.Which SQL Agent job runs continuously?

8.Messages without subscribers are removed, how?

9.Does implementing BAM requires more database?

10.Which database stores the configuration information for receive locations?

11.How many database is used for implementing BRE?


For answers please have look at following article:



Friday, August 9, 2013

Grouping XML Messages using custom XSLT- BizTalk 2010


Thought of writing this post after seeing multiple questions being asked about it on MSDN Forums


Scenario: We receive Xml message which has details spread across multiple nodes and we want to Consolidate/Group the related details to single node.


Input:





Output:


What we need to achieve this:

We need a map and in map we use custom XSLT.



No mapping/link is  visible on the mapping grid as its done in background  by XSLT which we provide.
We can do linking even after providing custom XSLT with no errors but the output will be based on the XSLT and not linking.
To tell map to apply XSLT we need to set a property Custom XSLT Path to the location where we have our XSLT.


Now lets have a look at the XSLT which we will apply here.


Grouping is done with the  help of key function  and generateId  function . It is also referred as Muenchian method.

In it we group all the Item records coming as an individual but having same Order Id.

In xslt we first create a key and initialize it, which holds the uniqueId which is generated and based on incoming first OrderID.

<xsl:key use="OrderID" match="/s0:Orders/Order1/Order" name="groups"/>

 And we compare this with the rest of the OrderId from incoming message .

<xsl:for-each select="Order1/Order[generate-id(.)=generate-id(key('groups',OrderID))]">

If match found then an output node is created with  Item records  having same OrderID . This will group all the items which belong to the same order.

<xsl:for-each select="key('groups',OrderID)">

If not then new uniqueId is created for that node  and again checked through all the incoming nodes.

Download sample 

Grouping XML using custom XSLT

Will keep on posting as an when I find something to share!!!!!!!!!!!!

Thursday, August 1, 2013

Polling data from SQL using WCF-SQL Adapter in BizTalk 2010 - TypedPolling(From Multiple table)

Starting from where I had left:

http://tech-findings.blogspot.co.uk/2013/07/insert-records-in-sql-server-using-wcf.html

Now it's time to look at how we can poll data from multiple tables - SQL.

Scenario: We need to send an Acknowledgement against the purchase order we  got and to do so we need to  poll data from two tables viz. Header and Detail table.

Let's start:

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 ( I have used windows as it is my login type to SQL )
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. In front of InboundId (It is mandatory for Typed polling) , type the name whatever you want so as to  identify the purpose of polling. It acts  as a unique identifier which helps in avoiding conflict when you poll same tables for some other purpose. Here am using "Ack" as the data polled will be used for generating Acknowledgement and  I will be polling from same for generating invoice and for that I will use "Inv" as InboundId.
   iv. 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.On Binding Properties tab:
    i. Select TypedPolling  from the dropdown list in front of InboundOperationType
   ii. To check whether the data that we are interested to poll is present, we query in the table and for that            we  use PolledDataAvailableStatement, I have use following query:


          select count(*) from HDR4201 where ACKFlag is NULL


  iii. After checking is done for available data next is to poll it and for that we use PollingData , I have used following query (also stored procedure can be used):

  Select                  H.OrderID,H.OrderDate,H.BilltoID,H.BillToName,H.BillToCity,H.BillToState,H.BillToPostal,H.BillToCountry,H.ShipToID,H.ShipToName,H.ShipToCity,H.ShipToState,H.ShipToPostal,H.ShipToCountry,H.Comments,H.TotalAmount,H.TotalTax,H.Currency,H.DOCO,D.RequestDate,D.Quantity,D.UnitOfMeasure,D.ItemID,D.UnitPrice,D.LineComment FROM HDR4201 as H,DTL4211 as D Where H.OrderID=D.OrderID AND H.DOCO=D.Doco AND H.OrderDate=D.OrderDate AND H.ACKFlag is NULL;update HDR4201 set ACKFlag = 'Y' where ACKFlag is NULL

iv.How frequent we want to check the table and poll data if available can be set using PollingIntervalsInSeconds (default is 30 seconds)



v. Click ok 

7. On the first page click the Connect Button and do the following:
i. Select  Service (Inbound operations) as contract type under Select Contract Type
ii. Now under the select a category pane click the forward slash (../) and you should see the next pane i.e. Available categories and operations get populated
iii. Select TypedPolling and click Add button just below the pane.
iv.Filename prefix is optional but it's good to enter a value as it helps in categorizing the schema which will be generated. (I have used PolledData) . Thus my schema will have a name: PolledData_Ack.xsd
v.Click ok and you should see an XSD and an Orchestration added to your project.

8. Well you can go ahead and use that orchestration to receive the polled data and do further processing (will be posting about it in next post).
9. For this post I will create a receive port which will get polled data and a send port which subscribe to the message from the receive port.
10. Sign the project, build and deploy the project.
11. Open BizTalk admin Console and under your application go to the Receive Ports and create new receive port with :
i. Receive Location having Transport Type set as WCF-SQLAdapter
ii. Click configure button next to it, and repeat the process from above step 5- 7 
ii. Receive pipeline as XMLReceive 
12. Now create a send port with a Transport type as File and provide a location and : 
add a filter on the send port:  BTS.ReceivePortName=="ReceivePortName"
13. Now test the application. The polled data should look like below:




Will keep on posting as an when I find something to share!!!!!!!!!!!!