Click Here to Install Silverlight*
United StatesChange|All Microsoft Sites
Microsoft
PressPass - Information for Journalists 

Remarks by Bill Gates
Tech Ed 2000
Orlando, Fla., June 5, 2000

MR. GATES: Well, good morning. It's incredible to see the great group that we have here, and have this chance to talk about where the industry is going. Back at the beginning, the vision that the microprocessor would create a revolutionary tool in the personal computer was not something that was widely understood. And getting the personal computer to critical mass, allowing it to become a tool for literally tens of thousands of applications and building a whole industry around it, has been the legacy of Microsoft's work.

As we look forward now, the impact of our activities are even greater than any time in our history. We have today not only the huge installed base of personal computers, and the dynamic software industry that's grown up around it, but also now the Internet as a revolutionary tool. It's redefining communications. And over the next decade, it will redefine business, and the way people learn, and even the way they're entertained.

What I want to share with you this morning is how software is the key ingredient that's going to change the Internet from the way we know it today to something dramatically more powerful. And so I've entitled this talk Building The Internet, Next Phase. Now, if you look at the business mania around the Internet, you could say that it's going into a new phase. The first phase of the Internet was really about presence, making sure that everybody had a Web site, and there became a real demand that every company, large and small, get out there and at least have something on the Internet. People weren't quite sure why they were doing it, but they knew they had to have a URL. Their kids were asking them when they came home, "Dad, do you have a URL?"

Stage two of the Internet was about transactions, and various people trying to set records saying, hey, I have this much gross revenue, I have that much gross revenue. Some of that was matching of buyers and sellers who never would have found each other in the past. Some of it was simply taking transactions that would have been done through paper purchase orders, and saying this business was done on the Internet, although really the change was quite trivial in terms of what that meant. But in this phase, the announcements were all about growth of revenue.

I'd say that in the last few months, people have recognized that there's a new phase that's very important, and that's a focus on how the Internet can change profitability. Profitability for the start-up that so much has been invested in, and perhaps even more importantly, profitability for existing companies. And profitability not just by having gross revenues, but by taking every process in the business and seeing how the Internet can be used to make it more efficient.

Now, I think it was inevitable that we would get to this phase. All technologies go through sort of a honeymoon period, and eventually you get down to the bottom line, how is it really going to affect business. I think this phase will be a very, very exciting phase, where the simple notion or the manias of the first two phases will no longer be how people think about what's important.

What does it mean technically, where are we going with the Internet? Given that it's connecting up all these different sites, it's got all this momentum; does it really need to change at all? And what you'll hear from me today and really a theme in this even is, the answer is yes. We need a new generation of software tools that are going to make it easy to build the Web sites for this phase three.

Today, when we think of the Internet, it's almost like having millions and millions of terminals that can connect up to any large computer. This is a little bit like having 3270s. The protocol is overwhelmingly a presentation protocol. You look at one site at a time, and when you see the information from that site, according to whoever wanted to author that site, that's what you see. So, it's primarily about reading information.

If you take a typical task from a knowledge worker, say to plan a new product, they'll find themselves going out to many Web sites, trying to gather the data about the future of the economy, say, or manufacturing capacity. But the information they gather they either have to scribble down on a piece of paper or use the clipboard against information that was really only designed to be read.

The way we interact with the Internet is overwhelmingly through the keyboard today. And most business activity is really done offline. In this next generation, instead of simply thinking about the Internet as a presentation device, we think about it as a platform, and we run applications in the Internet. We store the information that people care about in the Internet. You could say that we're moving from the personal computer being the sole platform here, to the Internet being the platform. And there's a lot of things we can do when we think about it in that way. We can think about not making people have to move their information around from PC to PC or from a PC to another device. We can store that information for them.

This idea of hosted services is really a key element of the Internet as a programming platform. Once we think about program acting on our behalf, and gathering information from many sites on the Internet, then we can think about personalized information. We can think about rich views. We can think about collaboration where we're editing that information, annotating it, adding to it, and doing the primary job of the knowledge worker, which is over half of the entire economy is investing and making those knowledge workers more effective.

It's also a time where although the keyboard will be important, these natural interface technologies will get to critical mass. Today, the amount of email I get that has handwriting or voice annotation in is very, very small. It's kind of a novelty. And yet, in this picture, I would say that the majority of email messages will come in some form other than a purely typed-in message.

And so the goal here is to get all the collaboration, all the economic activity online with the benefit of the digital approach. Now, what assumptions are we making that allow us to be so optimistic about this next phase? Well, I'll talk mostly about the software breakthroughs that we're driving that are key to this. But, in parallel with that, we are assuming that the fantastic hardware companies continue to make very, very rapid advances. We're assuming that connectivity speeds continue to increase. Broadband, which we have today to most businesses, will be pervasive, eventually even into consumers' homes and to countries outside the United States.

We're assuming that digital wireless is more than just a transport for voice communications. We're assuming that the wireless world connects to the Internet world, so you don't have to author a Web site many different times. You can use the new tools I'll be talking about, and anybody with a wireless device and any kind of screen will be able to have your site appear and adapt itself dynamically to the size of that screen, and the interest of the user. We're assuming that authentication becomes very trustable, and that through smart cards, and other biometric type capabilities, we can know who we're talking to on the Internet.

We're assuming that the PC continues to get dramatically better, not just in a numeric sense where we'll get processors that are 10 times faster, local disk storage 10 times as large, but we're also assuming that it becomes much more of a communications tool. The standard microphone that's built in will allow for real-time collaboration. The camera that's built in will allow you to share information and meet with people at a distance. The form factor of the PC will be changing as well, getting smaller and, therefore, more convenient.

We're assuming that most phones will start to have screens. And so, in fact, instead of viewing the PC and the phone as in two different worlds, you'll view them as almost a spectrum of devices, with the screen getting larger and larger, and the local richness of the device, and its ability to work offline getting richer and richer as well.

One of the new form factors for the PC will be a tablet form factor, a device you can take to a meeting, take your notes on, and that becomes natural to use the same way that a paper tablet would have been used in the past. The readability of these tablet devices along with the smaller electronic books will mean that for the first time we don't have a split between our paper world and our digital world. We don't have to go back after meetings and try and decide which notes to type in, or when we go to our terminal to read electronic mail decide which emails are long enough that we need to print them out. And only in that form can we do the kind of annotation that we're used to with paper.

These hardware breakthroughs, as exciting as they are, I think we can guarantee that these will happen. The investment levels, the understanding of the demand for these breakthroughs are all there. And so we can build our software architecture knowing that these things will be present, the same way that the original Microsoft software architectures assumed that the PC industry would turn out breakthrough hardware.

When we first came up with the idea of Windows and the graphical interface, the machines weren't fast enough. And yet we had faith that if we did our part that those machines would come along. I have even greater faith here because the size of the market, the focus on this market is so much greater than back in the days of pioneering graphical interface.

Fundamentally, with this hardware and software generation, we really can say that we're moving to a digital world, a world where CDs and records will be something that people talk about as having been in the past, almost like dedicated word processors, or calculating machines, or typewriters. We can have photos being exchanged purely on a digital basis. I'd say the most ambitious digital media is getting film onto the PC and making it so that typical editing is simple to do, and also taking your notes and with this new tablet PC form factor, having those be something that are easy to go back and find, and easy to share in their digital form.

Digital business will mean more than just the simple buying and selling transaction. All the issues about exceptions, was it delivered on time, was there a substitution made, all of that, all those events, will be mediated in digital form. And you won't have to have these side channels where you're calling up and talking about, well, did that nice simple order go through digitally, now let's deal with the true practicalities of what a complex business relationship looks like. We'll be able to codify those things in digital form.

In fact, today we'll be giving you a demonstration of one of the breakthrough tools that will make that possible. And finally, with knowledge workers, their analysis, their looking up records, even their meetings, their learning, all of those things will proceed in a digital fashion. And so, with the hardware and software, these impacts will be far-reaching, and I think in every way fighting, because it takes the theme of empowerment, which is what the PC has been all about, and brings it to a whole new level.

The experience will be quite different than what we have today. What we've learned from Windows applications, the Windows user interface, of course, we'll be able to carry that forward. But as we take the best of the browser, and the best of productivity applications and bring those together, that's a new synthesis. As we bring in the natural interface so that documents can have all those different types of input, that's a new synthesis. As we come up with software so that users feel that they're in control, not just in control of avoiding junk mail, not just in control of being notified when things change, but literally being able to say, for any device that they're on, exactly when do they want to be interrupted, and what information do they want to see. Whether that information comes from internal applications, whether it comes from Web sites, whether it comes from a page that's coming into them, all of that brought together and giving them the software tools so that they are using their time most effectively. All of the information they care about available, literally, on every device. And so, that's a new experience that this software foundation will enable.

Well, we really have an incredible level of interest in the work that all of us are doing, you can't pick up a magazine or watch a TV show without some allusion to the excitement behind the changes that our industry is bringing, not only to this country, but the world at large. We've captured some of the unusual things that you might see as people talk about this industry, and made a little video of that. So let's go ahead and take a look.

(Video shown.)

MR. GATES: So, everybody is talking about the potential of the technology. Microsoft just eight months ago made the first change to its vision statement to talk about this new scope, how technology will be used. And instead of the original vision that we founded the company with 25 years ago that talked about the PC, we now talk about "great software empowering people anytime, any place, on any device." So, as I said earlier, this is the move to the Internet as the platform. The benefits really come to the individual, it's your information, it's your tying across any experience. And so it's not just a single Web site deciding what you're going to see, and it's not you having to manage the individual device. The focus is purely on allowing you to get the things done that you want to get done.

Now, let's focus on the underlying software technology that's going to make this all possible. Well, one of the key elements is this new protocol XML. As opposed to HTML that is only designed for presentation, XML is designed for data exchange. It allows programs to exchange information in a very high level abstract, self-describing form. And so, most of the scenarios for the future, when you want to get something done, there will be literally dozens and dozens of exchange of XML messages between different computers.

There's a lot of work to be done around XML. It's really just a starting point. XML gives us an opportunity to have these rich descriptions, these descriptions which are often referred to as schemas, need not only to be standardized in various industries, things like what does a health record look like, but also we need a generation of tools that are designed to deal with this information, to transform it in different forms, to store it, and to make it easy to program against.

And the impact on the software development world will be quite substantial. Tasks that would have been almost impossible to do in the past, making two applications work together, will now become rather simple because of the richness of these tools. And so, in the same way that we in 1995 made a big bet on the Internet, which, at the time, meant HTML and browsing, we, throughout our product line, are taking XML and saying, we know that's going to be popular. We know it's important, and so we're going to lead the way in these advances.

Using XML, we can start to think about not just looking at Web sites, but going out to Web services. Say you want to take a look at where in the country you want to sell a particular kind of product, or look at certain kinds of outlets for a product. That's obviously something where today you'd have to go to Yellow Pages, you'd have to go to different mapping sites, you'd have to go look up the catalogues of the different stores, and all you want to do is see a map of where a certain type of merchandise can be bought. With Web services, XML messages would be sent out to the various sites, and a very rich view would be synthesized for you that brings that information together. And so, across all your different activities, this idea of Web services will be important.

Take, for example, managing your finances, you don't want to have to go to your broker's Web site, your bank Web site, to the insurance company's Web site just to pull together the information about where things stand, you'd like to see that all in one place. And so we need those Web sites to move into this XML generation where you can talk to them almost in a program-to-program type fashion. Well, the protocol that sits on top of XML and lets Web sites do this kind of interchange is one that will be open to everyone, one that will be as pervasive as HTML is today.

Microsoft was the initiator of this SOAP, or Simple Object Access Protocol, but we now have a lot of momentum behind it. Many of our fellow large companies -- including companies in the industry that are primarily our competitors -- have said, yes, this is a very good idea. So, it's now proposed as a standard in front of the W3C, and I know that this will be a very fundamental building block. It really makes the Internet the integration fabric. And we are already providing a tool kit to let people take what we have today and use SOAP and see the power that this kind of advance brings.

Between having this XML capability and wanting to build the rich Web sites it allows, we do need to take the great work we've done around Visual Studio and bring it to a new level. If you look at Web sites today, the software that people have had to write is fairly complex, all the different types of files, dealing with scalability, making sure that the code is written in a way that you won't have performance bottlenecks, writing the code in such a way that it works on a down-level browser, or even a small screen device. That's been a huge challenge because this class of applications just emerged over the last few years, and nobody has really had a chance to re-craft their development tools around this kind of task.

While that's exactly what we took on right after we shipped Visual Studio 6.0, we said, we're going to take these Web applications that have been so tough, and really make a huge breakthrough, partly by defining it around XML, partly by doing great language extensions.

So, between the work we've done on the platform for scalability, and the work now that we're doing with the tools, we're going to make even these demanding applications very, very simple to develop. Probably the best way to understand why we're so excited about this as a breakthrough, both SOAP itself, and the new tools we're working on is to see a quick demo of how this is going to work in practice. And so to give us a glimpse of this, first time shown ever, I'd like to ask Dave Mendlen, a Visual Studio product planner, to come on up and show us what it's like.

Hi, Dave.

MR. MENDLEN: Hi, thanks, Bill.

(Applause.)

MR. MENDLEN: It is my great pleasure to show you some new features of Visual Studio for the first time here at Tech Ed. Visual Studio 7 has a number of interesting features, Web forms, and Web services, and I'll talk about Visual Basic's new language characteristics, as well. But, before I drill into the technology I want it to be known, I'll be showing you a Visual Basic demo, but the things I'll be doing will work across all of the languages inside of Visual Studio.

So I'm going to build an e-commerce Web site, and what I'll do is I'll expose a Web service and the e-commerce Web site will be selling wine, red wine, white wine. Let's go ahead and launch this application. So this application, like I said, you can purchase wines, red wines, white wines. I want to have this notion of the wine of the month club. What you can sign up for is you pay a fixed rate and every month you get a different wine. Now, the wine seller wants to make this exposed to other companies, so they can provide this for other sites. So now this company, the wine seller can sell this wine of the month club, and everybody that uses it, they'll get the revenue. And the other Web sites will be able to extend their application. So that's what we're going to do, we're going to build a Web service that uses a wine seller.

And one of the newest features that we're publicly disclosing first here at Tech Ed is RAD for the server, rapidly creating Web services using Visual Studio 7. Now, Microsoft understands RAD, rapid application development. And you've seen developers with Microsoft Windows and Visual Basic rapidly constructing Windows applications by dragging things from the toolbox onto a window or a form, and basically painting their application. We've taken that concept and applied it to building middle-tier objects and Web services.

The first piece of RAD for the server is this server explorer. One of the most challenging parts of building middle tier business components and Web services is finding all the server resources that exist out on your network. And now you can go to a single Window and see all of these server resources that are available to you. And so things like event logs, performance counters, message queues, all of these things are exposed to you here in the server explorer window.

Now, the next piece of RAD for the server is this notion of a visual component designer. So now in order to build middle tier business objects I'll simply drag and drop objects from the server explorer onto the component designer. As a matter of fact, what I'm going to do first is drag an event log, and so now if I have any errors in my application I'll write those errors out to an event log. I also want to use a performance counter, so that as orders are placed on my Web site I can track how many have been placed. So I've got this orders process performance counter, which I'll drag and drop to my design surface. And instead of writing code I simply set properties.

So I've added an event log, a performance counter. I also want to add a couple of message queues, so that I can interact with mainframes, so I have an accounts receivable mainframe so I can get paid as I make my orders, and I also have an inventory pick list, and I'm using Microsoft Message Queue to interact with my mainframe. So what you've just seen is I've essentially painted a middle tier business object by dragging and dropping from the server explorer onto a component. What we call RAD for the server.

Now, we need to write a little code to connect all these things together, so I'll bring up the code window, and I've got a little snippet of code on my toolbox that's called "order wine club," it's a function that first sends a message to a message cue, and then increments the performance counter, and if there are any errors writes that out to an event log. Now, obviously this is a very simple set of code, but what's interesting is to write the same application in Visual Basic 6 might be hundreds of lines of code, but here it's actually just five or six. And we've actually made it easier to program against these server objects. So now if you want to do something like, receive a message from a message cue, or send a message you just set the appropriate method or property and you're done.

So I have just constructed a middle tier business object with just five or six lines of code, and dragging and dropping from the server explorer onto a component designer. As I said, hundreds of lines of code now you can do in just a few. It's very simple to do middle tier business objects. And once you've built the middle tier business object you might want to expose it as a Web service. And that's even easier. You go up to, if you want to expose a Web service, you simply type in dim Web public, and that component is now exposed as a Web service. And when I compile this component not only is it compiling locally, it's publishing that component to my Web server, it's also creating an XML file that describes this function so that any developer, on any platform, programming in any language can call this Web service.

Now, Bill talked about three phases of the Internet, and that we're in the third phase now. Web services are really about the third phase of reuse, the first phase was Visual Basic custom controls and Active X controls. The second phase was COM components, letting us share on a Windows platform business logic, and now with Web services we can share business logic across the Internet, so that anybody programming in any language, on any platform can use Web services.

So now that we've got the exposed Web service, let's take at another site that wants to use this Web service. I've got the Market Florist e-commerce Web site, and they sell flowers. And I've got it over here in the shared Visual Studio IDE. It's important to understand that all the languages now are in the same Visual Studio integrated development environment. We all have the ability to interact with Web forms, as I'll do here now.

So before I start offering up my page I want to connect to a Web service, that one we just created. And again, I'll just go back to the server explorer and it will find all of the exposed Web services. And here is the one I just created on the wine seller site, and it's got a function called "order wine club." So to use it I simply right click and say, add to market florist, and that creates a reference to that Web service. And now I can program against that Web service as though it's a first class Visual Basic object. I get full statement completion, IntelliSense, it's all there.

So I want to extend this Web site, now that I've created a link to that wine club Web service, we need to change the user interface to take advantage of it. And the way we'll do that is with Web forms that are part of Visual Studio. So I'll simply drag and drop. And one of the neat new things about the way that you interact with the Web is this Web forms technology. With Web forms you drag and drop and you build Web applications the same way Visual Basic developers build Windows applications, by dragging and dropping from a toolbox.

In this case I'm going to drag a new grid control called the data list. It's a data bound grid control that displays not only text in numbers, but also pictures. So now in Visual Basic if you want to write some code behind an object you simply double click and it takes you right to the event handler. So we're looking at the click event for this new data list. And what I'll do is I'll simply define a new instance of a shopping cart, and I'll add -- I'll call this Web services, I'll add the current method and we'll make it $199.23 for an annual subscription to the wine of the month.

Now, I've created a shopping cart component. Let's take a look at what that shopping cart component is. It's actually taking full advantage of the Visual Basic 7's new language characteristics. We now in Visual Basic 7 have inheritance. We have full object-oriented programming.

(Applause.)

MR. MENDLEN: You have inheritance, encapsulation, overloading, all the pieces that you need to build a first class object oriented programming language. We're also using a structured exception handler. You can see down here in the add the cart we're using try, catch, and that's going to simply your error handling, because you can centralize your error handling in a single location.

So now that we've wired this thing together we've created a Web service in Visual Basic. We've exposed it out using RAD for the server. We've connected it to a Web form. And we're using the full Visual Basic language with inheritance, and with structured exception handling. And this is great, and we're using Microsoft Windows technology to make this happen. But, what if you wanted to use a Web service on the Internet that wasn't running on a Windows box?

It just so happens that there's another site out on the Internet called Wing Tip Toys, and it's actually running on UNIX. Now, they've built this site using Java, CORBA objects, running on UNIX. They've exposed their functionality, this Wing Tip Toys they sell toys on the Internet, and they've created a Web service for purchasing bears. That's perfect for Market Florist; they want to sell bears on their site as well. So now if I go back to Visual Studio in order for me to take advantage of that Web site, and that Web service, I simply point at it. And what I'm pointing at is an XML file that exists on that UNIX machine. That XML file describes the public interfaces of that Web service. So then when I click okay we've added a reference to that Web service, and now I can program against it in a rich way, with IntelliSense statement completion, I'm completely wired up to that Web service.

So now I'll go ahead and run the application, and let's test it out and see if it works. What I want to do now is split the screen, and you can see that we have on one screen the Market Florist Web site, and on the other I've brought up the performance counter and the Microsoft management console for MSMQ. And what we'll do is as I'm placing orders you'll be able to see real time that we're updating our message cues, and we're updating our order counter. So I'll purchase some flowers, and we'll buy some teddy bears, and we'll buy a wine of the month. Now, we'll check out at the shopping cart, and it looks like it's everything I'm looking for. It's $270, they have my credit card on file, so to check out I simply click on the check out button. And it's going over the Internet and calling both Web services, invoking my UNIX component, and invoking my Windows RAD for server Web service. So as I continue to place orders, you should see it get updated.

(Applause.)

MR. MENDLEN: So what you've just seen is the rapid construction of a Web service using RAD for the server, using Web forms to construct a user interface that has broad reach, on any browser, on any platform, with the full Visual Basic language running on the server. And we've used the full Visual Basic language, with inheritance and structured exception handling.

Now Visual Studio 7 we'll ship an alpha in the summer, a beta in the fall, and we'll ship it when it's ready. However, Web services are so important to what you're going to do every day, you need to do this now, you need to do this today. And so I'm excited to tell you that we're announcing the SOAP toolkit for Visual Studio 6. It's available on MSDN right now. And let me show you what that is. It's really made up of two pieces.

The SOAP toolkit for Visual Studio has two pieces. First, a Wizard that allows you to expose any COM component as a Web service, and second, in Visual Basic the ability to call any Web service and use it directly inside of VB. So to show you, I've actually built a Web service on the Internet that does translations, translates from English to Spanish, French to German, and that's already out on the Internet. And I want to use that. I want to show you how simple it is for developers to use this SOAP toolkit as part of their applications.

So the first line in my code, I'm connecting to the SOAP toolkit. The second line in my code I'm connecting to a Web service, and this Web service exposes an XML file that gets generated automatically by the SOAP toolkit wizard. And finally, I can then call the methods of that component. In this case I'm calling the translate method and I'm passing in German and the text box, the contents of my text box. So let's run the application.

I'm typing in good morning Tech Ed, and welcome. And when I click translate it will actually go out over the Internet, and call that Web service, and return back in real time the German version of that same text. Now, that's a really powerful Web service. You can imagine -- 

(Applause.)

MR. MENDLEN: That's a really powerful Web service; you can imagine a lot of uses for translating from one language to another. One of the most interesting is in mail. Often at Microsoft I'm communicating with people in Germany, or in France, or Japan, and it would be great if I could write my email in English and have them read it in French. So I've built this same code as a COM add-in in Microsoft Outlook, using the exact same VB code. And you can see that we've extended Microsoft Outlook with the COM add-in. We've got this ability to choose what kind of translation we're working with. And I'll just offer up a new email message to Bill Gates. And let's see, why don't we say, get ready for a standing ovation. And I'll click send, and we will find this message has gone out to the Web service. If I go in my Outbox, that's what the other person sees.

(Applause.)

MR. MENDLEN: So the SOAP tool kit for Visual Studio 6 provides the plumbing that you need to build Web services today with Visual Studio 6. You can get this on MSDN now, and you notice in the Visual Basic code it was only really three lines of code to use one of these Web services, and you can expose your existing Web services through a wizard. The best part is, you already know how to do it.

Thank you.

(Applause.)

MR. GATES: Okay. As the programming tools understand XML, or literally the XML is automatically generated just because you're using high level programming tools, we still have the issue of, how do we take these complex processes, where businesses are interchanging information with each other, and get those into a form that we know it's right, and we know we can trust the Internet as the way for all those events to move back and forth. When we think of a transaction, it's often a lot more than I want to buy this for this price. You have many things you need to deliver, if they're going to be late, if there some sort of substitution, if the currency rate changes, you need lots of messages going back and forth. It can't be a batch-oriented process to deal with the real complexities of supply chain management and other relationships.

In fact, it can't even really be a point-to-point connection because you need lots and lots of entities involved in these business transactions. So, as we thought about this, we said, we need to let people take business processes and write them out. Explain if there's a return how that works, if something doesn't happen on time, how that works, to be very explicit about all the things that go on. And we said, we need to make this something that's, very, very visual. Well, as we thought about it, we realized that was another case where we could use XML to make sure that there's an explicit description that can be agreed to of all the parties that are involved.

Although at first we thought about this primarily in the business-to-business context, we immediately realized it can also be used inside one company. That is that describing the processes and the flow of information in a visual way in a sense that a business analyst would appreciate, and connecting that up to the code in an automatic fashion, and that's something that applies across different applications within a single company.

And so we said, there's a need here for a new kind of tool. We've named this new tool BizTalk Orchestration. It's a technology for business process orchestration. And it lets you visually design and build these business processes, and quite interesting how through the use of XML these things really can become the glue that spans different platforms, spans the different applications and, of course, spans those business boundaries. Because this is a new area, describing it again, I think, falls short of really being able to appreciate what we've got here.

So, I would like to ask Dave Wascha to come on up. He's a product manager for BizTalk, and show us what it's like, what does it mean to visually design a business process. Welcome, David.

(Applause.)

MR. WASCHA: Well, as Bill says, today we are announcing BizTalk Orchestration. It's a revolutionary new technology that we're putting into BizTalk server that's going to be available in beta later this summer. Building the Business Internet is more than just building applications, it's about orchestrating applications and Web services that may be running on multiple platforms, maybe running in multiple organizations, and maybe spanning something like a supply chain or a CRM application. And we need to make this exceptionally easy to do, and that's what we're trying to do with BizTalk Orchestration. In fact, we make it as easy to do as drawing a diagram. Our visual design tool is built on top of Visio.

What I want to do today is show you a little bit of what BizTalk Orchestration can do by building a quick sample process, and then talk a little bit about how we might use BizTalk server to orchestrate the back end business processes of an online retail site. It all begins in the visual design environment. This is where the business analysts and IT professional meets the developer. On the left-hand side of the screen is where the business analyst or the IT professional will use these elements to describe our business process. And then on the right hand side of the screen is where the software developer would connect that business process up to the components and applications and Web services that do the work.

Now, today, the process is lost in the code. It's in there, but it's mixed in with message calls, and database functions, and this makes it difficult to build, and it makes it difficult to change. And if we want to upgrade applications, or if we even want to change platforms, we may have to throw everything out and start over from scratch. BizTalk Orchestration allow us to separate out our business process from the software implementation. Let me show you what I mean. I want to build a quick two-step process here, and what I want to do is get an order off of a queue from a customer, and I want to use the telephony component I've built using Visual Basic to give them an automated phone call and let them know we received their order.

So, what I've done is, I've dragged some action elements out here, and we will connect them together. And let's call the first action: Get PO. Let's call our second action: Call the Customer. And there we have it; we've designed our business process. This is the first step in using Orchestration to build business processes.

The second step is connecting this process up to the software components that do the work. Now, I know that my orders come in off of a message queue. So I'm going to drag the message queue adapter onto the screen, and I'm going to indicate which queue we want to get our messages off of. And then, we simply need to connect the queue to our get PO action, and we've completed the first step.

Now, the second step, after I get the purchase order, I actually want to extract the customer's phone number out of that and use it, and pass it to this VB telephony component that's going to call the customer and confirm that we've received their order.

So, what I'm going to do is, I'm going to drag the component adapter onto the screen, and I need to indicate which component it is that I actually want to use. And then I need to indicate which method on that component that I want to call when I get to this step in the process. Once we've done that -- once we've done that, we simply need to connect our second action to the component, and we've completed the process.

Now, what have we done here? We've designed our business process, and we've used the adaptors for the MSMQ and for COM components to connect the business process up to the things that are doing the work. So, if we go ahead and we'll validate this, make sure we've dotted our "Is" and crossed our "Ts", make sure we've done everything correctly, now let's go ahead and save this. And what we're actually doing is compiling this business process into XML.

Let's take a look at what that XML looks like. So what we've done, and as you can see there's a lot of code here, and luckily we don't need to write any of this ourselves, the business process designer does this for us. What we've done is, we've designed a process, we've connected it to the components that do the work, and we've compiled it into an application. This XML code is the code that will be executed at run time by the BizTalk Orchestration engine.

Now that we've compiled it, I want to go ahead and run this process. I've written a simple VB script that's going to run it, go ahead and run it, and if it all works correctly, I should be getting a phone call on my cell phone here in a few seconds, letting me know that they have, in fact, received the order that we've taken off of the queue and handed to the Visual Basic component.

I'll go ahead and answer that. Great. So we know that our component works.

(Applause.)

MR. WASCHA: If you think that's cool, we're going to do something much more cool in a minute. Now that we know that our component works, let's look at how we might use BizTalk Server to orchestrate the back end business processes of an online retail site. So, I'm going to go up to my site, I'm going to log in, this is DNA Your Business.com, and we've built this site entirely on top of DNA 2000 Server products. Now, tomorrow, in Bob Muglia's keynote, Dave Kouchi is going to go into more detail on how we used these products to build this site. What I'm going to do today is show you how we used BizTalk Orchestration and BizTalk Server to orchestrate the business processes that go on behind the scenes of this Web site. So, I've come up here before and done a lot of shopping. So, it knows who I am.

So, I need something to do while I'm at work. I think I'll pick up some productivity software here to spend some time on. I've shopped here before, so it has all of my information. I'll choose standard shipping, it knows what my credit card is, and I've placed my order. So, what happened from when I submitted my order to when I actually received my Age of Empires?

Well, a lot of things happened. As you can see, this is just a simple diagram of what goes on behind the scenes here. There are a number of places where we need to integrate applications together, and some of those applications are running on different platforms.

If you look on the right-hand side of the screen, you see that there's a number of places were we crossed the firewall, where we go across the Internet and deal with our supplier, and deal with our shippers, and we deal with the credit card validation service. So this is a non-trivial process. I want to show you what this process looks like when we design it using BizTalk Orchestration.

Now, this is just a view, we could scroll up and down and look at the rest of it, but as you can see there's a lot going on here. And I could walk you through the entire process, but we don't have time to do that. Fortunately, there are a number of sessions over the course of this week that are going to go into detail on how to use this stuff.

What I want to focus on is right here, what happens after we receive a purchase order. Well, right now, we send the purchase order to our supplier, we update our inventory status, and we send our customer an email letting them know that we've received their order. You know, I want to use that cool VB component to call them after we receive their order. So I'm going to show you how easy it is to change this business process so that this process will not only will send a purchase order, update the inventory status and send an email, but it will also use that component to call the customer and let them know that we received their order.

The first step, obviously, is to change our process. I'm going to go ahead and I'm going to call this action call the customer, and then I'm going to hook it up to these elements. And you'll notice that all these things are happening concurrently. They're happening at the same time. Then they're getting synchronized up at this point here at the bottom. What that means is that we won't move onto the next step in the process until all four of these things have completed. BizTalk orchestration takes care of the complexity of that for you. You as a developer do not need to worry about that anymore.

The last step, obviously, after we've changed our business process here, is we need to connect it to the components that are going to do the work, in this case my Visual Basic components. I'm going to connect that up to my component, we go ahead and save our file. Now I've changed my business process, I've connected it up to the new component. If I go through and order again this time I should receive a phone call letting me know that they've received the order, because I've added this Visual Basic component to the process. So let's go through it again, let's order something different this time. And if I've done everything correctly, by adding this VB component to the process I should be receiving another phone call in a second, letting me know that they have, in fact, received the order off of the Web site.

So there we have it.

(Applause.)

MR. WASCHA: What I have just shown you is how fundamentally easy it is to orchestrate businesses processes with this new BizTalk orchestration technology, to change the process that happens when I go up to a Web site and order something by simply dragging and dropping a few visual elements onto a page is technology that is not available today. Now, what I've shown you was an example. But, I'm excited to announce that later this week Dell Computers is actually going to go into live production with the first part of their supply chain built entirely on top of BizTalk servers.

So to wrap things up, what we need to do to build the business Internet is to orchestrate our applications, orchestrate our Web services in an organized fashion to build business solutions. The technology that is going to allow you to do that is BizTalk orchestration, and it makes it as easy as drawing a diagram.

Thank you.

MR. GATES: Okay. So the platform that allows all of this to work in a way that is going to have the kind of scalability and reliability that huge transaction loads demand is, of course, Windows 2000. We're very excited to have that product out in the marketplace. There's really incredible momentum built off of the pioneering customers we had who used the product and actually deployed it and gave us feedback prior to the formal release. With Windows 2000, of course, the message is quite clear, on the desktop level the reliability, the performance mean that this will become the standard business desktop operating system. At the server level the impact is more profound, because here for the first time we can say that the PC model, where you have lots of choices, where you have great price performance, is also now the arena where the best absolute performance is available.

We demonstrated this at the Windows 2000 launch by showing how the combination of Windows 2000 plus SQL Server could provide the highest level of transaction performance that any computer has ever generated. Now, part of the idea here is that you need to step back and not think of performance as being the characteristic of a single box. If we ever demand a single box, then we have a single point of failure. And we'll never get the kind of reliability levels we need for these Internet applications. And the answer is that the idea of scalability and reliability really comes through software architecture.

Now, this is the way that historically companies that really deliver high reliability always did it. It wasn't the mainframe that was used to run stock exchanges and phone networks, it was instead systems like Tandem that used an architectural approach that got all the different hardware boxes working together. Well, that's what we've really built in now to Windows 2000, the idea of software scale so that if you need to add capacity you simply take the latest, best price performance server, connect that up, we replicate the software over to it, and boom, you've got additional capacity right there without changing the application. And so the importance of getting that message out there, that there's no longer a trade off between going for the low volume-high price type servers versus the mainstream PC server, is crucial.

We are moving forward in a very exciting way on hardware scale. So the individual servers will be dramatically more powerful. We have milestones coming up like the release of Intel's Itanium 64-bit processor, so those much more powerful servers are what we'll be able to combine using the software scale architecture. This year we've got a lot of releases that are the Windows 2000 foundation products, the Data Center Server is about to come out, I mentioned 64-bit in the fall, SQL Server 2000 is really an incredible product. That's the one that we did the rule breaking in TPC-C benchmark on. Exchange 2000 is a huge step forward, based on all the feedback we've had from the Exchange user base. Application Center 2000 is the thing that does these application deployments. Commerce Server is for easy building of Web sites. BizTalk is what we just saw a little glimpse of, and Host Integration is our classic product that takes setting up XML to a mainframe, and makes that very straight forward.

Tomorrow Bob Muglia is going to kick off the morning talking about how these products are being used, and where we're going with every one of them. This is the platform for new development of this next generation of applications. Over the last year we've been talking a lot about how do we get the developer community to really move forward most aggressively in building these new applications. And we've been talking about what could we do in terms of product development, support, educational programs to really get this bootstrapped in the fastest way we know how. And we've put together a very, very aggressive plan.

The most dramatic plan in terms of investing in developer support that any company has ever come up with. It's a three year plan, and what we've got is a total of $2 billion that we'll be putting into developer support and training over the next three years. What that's about is taking the base that we've got today, around Visual Studio, Visual Basic, all those programming skills and getting people to understand the additional things about XML and all the related tools that are going to let them build the new applications. So this is a real commitment on our part to this next generation. As I said, the rule of Microsoft in working with the breadth of developers has always been quite unique, and we're taking that to a new level with this $2 billion commitment to developer success.

Well, in summary, what we're talking about is a software driven Internet, an Internet that takes the PC platform both as a client and server, and takes advantage of it to deal with the incredible capacity that's required. A software driven Internet that works on all the different devices, tablets, cell phones, in the car, on the TV. The tools are probably the key ingredient. Users will never understand that, because we'll make sure that they don't have to see what's underneath, but I think if there's any one thing that's going to make it possible it's the tools we've talked about this morning. What that will do for digital business, digital collaboration, digital lifestyle, is very, very exciting.

So we appreciate your being here. We appreciate your support, and we're looking forward to working together to tackle these exciting horizons together.

Thank you.

(Applause and end of event.)

Transcript by Federal News Service, Inc. 1-800-211-4020

 

© 2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement