BizTalk Summit 2014, MARCH 3-4, LONDON
I’m kind of trying to go through all of it fairly quickly, in 45 minutes. As you’ll see as I kind of go through this, I hope you’ll see that it is possible, you can do it and depending on what your BizTalk solutions look like on premise. Your mind may vary in terms of aspects involved to get there but it is possible. So just a quick introduction from me, this is who I am, as Saravana said, I’m a nine time BizTalk MVP or Microsoft Integration MVP. I’ve just written a book which I should probably mention repeatedly over the next 45 minutes. What I’m going to do really here is, the final chapter of the book actually talks about this subject.
It’s obvious that we got a room full of people who are either using BizTalk or have been using BizTalk for last 14 years right? I think it’s an interesting area now when you have two things to choose from when you go from BizTalk Server on premise to BizTalk Servers. I know other people; they talk a little bit more about that than I am. I’m just really going to focus on how you can make that physical move from one to the other if you want to and if it makes sense and I’ll talk about that as well. So the final chapter eight in the book, when it goes through all of this from the artifacts seems variant BizTalk Server and the comparison with how you may do is easy in Windows Azure BizTalk Services or WABS. Discover a lot of things, I’m the co-founder of a local partner in the UK and not a Microsoft employee so anything that I say, it is not necessarily Microsoft’s view or I’m not representing them. So I think I’d cover this.
So 45 minutes, probably you must ask questions at the end, give you the time constraints we’ve got. So let’s just quickly think about why you’d move. There may be a number of reasons right? You may have an aging BizTalk Servers that is a quite common because the number of releases of BizTalk that started since 2004, most people don’t keep up with the latest version now at least not, we’ll go over the solutions.
As Guru were saying, there may be some forcing factors here. There may be the fact that the platform is going to have a support, Windows single Server etc. and you have to move and when you have to move, when you have to upgrade you can consider whether it still makes sense to upgrade to next version of BizTalk, and depending on which version BizTalk to go carry me on. Let’s say you’re on 2006. But maybe some significant effort in this move is a BizTalk 2013 if you use this on the oldest CPU that could be a long investment. I know you’ll say “Enough of this”.f
So maybe an opportunity to look at maybe I can get some benefits from doing this. It’s obviously the kind of cloud economic to this, not just the fact that it’s the cool and trendy thing to do, but there are good business reasons why you might want to do it as well. Probably the main one is about lowering cost and complexity.
So today in many BizTalk Server farms on premise or in daily centers, it can be a reason for simply people dedicated just to looking after those environments to keep it running, sort of a thing and managing and monitoring that environment. It’s typically a full time job for somebody or maybe more than one person. It’s a 24/7 job as well often times.
When you move to BizTalk Services or the cloud mall with it’s the Azure application service in model, a lot of that infrastructure management, monitoring, patching, building, and provisioning, and all of that stuff, it’s all kind of dumb for you right? You can focus on the platform that is a service model where you will just crane solutions in the plain and the stuff that is really, just that it’s the overhead of running a BizTalk environment. There may be sound reasons for doing it.
The opposite of BizTalk Server has remained relatively static for very good reasons for the last 10 years. A lot of reasons for that, of course, is that it changes fundamentally, either you decided to take a message box out of this thing, as they’ve done with BizTalk Services, you’re going to break the whole load of stuff. So it’s just not feasible to change things.
There may be other types of messaging panels which may be more appropriate than BizTalk Services and BizTalk Server. And by more than development, I’m talking about such as some of the improvements made in BizTalk Services such as the new transformation engine which is just a really nice experience we try to make the things of a harder than BizTalk method traditionally easy in the BizTalk Services transformations.
There are a lot of advantages and potentials for faster delivery on BizTalk Services as well. And then of course the crowd’s stuff, the flexible scale, the fact that BizTalk Services in provisions in terms of units through all of their service, so you just kind of move this slider up and down and this is when it get from one of these things to four of these things depending on my workloads or I’m expecting, I make enough.
I can scale up and down as appropriate and just pay for this things as I use them, rather than having to deal with peak loads scenarios on premise or maybe I have to have half of those in BizTalk Servers just to deal with those peak loads scenarios which may only happen once a month. I can deal with that in a different way while I’m using the cloud.
So there are going to be some challenges there right? BizTalk Services is not the same with BizTalk Servers. If you wrote something, let’s just say in BizTalk Server from the cloud, then you could make BizTalk Server from the cloud and distribute your solutions that are around there instead and as long as it’s going to survive later.
I really wanted to consolidate approaches that has been used, so if you cannot make your solutions from BizTalk Server to BizTalk Services, you need to know what’s different, what’s similar and what’s the same?
What you can just take as it is, or maybe listen to it and just convert and run it’s environment. We’re going to focus on first, the things that are similar or much the same and then we’re going to move to the kind of hard stuff and oversee the things that are harder.
And, I’m going to show you some stuff on how you can tackle some of these things as well. It’s all do-able. It just comes down to the way of doing it. That comes down to the value prop of moving BizTalk services or if that is your own cloud model at all, like the payback may not be immediate. The payback may be over a number of years, certainly, given that typically from my experience, service solutions can run for decades. People run these things and just literally forget about them and keep implementing more and more interfaces over time. You end up with a large infrastructure. And, it often doesn’t cause you very many problems.
So, you just run your business and you forget about it. In the long term, making that investment, taking those opportunities to BizTalk services may be a good idea.
So, I put this slideshow together the last few days and I was kind of thinking, “I should throw the classic term off,” so I tied it into google and it’s a nice set of images from ages ago. So, I pulled one up from 2004. I think it was a techie back then. We all kind of put together these diagrams and somebody said, “No, no. We should have one diagram,” and this is kind of the one that everybody was using at the end. It’s the kind of classic model with the message box in the middle at the center of the universe.
Messages come in through ports of different applications, through pipelines and then they get published in this message box of subscriptions off of that. It’s simple. Send messages out through the pipeline and then it goes to orchestration. And, not completely, but certainly this fairly comprehensive list of all the artifacts in the server. Send Ports, pipelines, etc.
So, a whole bunch of things go through this little project that don’t necessarily have to be my business.
So, probably one of the most fundamental things that people use in business servers is mapping. This, in orchestration, is probably too much of these things because of the graphical tools. They’re the ones meant to have the most productivity. Integration, allows you to take the imperfect world we live in and convert one thing back to another. You need to take one message format and transform it to another message format to enrich that message, add things to it, change it and then send it on to somebody else. Maybe we need to integrate those messages so you get messages in from a number of different partners and you can make changes to them in a single format due to business processing on it and then you send that off and you send it on to another set of partners based reading on this mechanism.
So, back to something fundamental… it’s one of the things that was produced in the preview of BizTalk services and is one of the receiving cinema investment, I’d say. Because, it’s a really nice grasp for mapping the experience.
And, it has a lot of improvements in the way it works rather than having the twisted contortions you have to do with the various structures are very simple in the business services map.
So, two general approaches that you can use when you’ve got existing maps… there’s a server you can move to business services. And, the first one is that the services mapper transforms all LT, just like other server does. So, if you’re just using straight XXLT maps, you can take those and you can run those most of the time in BizTalk services with no drama. You can even use the extensibility features of a bridge to actually just run that XXLT directly off the bridge, as well. If there’s anything that doesn’t quite support it… but, it’s very low effort to just take this map and run with the BizTalk services.
Now, the other thing you can do to move to that new world and start enriching and changing these maps, is you can convert the map BTM files and BizTalk services. There’s a map conversion tool that lets you do that.
So, what I’m going to show now is quickly how that works. I have a map right here. This is just a standard map with a scheme on that lines connecting them together. I’ve got some scripts in here. I’ve got basically some looping going on, so I’ve got some accumulation where I’m spinning around the price mode and I’m going to add them all together and average that all out to all the value on that is inside and they’re not trivial, but not too complex, either.
I can use this mapping conversion tool that’s services and to pull this up. So, this is a command run tool that I run and basically you’ll just run the executables, the BTM to TRFN. And, I pass in the map. This flats all the things that we’ve got here, this map from BizTalk server. And, while I run this, I can optionally provide ample locations, as well. If I didn’t do that, it dumps it in the same location as the map. It looked like it did something right. So, if I go across to Windows Explorer, you see that it’s all in date order right on the top here, is this TRFM file that’s been created by this tool. I don’t have to tell you that to prove that it really did do it… run it again. And, there it is.
So, let’s have a look at it. I’ve done this one deliberately to show you some things that can happen when you convert a map. So, it may be a bit hard to read at this resolution so bear with me as I shrink some stuff down. For our new services, I’ll call it as service 11. So, I’ve just got a blank project and I’m going to add in a map file. So, let’s get back here, grant the path of this thing, and paste it in here. Right, there it is. Now, if I open this… it’s a matter of not perfect, but it’s pretty good.
I knew this was going to happen, so I’ll just show you how trivial this is to fix. If I open this up, in code format. You can tell it has this issue where the IDs get duplicated and that’s got a whole bunch of script in the original digital map. So, you’ve just got to look for these things and give them a different value.
I’m only showing you this because this is one of those… it’s a moment of disappointment when you take your map and you run them and then you go, “Oh, didn’t work first time.” So, I’m literally just changing that script up for you to 14, as it showed there. And, now let’s go back and open it.
I wasn’t expecting that, as you can see.
Right, I hope so. Exactly, I mean to mention that. It is a tool provided by the product people, but not supported by the product group, is that right?
I think I have one I did earlier. Maybe it’s that. Yes, right. I forgot one. here… right. I need to play around with the formatting a little bit so you can start to see what’s going on… not quite that much. Let’s just drag some of these things around. So, you see I’ve got script here. So, it’s taken that across, another one there, this one’s going to be right on the right hand side.
This is exactly the same. It’s done a really good job with all the looping and all the aggregation and everything and it will run absolutely fine with all my tweaks. Things have been quite different, here, because of the way serves and its mapping being reinvented for the services, where now it’s either being in a nest or frontends. But, when it ranks… I’ve got this container and I can wire the container on the left hand side my input and then the container basically uses like a construct, which will automatically go through all the notes in the message and then I can put things inside that which act upon each of those individual instance that runs. So, it’s a little bit different. It’s functionally, exactly the same map.
So, that’s one thing that’s really useful when you’re looking at being able to reuse artifacts from services… the other thing associated with that is the service support schemes just like other server does. So, you can take your existing schemes and existing maps and convert the maps and put them in a services solutions and run them on your bridges and that should be fairly straightforward.
Headlines… next up. I’m trying to get us through all of this. Potlines, to me, the closest cousin of by lines is the bridge. A bridge is a kind of funky combination of message processing with potline processing all together. The way a bridge works is that is that it has seven stages, just like a potline does. So, as you do things, it mixes validation, working out the message type from the scheme as you can figure on that bridge, just like server does.
And, then it lets you put mapping on those potlines so that messages just kind of flow in and out of this thing and key to potlines points and server minor components and plug those into this. If there’s anything that the potlines or bridges don’t do for you. So, the bridges are kind of static, if you like. There’s really only two types at the moment, which is like a bridge. You just configure each one of the stages on that, very similar to what you do with XML file.
So again, there’s a fairly close match with the services. But, in another way, if you have fairly standard potline processing it should be fairly easy to take those in the bridges, maybe after the components if you’re doing anything too turbo and then just put it in your bridge and deploy it.
One other thing I mentioned about bridges, which is kind of interesting, is that bridges can go on other bridges, which you can do, but that’s kind of a non-trivial thing to do when the potlines and other considerations like that stuff. Doing it in BizTalk services, I think, it going to become very common and I’ll talk about that a little bit later when you look at how the service integrations has been added on both sides of the bridge, now. That is, as a destination, now has a source, as well. And, that allows you to very easily chain bridges together to make more complex messaging patterns you can’t do with a single bridge alone.
So, just a little graphical kind of comparison between these two things on the side, you’ve got a classic receive and send file and then we’ve got this bridge, which is kind of the same sort of two columns of stages and the next number goes all the way down these stages. The bridge is assembled, the validation, etc and then you go to the message box and you come on and go back out again. It just seems functionality in reverse. This is very similar to that, except there’s no message box. This thing sort of flows through and then goes out to a destination, which could be at the end point of your integrating with a web service or could be a relay, for example, if you’re ready for a response in a two way bridge.
So, there’s a very similar message flow where things go in and they can’t get through the potline, go out to your destination and you wait for a response. You get a response back to the message back to the caller.
Because this is another area that has got good support for my operation. So, that the management is associated with media processing. So, one of the luxury things is… when you’re looking at services? How do I take another 10,000 partners that I’ve got set up in the BizTalk server? How would I run those EEO purchase in Word and BizTalk services? I really don’t want to have to put all that stuff back in and all these people and contacts and phone numbers. When, in fact, it’s that stuff would ever be mine to do that again.
So, the services provides a migration tool for this, so the management has done 2010, 2015 compatible with BizTalk services. So, if you’re already on that version of BizTalk server, you can take… I think it’s only officially 2013. But, it does work with 2010, from my memory.
So, let’s have a look at how that works. Here’s the BizTalk server management console and expand this thing out to the parties and a couple of parties I’ve got set up and widgets limited. And, I’ve got a trading partner agreement to do things right. So, I want to take this and I want to migrate it to business services. How do I do that?
There’s another tool provided in the SDK and this is the management tool. So, let’s make sure you can see this. What this does, is this guides me through the process of appointing to my BizTalk server environment and asking me to select what trading agreements I want to migrate to my BizTalk services.
So, just quickly before I do that, to show this is a live demo and therefore, it probably won’t work. Over here, I have the BizTalk services portal and therefore I’ll just refresh this and let it think about it for a minute.
You can see that I’ve got no partners and I’ve got no agreements set up. It’s blank… BizTalk services. Yes… I shall come back to that.
I’m just going to go to the first part. My single server is just running around the machine and specification is next. That will put in the edge form details and my BizTalk services instance is up. So, you’ll have to put in the end point URL for that, which is the name that I give it when I create it. And, I can put it in my ACF details, my credentials, basically.
And, then what it’s going to do is it’s going to go to my BizTalk services instance that connects to that and allows me to pick which partners and which agreements I want to migrate. And, the reason it connects first is it wants to get a list and I can just pick the ones I want to take and next… next… next all the way through this thing and it will create a BizTalk services for me. How’s the Wi-Fi doing?
Okay, let’s move on. You will have to take my word on it.
Now, for the tough stuff. Just a quick recap before I move on… we’ve got maps, and we’ve got trading partners and agreements we’ve set up with BizTalk services… partners as well. Think about all this. What that means, is… messaging solutions. We’re not too bad. If you really want to move your BizTalk services, it’s not a huge effort. It’s not a total rewrite from the ground up. Don’t forget what I forgot to mention is… because of the expensive points with being able to add code into your bridges, if you’ve got a public component, there’s a whole lot of stuff which is auxiliary to the BizTalk API, if you like, and going and doing some calculations or whatever. Let’s just move straight across the way. Put it in a class, pile it up, and stick it in the message inspected bridge and it will just work fine.
So, that’s quite a story I think. You can do these things very easily with BizTalk services, but I think it’s fair to say that most BizTalk Services is orchestrated. I think this is probably a legacy thing and it’s the one thing that’s the coolest thing. When you first build a BizTalk environment. It’s really cool. I’m going to try to move all these shapes instead of thinking about what I’m actually trying to create and really just stretch what I’m missing in solutions. But, now I’ll do all that in orchestration.
I think over time the odds of being introduced. But, talking about legacy sweeps and things… there are a lot of cases that use orchestration. When you think about the various messaging patterns, you want to fan things out a bit dynamically to a number of end points. And, then the another party. These type of things are typically unorchestrated because it is that coordination of work that you need to do. Maybe you’re waiting on an event and your time out to orchestrate just the patent to do this. So, it’s an important piece of the puzzle.
But, it’s our problem solved because there’s no direct equivalent of BizTalk services, right? The only Xfiles is quite a complicated thing. So, what can we do? With the architecture as of BizTalk services being fundamentally different to BizTalk’s server… and, although work flow is planned with BizTalk services in the future, that’s not necessarily giving away any of the orchestrations of BizTalk services.
We’re just completely rewriting that and what if I did rewrite it in? What I want to show here is just a little example of something we’ve been working on.
What I am going to show you, is a couple of examples. So, let’s go back to BizTalk. So, I’ve got an existing demonstration. I’m just going to grab this things for demonstrations. You can’t see what I’m doing. I’m just trying to find my little pack of demonstrations that I’ve got.
So, let’s just open this guide up. Really simple, right? This is the classic. The first alteration we’ll rewrite this and this is a bit like that. I’m going to do an average. I’m basically going to set a standpoint. And, then in the middle of this thing, I’m just creating a message and an info message of hello, so the lack of band doesn’t necessarily stop them from using the services.
And, the fact that tracking is there and is present in BizTalk Services do have some element of instrumentation for your word levels. And, the other thing I’d say is that somebody’s actually written the end page on this. I was just looking around yesterday. There’s a new BizTalk server, so you can put a website in on a BizTalk server and the band and just write these activities from the lapse bridge. If you’re one of these, multiple platforms or systems, anyway. So, it’s just another one. So, just use that in combination with BizTalk server.
Another important aspect is looking at what makes sense when you move things around. BizTalk server plus BizTalk services is actually quite interesting. There may be many reasons why you can’t move a whole solution to BizTalk services and just a hybrid type of production.
Business uses many kind of strategy as well as tools, now, is another area which is being used at some point in the future of BizTalk services. Something you can do is you can use web people. So, you can actually try depending on what you’re doing fairly easily here.
So, one solution for that… or, you could expose, depending on the licensing, you could expose your busy rules engine on apprentice or even a crowd BizTalk server and just post onto that with your message data. So again, it’s kind of the hybrid approach and a partial move rather than a full move.
So, where are we? What I’ve gone down is the list of each of the BizTalk servers and the equivalents in business and tried to put up a graphic. This is very low effort, just got out of the box anyway. adapters… pipelines bridges are a good equivalent. Again, with extensibility… adapters, it kind of depends, right? There’s 300 plus adapters in the BizTalk server and not so many of the BizTalk services as Guru said.
The very important next step for BizTalk services is extensibility APR. Again I think that will help plug the gaps. Because, otherwise you may be wanting to do some processing BizTalk services. Then, you’d push down to the premise of BizTalk services. There’s different common cases for that where you’ve got an existing BizTalk app that connects to a line of business system that’s not supported by the BizTalk adaptive services.
You could actually just use a bridge to connect to BizTalk premise. Then, we have to go down to orchestration. We’re not there yet. But, it’s coming in terms of work flow. You see it’s possible to construct one version to the other. BizTalk’s also doing this with that company, as well. Depending on whether you’re using that or not, it would be more or less of a problem than tracking. Tracking’s there.
So, when you put it all together, you may think it’s starting to move things around, make it to get better agility, better scale, lower cost… by moving some of these services.
As I explained it creates missing patterns and that’s to help me there. And, it’s also important to remember BizTalk services does really well with other BizTalk services. They should have told you that because most BizTalk experts in the room used it at some point. That probably is a message to kick something off and use it as a scheduler and at 3:00 on Sunday. I want to put a message in a bridge and it will kick off that processing and maybe it’s in and doing something else, somewhere else.
So, don’t just look at BizTalk services as isolation and a bunch of other things around it. It can really compose together as an integration platform via cloud. If I take my existing instance I showed you earlier, which had no agreement or partners. There’s a place for all that stuff in… and, actually it would help if I put these in the right boxes. And, no use in writing my secrets down because it isn’t demo friendly, this dialogue. So, quickly we’ll move on from that.
So, what it’s done is, it’s lifted my server on premise databases and you’ve got these two partners. Which ones would you like to move? So, I can just select both of those… click next. And, it’s going to take away and there you go. Two partners, two agreements and the second. And, then it’s going to say you’ve got these two agreements, move those and I’ve got an agreement between at me and widgets, so I’m going to move on as well. When I click next on that, I get a little tick next to that. I do and I click next. Two and two and we’re done. So, when I go back to the portal and, let’s have a look at this. And, it’s refreshed… two partners, one agreement.
Okay, so again, just to quickly change the token now. I didn’t show earlier how you can very easily create a training. And, there’s an APR behind it, so I’m sure people are going to talk about it. You can do it problematically, as well.
So, just to really finish off then. What makes sense to move? Hopefully, explaining as I’ve been going. It doesn’t make sense to move everything. Maybe you’ve got data and classifications on some of your systems and some of the data processing which you can’t move to a one place platform. It depends on the message the data is coming from and going to makes no sense to take a two on premises through the services unless they’re going to go to point out on the internet somewhere. You may have leaks and requirements which are out of order if you’ve got to pushing all of your traffic out of your dataset and all of that data pulling it back in again to connect to an on premise system.
But, it’s very useful. It’s very useful to your client’s cloud. Maybe, from a security standpoint, you’d prefer not to bring data on premise coming from third party going to another third party and you’re just acting as an intermediary for that. That’s great, because now you have to set up your firewalls and other stuff and construction on premise. You can use BizTalk totals to connect these two things together.
And, I’ve said it’s not all or nothing. High grade integration patents are important, here. I think they’ve become increasingly more important in how you connect different things together in certain services, particularly.
So, I can’t end there without throwing up a slide of the book. So, this is coming in later this month. We’re literally going to be clumping, I think, where this bubbles the chapters together and it goes over to the printers and I have them in the next week. And, then it’s two or three weeks on from there. You’ll see it’s already out for Amazon already. And, this really covers BizTalk services with no prior knowledge. If you’re a BizTalk owner, you’ll learn very quickly and if you’re not a BizTalk developer, you’ll understand the concepts very well. And, I’ve tried to cover one of the chapters in the book in this talk.
One nice thing that I mentioned, is that we’ve managed to get the BizTalk Services. who heads up the whole BizTalk program to write a few words for us as. So, go and order it now.
So, thank you very much.
byHarish Kumar Agarwal
byTord Glad Nordahl
byStephen W. Thomas