Remarks by Eric Rudder
Senior Vice President, Developer and Platform Evangelism Group
April 10, 2002
ERIC RUDDER: Good morning. Thanks for taking the time to share with us and to come to TechEd 2002.
Can you believe its our 10th TechEd? As I was preparing for my TechEd talk I thought Id go back through some of the earlier TechEd keynote slides, and I started at the beginning 10 years ago and I was amazed to actually see what Bill talked about as the Microsoft vision in the keynote 10 years ago. Think about it: Information at your fingertips, documents can contain information of any time, applications are flexible building blocks, you can retrieve information easily and communicate and work with others. And think about the Internet and think about how far weve come in these past few years.
I remember a few years back, you know, 10 years back in TechEd time, thinking about base connectivity, the TCP infrastructure that was being rolled out, what that enabled us to do in terms of communication and e-mail and then the explosion in the mid to late 90s with the Web and HTML, and I think if you think about the decades of change I think the year 2000 and its wave is really about programming the Internet, you know, going from simple browsing to XML Web services and the whole new generation of applications that were going to enable.
In many ways XML Web services are the foundation for the programmable Internet. The exciting thing is that we get to build on the success of the Internet model. So were based on public standards; were not bound to any single platform. Just like with the Web today you can have Web servers from any vendor, you can have Web clients from any vendor, Web services adheres to the same philosophy and model. Were protocol based. Were enabled with loosely coupled programming for better fault tolerance and large distributed systems and we embrace peoples heritage and existing systems, rather than ripping and replacing them.
And the industry support around Web services has been truly phenomenal. As you might know, Microsoft joined WS-I, the Web Services Interoperability Organization. Were proud to be a member; there are over 95 members in that company. And what it really is is a promoters group for Web services. Its not a standards organization in and of itself, but were going to facilitate customer adoption, ensure interoperability and make sure that the industry as a whole aligns around Web services. The organization will have testing tools, sample applications, reference code; I encourage you to check out and see if your company should be involved as well.
In many ways Microsoft has been working on the XML Web services vision for several years and our vision that we announced with .NET is anytime, any place, on any device computing. And really if you think about the XML Web services fabric coming together, we see the foundation really having four key parts. Basically the key areas are clients, servers, services and tools. And Im going to talk about each one of these areas later on in my talk today.
When we think about the clients, of course, Windows XP, a great release for building on Web services. The devices area is really taking off, Win CE devices and other classes as well; Ill show you some cool Win CE devices later on in the demo. And combine that with the rich client software of Office, taking advantage of XML Web services.
In many ways its not just the software thats in Office connecting to Web services but kind of making sense of the world of Web services thats out there. You know, think of all the financial information in the world thats going to be available to an Excel spreadsheet. How can you go out and find that? How can you organize it? How can you make sense of all these Web services? So the challenges on the UI front are more than just connecting, more than filtering, and were working on those UI clients on many fronts.
Having a strong infrastructure on the back end for millions of people to use Web services is key, and here we build upon the strength of the Windows Server family and the .NET Enterprise Servers as well.
Weve offered a set of foundation building block services, which we call .NET My Services, centered around Passport and alerts, to enable developers to focus more on their business logic and the business problem that theyre trying to solve rather than re-implement that plumbing again and again and again, and Ill talk some more about that.
And of course at the core of all this is Visual Studio .NET. Why are tools so important? Well, in many ways if you think about the waves of computing its really tools that have driven the phenomenon. If you go back to the 70s, where we had kind of big iron and mainframes, and COBOL and RPG were kind of the standards and, you know, think about the fundamental impact that languages like FORTRAN and COBOL had to the ability of people to take advantage of all that computing power, they fundamentally changed the way we approached computers.
And as the PC entered, again with tools like MS Basic or Turbo Pascal that really led to the next wave of applications.
Of course, when we introduced GUI, Visual Basic had a tremendous impact. Also client/server tools like Power Building and Delphi made a tremendous difference.
With the explosion of the Web, HTML and scripting tools played a profound impact, and I think really that Visual Studio is going to be one of the key tools that drives XML Web services forward and encourages adoption.
Its kind of interesting to look at each of these phases. I think there are some interesting characteristics. First, you kind of notice that each phase is absolutely more significant in impact than the previous one, you know, it came on faster, it exploded onto the scene bigger and more and more people got involved with computers and reached out and were able to use those services. I think XML Web services fits nicely in the evolution.
Well, lets look at Visual Studio .NET, our tools investment a little bit more. We spent a long time working on this release; it was over three and a half years of development. It was a tough decision for us to wait that long but Im proud that we did and Im proud of the results that we obtained.
We have a great integrated development environment. We focused a lot on productivity. We made sure it was extensible and customizable and so that Visual Studio isnt just great in and of itself but its the partners that make the complete development environment great as well. So folks like Mercury, folks like Rational help the developer with their tasks as well.
The language enhancements: We made a key bet in the common language runtime to bring all developers into the fold and to leverage the skills that developers had, so we encourage VB development, C++ development, C# development, Java development with our J# tool; in fact there are over 20 languages that target the common language runtime and are fully available to the .NET framework.
Were also enterprise ready. We made sure to have a huge investment in modeling and testing tools and, in fact, we continue to enhance our enterprise frameworks and templates and we’re thinking more about the software lifetime management cycle than ever before, so were thinking about how architects interact with developers, thinking about the deployment/debug maintenance cycle, and I think weve just started on that path and youll see Visual Studio continue to improve in those areas across time.
When we launched February 13th at VS Live in San Francisco I was there, maybe some of you were there, and to date the momentum around .NET has been absolutely incredible. Weve touched over 135,000 developers at launch events. There are still a few more left to go. I think by the end of the month we should have touched over 150,000 developers. But there are over 200 tools and component partners that are available today, over 275 .NET books available. There are magazines, there are third party Web sites. I encourage you to check out the community off the Microsoft.com site where we now have our community and our newsgroup but we link to third-party newsgroups as well. And whatever your technology youre interested in, whether its C# or ASP .NET or transaction services, theres robust community discussions and community involvement and community mentors around all those topics.
And today Im actually pleased to announce that with the Visual Studio .NET and the .NET frameworks weve actually shipped over a million units, which is quite a milestone, if you think about it.
Well, what have people been doing with these great tools? Theyve been building applications. These tools are really at the core of enabling customers to build these new XML Web services, and I think sometimes an example really goes a long way, so Id actually like to welcome out one of the developers thats working with .NET, Patrick Bultema, CEO of FrontRange Solutions, will show us what hes been doing with .NET.
PATRICK BULTEMA: Hey, Rick.
ERIC RUDDER: How are you?
PATRICK BULTEMA: Great. Its great to be here. Its really a pleasure to be here at TechEd to share with the Microsoft developer community our .NET CRM application suite. In that FrontRange weve delivered comprehensive applications to sales, marketing and support professionals with our Goldmine and HEAT family of products really pioneering the CRM space in the last 12 years with over 120,000 companies worldwide that are using our products. Were thrilled to be here today, Eric.
ERIC RUDDER: Thats great! So FrontRange actually came together through kind of an acquisition of a few key companies.
PATRICK BULTEMA: It did. Goldmine and HEAT were separate companies. They had compatible but fundamentally different architectures and we were at a place where we realized we really needed to re-architect our product line. Wed actually begun that process six months into the development when we decided to switch to .NET.
The good news for us is that we were able to leverage all of our existing work and to really add some fundamentally important new features to our products. And on top of that we really found that we were much more productive in the Visual Studio .NET environment, so its been a real win for us.
ERIC RUDDER: Great.
PATRICK BULTEMA: What Id like to do is take just a few moments to show you our product. What you see here is the smart client of the new .NET version of our CRM application that weve written entirely in C# and XML. Its a comprehensive CRM application that weve designed to fundamentally transform how mid-market companies go about the business of establishing and maintaining relationships with their customers.
.NET really has helped us solve one of the fundamental issues of smart clients, namely deployment. It does this by allowing us to deploy our software through a browser to ensure that all of our users on a system have the correct release on their system at any one point in time. Our customers really demand that kind of no-touch deployment, along with scalability, interoperability and access from multiple devices.
So lets take a moment to look at the app. Lets click on forecasted sales. As you can see, with the smart client we have a very responsive application. Our customers need that. They cant wait for a Web page to refresh with new data. Remember, we sell CRM call-center solutions, for example, into an environment where job performance is measured in tenths of seconds. And so for us we really look at our applications as productivity tools very much like Excel and Outlook. We really insisted on that kind of a smart client experience.
This also means that we can take advantage of user interface features that the smart client really gives us.
Another example of how this plays out, what youre actually seeing right now is an actual Excel form embedded in our application with information from our application.
By using a smart client we also dont have to worry about browser compatibility issues and we can take advantage of the things that Windows users really have come to expect: drag and drop, quick validation and offline use.
What Id like to show now is how a sales agent might use the application. As you can see on the Today screen I last contacted (Kontoso ?) Pharmaceuticals about three weeks ago and Id like to give our contact there, Marcia Hendrick, a call to see if shes cut the PO for the new call-center solution that weve been discussing.
Now, I can drill down into our previous meetings that other people at our company have conducted with Marcia and others to really get a full view of the relationship before I make the call.
Of course, this kind of customer data is really core to our system and exchanging customer information with other systems is a key requirement. Thats why XML is key to the approach that we have taken. As you can see, you can export the contact data into XML very easily. Incidentally, this is the kind of screen that only kind of an audience like this one can truly appreciate. Like a browser, if we hit the Back button were back to the original account record.
ERIC RUDDER: Thats great. So you actually expose your data as a Web service. Well, what about the flip side of consuming Web data as well?
PATRICK BULTEMA: Absolutely. One of the key features is that exact capability to incorporate XML Web services into the user experience. So here weve designed the app to consume Web services, and Im pulling an XML Web service into our application right now from One Source Information Services. This is a company that has information on corporations, public and private, over a million companies worldwide. Theyre pulling that information from 30 different data sources and making it available as a single Web service. That kind of external data is the kind of thing that really makes you smart on your customer, and so weve really tried to make those things as a core capability of our product.
And, of course, as you mentioned, in addition to consuming Web services were also exposing Web services. So, for example, we provide an easy way for you to be able to export contact data to a billing application or to be able to transfer customer interaction information to a solution partner and so on.
In summary, our customers demand responsive, scalable solutions that interoperate with other systems and exchange customer information across the typical boundaries that have really limited CRM systems in the past. The .NET framework really has enabled us to build exactly those kinds of applications for our customers and we believe its going to be a big win.
ERIC RUDDER: Super. Its a great looking app.
PATRICK BULTEMA: Thank you very much.
ERIC RUDDER : Thanks. Thanks for coming.
I think Patrick and Raj did a great job showing the power of smart clients combined with the .NET framework and runtime. And if you think about the new .clients, if you will a new breed of .clients that we’re going to be delivering over the next few months and years, I think you can see some important characteristics of why we believe so firmly in the value of smart clients.
The first is, of course, the XML Web service connectivity, you know, taking advantage of all the interesting services that are going to be out there.
The second is seamless deployment, right, no install, and this is really our challenge of bringing together the best of the Web and the best of Windows into an integrated whole.
Of course we want to take advantage of things that people are comfortable with, with their PCs today, like offline support, so their applications can actually cache data and run when youre in an airport or online or on an airplane in the air.
Think about the interface we have today and think about the investment that were making in natural user interface tomorrow. This is something that will truly harness the power of the local PC and of the server PC. So, of course, with the introduction of advanced technologies, for example, in our MSN 8 client youll see natural user interface but youll also see developers being able to author an application once and use XML schema and tags, through a spec that we call SALT, to actually enable their applications to support speech, for example, without re-authoring so you can take advantage of all the same logic, all the same business logic, expose the same Web services and just put down a natural user interface on top of it that supports these advanced features.
And finally you saw how important it is to integrate analysis and key software where Patrick showed how you can actually take the information that you have and import it into Excel, import it into Word and take advantage of that.
Well, weve shipped a toolkit, called the Office XP Web Services Toolkit to make it even easier for developers to integrate their Office applications with XML Web services. And the key again is the capabilities and the integration, while keeping a natural look and feel that users and developers are accustomed to. So here you actually see a short example of what it looks like from within Excel, kind of just open up your little VB macro and here you can add your Web services, you can search UDDI, you can add your methods and take advantage of all the power from your smart clients.
People often ask me about customer proof points, and I want to talk about a few customers that are actually in production with .NET solutions today. The first is actually Marks & Spencer. They actually wrote a fraud-detection application. This is something that is kind of designed for when someones in-store and theres kind of a suspicious purchase made or theres a bad credit card known or some bad customers that are known, they actually have some intelligent algorithms that can detect this fraud, and they actually hooked it up to their SMS system so they can actually send a message to a security guard in the store and they can take action.
And actually while they were in beta, they just rolled out the application, sure enough the development managers phone rings, SMS in the store; hes thinking,
“Oh darn, I have a bug in my little SMS application.”
But it turned out there was actually fraud going on in the till right behind him in the Marks & Spencer store while he was testing his beta application and literally that one incident practically paid for the SMS integration portion of the application. Theyve had a fantastic ROI and we look forward to more and great applications from Marks and Spencer.
I want to highlight one other customer on this slide: Ingram Micro is actually the worlds largest distributor of IT products and services. They have over 170,000 resellers to integrate with. There are over 180,000 products and services in their catalogue. Theres no way that they can integrate to all these disparate systems without using XML Web services as their integration strategy. So theyve written an e-commerce store front solution based on Web services and lowered their development time significantly.
Northrop Grumman in their Newport News division and Pacific Life have done similar work exposing XML Web services, leveraging their existing investments and again have good ROIs.
Well, what other exciting applications are ahead and exciting customer usages lie in front of us? Id like to invite out Paul Galant, whos the global head of E-commerce and Market Data Strategy for Citigroup, Salomon Smith Barney, to come out and kind of give us a sneak peak at what Citigroup is doing with .NET.
PAUL GALANT: Good morning.
ERIC RUDDER: Good morning. How are you, Paul? Thanks for coming.
PAUL GALANT: Thank you. Thank you for having me.
When my good friends at Microsoft asked me to come and speak candidly to you about my experience in working with them and their new .NET platform I really didnt hesitate to accept the invitation. The fact of the matter is I love telling this story. Its got a happy ending and we all need happy endings these days.
Im a banker whos spent his entire career on the execution of a simple idea, and here it is: Financial services companies of all shapes and sizes produce a tremendous amount of intellectual capital for the benefit of their clients and we do this every single day. My idea is to automate the collection and distribution of an entire franchise worth of that content. Now, if I can do that every day then each one of my employees and clients will receive a targeted daily dose of content thats going to allow them to make better decisions faster.
Now, why is that important? Im going to give you two reasons. Reason number one: A typical Citigroup corporate or investment banker — my guess is its the same for any financial services company — has client coverage responsibility for about a hundred clients. Now heres the problem: The best banker that I know can successfully cover 20 clients. Theres the 80/20 rule that we all live by.
Now, what do I mean by
It means that they know every element of every day what happens to their clients, and they can provide targeted advice thats contextually relevant and thats timely in order to allow that client to make the best of every situation.
Reason number two, again for content distribution, why its important, reason number two: Citigroup as a platform delivers thousands of products and services to clients every day, and here again a typical banker, even a really good banker is able to juggle about five or six products or services at any given moment.
And so here lies the rub. Weve built Citigroup as this phenomenal terrestrial platform thats able to deliver thousands of products to millions of clients, and yet to scale that terrestrially is very, very difficult, and without profound automation were never going to be able to really see the full kind of potential of the company that weve built.
And so let me frame for you the challenge that I gave to my friends at Microsoft. I asked them to help me build a highly scalable, fully personalized distribution platform, an agnostic distribution platform for proprietary and third party content. Now, many of you have had the same challenge given to you as youve worked to execute your e-commerce initiatives that your companies have put forth but this is different, and let me tell you why its very tricky when it comes to Citigroup.
Let me tell you a couple things about Citigroup. Were the largest financial services company in the world and what that means is last year we did about $84 billion of revenues and we produced $14 billion of net income for our shareholders. We did that by serving 120 million clients with 280,000 of our employees in 103 countries. Incidentally, 90 percent of our employees are local to the territories that they serve. That means were very, very spread out.
Another fact, which you might not be aware of but maybe most of you are, Citigroup was built through a series of very high profile acquisitions and mergers. And what that means is the content that I want to get at exists in every flavor of technology that youve ever heard of. In fact, its every flavor of technology every sold on the globe we have, and I have to tap this thing to get to my platform.
An additional item: Citigroup aside, I also want third-party content and I want it from dozens of vendors. And the content that I want is not homogenous. Id like video content, Id like streaming market data, Id like news, Id like credit information. When you add it all up, weve really uncovered a formula for absolute disaster, and, of course, Im betting my career on it, right, not the smartest thing in the world.
Well, I told you the story had a happy ending and heres the happy ending. My friends at Microsoft descended upon us, at my request, and with their .NET platform, their XML Web services, their ASP, in record time these folks helped me build this agnostic delivery platform and its going to roll out later in the year and were extremely excited about what its going to do for our company.
Now, rather than taking a lot of time to describe it, I thought maybe Id show you a couple of screens. Now, this is in pre-alpha form, but I think you guys might enjoy seeing a peek at this thing.
Here it is. What youre looking at are a variety of Web parts that are displayed on a page. Now, the page has navigation that allows you to bring in different Web parts, but this is all XML coming to the screen. There are a number of event models working here in tandem, but in this case what I have, for instance, is breaking news, and this might be coming from Dow Jones or Reuters, live stream. Ive got some equity portfolio information. Ive got a neat chart about Microsoft. Ive got a streaming quote, detailed quote on Microsoft, and Ive got some news thats related to them.
If I want to change the way this views, I can just go into my channel section, open the channel section and say Id like an in-depth company summary now. You can imagine a bank or a client using this. You click on company summary and the screen changes. And the way it changes is it brings in the Web parts that I have specified and laid out on this page. And so what I have is a nice little business description about what it is that the folks at Microsoft do. Ive got research that I publish and others publish on the company. Ive got news reports, more price charts, some analytics. I can scoot down and I can see the top owners. Glad to see Bills still a major holder of the company.
And if I want to change that, I mean just watch how easy this is. I can go into company, and heres Microsoft and their quote — youre up about 33, which is a good thing. And I can go in and I can change the company. I can go and say take a look at your partner Compaq and hit Go. It tells me that there are two Compaqs, one in Canada and one in the U.S., and I click on the one in the U.S. and look what happens. The price changes, all the Web parts reappear and its information about Compaq. This is pulling data from about 250 sources, located all over the galaxy.
And so were really excited about this and we think that Microsoft just did a tremendous job in bringing this technology to us. Without this technology we would not have been able to do the things that weve done in such a short period of time.
ERIC RUDDER: Thanks, Paul.
So I look forward to that going live at the end of the year; its a tremendous application.
If you think about the back end of that infrastructure that we just saw, you know, .NET and our Enterprise Servers truly provide the foundation to build upon. Its really software for the agile enterprise to allow for that flexibility that Paul kind of hinted at in his application.
Of course we build upon the strength of Windows Server and really Windows Server now delivers a new breed of application server. Many of you have application servers but really what we need is an XML Web service application server, an XML Web service integration strategy, and heres really where I think Windows and .NET shine together.
We have an integrated family of products that work better together for running, managing and orchestrating your .NET solutions.
Of course, the abilities — availability, scalability, reliability, manageability, security — are key. You can write the best application in the world but if you cant deploy it and you cant manage it, it doesnt mean anything. And I am proud of the progress weve made over the past three years in attacking these areas head on.
Its important that the .NET Enterprise Servers provide a foundation for trustworthy computing, and the steps that were taking to improve the quality of our software, to improve the quality of the way we get information out to our customers, the way our customers can take the latest fixes and apply them and query their network to make sure theyre up to date, to make sure that they have the latest information and latest stuff applied is something I look forward to us making continued progress on.
And, of course, the massive scale of these Web services demands that we support scale-out for performance and availability and also to take advantage of PC economics and to deliver world-class price performance.
Well, one of the great parts about doing TechEd is you get to announce all sorts of new products, and I have no shortage of new product announcements today. The first product that Im happy to talk about is Commerce Server 2002. This is now shipping. Its an update of our Commerce Server product. We now support global, multinational e-commerce sites. So if you have multiple languages to support, multiple currency, advanced analytics across sites, weve done a much better job in Commerce Server 2002.
Its incredibly integrated with Visual Studio and ASP .NET, and youll see that as I demo the product in a few minutes.
We deliver key new tools for building or extending XML Web services into your business solution, and, of course, Commerce Server delivers on the abilities that I talked about before.
The next product I want to talk about is SQL Server CE 2.0, and I think here the catchphrase is really that if you know SQL Server you know SQL Server CE. Weve got a 1.1 megabyte memory footprint but really weve got the key features of SQL Server on your handheld CE device, so you can extend the reach of your enterprise data. We integrate with Visual Studio .NET and the smart device extensions. Weve got improved replication capabilities that can have offline scenarios on your CE devices, come back, merge that data in. We support a variety of merge replication models. And this product will actually go into beta later this month
Im also happy to announce SQL Server 2000 Notification Services. This is a new scalable platform for developing notification applications based on personalized data. If you think about it, its sort of the federated view for what were doing with notifications in .NET and .NET alerts. This allows you to run a server within a corporate firewall that can take advantage of key information specific to a large number of users, millions of users, and allows you to implement the delivery according to how the customer wants to be contacted. So an event gets triggered and you can deliver a notification via SMS, SMTP, instant message or .NET alert or you can write your own adapter as well. And the beta of SQL Server 2000 Notification Services is actually available today.
Im also happy to announce shipment of the XML Web Services Toolkit for Exchange. This provides access to Exchange information using XML Web services. Of course, it too is tightly integrated into Visual Studio .NET and it also is available today.
Im also happy to announce MapPoint .NET. This is Microsofts first commercial XML Web service. Its pay as you go. We provide location intelligence so you can get map data, you can get route data, and it too is available today and well show you how you can use it and take advantage of it in just a few moments.
Really the only thing more fun than announcing products is building and showing a demo that takes advantage of all of them. I want to take a moment to thank all the folks that put the demos together; they worked really hard on it, and Id like to welcome out LJ Germinario and Christopher Flores , who you might know as the Iron Developer Organizer, to show us all these products in action.
Welcome, LJ. Welcome, Chris.
LJ GERMINARIO: Well, thanks, Eric. E-commerce development is something that is essential for businesses of all sizes, and thats why Im so excited to be here today to demonstrate some of the new functionality available in Commerce Server 2002, the MapPoint .NET Web service, SQL Server 2000 Notifications and SQL Server CE 2.0. So lets go ahead and jump into Visual Studio.
The first thing were going to talk about today is the native integration between Commerce Server and Visual Studio .NET. Here were in Visual Studio and have the ability to very easily create a Commerce Server project right from the project wizard.
So we look at our project options and here we actually have a Commerce project available. We can create an application using C# or VB. In this case lets proceed with a VB application.
And were presented with a Commerce Server application project wizard, again right here in Visual Studio. As we walk through this wizard, youre able to see that this eliminates thousands of lines of code that you as a developer would need to write. Simply by providing credentials for your SQL data store youre able to create the framework for a commerce application.
Now, if I were to actually walk through the wizard here it would do a couple of things. First, youd create the framework for the actual application, things like the shopping cart, personalization, a catalogue schema. It would also create the data sources for you, so were eliminating a lot of that legwork.
To save some time lets jump over to a blank site that we have available here. As you can see, its lacking product information. It needs to have transactional capabilities in order to make this a fully functioning e-commerce site, and thats what were going to do right now.
Lets jump back into Visual Studio. Here you can see Ive already gone ahead and added some graphics and some placeholders, but now lets add some specific information.
First, lets add some product data from our catalogue. Well go ahead and just drag and drop the product details control. Let me go in here and actually just find the data source. Then I actually need to go into the code itself and add some text, just telling it to actually go out and actually get the data itself. Now, thats going to bring in all the data from our product catalogue.
The next thing we want to do is talk about how we can actually leverage MapPoint. In this particular scenario were building an online retail store where our customer is going to have the option to opt for in-home delivery or have the ability to locate a store and identify whats closest to them for pickup.
Here weve called the MapPoint new .NET Web service. We have some options as a developer to understand how the different properties are defined here, things like height, width, position on our screens for the actual maps.
And the last thing were going to add is specifically around SQL notifications. Here we have some XML, which will actually provide the developer with the opportunity to design which events they want to be notified about and how they want to be notified — on a PDA, mobile device, something like that.
ERIC RUDDER: So in this case the notification is going to go to the consumer that actually purchases something on the commerce Web site?
LJ GERMINARIO: Absolutely.
ERIC RUDDER: Well, that will be me.
LJ GERMINARIO: That will be you.
ERIC RUDDER: What should we buy?
LJ GERMINARIO: I think were going to buy some Xboxes.
ERIC RUDDER: All right.
LJ GERMINARIO: So lets go ahead and were going to build and browse. Lets give it a second to just build this store, and here were able to see we now have the product information and the actual pictures and the details about the information.
Lets go ahead, we have some Xboxes on sale for $299. Well add them to our cart.
Eric, how many do you want to buy today?
ERIC RUDDER: I have a lot of friends out there, so maybe we should buy, I dont know, 40.
LJ GERMINARIO: Great. Well buy 40.
ERIC RUDDER: How much is that going to be?
LJ GERMINARIO: That’s going to be a whopping $12,000, payable to me.
ERIC RUDDER: Wow. Thats good because my signing authority is at $12,000 even, so were doing well. (Laughter.)
LJ GERMINARIO: Great.
So what we have here is actually exposing some of the Commerce Server basic functionality that’s available in the site. The shopping-art capabilities and that catalogue schema that I mentioned are part of the basic solutions here, so we didnt need to do any coding to expose this functionality.
Lets go ahead and start the checkout process. And as I said, in this scenario were going to let you actually go and find a store, a retailer here in town to pick up your items.
So lets just fill out your contact information, make it payable to you. Were also going to set up the notification. So here we have two options: Notify me when the items have been delivered to the store or notify me if theres a change in my order status; if youre expecting them tomorrow and its going to be another two weeks, youll be notified.
Next well go ahead and use the MapPoint .NET Web service to actually locate the different retailers here in New Orleans. As you can see here there are six very close. Lets go ahead and look at the one on Royal. You can see on the map we have identified the different stores. Were also able to use the MapPoint Web service to identify the fastest route for you to get there, so if youre in a real rush to get those Xboxes you can get there quickly.
Lets proceed with the checkout. So at this point your order has been completed, your order number 15, payable for $12,000.
And to summarize, what weve done here is showed you how to create a basic e-commerce site using the tools provided in Commerce Server 2002 and Visual Studio .NET. Because of the native integration now with our developer tools, Visual Studio .NET becomes the single view for developers of the Commerce Server application, which is great support for all of our developers we have today.
So at this point Im going to turn over to Chris, who is actually going to play in this scenario the role of a retail store, and show you on the back end how were actually able to go ahead and fulfill this order.
ERIC RUDDER: Great. Hey, Chris.
CHRISTOPHER FLORES: Thanks, LJ. How are doing, Eric? Ready to play some Xbox?
ERIC RUDDER : Im ready.
CHRISTOPHER FLORES: All right.
So the last thing we want to do here is we want to build the mobile application that our delivery personnel will use when they are traveling throughout their business day. This application will not only tell the delivery personnel where theyre going, what theyre delivering, but more importantly this application will allow the delivery personnel to electronically capture the signature at the point of delivery, so that the warehouse can be notified in near real time where packages are, what their status is, and most importantly who signed for it.
So what we have in front of me right here is Visual Studio .NET. To the untrained eye this might seem like a standard Visual Studio .NET installation, but we actually have smart device extensions installed inside of Visual Studio .NET. Put simply, this means that with smart device extensions installed any Visual Studio .NET developer thats out there can easily create applications for smart mobile devices; in this case, were going to create an application for a ruggedized Pocket PC that the delivery personnel can take with them.
So in the center of the screen you can see the familiar forms designer. We have a toolbox of controls on the left hand side that we can use to build up the interfaces of our application.
The most interesting thing about this application isnt the fact that it targets the .NET compact framework on these mobile devices, but this application makes full use of SQL CE 2.0. SQL CE 2.0, you can think of it as a miniaturized version of SQL Server that you can have running physically on your actual device.
Now, one of the strongest capabilities of using SQL CE 2.0 is its great synchronization capabilities. So what this means is that as that line that Ive highlighted in yellow is executed, any new data that Ive captured on my device as Im progressing throughout my delivery day will automatically be sent back up the master SQL Server. Any new data thats up in the master SQL Server will automatically get sent down to my device.
So theres a lot of application logic here thats built into the SQL Server CE that you as a developer do not have to write yourself.
Now, at this point I have an option. I can either deploy my application to an on-screen emulator, as you can see here on the screen, or I can deploy my application to my physical device, which is what were going to do right now.
And it just so happens that my application is already on my device, so if we could kindly switch the display to my ruggedized Pocket PC. Here is the application thats running. So once the delivery personnel comes to drop off your 40 Xboxes we can go ahead and sign for the package, sign my name, click on Synch Deliveries and now this data is sent back up to the master server.
Just to show you that that data actually did transfer from my local device up to the server Im going to go ahead and switch back to my machine right here and type in the order number that L.J. generated just a moment ago, and click on Submit. And if you look very closely you can see that those Xboxes were indeed delivered.
If I click on More, we can go ahead and fetch the signature and we can see which doctor actually received those 40 Xboxes. (Laughter.)
So, Eric, at this point you probably should check your device, because you may have a notification on there.
ERIC RUDDER: Yeah, so I have a pretty cool device here. I actually have in my hand — I dont know if you can see this — this is actually Pocket PC 2002 Phone Edition. Its actually smaller than todays existing Pocket PCs, but its got a built-in phone, GPRS capable, so youre always connected to your data. Youve got phone calls available. And you can actually see here on the device I actually have one unread message. I wonder what that message could possibly be. Its from Northwind. It tells me that my order for 40 Xboxes has been delivered. And, in fact, you can see in the e-mail message itself there is a little telephone number here, so if I have any questions I can actually just use the device, dial right on there, all integration here. We dont have time to actually call the store today, but we do have time to get some Xboxes and maybe play some Xboxes after the event.
CHRISTOPHER FLORES: That would be great.
ERIC RUDDER: So here you see one demo coming together from the point of the distributor, from the point of delivery, from the point of the customer, all using the technologies shown before, so a pretty compelling scenario, all done inside of Visual Studio .NET.
CHRISTOPHER FLORES: Thanks.
ERIC RUDDER: Thanks for your help, Chris.
CHRISTOPHER FLORES: Thanks, Eric.
ERIC RUDDER: Thanks, LJ.
LJ GERMINARIO: Thank you.
ERIC RUDDER: Well, I think we saw in that last demo how important services can be, and let me take a moment to talk about the .NET services that were offering as building blocks to developers, .NET My Services.
The first key thing is authentication. This is led by our Passport service, which we launched in 1999. There are over 200 million accounts today. We handle over 3.5 billion authentications per month, which is truly staggering when you think about it, when you think about the scalability of the .NET platform.
We support federation, so corporations can have their own version of authentication, have their own databases, have their own information about their employees and their customers, while still providing a single programming model and single toolset, all covered by the .NET framework.
And, of course, weve announced services for notification as well to deliver anytime, anywhere, on any device alerts. This is our .NET Alert Service. Again, its user-controlled: I subscribe to the events that Im interested in. I route them to the devices that I want at the time I want with the priority that I want.
So I think Web services are pretty compelling today. If you think about what we announced at the PDC, the foundation for our Web services vision and the foundations for our Global XML Web Services Architecture, which we codenamed GXA, you can get quite a lot done with XML Web services today.
But we know that we can make things even easier tomorrow. Were starting to see corporations roll out and deploy applications, and theyre telling us,
“Hey, this stuff is great, but you know what, we could even use a little bit more help in thinking things through like security, reliable messaging, business orchestration, eventing and transactions, because we want to link up to our heritage systems, we want to link to partners, weve got a lot of enterprise data, were very excited to integrate in. We never thought wed integrate this much vertical and infrastructure information all into one solution. And weve got a whole bunch of infrastructure in place with a bunch of different standards.”
And what GXA allows us to do is take standard SOAP, standard SOAP specifications and just specify the schema, the message headers, the message tags, the schema so that we can interoperate in all these critical areas across devices.
Well, Im pleased to announce that there are a lot of new folks that are going to be supporting Visual Studio and GXA. Some of the new .NET partners that were announcing today, youll see some information on our Web site and some press releases, are Akamai, whos launching EdgeSuite for Microsoft .NET, which puts .NET based applications on the edge of the network; MacAfee, which is moving their virus update service to Akamai EdgeSuites; Exodus, formerly Digital Island Branch, is going to be announcing services to build, test and deploy XML Web services; Symantec is announcing support; XML Spy has got a great set of tools; OReilly is not only delivering content for Visual Studio .NET but has actually integrated their content into the Visual Studio .NET shell itself, so its got the examples and you kind of play along with the book as you go; and of course Fujitsu is shipping .NET COBOL, which youve seen in the video before.
What Id like to show you is how GXA can be used in some real business scenarios, and Id like to welcome out Don Box , one of the architects in our GXA group, to show us this service. Welcome, Don.
DON BOX: Hello, Eric. (Applause.) Thanks for having me.
ERIC RUDDER: Thanks for coming out.
DON BOX: Its really interesting to watch this evolution of SOAP. I mean, what we started doing was really trying to raise the level of abstraction in the network protocol layer and to watch whats happening with GXA right now is, in essence, what were building is an application level network and the irony isnt missed that Akamai is really jumping on this quite heavily because they in the previous generation of the Web were obviously very big in building a virtual network out, you know, cloud out in space.
And so what I want to do now is look at how Akamai and McAfee are using GXA to basically take this idea to the world of Web services, which is obviously the next generation of the Web.
So what Im going to do is give you a little demo. What weve been doing is weve been working with both McAfee and Akamai to bring this functionality to Web services, and what weve got here is a piece of a setup program that is used to install the McAfee virus program. And you can see that weve gone through the laborious asking me for everything, am I over 13, all of those things, which obviously I am, as you well know.
So right now were at the end of the setup and its asking me do I want to sign up for the premium download service to make sure that my McAfee installation is always up to date, and obviously if Im installing McAfee I really want it to be up to date all the time.
So when I hit Yes here whats going to happen is its going to ask me for my name and Im not going to use Don Box. Im actually going to use — I spend a lot of time playing Xbox, because you were nice enough to give me one when I joined Microsoft.
ERIC RUDDER: Theyre great recruiting tools.
DON BOX: Yeah, so my favorite game is DOA. And for what its worth my favorite character is Kasumi. I asked for that as my e-mail alias, [email protected]. They refused to give it to me. Im taken that up with HR but thats another story for another time.
Nonetheless, what Im going to go ahead and do is register and when I go ahead and click OK, whats going to happen is the McAfee setup program is going to make a Web service call back to the McAfee server to make sure that Im, in fact, Kasumi, which we all know I am, and come back to me with basically an X509 certificate that says,
“Yes, that person is Kasumi; they are completely qualified to get the updates to this program any time.”
This is all great. This is actually live code running. Let me go ahead and hit Okay. And weve got an instrumented version of this software on this box, so Im going to bring up the trace of the SOAP call thats been going on.
If we look at this, this is just standard classic SOAP that everyone kind of knows and loves, and as we can see, a single SOAP call has gone out. So we see two SOAP envelopes, one for the request and one for the response, and if we take a look at this, this application is actually using WS Security, which is one of the fundamental pillars of GXA. And in this case weve done an integrity header to make sure that Im, in fact, the software thats sending out the call, and what this thing returns to me is an X509 certificate issued by McAfee that says,
“Yeah, this person is okay; we know them. Please love them as if they are one of our family.”
So let me go ahead and shut this down for a second. If youll notice, after the setup program completed it installed a little tray icon and obviously this is somewhat prototypical software; its not ready for shrink wrap yet, so the icon isnt all flashy and sexy. But if we look at this, eventually it will come back and well see that have updates. As you can see, we finally got them.
And so now whats going to happen is this is where the Akamai part comes in. So far this is pretty much traditional, we could have done this without any special rocket science kinds of stuff, but now the idea is I dont want to have to go back to the McAfee back-end to be able to get my updates. For one reason, obviously they can invest as much as they want to make the servers as robust as they want, but McAfee has global customers and in order to reduce the latency we dont want to have to go all the way back to San Jose, California in order to get this, and Akamai built their business last decade building this kind of cloud application for a classic Web app.
Now bringing this forward into the world of Web services, whats going to happen is when I click OK here, when I hit the download button what happens is the client application is actually talking to Akamai servers and the Akamai servers, because theyre aware of the Web service infrastructure and, in fact, are capable of actually running ASP .NET Web services out in the cloud, we dont have to make any communications back to the McAfee servers; rather, all of these requests are being satisfied now inside the Akamai cloud, which is obviously good news. It reduces latency. It has all kinds of really wonderful characteristics.
And so now weve realized that the signature is available. Whats really interesting to observe about this is because we use X509 certs in this case, and WS Security is perfectly happy to support those things, we dont have to go back to McAfee to ensure that Im indeed Kasumi.
Additionally, theres not some kind of centralized authentication authority, so we dont have to go back to Passport or AOL or any kind of large vendor that we need to tie to. Rather, this stuff is just out in the cloud and it works and its actually fairly decentralized and federated.
ERIC RUDDER: So we have a federated and delegatable model?
DON BOX: Yeah, absolutely. This is one of the core tenets of the way GXA security works, absolutely.
There we go!
ERIC RUDDER: Thats great, Don.
DON BOX: Thank you. Would you call me Kasumi.
ERIC RUDDER: Thank you, Kasumi.
DON BOX: Thank you. (Laughter.) I feel so much better. (Applause.)
ERIC RUDDER: You can call Don anything you want, just dont call him late for dinner.
So Don kind of gave a peek about how Akamai is actually building GXA into the very fabric of their system in the Internet itself.
Im going to touch a little bit on where we are today and a little bit on the future. Im not going to steal Paul Flessners thunder. Hes going to give tomorrow mornings keynote and hell talk a little bit more about the future. But clearly I want to talk about where were going in client, servers and services and tools as well.
For servers clearly the biggest thing on the horizon for us is the shipment of Windows .NET Server later in the year. Again, we redefine the category of what it means to be a Web service application server.
For smart clients Stinger is our key smart phone device coming out. I showed you Pocket PC phone edition. Tablet PC will also ship later in the year. I think thats an incredibly exciting device.
Well have the key tools as well, the smart device extensions. If you know Visual Studio you know how to write a Pocket PC application. The .NET Compact Framework, which again is supportable across not just CE but other operating systems as well.
And our services roadmap will start with Passports and alerts and well move up to .NET My Services going forward in the future.
Well, I hope Ive convinced you of the importance of software this morning. Really software matters more than ever in all these new .NET scenarios that we can think about.
.NET, I hope, hits the sweet spot. We provide agility for faster and more efficient delivery, better ROI, better productivity for developers, better operational infrastructure. We leverage the existing skills that you have for developers for operation. These are the assets that you have in your corporation. You dont have to do it all yourself, right? There are partners, there are services to take advantage of, whether theyre My Services or One Source or any of these other Web services that youve seen demoed today. I think just as there was a rich component market for development there will be a huge Web services market for developers and companies to draw on as well.
And hopefully you can use XML Web services to create deeper customer connections.
The key is really that we win together. We cant do it alone. Weve bet the company on .NET, but even thats not enough; we need your support.
And just to prove how important customers are for us, Id like to take a moment to talk about some of the customer partnerships that are really important. Id actually like to honor some key folks. This is our 10th TechEd and the people that are on this slide have actually been to all ten TechEds that weve done. And, in fact, youll kind of notice that there are 40 names on this slide and Ive ordered 40 Xboxes and, in fact, were going to give each one of these guys an Xbox apiece to thank them for their support over the past ten years.
Id also like to take a moment to thank our key sponsors and partners: Compaq, Dell, IBM, NetIQ, Rational and Veritas. They may not get Xboxes, but they do get my sincerest gratitude. (Laughter.)
I want to thank you for your time and I want to wish you good luck in building .NET solutions. Thank you very much.