Vishal Mody

BizTalk Professional

  Home  |   Contact  |   Syndication    |   Login
  9 Posts | 0 Stories | 6 Comments | 0 Trackbacks

News

Archives

Post Categories

General

Links

Tags

Friday, July 31, 2009 #

Hey Guys,

The BizTalk Azure Adapters SDK is out and you can download it from Codeplex.


Below is the link:

http://btsazureadapters.codeplex.com/




Thanks,

Vishal Mody

Tuesday, July 28, 2009 #

Hello,

Finally Microsoft had announced the RTM (Release to Manufacturing) for Windows 7 and Windows Server 2008 R2 on July 22nd. Windows 7 will be available to customer's around Oct 22nd 2009 and Windows Server 2008R2 somewhere around that date.

For more information visit here.

I have Windows 7 Ultimate installed on my laptop last week and before it gets fully expired Microsoft will have Windows 7 RTM released. Glad to hear that.


Thanks,


Vishal Mody

Friday, July 24, 2009 #

Hello All,

 

Recently I installed Microsoft new Windows 7 Ultimate the version7600 on my machine . This RC version is going to be almost identical to the final release from Microsoft. I installed the trial version of it, downloaded from Microsoft site here. The trial version can be extended for 120 days of trial period. It can be done following the steps shown here.

 

Now my goal was to install the BizTalk Server 2009.

 

The steps I followed.

 

  • Installed Visual Studio 2008 and later installed Service Pack 1 for it. Trial version can be downloaded here.
  • Installed SQL Server 2008. Trial version can be downloaded here.
  • Finally BizTalk Server 2009 and that’s it. Trial version can be downloaded here.

 

 

I know the steps are pretty straight forward but I was skeptical about everything getting installed perfectly. I have Sony Vaio VGN N250 E-Series and even before installing the Windows 7 I was skeptical that my Vaio drivers would work or not because my particular machine is like very choosy about the OS. I had got it when Windows Vista was first introduced in Jan 2007 I suppose. At that time I tried installing XP on my machine but no. There were no drivers software available for my machine anywhere and finally I had to reinstall Vista. Nothing worked at that time like sound drivers, wireless, etc. Now Sony does have drivers for XP for my machine. I did not bother much to do workaround at that time.

 

Anyways, so what I feel is Windows 7 is way better than Vista so far. I haven’t done yet any development with BizTalk or any other testing so if I just talk about usability, performance, looks than I felt its very good. It consumes so less memory than Vista. I have a 3GB RAM on my machine but when there was Vista it was always above 60%. Now even after installing all other software’s like KLCodec, Itunes, VLC Player, MS Office, few Messengers etc and the above 3 giant ones still Windows 7 does not consume so much memory. Even CPU usage is comparatively way efficient than Vista. I have became a fan of Windows 7 Ultimate.


Lets see if I can install the ESB 2.0 Toolkit on Windows 7 as according to its prerequisites it can be installed on Windows Server only. I ll try for some workaround this weekend and keep you guys posted.

Till than happy BizTalkinggg...!!!!


Thanks,

 

Vishal


Thursday, July 02, 2009 #

Hello All,

 

Recently I am engaged in an Integration project in which I have to Integrate BizTalk Server 2006 R2 with EMC Solutions product called Smarts Software. This Smarts Software exposes a Java API and a Web Service interface. Initially knowing that it exposes a Web Service I felt relief and it would make my life easy but then talking with the Smarts Software people they told us that the Web Service Interface is very naïve and it does not have all the functionality we need for the Integration. The only option left was to talk with the Java API. Here I started my research to find the most efficient way to talk with this Java API.

 

Below are the options:

 

·         Create a Java Web Service which wraps the Java API and BizTalk can consume that WS.

o   BizTalk can use SOAP Adapters or WCF-basicHttp Adapter and talk with this Service.

o   We need to write code for each of the functionality and every time any change in the Java API need to modify our WS.

o   Would require considerable time for development and testing the Java Web Service.

o   Always there would be chance for any errors occurring on .NET and Java side.

 

·         Using IKVM

o   IKVM.Net is an implementation of Java for Mono and the Microsoft .NET Framework.

o   It includes the following components:

      • A Java Virtual Machine implemented in .NET
      • A .NET implementation of the Java class libraries
      • Tools that enable Java and .NET interoperability

o   For more information visit: http://www.ikvm.net/

o   Once again need considerable time for understanding and start developing.

o   More time would require for development. It’s an open source and did not see much people in Industries using this tool so skeptical about its performance and reliability.

o   Always chance for any errors occurring on .NET and Java side.

 

·         Using JInegra for .NET

o   J-Integra® for .NET is a high performance middleware bridge that enables Java .NET interoperability. Its pure Java implementation of Microsoft's .NET Remoting distributed object wire protocol allows you to access .NET components from Java clients, and Java objects from .NET clients.

o   J-Integra® for .NET can be used for point to point integration scenarios where the two application that need to communicate with each other don’t need to plug into a common integration infrastructure such ESB. Example use case scenarios include:

§  .NET client interaction with a J2EE Server

§  .NET client invoking Java desktop application.(Similar of our integration project i.e. .NET client invoking a Java API)

§  .NET Server interaction with a J2EE Server.

§  Java desktop applications invoking .NET Server.

o   For more information : http://j-integra.intrinsyc.com/products/net/

o   Found out that is it being used by many industries also. The list goes http://j-integra.intrinsyc.com/company/customers.asp.

o   Considerably cheaper than other products available in market but little more complex compared to other in respect to implementation.

o   So more time required to understand the product and later implement it but definately worth product to look into. 

 

·         Using Java Native Interface (JNI)

o   JNI is an open standard and is a programming framework that allows Java code running in a Java Virtual Machine (JVM) to call and to be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly.

o   Again we need considerable amount of time and effort to learn JNI and code it.

o   We need to write code for each of the functionality and perform modifications on our side for any changes on Java API.

o   For more information visit: : http://java.sun.com/javase/6/docs/technotes/guides/jni/index.html

 

·         Using CodeMesh JuggerNET

o   Similar product like JIntegra for .NET and similar factors for consideration.

o   For more information: http://codemesh.com/products/juggernet/index.html

 

·         Using JNBridge Pro

o   JNBridge is since long time in Market and is a well known product by many industries (JNBridge Clients) which had done integrations work between .NET and Java.

o   JNBridgePro enables you to join anything Java together with anything .NET across the platform boundary.

o   First product which actually has an adapter to talk with BizTalk called JMS Adapter for BizTalk Server. Unfortunately that was not for our project as we had to talk directly with the Java API and not a Java Messaging Bus.

o   It’s really fast to develop and very easy to generate proxies and also regenerate for any changes in the API.

o   For more information visit: http://www.jnbridge.com/jnbpro.htm

 

I downloaded trial versions of three of the products which were Codemesh JuggerNET, jIntegra for .NET and JNBridge Pro. If you ask my frankly than I was most comfortable with the JNBridge pro. I just saw their one of the demo and within minutes I was able to generate a proxy for the Smarts Java API and reference that in my BizTalk Solution and I was so happy to see that I can just make a variable of any method of the Java API and use it directly in the expression shape. Hence so far it made my life easy. It does has many consideration about how the JNBridge will talk with the actually Java API. It say that there are 3 ways in which it can communicate: Shared Memory (both on same server), IP/TCP and HTTP/HTTPS. So far everything looked good with the JNBridge. Also we can develop a custom adapter using the generate proxy and talk with the Java API.

 

So I concluded to 2 option in the end.

First is using the JNBridge Pro. (Should fit in out project budget as its considerably costly product than other products.)

Secondly, develop a Java Web Service which sounds very straight forward. ;-)

 

I will update this post once we decide on what approach we are going to take and how it went.

 

 

 

Thanks,

 

Vishal

 

 

References taken for Wikipedia and mentioned products websites.

 


Friday, June 19, 2009 #

BizTalk Interview Questions for a senior level positions. Basically for a position in which one is involved in Designing and later develop the Solution himself.

 

1.         What is Biztalk Server? Since when are you working on BizTalk?

2.         What versions of Biztalk Server have you worked on?

3.         What is the difference between 2004, 2006 and 2006R2?

4.         Did you get chance to work on BizTalk 2009 version? If yes what difference you saw in it from R2 and what enhancements Microsoft has made in it?

5.         Tell me about BizTalk Server architecture?

6.         Tell me about any engagement which you rate top most while working as BizTalk developer and why?

7.         Most Imp: Tell about a project which was most challenging to you and how you overcame it?

8.         What do you hate about BizTalk Solution development and which you would like to improve in upcoming versions?

9.         How you do testing with your BizTalk Solutions and what tools or methods you use?

10.       How do you debug any errors occurring in BizTalk Solution?

11.       How do you debug an assembly used in Orchestration?

12.       Which way you find most efficient debugging Biztalk Solutions and why?

13.       Were you involved in designing BizTalk Solutions? If yes than what kinds of architecture you have designed?

14.       What design patterns you follow for designing solutions with BizTalk in it?

15.       What do you know about Itinerary based routing architecture?

16.       Did you ever got chance to work on ESB's? If yes, tell me more about it?

17.       Tell about BizTalk Solution development lifecycle?

18.       What kinds of Integrations you have done with BizTalk Server?

19.       What challenges you faced while designing and developing a Biztalk solution which involved multiple non MS platform technologies? How did you overcome them?

20.       What different kinds of Adapters you have worked on?

21.       Have you worked on SAP Adapters? Why did you opt using SAP adpaters instead of communicating with Web Services?

22.       Have you worked on Salesforce.com integration in any of your engagements? If than tell me more about it.

23.       What challenges you faced while working with Salesforce.com?

24.       Have you worked on EDI documents? What kind of EDI documents have you worked on?

25.       What different types of industries you have worked on? Which one you found most challenging and why?

26.       Were you involved in developing Custom components for BizTalk Solutions? If yes than what were those?

27.       Have you developed and used any Custom Pipeline Components? If yes than how did you develop them and later used in BizTalk Solution? Challenges you faced using custom pipeline components?

28.       What kind of environments you have worked on?

29.       Have you worked on environments containing multiple BizTalk box installed? If yes than what different kinds of configurations were there?

30.       Were you involved in administrating Biztalk solutions?

31.       Tell me how you deploy your BizTalk solutions? Do you use any tools or API's for deployment?

32.       How do you deploy your solution on multiple BizTalk boxes easily and efficiently? What issues have you faced doing that?

33.       Have you worked with Business Rules Engine? Tell me about the BRE architecture?

34.       How does a rule gets actually fired or processed in an orchestration?

35.       Have you worked with Business Rules apart from using them in Orchestrations?

36.       What are the different ways you can call a Business Rule in Orchestration? Which way you find most efficient and why?

37.       Have you worked with BAM? What is BAM and why did you use in your particular project?

38.       How did you develop a Biztalk solution with BAM in it?

39.       What deployment steps you apply to deploy BAM?

40.       Which are different BAM Databases? Have you manually deleted any BAM data? If yes than how?

41.       What is the easiest way to develop a schema from an given XML message?

42.       Have you worked on a architecture having WCF Services? If yes than tell me more about that architecture?

43.       How would you rate using Web Services over WCF Services in BizTalk solution? Why?

44.       Have you ever exposed you BizTalk Solution as a Service? How?

45.       Have you ever felt that using BizTalk at a place wasn’t a good option?

46.       What types of different capabilities of BizTalk Server you have worked on?

47.       What do you know about transactions in BizTalk Solutions? What is Atomic/Long Running transaction? When do you use them and when not?

48.       How do you handle your exceptions occurring in BizTalk Solutions? Do you follow any particular standard to handle exceptions?

49.       What are the most important things to keep in mind while designing BizTalk Solution Architecture?

50.       What size of architectures you have worked on and how many multiple Enterprise Systems were involved in it? How much time it took for you to design and develop it? What was the team structure for that engagement?

 

More of them are here.


Hi All,

Recently in my last client engagement I was involved in an Integration project which had Salesforce.com as one of the Enterprise System.

The company was using SFDC as their CRM system. Our team consisted of 3 members. One Salesforce.com guy, me as BizTalk/.Net guy and a core .Net/SQL guy. Our requirement was embed data flow in both direction i.e. from Salesforce.com and company db say “xxx” and from xxx to Salesforce.com. This was to be done in both real-time and scheduled or batch basis.

 

Initially we did lot of research about SFDC adapter available in market but we just found on company called Two Connect which had developed those adapters. We even spoke with many of the Salesforce.com guys working since years and if they have anytime involved in such a integration project.

Anyways, TwoConnect has pretty decent adapters but few factors due to which we did not use them.

One of them was their cost and was not fitting company budget.

Secondly, when I was in that project MS had released BizTalk 2009 version and the company had BizTalk 2006R2 version and that company may anytime upgrade to 09 version. Then what about the adapter compability with the newer server. May be there would be a patch out and they would tell us to install and all. I was the only BizTalk guy there and me being the contractor, the company did not want to go in such hassle so we did not opt using the TwoConnect  SFDC Adapter.

 

If I go in more details about the TwoConnect SFDC Adapter than it was very straight forward (“looking at their documentation and videos”), similar like you use a SQL Adapter, i.e. Add generated Items and wizard pops up and few configuration parameters, like which methods of the SFDC Apex API you need to call and stuff similar.

 

Now coming back to the architecture we opted: For the first scenario i.e. data coming from Salesforce.com to xxx (company db), we had a WCF Svc sitting in between xxx and BizTalk. So I consumed the WCF Svc and I had my receive and send ports exposed as Web Svc, which later on the Salesforce.com API consumes. There is huge internet cloud sitting in between  and lot of firewalls and IP configuration issues we came up. But eventually resolved.

HLD architecture : Salesforce.com - Apex API - BizTalk - WCF Svc - xxx

(Here Biztalk exposed as WS and Apex API consumes it, initially we had exposed it as a WCF Svc and later on found out that somehow the APEX Api does not like WCF so had to step down on Web Service.)

 

Next is for the data going from xxx to SFDC, this was a challenge as in order to communicate with SFDC Apex API lot of stuff had to be done dynamically. Also we had time and budget constraints. Simplest BizTalk design is having a master orchestration which talks with the API and later on calling other child orchestrations according to function performed i.e. either update, insert, delete, create etc. Here for the first time BizTalk talks with apex API and it responds back with a URL and BizTalk has to dynamically next time send actually data to this URL so some dynamic bindings we did. And for getting the data from xxx, there was a WCF Svc sitting there BizTalk talks with that svc which is pretty much straight forward.

HLD architecture: xxx – WCF Svc – BizTalk – Apex API – Salesforce.com

(Here BizTalk exposed as WCF Svc and the other WCF Svc talks with endpoint)

 

One the most quickest option to complete this integration is having 2 WCF svc’s or WS sitting around BizTalk and BizTalk acting just as a pipeline in between. Here we did not do any transformation nor applied any business rules or any other process on the data. Just a pure messaging solution.

So the architecture will be like: XXX – WCF Svc – BizTalk Server – WCF Svc – Apex API – Salesforce.com .

 

It was a challenge for the data going from xxx to SFDC but was fun though. That was my experience working with Salesforce.com

 

If you anyone has done integration with SFDC than I would love to hear their experiences.

 

 

Thanks,

 

Vishal Mody

 

 

 

 


Hello All,

I found the Pro BizTalk 2006 book really good and now since Microsoft have released the BizTalk 2009 version I was thinking that new books should come pretty soon.

And here it is. The Pro BizTalk 2009 will be soon in the market. Its by authors George Dunphy, Harold Campos, Stephen Kaufman, Peter Kelcey, Sergie Moukhnitishi, Davi Peterson.

Also the Book Pro Mapping in BizTalk 2009 looks good at first glance. I am reading that and I ll post hows that. The Pro Mapping is from Jim Dawson and John Wainwright.

Some how I like all the Pro's by APress. Even the Wrox ones are good. I have a account in http://skillport.books24x7.com which is online books database and almost all the new released BizTalk books are there. Once I am done with the Pro Mapping one I will be reading the Pro BAM in BizTalk Server 2009 by Jeff Sanders and Geoff Snowman.

Till than Happy BizTalking....!!!!!!!!!!!!!!!

Thanks,

Vishal


Monday, August 18, 2008 #

 

Convoys are groups of related messages that are intended by a partner business process to be handled in a specific order within an orchestration.

 

1 Concurrent Correlated receives

Concurrent correlated receives are correlated receive statements in two or more branches of a Parallel Actions shape. If a correlation is initialized in more than one parallel task, each correlated receive must initialize exactly the same set of correlations. The first such task that receives a correlated message will do the actual initialization, and validation will be done on the others.

2 Sequential Correlated receives.

Sequential correlated receives are receives that are correlated to previous receives. Convoy processing takes place for cases in which the correlation sets for a receive are initialized by another receive.

Taken from Pro BizTalk 2006 (By: George Dunphy and Ahmed Metwally)


Friday, August 15, 2008 #

Hello All,

I was going through almost all the Biztalk Server books present in the Market but the book which I would suggest are the best are:

1. Pro BizTalk 2006

by George Dunphy, Ahmed Metwally

2. Professional BizTalk Server 2006

by Darren Jefford, Kevin B. Smith, Ewan Fairweather

Pretty good books and well explained the Architecture of the Server along with many real time senarios.