Speech Transcript – Paul Flessner, Professional Developers Conference – 2001

Remarks by Paul Flessner
Professional Developers Conference
Oct. 23, 2001

PAUL FLESSNER: Thanks very much. The first thing I want to do is absolutely thank all of you for attending. I know your schedules are very, very busy and we very much appreciate you taking time out of your schedule to come and visit us.

Were going to talk about servers now for the next 75 minutes or so and talk about the things were doing in the .NET Enterprise Servers to make it easier for you to build great applications.

Building apps is hard. I spent 13 years doing that before I came to Microsoft, building enterprise IT applications. Its a difficult task. Forget about keeping up with the technology; just keeping up with the business, reorgs, sales, realignments, mergers, acquisitions, connecting to customers, connecting to partners, all that under the auspices of budget cuts is a very difficult thing.

I saw an advertisement the other day, two business people talking and said,
“Congratulations, they passed all the IT projects at the board meeting, but they cut your budget,”
kind of the world that you live in each and every day, and we know how difficult it is.

And our job, believe it or not, is to make it easy for you. We do work very hard and these conferences are very important for us to get your feedback and to learn the things that you think were doing right and maybe the things that were not doing so well. So we do certainly also want to listen.

So with that, I want to get started.

Ive been in the enterprise business and computing for 20 years, and the enterprise customer is incredibly consistent. The abilities have to be assumed. Customers dont want to talk about the feature set of your products unless they know that youve got proven abilities. And thats just something that Microsoft has had to prove in the marketplace.

I believe weve come a long way in the last 24 months certainly, and Ive got a lot of proof points in my talk. Hopefully you wont think its too many, but I thought it was important to take some time today to really talk to you and give you our side of this story on where we are in the abilities. Weve worked certainly hard on scalability, but we know its not just scalability — availability, reliability, serviceability, manageability, predictability and certainly security, even though it doesnt have the -ability on it, are all very, very important parts of your business and we want to make sure that we address that and help you understand all the things that weve done and the progress weve made.

So hopefully you wont think those slides are too sales-like. Theyre up front and well get through them pretty quickly, but I think theyre important.

Agility: Thats really what you want to talk about. I talk to a lot of customers every day and customers are talking Java, J2EE, Windows. They want to talk about what it is that you can do for me to help my business do better, how can I move more quickly as a developer to meet the demands of my customers, how can I as a customer get higher return on my investment.

You know, after we get over the initial hurdle of talking about the abilities, they do quickly want to talk about agility, the ability to just move quickly in the marketplace, extend over the firewall, through the firewall when they need to just to make a more agile enterprise. Thats something that customers get very engaged in and thats really the essence of how we hash Microsoft.NET.

They also told us they want us to think globally, not just about the server, not just about the desktop, but all of the components that live in your world today — the device, client, whether its a thin client, a rich client, a wireless device, the server, a rich robust platform for deploying your applications, or a service. Its a critical component of the economy today. You want to be able to latch in and leverage all of that infrastructure. So you wanted us to think very broadly.

You also want to think about interoperability at the beginning of designing your applications. You really do need to extend through the firewall both to customers and to partners and suppliers. Customers help increase revenues and connecting closely and tightening the supply chain with your suppliers and your partners actually really helps reduce costs to make you more efficient.

So those were kind of the essence of the things that you really needed to do.

So Web services provides that environment. Youve heard a lot about Web services. Im going to work hard not to repeat the things that Eric and Bill said this morning. But this whole situation does put us in a situation where the best platform wins. Microsoft is excited about that. We have a lot of confidence in our engineering team. Were happy to be able to just play on the playing field as long as everybody is playing in an equal situation.

This picture, even though Bill put up one similar to it this morning, is the reality of your world. You could look at this picture and say,
“Yeah, thats my world inside my firewall or part of that world is inside my firewall and part of it is on the other side of the firewall.”
Its a very complicated world. We know that. It has been in the past. It is today. It always will be. Any vendor that preaches a strategy of buy all of my stuff, you know, applications, technology, database, whatever, its never going to be homogeneous and its kind of silly to think that.

So we know this is the world you live in and its a world were excited about being in.

SQL, the language, did this to the database industry, right, that helped to neutralize that so that we could all compete to have the best implementation of SQL.

SMTP did that in the mail business.

HTTP did that in connectivity.

So those are the things that from a customers perspective I think you would get very excited about, because it puts all of us, Microsoft and other competitors, in a playing field where we can create the best possible products for you and we can compete on your business on the best implementation of those various protocols or APIs. And thats an environment that were extremely excited about, and thats the environment that I believe Web services puts you in as a customer.

So my job is servers. Thats what I do. I enjoy it. I work hard at it. You know, Ive had the job for the Microsoft servers for about 18 months. You kind of get different opportunities to do things in a job like that. The first few months you kind of get your arms around a job and then you go deeper and start looking at a strategy and how we can make those servers work better together.

An important part of understanding the platform and providing a world-class platform is the fact that youve got a lot of technology to provide a platform. To create a broad base for your applications it takes a lot of technology.

You can see on the screen now the products that Microsoft has brought to market to provide that kind of platform.

You dont have to buy all Microsoft products, certainly at all, but these are the products that we offer for our platforms so that you can then build great applications for the Windows environment.

Im just going to go through these very quickly to give you kind of a quick perspective. Windows 2000 is the most deployed application environment in the world today. Media Metrix says 62 percent of all secure applications are running on Windows 2000 today.

Application Center, a new product, shipped just this last year to help you manage scale-out applications. Were going to do a demo of that product in a few minutes to help you really understand the power that that can bring to manageability and to cost effectiveness.

ISA, Internet Security and Acceleration Server, an integrated and certified firewall and cache, both forward and reverse, very instrumental in providing a good scalable, robust and secure environment.

Operations Manager: Our data center management product is in the market now, again to help you provide a much more cost effective management solution.

Content Management Server, the ability to build versions and move forward to build very professional Web Sites from a content perspective.

Host Integration Server, the ability to connect your legacy environments, a lot of SNA, MBS, AS/400.

SQL Server: Were very proud of SQL Server. Were going to talk about it a little bit more in a few moments. Thats a very important business for us today with over a million servers deployed of SQL Server today.

Mobile Information Server, the ability for you to build applications in our environment and then extend them out to devices of all types with great wireless connectivity.

Exchange, the most deployed mail solution inside the firewall today, with 94 million seats sold and over two times as many seats installed as the closest competitor, being Notes from IBM.

And then out toward the front where you really have to connect up to your customers, you partners and your employees, Commerce Server is helping you reach through the firewall with your line of business applications and touch the customers directly with a good e-commerce solution.

BizTalk Server is a very important product for us that allows you to integrate your business partners and really get out through the firewall, or inside the firewall, to help integrate your business processes, again with your own systems or with the systems of your partners to tighten that supply chain.

And then SharePoint Portal Server, the ability to really collaborate, build projects quickly, share documents and work very tightly with the employees within your company.

All of this focus was being better together in terms of the value proposition that they bring to you, the customer, and we are working very hard to earn your business to be the best platform for XML Web services.

So Im going to do a little timeline. Youll see this slide pop up a couple of times. We are going to talk about the abilities. The slide said delivered. Thats always a little strong, because youre never quite done with the abilities. Were going to work hard every year to bring new abilities to the market to really improve the products.

I think the thing I want you to understand in 2001 is that XML Web services are real. Sure, were in the early adopter stage, but theres lots and lots of customers doing it. Bill put up a big slide this morning and you talked to some customers here, and Ive talked to several customers over the last day that are building their first Web services and theyre quite excited.

So they are real. You do have the tools to do it with the products today. Im not going to read you the laundry list there, but its important I think for all of you to be sitting there today going,
“Yep, this is something that we really should be thinking about in our enterprise.”

And next year were going to make it easier. VisualStudio.net I think will be a huge benefit to developers in terms of building Web services and the Windows .NET Sever, which were going to talk about in a minute, again is helping you to really get those applications out there and providing the infrastructure to deploy them.

The servers are going to pitch in and well do our part in this timeframe too integrating with Visual Studio and really making it easy, we hope, for you to build and deploy your applications.

And in 2003 I think is when this wave will really start to come. A lot of customers ask me,
“You know, should I be doing Web services today? When should I start?”
And this is the kind of timeline that I think about. Maybe Im a little bit more aggressive than you and Im not saying every application will be a Web service by 2003, but I think if you think about the way Web services can solve the problems that youve got in tying your enterprise line of business systems together, youll get as excited about this as we are.

So now Im going to do some of those proof point slides, and again I promise I wont take too long. But I think theyre important. You as developers know that you learn something about your applications each and every time you test them to the very limits, right? Edge testing is an important case. And what you do with a benchmark like TPC-C is not that it represents your workload; its the fact that its a standardized workload that all competitors agree to, that its well monitored, and that each and every result is audited. And when you drive your applications to 100 percent CPU and youre driving those disks absolutely as hard as they can be driven, you learn stuff about your code.

We do benchmarks because each and every time we do one we learn things about our engineering process and we learn that we have to drive the hardware in different ways, and we also like to win.

Two years ago we didnt have a TPC-C number in the top ten. We set that as a goal to absolutely win in this space, and first we chose scale out. It fit our model better. It fit what customers wanted to do. And today Im very proud to say that Windows has the top eight spots in terms of scale out TPC-C, and SQL Server has seven of those. So thats a big change in where weve been.

In terms of scale up, Im showing this slide, too. Im happy to show it. Were not all the way there yet. Were sitting down there at number nine. Our first number to break into the top ten was just a few months ago. But this is absolutely a target that were going to go after.

A lot of this is the fact that were still a 32-bit system and a 32-bit operating system and the applications that sit on it, so we dont get as much addressable memory. And when youre doing SMP work, what youve got to do with fast processors is have lots of memory to keep them happy and well fed, and this 64-bit architecture will allow us to do that.

So we do pretty well on our own right in the 32-bit space, and I want to show you a little bit more about that.

So TPC-C, while it may not represent your workload, we move on into ISVs. These are the applications that you run in your businesses every day. We worked hard on these as well. We really wanted again to stress our database and work closely with the ISV vendors to make sure that we were a good part of their application. And over the last 24 months weve been able to win the top benchmarks in this list. This is a proud list for us, because weve worked very hard. And youll notice that checkmark says the best on any platform.

So you also scan down and youll see SAP here at the bottom, which is certainly benchmark that everyone pays attention to, SAP being the market leader in the world today in the ERP space.

And right now or as of last week I should say we had the best number on Windows, but we had a big Unix number that was beating us. But Im proud to say that as of late last week weve broken that record as well with 24,000 in terms of I believe it was dialogue steps, but well have to look on the next slide.

But we dug in a little bit deeper on this benchmark and this is a slide that represents a big part of my life, so I can go at it in a lot of detail. But four years ago we were just starting out. Id go out and wed do a benchmark and Id go out and talk about being in the enterprise and Id get beat up a lot, and customers would laugh at me at times and wed kind of have that conversation that,
“Look, this is something that were deeply interested in. Were going to go at it hard and were going to make good progress over time.”

And you can look at the progress we have made over the last four years. Its also kind of interesting to look where we were just over a year ago, about 19 months ago, at 7,500 and the competition was sitting up there with 64-bit machines and 64-processor machines. This is on an eight-way at the time. And where weve gone in just a little over a year to take the lead in this position, again with a 32-bit system on 32-prox.

Now, this workload is different than TPC, so we scale better in this workload, which is more of a real world workload than we did in the TPC-C. So we were able to do quite well in this real world application.

I guess it proves that when we put our mind to it and we work hard on it and we make a commitment to our customers were going to work hard and deliver for them. And this is again a very proud moment for me and the team that did all the engineering.

But the real measure is customer proof points. I call it tier one, tier two, tier three applications. Tier two and tier three are important applications to your enterprise, but not the most important. Tier one apps, thats what Microsoft and the .NET Enterprise Servers have to win with customers today, and Im very proud to say that over the last 24 months were winning a lot of them. These are the applications where the business doesnt run at all, okay. If youre a distribution company, this is the distribution system. If youre a manufacturing company, this is the manufacturing system. Its the one where you if you go in and its running on MVS, everybody in the shop knows the service level and can explain all of it to you. Those are the apps that we had to start winning, and this is just a small list of the ones that were winning today.

Korea.com was an ASP in Korea, 5.5 million users up on Exchange. They did that in a little less than six months.

Lets jump down and we can look at Pennzoil. Not a drop of oil moves at Pennzoil without the SAP system being up. They did a big merger with Quaker State and were worried about the scalability that they might run into. We upgraded them to an 8-proc and we upgraded them to SQL Server 2000 and today theyre doing double what they were before the merger and still doing it at the same response time.

So good stories all the way down. MyFamily.com ancestry, if youve ever had a chance to get on that site, its a lot of fun, 3.8 billion rows in a single table.

The UK Government Gateway, Bill talked about that this morning, again absolutely mission critical.

Verizon has done an unbelievable amount of work on our platform. This big customer service and billing system that they ported down from the mainframe has been a huge success for them and saved them a huge amount of money.

And Dollar, thats a site that we talk about a lot. They actually did build a Web service to connect their Unix system with the Unix system of Southwest Airlines, because they were trying to do a joint site, and they were able to put up a Web service intermediary to plug their applications together and increase Dollars revenue by $10 million in a single year, and they got the app up and running about six months ahead of when they thought they were going to be able to.

So this is the proof point that well continue to push hard on, and I know these are the proof points that you as the customer are looking for.

So with that, Im going to jump in and thats the end of the proof points and were going to talk more about products going forward.

XML Web services made easy: This is what, you know, youve seen a lot of talk about this morning with the toolsets and you can look down. The big push this year is the Windows .NET Server, which well ship in the 2002 timeframe with the .NET framework to just make it a lot easier for you to build applications.

And then its my job from the server side to wrap ourselves around that and make sure that our servers are easily extensible and utilize ASP.NET and the runtime and that sort of thing.

Certainly were going to have work in 2002 and 2003, so lets look at some of the opportunities that well have in the 2002 timeframe.

So the server, Windows .NET Server, theres a lot of focus on the abilities. Were going to talk about that in a second, and Ive got a slide on it. The primary focus was around security certainly, and were going to talk about that deeply as well. The whole thing, a big part of that really is focused on making Web services much, much easier to build. Some of the things that weve done, Commerce Server, you can think of Commerce Server in a lot of ways based on the demo that youre going to see. Its really a super framework to build e-commerce systems and let them extend out to your customers. And the ability to just take Commerce Server and be building your application inside a Visual Studio shell is something that well demo in a few minutes.

Content Management Server is allowing you to take and build ASP.NET templates and use that for your site.

SQL Server, ADO.NET, SQL XML, a notification service that we’re going to ship this year: Lots and lots of things that make it easy for you to build Web services.

And just overall management, this is something that we get back over and over as one of the key abilities. It doesnt do you any good if you can do all this work and create great Web services if the cost of ownership kills you. So BizTalk, a very important part of the feedback from the BizTalk customers is weve got the hub, but we’re trying to get out and connect with lots of our partners and getting them hooked up is very tricky and difficult. So we built this concept of a seed where if you want a trading partner, you point them to an URL, they click, theyll download the right schema, the right information, the right orchestration so they can plug in and you can begin trading.

An application management pack through MOM: This is a very important thing and easy to ship for SQL Server and Exchange.

This is all the IP that Microsoft has got from working with customers around those products. These kinds of support calls come in, we get these kinds of complaints. These are the things that need to be monitored. A lot of that IP we turn around and put right back into these application management packs, so that you can install them and you can set up the monitoring on your applications in a way that prevents you and lets you learn from all the things that weve had to deal with over the years in building the apps and deploying them for customers.

So Windows .NET Server: Better applications faster, lots of thing in there, IIS. One of the big changes we made, several big changes, IIS 6 is a big change in terms of the process architecture. We took the HTTP listener and moved it down into the kernel. Its much faster, more resilient. We changed the process architecture. Obviously the run time, all of these things make IIS 6 a much, much more secure and faster environment.

COM+, the ability to take your existing COM+ objects, okay, and then turn them into XML Web services through the dialogue or through an administration dialogue without any coding.

Native UDDI support in the directory, so whether you want to publish that outside the firewall or just keep it inside so you can publish your own Web services inside your firewall, UDDI built in right in.

MSMQ, the ability to get an XML protocol working within our messaging environment. And we saw the real time communications example this morning.

Lots of work in the abilities space. Im not going to list a bunch of that: 64-bit is the big one. SQL Server will come on with a version of 64-bit SQL Server at the same time or soon after Windows ships. Exchange will be the following year.

Clustering enhancements to make it easier for you to step that up and do a better job with the clustering. A lot of feedback early on was, yes, sure, it works but its fragile and difficult to set up and weve done a lot of work to make that much easier.

And then integrating with partners and federation and that whole concept, which is so key to really getting the full power of Web services.

Kerberos 5, a standard implementation, so that you can cooperate with other partners and make sure that you keep a very secure environment.

Cross-support trust giving you the ability of ease of management and higher level security again within a large company or outside your DMZ.

And then the Passport network, which I think was also talked about this morning.

So security is something I do want to spend a bit of time on. Security is a tough one. Some customers want a huge amount of security, very sophisticated and are willing to spend the money and understand what that means. Some customers want no security. They dont understand it. They dont need it. And most customers fall somewhere in the middle where they want the absolute most security they need but not any more because its a hassle to keep it up.

So we worked very hard to make it easy for you to administer, but it is a difficult thing to do. We’re not making excuses, but we certainly have worked hard in this release to make it easier for you to try to administer this stuff.

Now, theres lots of different ways to set up security, and if you ever do figure out all of them, dont tell anyone, because theyll immediately make you the security administrator, and thats a very, very hard job.

But it is important that as a customer you understand the pros and cons of each different security, and that you think about it, and you implement the right level of security for your application giving your circumstance.

The key things around security are authentication, authorization and then actually securing the Windows environments. And there are a lot of features in this release.

Im just going to kind of run through these again more quickly.

Multi-protocol transition. This is the ability to accept lots of different clients for mid-tier connections into the back-end server, HTTP, Digest or Basic, even Passport, and connect it back to your back end. And when you connect, we can transition and give you a Kerberos ticket and you can lock all your back end servers down with Kerberos and keep them very secure.

Kerberos standard support, as I said, V5.

Trusted subsystems. If youre written your own security, which some customers have, if you want to authenticate that and pass it on, you can designate a given subsystem as trusted to NT.

And then you can actually map Passport to have PPUIDs, Passport User IDs in the AD so that if you come in with a Passport ID we can translate that inside the firewall AD user ID.

Authorization: This is a very important point as well. A lot of sophisticated framework has been set up to allow you to take a lot of the authorization code out of your applications and set them up in a centralized policy environment so that you dont have to be monkeying with code if you want to change that stuff. Its very, very important and certainly very powerful.

Seamless impersonation: Thats a good one that really has been enabled by the multi-protocol transition and our support for Kerberos. It will I think also allow you again a lot more flexibility as a developer and a lot less overhead.

And then constrained delegation, where you can just not delegate broadly but delegate the specific back-end servers based on the amount of control that you want to pass back.

The other big change is just when you install Windows .NET Server weve dramatically reduced the attack surface for people who would want to get in and do malicious things.

You know, we dont install IIS by default. We dont install COM+. We dont install search. A lot of these hackers were going after services that people didnt even realize were running on their server. I just eliminated the installation so youll purposely have to go in and add that if you want those services to run.

Local and network services: The other thing is well start those services as network services not local users so you wont have the authority that they would have in the past.

Code access security: This is very important. It allows you as an IT manager to set up and only allow certain code to run with certain privileges. So through the CLR you can make a decision on whether or not and what kind of code you want to run, so you can say my IT shop signed DLLs are the only ones that run on this server and any server thats not signed can only read or only write to this scratch directory.

And then software restricted policy is a lockdown of your server. Its kind of a binary situation where this is a lockdown server. If it doesnt have my signature, it doesnt run at all.

So lots of improvements on a very necessary part of what we need to do to go forward. But it isnt just technology thats going to get us through this. We’re going to have to work with all of you and with the end customer as well to be able to do this. The hackers, I mean, they are criminal acts. Theyre actually trying to disrupt your enterprise and cause harm and damage out on the Internet. If the criminal were an easy thing to stop, we wouldnt have so many people in prison. And us just implementing a lot of technology isnt going to stop this. It might make it so unpleasant that wed never be able to get any kind of authorization set up that made any sense.

There are a lot of things that we can do outside of the bits to make this better. Microsoft is doing a bunch of things and this security Windows initiative, all kinds of tools testing process, we talked about the things we’re doing in the platform itself, and this Secure Technology Protection Program through the Windows Update facility, we can make it available to you to download all security patches first and give you special notifications so that you can do what you want with those and hopefully roll them out very quickly.

Education: The author of this Writing Secure Code , I believe its Mike Howard, is here this week in our sessions on what you can do and what kind of coding practices you should pursue in order to write great Windows applications that are very, very secure.

If youre a VS 7 developer of native code, there is a runtime option that you can set that will allow you to disable a process if the buffer overflows, so that you can stop any kind of runaway process.

Lots of testing and logo certification: You can participate in the Windows logo certification program.

And certainly always, always, always when you can run non-admin.

Review sign-off good processes, good procedures. Just more focus. I know the dev teams at Microsoft I sit through security reviews now, something I never did in the past, but we really actually in detail go through what our are processes, what are our design points. We have people that do penetration and attack testing, where they go in and try to break things. All those things are things that you should take seriously as well as developers too.

And customers, just education: A lot of the NIMDA thing, and it was a very difficult one that could have been avoided had we applied the patches. And believe me, we could have got those out and all those things we’re learning as we go, but there is a lot we can do to make this a much, much better environment for all of us.

The last thing I want to talk about is an ASP.NET benchmark. The Nile Web benchmark is a benchmark put together by Doculabs and Ziff-Davis. Its actually based on a TPCW benchmark. Its an e-commerce benchmark.

So rather than do a competitive benchmark, which I know all of you dont always believe, youre always sitting there thinking in the background,
“Gee, I wonder if they purposely made the other guy look back,”
I decided well just do a benchmark that compares ASP.NET against our ASP environment.

So the first thing Ill do is click and show you our numbers and the various ways that you can run in the current ASP environment on Windows 2000.

So the first is ASP auto prox. Thats a very secure way to run. Theres a performance penalty you get for that extra security, but thats where we are on 2, 4 and 8 prox environments today.

In prox a little faster, obviously better location, better memory, but applications, if you run multiple applications in the same process if one misbehaves it can take down the entire process and take down multiple applications.

The fastest way is with the pedal to the metal get in there and ISAPI code using C and again you get very good performance out of that environment.

Then we took the exact same configurations and we ran them in the next ASP.NET environment. Pretty dramatic results in the ASP.NET auto prox, which is what a lot of customers want to run in, again much improved scalability up on the 8-way and overall just pretty dramatic results, you know, four times the throughput on the 2-prox and you can kind of go through and look at the numbers.

The really impressive was the in prox, which has gone up a tremendous amount and is actually just a few pages per second faster than the ISAPI with a huge productivity gain in terms of the code that you have to write and the amount of effort you have to put in to write that.

So we are very proud. This benchmark thing can be a little crazy, but youll see a lot of benchmarks and always, always, always ask a lot of questions about benchmarks, because you can learn a lot in the detail and I always encourage our guys when we do benchmark to make sure you put all the code out there, make sure the developers can download the thing and try it themselves, so you really understand what weve done and hopefully that will help you with our technology or possibly even a competitors if weve shown you something that you didnt know.

So now Im going to have Ori come out and talk to you about Application Center, talk to you a little bit about what it does and also what we can do around Web services to help us guarantee a better level of service.

(Applause.)

ORI: Thanks, Paul.

Hi, everyone. I want to take this opportunity to introduce to you some of the great management technologies weve been building around the .NET Enterprise Servers and Web services. Application Center 2000 is our deployment, management and scale out tool to power your next generation of Web applications and Web services.

I want to show you how our powerful monitoring tool, deployment services and scale-out facilities allow you to create a scalable, manageable, highly available environment for your application.

The first thing we’re going to do is take a look at the simple VB.NET client, a typical type of application we expect great developers such as yourselves to be building over the next few years.

Giving a flight number, this client talks to a Web service to obtain flight detail information such as departure airport, gate and time information. When I click the calculate fastest route button, our client talks to another Web service and obtains driving directions, shortest distance from my office to SeaTac airport, taking into account traffic conditions.

Now, lets see how we can instrument that Web service to perform things like server level agreements and use Application Center to monitor and enforce those.

PAUL FLESSNER: So that site just called out to two different Web services to do those calculations to get you your fastest route and —

ORI: Correct. So this is our first Web service and what we’re going to do is uncomment four lines of code that will fire a WMI event into the system indicating the service delayed encountered when it calls the flight status calculation component.

So we’re going go to ahead and build that. Great.

Next well switch into the Application Center console and we’re going to define a new type of data collector. Our data collector is going to be a WMI event query. We’re going to go ahead and wait for an event in the continental namespace. Application Center will allow us to dynamically browse for the event, which would show up dynamically. There we go. And the two properties we’re interested in.

Next we can define a custom action to take when we see this event and the SLA violation is detected. For this particular demo Ive chosen to send myself an e-mail since this is my development workstation, but in production an administrator can choose to run a script, add additional capacity, configure load balancing, send an SMS message to their cell phone, whatever theyd like.

Finally, Im going to paste in a custom message to our administrator that will tell them the SLA violation was detected.

Okay, one quick thing we’re going to do is we’re going to add an additional threshold on this monitor. The reason for that is we dont want this even to fire every time we notice our code firing that instrumentation piece. We’re going to tell it only if you see the service delay being greater than 50 milliseconds does that constitute an SLA violation. Great.

So well go back into our client, well type in flight 126, and very quickly youll notice Application Center will turn into a critical state letting me know an SLA violation was detected, service delay of 78 milliseconds. Well switch into our mailbox, click send/receive, and youll notice we got an e-mail telling us the SLA violation was detected and we even have a hyperlink in here allowing us to automatically failover our client to use a backup Web service that can meet our SLA requirement.

PAUL FLESSNER: Now, the e-mail is great for a demo, but we dont want to be sending e-mail out to all of our network administrators.

ORI: Absolutely not. And let me show you how some of our automated responses can help you keep your Web service running in production.

The next thing we’re going to do after weve added that piece of instrumentation is we need to deploy the new version of our application to our production system.

Using the Application Center New Deployments Wizard, I can configure a custom deployment job that will send my application over to my production service. Im going to provide some credentials and Ill be able to give it to the machine I want to send my application to.

Now, I have two Web servers sitting in production. Im only going to send this to one of them. Application Center is automatically going to notice the new version of my application and propagate it and all its associated resources to all the servers in my production environment.

So once I select my Web service and send it out, we’re going to get my IIS site, my security settings for it, my ASP.NET pages, my private assembles, we even have support for global assembly registration in the GAC. You can deploy complex applications, registry entries, DSNs, anything and everything you want.

PAUL FLESSNER: Youve provisioned the whole machine for this app.

ORI: We have, and let me show you that working in production.

So what we’re going to do next is, okay, weve sent our application into production. Now we need to verify that both its working and its performing up to our levels and we havent hurt performance using that new instrumentation.

What Im going to do is using Application Center Test, our performance and stress and functional testing tool, we’re going to record a session against our Web service. Using the browser and the browser record feature, we’re going to hit our cluster directly. We’re going to enter in the flight information, flight 126, 10/22 is the date, and we’re going to click invoke.

As youll see, weve got the XML representation of my flight details back: SeaTac Airport, gate B14, and served by server AT Demo 32. This is not the server I deployed my content to. This is the second server that the application was automatically propagated to.

We’re going to call this My Cool Stress Test.

One of the nice features of Application Center Test is I can now replay this capture greatly amplified against my production system. Im going to play it at 25 simultaneous browser connections. Well hit the play button and what youre seeing on the right in pink is the CPU utilization on AT Demo 32. Very quickly its going to start inching towards 100 percent. Application Center will dynamically notice that CPU overload. It will notice the SLA violation taking place and quickly bring another machine into the cluster, configure the application for load balancing and come help serve that additional load.

PAUL FLESSNER: So this is different than what Eric showed. He was doing something over the net in service of a net. We’re talking about in a given cluster behind the firewall that we’re running?

ORI: Correct. Either your production Web cluster or your business logic internal cluster.

As you can see, my second machine has come up. As you can see, my second machine has come up. Were now serving twice as many requests. I didnt have to deploy my application there or configure it. Its all done automated for me.

And so what were seeing today is how Application Center can take advantage of rich instrumentation built using VisualStudio.net and WMI, how you can take advantage of that instrumentation and take automated responses, how you can easily deploy your application and all its resources into staging and production, as well as how our scale-out features will allow you to achieve a very highly available and scalable set of Web services.

PAUL FLESSNER: Excellent. Very impressive. Thanks, Ori.

ORI: Thanks, Paul.

(Applause.)

PAUL FLESSNER: Now were actually going to do another demo. I said before that Commerce Server 2000 has worked very closely with the VisualStudio.net team to make sure that Commerce Server 2002 becomes a part of the ASP.NET family and that you can easily and comfortably extend your Commerce Server applications from the comfortable VS IDE.

So now L.J. Germinario is going to come out and give us a demonstration of that integration. L.J.?

(Applause.)

L.J. GERMINARIO: Thanks, Paul. Hi. How are you good?

PAUL FLESSNER: Good.

L.J. GERMINARIO: I have one slide. Now, today were going to talk about Commerce Server 2002, and Im really excited to be here today because what were going to do is give you a preview of some of the new functionality were going to talk about in Commerce Server 2002.

Commerce Server 2002 is actually a native complement to VisualStudio .NET, and we enable rapid application development and provide a developer portal, giving developers easy access to all the essential Commerce Server tools they need right from the VisualStudio .NET IDE.

For the developers in this administration Im actually going to show you how you can create a VB or C# application right from Visual Studio. Then were going to show you how weve enabled our sample application for .NET Passport and .NET My Services.

So lets go ahead and jump into Visual Studio. Here were looking at the VisualStudio.net IDE. The first thing were going to talk about is how you can easily create a new Commerce Server application right from Visual Studio.

So just like you create a project, you can go File, New Project, and here we have a new section of projects called Commerce Projects. You have the option to either create a VB ASP.NET application or a C# application.

Now, this would launch a wizard that would take about two minutes and walk through and create the essential resources, so your SQL data stores, your IIS resources, all of the XML and code actually required for the site.

Lets fast forward and look at a site that we actually have up and running.

Here we have all of the essential pages in our Visual Studio project environment. You can see we have all the files and all of the resources there for us.

Now, I mentioned before, you can invoke all of the different tools right here in Visual Studio. If you were to go and actually look at projects, Commerce Server projects, youd see here we can actually pull in the different Commerce Server tools available, so the MMC administration tool, the resources, business desk, profile designer and catalog designer.

One of the other Commerce Server features many of you might be familiar with is the pipeline. So if we just go up to our project window and look at our default pipeline components that are installed, we can actually invoke the pipeline editor right here in Visual Studio by opening up one of these PCF files.

So it really is an integrated environment for the developer. They can do everything in Visual Studio.

Lets go ahead and actually take a look at the sample site. Now, what youre looking at is the Eye-By-Five site, which is probably familiar to most of you. The Eye-By-Five site was originally just a storefront application that provided basic catalog capabilities.

Well, weve now upgraded Eye-By-Five. Its a fully functioning e-commerce site that uses Commerce Server 2002 for its commerce functionality and has integration with the .NET technologies for logon and then for alerts.

So we have the Eye-By-Five site here. You can see we have our different catalogs. We have our account and our shopping cart capabilities.

Lets go ahead and sign in. Weve enabled .NET Passport logon. So using my Hotmail account, I can log in and its able to identify me on the site.

Now, from a developers perspective, one of the things commonly used on a site is campaigns or advertisements. Because this is very tightly integrated with Visual Studio, its very simple to invoke the content selection framework of Commerce Server right here on this page.

So were looking at our default page. If we jump back to Visual Studio, we can actually go down to our default, that ASP page, right-click and do a View Code. And here youll see that weve actually created this application using C#. So youre able to actually see the different calls we have going out for the profile, pulling in the profile ID and then also here we have a section that talks specifically about pulling in the Commerce Server 2002 content selection framework information.

So Ive written some C# code here commented out. Im just going to real quick uncomment this and go ahead and rebuild this solution.

It rebuilds the application itself. It takes about ten seconds. And then once this gets done, well be able to go back to the Eye-By-Five site and see a dynamic advertisement now placed on our page.

Now, all of this is integrated directly into Visual Studio. So all of these tools are available right from the IDE.

Well see here that the rebuild has been successful. Well go back to our site. Well do a refresh on this page. And now youll see at the bottom a banner advertisement actually appears and thats delivered using the Commerce Server 2002 content selection framework.

Lets continue now using some of our .NET technologies. Lets walk through. We see here we have an item called the Persuasive Pencil. One of the other features that customers commonly ask us for is the ability to maintain multiple currencies on our site. Here we see that the Persuasive Pencil is $1.99 US dollars. I can change my locale to Italy and see that its 2.23 Euro or I could go ahead and change my locale to Japan, being able to see that its now 245 Yen. So the site is able to present different information in currency based on the locale.

Lets go ahead and add our Persuasive Pencil to our shopping cart. Youll see that our checkout process has the normal checkout, final checkout where youd actually have to insert your shipping information as well as credit card information, but weve enabled this site for Passport Express Purchase.

Youll see here that my Passport information is already propagated into the form for me. It has my default credit card information, billing address and shipping address, so well continue through there. And well be presented with a basic invoice. I can verify my information, my shipping total, my address and so forth.

Now, when I place this order, Passport is actually going out and authenticating my credit card information and the site itself will generate the order and an order number.

Weve integrated this site with the .NET My Services, so once this order is completed, we have enabled it so that we get an instant message using .NET Alerts and here it is. Order number 1016 has been accepted, and we should watch our e-mail for more information.

So what Ive shown you today in summary is that Commerce Server 2002 not only has great advancements for e-commerce but also for the developer, having a developer environment right in Visual Studio and integrating with our .NET technologies.

Now, Im really happy to let everyone know everything weve seen here today you can actually start building with. In the show bags you will have a copy of the Commerce Server 2002 technical preview bit and youll also have a copy of the Eye-By-Five sample application.

For more information or to play with the site, stop by the Commerce Server booth.

Great, thanks.

PAUL FLESSNER: Excellent. Very good. Thanks, L.J. (Applause.)

So those are a couple small samples of the work weve done or will be doing and delivering in 2002 to help make it easier for you to build and deploy ASP.NET and Web services to applications.

So now I want to talk a little bit about the future in 2003 and kind of beyond and talk to you about the things that were doing, again to keep making it easier and to enable what we hope to be broad adoption for Web services in the .NET initiative.

Deep XML integration: A lot of XML work today already, certainly SQL Server, the ability to query and get results back in XML, BizTalk Server, XML deeply embedded into the product, a lot of again additional data work and data adapters around XML sources.

In fact, were going to continue to drive this stuff deeper and deeper into the product. Bill mentioned that this morning.

Think higher-level about SLA agreements, Service Level Agreements rather than managing tactically and responding to errors, and just overall continuing to push harder and harder on what we believe are the key infrastructure enhancements that we need to make to get broad adoption of Web services.

As I said when I started out, a big part of my job is making our platform better together. I want each and every customer experience to be better the more Microsoft server products you buy in your environment. Again, they wont be built in any way thats proprietary that wires them together. You can always use other vendors technology on Windows. Its just that my job is to make it a better experience with each of the various servers that you buy.

So weve really started to focus on the core set of things that we wanted to push in the 2003 timeframe.

The common language runtime is something that we will embed deeply in all of our products. I think its a very exciting technology that from an IT perspective I know in my days in IT I would have been really excited about this.

In terms of the ability to let the IT infrastructure — messaging, transaction, database — all of that to stay the same as you evolve forward with innovation in the languages space is something that I think would be very exciting.

There always used to be, in my IT shop anyway, a little friction between the developer and the boys managing the data center. The data center guys wanted everything to be left alone and the developers always wanted to use the most advanced productivity tools going forward.

The Java world today is a little fragile around that. Java is tightly bound to J2EE. If you start to move into another environment, youre going to be moving and changing out a lot of technology.

But the common language runtime and what I call language freedom, youll have this ability to really keep up with language innovation. Java wasnt the first language innovation and it certainly wont be the last. Weve introduced C# and were going to see I think a lot more language work as we continue to go forward. Process languages will be hot, things like XLANG and that sort of thing.

So theres a lot of innovation that can go on in the language space while remaining constant in what you want to be your hardened data center, and I think thats a very exciting thing for customers, and well work hard to embed the common language runtime in our environment, and Im going to talk a bit more about that when I talk about Yukon, the Yukon release of SQL Server.

XML and SOAP, again deeply embedded in our product so that we can exist and coexist in your complex heterogeneous environments. Well continue to push that deep into all the products.

Caching: Caching is something that can give an incredible performance boost. Its 5,000 times more expensive to do an I/O than it is to go to memory. But today the edge server or the IIS server cant dish out or cant cache pages that have data on them that have come from the back-end database. A lot of you do this today with all kinds of tricks in Optimistic and Currency and that sort of thing, but what if we were able to give you a notification system back in the database and you could register, look, this data I know doesnt change very often, I dont change customer numbers, I don t change prices during the day, I want to cache that stuff all the way out on the edge serer because Im not going to be changing it for a few hours, and if, in fact, it does change, send me a notification and Ill update my cache. Thats work that we can do in our platform and will be available in the Yukon timeframe.

Diagnostics end to end: This is something that I worked in a complex IT environment many, many years ago, and we had the common customer complaint. Gee, as I hit enter or I hit the Search button on my Web browser and it took 15 seconds to come back and it always seems to happen at 2:00 and I dont know why, but thats just the way it is. You know, what do I do?

Well, today you have to go through a very difficult process of assembling a lot of experts and tearing apart a lot of code and a lot of different monitoring things on the network. What if it was as simple as saying,
“Oh, look, we can trace this thing; it was 3 milliseconds on the client, 5 milliseconds on the wire, 10 milliseconds in the IIS server; whoops, 12 seconds sitting here in SQL Server.”
Then its a matter of digging into SQL Server. I see last night they dropped a couple indices. Bang, weve got a problem. They recreate them and life can be much easier.

So that kind of end to end monitoring potentially even as a SOAP header kind of a thing where we can share that information with you as well is something that were working very hard on.

Security: Again, a very complex world. We want a unified concept. We know that causes frustrations today, multiple implementations of roles and all the products not using security in the same way. Part of our work has got to be to unify those things so its not so difficult for you to implement and manage those environments.

And then SLA: Again the work weve done with Application Center, the work were going to do with MOM I really think can put us in a different situation. And managing at the Service Level Agreement is what customers want and the stakes that really go up when you really start to live in a Web services world, especially is Web services youre depending on for your applications happen to live outside of your environment, because theres lots and lots of work to do there and all of these areas are areas that were really honing in on and focusing on in the 2003 timeframe.

SQL Server Yukon: Its kind of a busy slide. Id like you to kind of look over to the right side first and well look at the kind of key components of the server. We’re going to continue to push hard on analysis services. Were getting a lot of positive feedback from the customers. You like our OLAP technology. You want more. You want more data mining. You want more in terms of capabilities to publish a great report dynamically. Were going to keep investing in that, and were going to do all that we can to make it easy for you to develop those kinds of environments, develop your data warehouses and again integration in the Visual Studio shell to make that much easier.

We will have a big change in terms of our administration interfaces during this timeframe, moving from DMO to this SMO, AMO, SQL Management Objects and Analytical Management Objects, and were going to continue to really make those strongly available for your environment.

An HTTP stack, native HTTP connectivity into the SQL Server: So today we offer this, but its through an IIS server. And what well be doing in the future is making sure that HTTP connectivity can also run natively on the server.

Another advance were going to make in the Yukon timeframe, we talked about pushing XML from kind of the mid-tier today. Today, our XML environment, SQL XML runs on the mid-tier. You send XML to it. We convert that to SQL and we go into the database.

You know, we can do better than that and in the Yukon timeframe what were going to do is take the x-query processor and move it in underneath our parser and well actually have an XML data type so youll be able to have a relational table definition. One of the columns in that table could be an XML data type. Inside that data type you can have a full XML document with metadata and youll be able to do x-query on that column as well. So again making that much more native and much more available so that you can get XML directly out of the database or put it directly into the database through a native HTTP connection, if you so desire.

I also mentioned the common language runtime. Were going to embed that in the engine as well, so youll be able to get language independent stored procedures, which I believe is a very powerful environment for the SQL developer. (Applause.) Yeah, thanks.

We know theres a lot of Key SQL code and were not giving up on Key SQL. Were even looking at enhancing it somewhat in the next release. But we also want to give SQL a first class developer environment, and thats the objective with embedding the common language runtime.

I mentioned before this concept of being able to do notifications and invalidate some external cache or actually any other kind of process that you want to run in. The idea with this query notification manager is to allow you to register types of queries that if, in fact, any data changes that would affect that kind of a query, you would be able to then get a notification and take whatever action youd like.

Were also going to continue to do a lot of work in the storage engine, XML as a native data to store any engine relational data, and were going to continue to push on that for what Ill call a richer, more integrated storage experience going forward.

And with that, well get away from that death slide, which is actually very cool technology, I promise, and Jeff Ressler is going to come out and give us a demo of SQL Server and some storage futures. Jeff?

(Applause.)

JEFF RESSLER: Thanks, Paul.

PAUL FLESSNER: Hey. Well, I hope the demo goes better than those slides.

JEFF RESSLER: So today I want to show three things about Yukon in the context of a demo called Weebotix, which is a toy company that makes robotic toys. The three things were going to show, Paul, are first how SQL Server Yukon allows us to bring together all sorts of data, not just the structured data where a custom is storing in SQL Server, but also semi-structured and unstructured data, leveraging some of the XML support you just spoke about.

Were also going to show the common language runtime executing a C# stored procedure and Ill show you a new development environment called the SQL Server Workbench thats a replacement for the Query Analyzer, something built on Visual Studio thats a very productive environment.

So this Weebotix Toy Company is having a wee bit of a problem in that one of their popular products called Steve Leapyear is not selling very well. Im a quality assurance manager at this company, and Ive just received an e-mail from my boss, Paul Flessner, which Ill open up here, and I note that theres been a meeting called to discuss the problems weve had with the Steve Leapyear product, and some sales declines weve seen.

Im going to go ahead and open up the meeting agenda and scroll through this, and what I see is that I see some Office XP Smart Tags showing up. And weve actually built a custom Smart Tag recognizer thats looking for certain keywords to appear in this document, and indeed when I hover my mouse over
“quality assurance”
youll see that I get a Smart Tag popping up.

Im going to go ahead and click on this Smart Tag and select Send All Weebotix Tags to the Smart Tag Analyzer. What this is actually doing, the code behind this Smart Tag recognizer is actually writing an XML-based query, sending it to SQL Server Yukon and delivering this result set back. This is a mixed result set. You can see that there is structured data in here but also semi-structured data and even things like e-mail.

This gives me a quick view of recent changes in the quality assurance around the Weebotix product line, and one thing thats of particular interest when I look at this display, and this is all being displayed in Internet Explorer as XML, I notice that Ive got an e-mail message here about dissatisfied customers.

So Im going to click on that and take a look at that, and I note that theres a mention from an account rep out in the field of a decline in the sales of Steve Leapyear, attributed to a company called Super Gears.

Well, so Im going to go ahead, I get another Smart Tag. Im going to click on my recognizer here and send this supplier name back to SQL Server Yukon again as an XML query, and now my view, my XML view here is customized to display information specifically on that supplier.

Now, in looking at this data and my graph here, I dont see any particularly obvious trends, and so Im going to change some of the criteria to make this a little more specific to the problem were investigating, the problem with Steve Leapyear. So Ill click on the criteria button and I can go ahead and turn off Tiny Timbot and Robotic Robby and Im going to go ahead and add to broaden the scope of the search at appointments and events.

Ill click Okay and re-query and now the graph looks quite a bit different. Were focused in on Steve Leapyear. You can see that something really bad is happening. Were seeing sales declining. We’re seeing the defect reports growing. We really want to get a handle on this.

So now at this point as the QA manager I can choose to send this off, send this page, again this XML page, send it off to my team and have them do some further analysis on this to really figure out whats going on here.

But lets take a look at whats going on behind the scenes with SQL Server. Lets switch machines here. So this is the SQL Server Workbench. This is a development tool that will eventually replace the SQL Query Analyzer product that many of you are familiar with, having developed for SQL Server. And Im actually looking at stored procedure code.

PAUL FLESSNER: It doesnt look like any stored procedure I know.

JEFF RESSLER: It doesnt quite. There are semicolons and all sorts of curly braces and things. Its not very common to find in a stored procedure. And that is indeed because as you suspect Im sure were looking at C# code. And weve used the Visual Studio shell and extended it to work with SQL Server Yukon in this case. So in this case this is the body of our stored procedure, and you can see that I can navigate through members with the Member Navigation Tool, and you can see that Ive got SQL data types actually in my C# code.

Well, lets take a look at the actual SQL code that calls this, and I wan to show you a neat aspect of what weve got here with the SQL Workbench.

You can see IntelliSense popping up, completing my statement for me. As I continue to type, I also get a toolset outlining what parameters this stored procedure takes.

(Applause.)

Instead of forcing you through the pain of watching me type all this though, Im just going to uncomment this line here, Im going to hit F5. The Workbench is saying,
“Is it okay to connect to SQL Server and pull this data back?”
Im going to say Okay. Well connect to SQL Server and were pulling back an XML result set. This XML result set is the same XML result set that we displayed inside Internet Explorer, so that same view of data. If we scroll through it, we can see the different data types represented, including some of our messages that we were seeing in our Web view.

So what you see is that weve got the ability to display those different types of data in that singular view, messages, structured data, graphical data. Weve got the ability to write these stored procedures in C# and of course any other language that works on top of the .NET common language runtime. And Key SQL will still be supported. Thats still going to be there, also operating inside this development environment with IntelliSense and things like that. And then finally this great environment that does provide so many productivity enhancements for developers.

PAUL FLESSNER: Excellent. Thanks, Jeff.

JEFF RESSLER: Thanks.

(Applause.)

PAUL FLESSNER: So this is just another example of things that we are doing to make it much more productive for you, the developer, to build Web services and specifically XML Web services in our environment.

So BizTalk, were going to talk about that for a few moments and were going to see a demonstration. BizTalk is a product that were extremely proud of. We believe there is a lot of innovation thats in the product and we have had trouble getting the story fully out, and I want to spend just a couple of minutes talking about it.

BizTalk can do a lot of things. Its primarily focused at enterprise application integration, but we also have some business process automation built in there, so people have a tendency to get confused about what the product is doing. Actually, it can do many things and thats kind of the exciting part about the product.

Lots and lots of customers today are using it for EAI and its great at that, but if you really think about BizTalk, it does three things. Its this concept of a universal Inbox, allowing us to accept messages in lots of different protocols, in lots of different file formats, and store those up and persist them into a canonical XML format in a reliable messaging engine.

It can also allow you to do data transformations against that information, which is also extremely powerful. Lots of customers want to normalize data or change or if youve gone through any kind of merger or acquisition, maybe you want to flip the customer numbers behind the scenes or flip the catalog numbers of whatever. All those things can be done in a situation like this as well.

And if I had to guess, most of the BizTalk customers today are doing those two things.

What it can also do and what were getting a lot of rapid adoption on now is orchestration. Its this concept of allowing you to orchestrate business processes. These can be very fine-grained business processes or very large-grained. They can be inside your firewall or outside your firewall. And this concept of orchestration is something that were extremely excited about.

Youve seen probably demos of BizTalk Server where we use a graphical user interface to kind of define both the domain experts sitting there working the kind of process flow that they want the application to perform and then also binding that to various interfaces in the UI that we want to technically implement around. And thats very powerful, but weve gotten a lot of feedback that customers want to take it even further and wanted to be able to script that kind of information and do it in a development environment.

And Scott Woodgate is now going to come out and give us a preview of a future version of BizTalk that implements a new and richer development environment. Scott?

(Applause.)

SCOTT WOODGATE: Hi, Paul.

Many customers today are already orchestrating Web services with BizTalk Server. BizTalk Server 2002 enhances these solutions with management, monitoring and deployment enhancements, but today, Paul, lets look further into the future past 2002.

Orchestrating Web services will be even easier with BizTalk XLANG S. XLANG S is the next generation of the XLANG business process orchestration language. XLANG S is built on the .NET framework. XLANG S gives you the choice. You can visually design a business process or you can script a business process.

So to demonstrate XLANG S, Im going to play a developer and my boss has just tasked me with creating a solution that accepts purchase order from customers through a Web service. Those orders are passed to my back-end ERP system. The order then gets a confirmation number back to the customer. The next step in the business process is sending it to the inventory system, and finally the shipping system. At a later point the customer can query their shipping date for their particular order.

So Im going to orchestrate this entire process with BizTalk XLANG S.

So first lets do that visually. How does it look visually? I create a business process that consists of actions, actions are connected to ports. Of course, I send messages to those ports. And when Ive completed the business process, I compile it today to XLANG — of course in the future to XLANG S.

But the beauty of the XLANG S technology is I can also script it. So what youll see in a moment is that XLANG S is deeply integrated into VisualStudio .NET. We get great, of course, debugging and other productivity support from that.

So lets drop straight into VisualStudio .NET and take a look at a business process project in VS.NET.

So heres the VisualStudio.net environment and this is an XLANG file in VS.NET. Notice that we have the typical color highlighting, full Intellisense on the syntax.

Lets look at that syntax. Whereas previously I could just draw a port to an ERP system, now Ive scripted that port to my ERP system. Ive also declared messages. Heres the place order message that I send to my ERP system.

Of course, a business process has a sequence of actions. Here is the start of that sequence. I can send messages to my ERP system and receive them from my ERP system. Here is this in XLANG.

Now, notice on the right-hand side in the Project Explorer I have Web references to my ERP, inventory and shipping Web services. XLANG S is tightly integrated into Web services. That ERP port you see on the screen is accessed directly in XLANG S. And whats more, I can create a Web services front-end to my business process.

So what this means is when I compile the XLANG S business process to a managed .NET assembly, the customer is presented with a Web services front end that looks no different to a typical VB or C# Web service.

So lets simulate a customer placing an order.

When we fill in the Web service and invoke it, XLANG S will take the message into my business and pass it to my back-end ERP system, simulated here, Ill approve the customers order, order number 20, and the customer will receive a confirmation number for their Web service.

But the business process continues. I approve the inventory system and finally I approve the shipping system. The business process is complete.

The final step is for the customer to come back and query what their shipping date is. So lets go in and query the shipping date.

XLANG S will automatically return them the shipping date, the 26th of this month for their order, order number 20.

So, Paul, what you see here is XLANG S. Ive orchestrated five Web services together to a single business process in one manageable file. All of this is built on the .NET framework.

For those of you who want to learn more about XLANG S, your PDC CD has a prototype for you to play with. You can do all the things I did just now in VS.NET and check out Tony Andrews session. So thats XLANG X.

(Applause.)

PAUL FLESSNER: Okay, excellent. Thanks, Scott.

So we do understand how important interop is for your business. XML Web services obviously are an important part of that, but we want you to know that we know that all applications wont immediately go to XML Web services, and theres all kinds of interop that will be needed going forward regardless. Weve just kind of put a laundry list of all the things that were doing today. You know, these things are from SQL Server, theyre from BizTalk Server. Theyre certainly from Host Integration Server, and were going to continue to work hard to make sure that you can get and stay connected to all the heterogeneity in your world from the Windows platform. And again, of course, we believe that long-term as XML Web services become more prevalent, youll be migrating in that direction, but again there is a lot of interop between now and then and were certainly going to continue to commit to that.

So in terms of the product roadmap, youve seen a couple of these slides this morning. You know, all the stuff in 2001 were feeling great about, shipped, and getting good feedback in the market, and it does make XML Web services real.

In 2002 again I think were really focusing on making XML Web services easier and well continue to work on that and well continue to deeply embed them.

It wont be a big year for SQL Server or Exchange, no major releases, but there will be important updates to both products, SQL Server youve seen, the SQL XML, which was announced today.

Exchange has got lots of enhancements coming in terms of the abilities. Were going to continue to push on that and also a very important update for OA in the SD2 timeframe.

BizTalk, Commerce Server, Content Management Server and ISA will all have releases, again focused on the VisualStudio.net release to make sure that we get good integration there.

And then App Center and MOM will be working even closer together to give you a more robust and complete solution for managing your data center.

MIS and SharePoint also with releases in the 2002 timeframe.

2003 is a big year for us, Longhorn, more technology in the Windows environment and weve talked a little bit about the earlier this morning, Bill did, and then SQL Server and Exchange, a major release that year, again a lot of joint work with those teams to hopefully bring together I believe a very robust Exchange offering in that timeframe, built on new storage technology, which we talked about to our Exchange customers at MEC and I continue to do that around the world today.

And again all of the servers really sneaking up and making a big, big push in the 2003 timeframe around XML Web services.

So to wrap it up, I think weve made it clear that were going to continue to work hard on the abilities. Thats something that I know you live and die on in your enterprises.

Scale up and scale out are both important. We dont pick one. We have to support both because we know your business needs both.

Major focus on TCO: Total cost of ownership is absolutely paramount in your business not only in this economy but in every economy. I mean, we wont give up.

Quality: I believe quality can be a competitive advantage, and were going to continue to push hard. Youve only just begun to see the advances that well make in quality. Its something that we invest in every day.

And agility, which is really I think the most exciting thing that weve talked about today, were going to work hard to make you as a developer more agile and to provide a better experience for your customers and a higher rate of return for your employer.

Overall were in it to win and we cant do that without your support, so again I thank you for coming here today and I thank you for the opportunity to present to you and I thank you for your business.

Thats it for me. Have a great day.

(Applause.)