The .NET Platform
Development Tools
COM & COM+
Data Access
Web Development
XML Technologies
Windows Servers
Wireless & Mobile
Security issues
Design & Process
Career Development
Analysis & Comment
Disposable Objects
You are not logged in: login here to access all areas.
We talk to Mark Greatorex, Director of the .NET and Developer Group at Microsoft UK, and .NET Systems Engineer Kieran Mockford about WS-Security, .NET Passport and the future of Visual Studio .NET.
Author: Matt Nicholson
Last updated: Dec 2002
Mark: The ease of use for building Web Services makes
VS.NET great, but we consider it to be the platform of choice for building
any of your traditional applications. Web Services is just one type of
application that it’s good at building. Matt: What is your feedback as to the
proportion of people actually building Web Services with VS.NET, whether
for internal consumption or outward-facing on the Internet? Mark: I don’t have the actual figures, but in
the order of about 200,000 beta copies of VS.NET went out in the UK, and
were being used to build production applications. Worldwide we think around
2.5 million beta copies went out. Matt: What are those new standards? Mark: You can consider industry standards such as XML,
WSDL and UDDI as being the base foundation. However people very clearly
recognise that areas such as transactions, routing and reliable messaging
also need to be standardised to create a level of consistency. Industry
players such as Microsoft, IBM, BEA and Oracle are trying to build these
standards on top of the core foundation. For example, IBM, Microsoft and
Verisign put out a paper that we sent to OASIS proposing a standard called
WS-Security. Matt: When will they be supported by
VS.NET? Kieran: The Web Services Development Kit is available
now, and that includes WS-Security, WS-Routing and WS-Attachments. You
can do this now in VS.NET, with the addition of that kit which is a free
download from MSDN Online. Matt: Are these standards finalised yet? Kieran: They’re draft standards. Some are a little
further on than others, but as they are released, they’ll be added
to the kit. Matt: I assume that kit will become part of a future
version of VS.NET? Kieran: In the fullness of time we plan to integrate
them. Matt: Can we move on to your own Web Services, as in
.NET MyServices and Passport? Perhaps we should start with Passport, because
that is the most crucial. What is the current state of .NET Passport? Kieran: Passport will start to converge with WS-Security.
What we’ll see is a Passport identity being a valid WS-Security
identity. Primarily we’ll achieve that by having Passport become
a Kerberos authentication mechanism. Matt: As I understand it, Windows .NET Server will integrate
Passport into Active Directory. Is that correct? Kieran: Initially we thought that integration of Passport
and Active Directory was an interesting thing to do. However, we’re
now taking a more evolved and more generic approach, which is to use WS-Security
to allow the linking of Active Directory forests using a technology called
Trustbridge. One Active Directory will be able to talk to another via
Trustbridge, and that will use WS-Security. This will primarily be used
to build organisation-to-organisation trust relationships, where we need
to be sure the communication is taking place between known parties. Trustbridge
will allow that identity to be shared. Matt: Can I just clarify that from the end user’s
point of view. Does this mean that someone will be able to log on to their
domain in the normal way, and then go to, or browse to, another organisation
and be known, without having to do anything? Kieran: That would be the user experience, but the trust
would have to be set up between the two organisations beforehand. Matt: How does that relate to your .NET Passport service? Kieran: In the fullness of time we have WS-Security
coming for Passport, so an identity that is trusted by a domain could
be a Passport identity. But initially that’s not what Trustbridge
is about. Initially it’s about organisation-to-organisation trust. Matt: Because if someone works for a bank, for example,
the ideal situation is for them to log on to a web site or a Web Service
somewhere and be recognised as an employee of that bank, because that
bank is trusted by the owner of that web site or Web Service. Kieran: Right. It’s about the validation of that
identity, but it would be up to the organisations as to which identities
would be validated to access which services on each other’s systems. Matt: How does this relate to federation? Kieran: WS-Security is a core part of federation. In
order for federated systems to work, identity must be known and communicated
in a standard way, and WS-Security provides that standard. Matt: Returning to .NET Passport itself, the last time
I looked its development kit was very much rooted in VS 6.0 technology
and ASP. Has that moved on yet? Are there now .NET classes that encapsulate
Passport? Kieran: Absolutely, and there has been since the release
of the .NET Framework. All you have to do is install the Passport SDK,
which puts in the underpinnings, and then the relevant classes that are
part of the Framework become active. Matt: And you can then integrate .NET Passport in a
Managed way? Kieran: One of the standard authentication mechanisms
for an ASP.NET web site is .NET Passport. It wasn’t fully functioning
in Beta 2 of the Framework, but from the Release Candidate it was fully
functional, active and working. The future of Visual Studio .NET Matt: What can you tell me about the future of .NET? Mark: Firstly there is the evolution of the standards
we’ve talked about, which is going on at the moment. The next key
release, coming within the next six months, is the next version of SQL
Server, codename ‘Yukon’. There will be an updated version
of VS.NET associated with that, which will give us an enhanced version
of the Framework. Matt: What new classes or namespaces will be supported
by this ‘Yukon’ version? Kieran: To backtrack just half a step, prior to the
‘Yukon’ version we’ve got a release of VS.NET coming
out in Q1, codename ‘Everett’, which will include the .NET
Compact Framework. The Compact Framework has been in beta for a while,
but is now being integrated into the tool. We’ve also done some
performance work in the core Framework itself. Matt: Does this mean you’re integrating VS.NET
with the Smart Device Extensions? Kieran: Exactly – they’ll be built in, out
of the box. J#, our Java language support, is also going to be integrated
into the core product, as will the Mobile Internet Toolkit. Matt: Not everyone is developing for mobile devices,
so I assume these will be optional installations? Kieran: Indeed. We’ve also done quite a bit of
performance work on the Framework. Matt: So is this effectively a second release of the
.NET Framework? Kieran: You can think of it more as a 1.1. Matt: Do you envisage any version problems? Kieran: No, and I can be quite categorical about that
for a couple of reasons. First of all, we’ve done an enormous amount
of work to make sure that version 1.1 is completely backward compatible
with version 1.0. Furthermore, we have complete side-by-side support for
your code. Version 1.1 of the Framework can be seamlessly installed side-by-side
with version 1.0, should you need it. Matt: I’m thinking of the kind of nightmare we
have with things like CDO. I remember trying to build an application that
interacted with Exchange and finding there were so many different versions,
each with different programming models and each requiring their own DLLs. Kieran: We’ve done an enormous amount of work
and testing to make sure it’s backward compatible. We’re also
taking the mature attitude and allowing for unforeseen circumstances by
ensuring you can run both versions of the Frameworks on the same box.
That is the strength of the versioning system. If you have got an application
developed to run on version 1.0 of the Framework then you can set it to
run against version 1.0, even if you also have version 1.1 installed on
the box. Matt: What is that? Kieran: Basically, in C++ we have the notion of templates.
Generics are very similar to templates, but because C++ is type-safe at
compile time only, while C# is type-safe at both compile time and run-time,
the issues are quite a bit deeper. Essentially what we’re doing
is providing the equivalent of templates, but to C# and to the Framework
as an environment. As an upshot of that, the Ada and Eiffel implementations
for the Framework will get it for nothing! Matt: Are you aware of, and are you supporting, Borland’s
announcements about Delphi .NET? Kieran: I know that we have been working with them on
their .NET implementation, and it’s great to see Borland producing
tools for .NET. Matt: We have yet to see what they produce, but one
of the things that I’m looking forward to is that, as I understand
it, Delphi .NET won’t just be another language for VS.NET –
it will also be a new development environment. Kieran: My understanding is that, because they already
have a very rich framework in Delphi itself, they’ve done work to
have that framework as a programming model on top of the .NET Framework.
So yes, that’s terrific. Matt: Because at the moment, while VS.NET is encouraging
a wide range of languages, it is becoming a dominant development environment.
It would be nice to see some other development environments coming out
that also work with .NET Framework. Kieran: Yes, absolutely – we completely support
that idea. Of course we do have Web Matrix. Matt: Yes - that’s your alternative development
environment. Kieran: There are some interesting things about Web
Matrix. For a start, it’s written completely in the Framework itself.
It’s tiny - you can put it on a floppy disk and still have room
to spare. It’s got a web server built in to it, which means it’ll
even work with Windows XP Home Edition, which doesn’t have its own
web server. It also comes with code templates for connecting to databases,
and server control support. Matt: I assume Web Matrix does not come with the Framework
itself? Kieran: No indeed – the Framework is a bit bigger
than a floppy disk! Matt: I notice that your Windows Update service now
offers the Framework as an update. Kieran: Yes, or you can download it from our ASP.NET
web site (at http://asp.net), or from MSDN Online. I would expect people
to get Web Matrix from any of the community sites, before or after they
download the Framework itself. Matt: Is it an easy transition to take your ASP.NET
application from Web Matrix up to Visual Studio? Kieran: The Web Matrix creates aspx files, so you simply
create your project in Visual Studio and then drag-and-drop the aspx files
into the project. Matt: The final thing I wanted to talk to you about
is Office XP Web Service Toolkit. Could you expand on what this does? Mark: It’s been available since the Microsoft
.NET Developer Conference 2001, held in London, and essentially allows
you to expose and capture data from Microsoft Office using XML. If, for
example, you’re producing a monthly financial analysis report based
upon data from your line-of-business systems, then the Toolkit allows
you to directly link any Office application, such as Word or Excel, to
those systems using XML. Matt: Are you talking about using Word or Excel as a
client to consume Web Services? Mark: Yes, but I’ll let Kieran give you a technical
articulation of that! Kieran: Basically, this toolkit is a set of components
built above the SOAP Toolkit version 3. Version 1 of the SOAP Toolkit
was a COM-based ‘community’ version which was followed up
by an enterprise-strength version 2. This is version 3, and built on top
of it is a toolkit that allows you to not only call Web Services from
VBA in an effective manner, but also to work at a more abstract level
– for example, you can use a Pivot table and create the connection
using a graphical interface. It also supports ‘bridge’ data
types as well the standard COM-based data types. Matt: These are toolkits you would use from VBA? Kieran: You can use the toolkits with VBA, but you can
equally design the Web Service interaction graphically, to a certain extent,
without writing code. Matt: When are we going to see VBA becoming VBA.NET? Kieran: One of the things we are doing over time is
producing Primary Interop assemblies for those COM components that don’t
currently have them. We shipped some of these in Visual Studio .NET itself.
There’s more in the next version of Visual Studio, the codename
‘Everett’ version, and over time we’ll be producing
more of them. Matt: What are Primary Interop assemblies? Kieran: They’re for COM components that currently
don’t have Framework classes. If you do an ‘Add Reference’
on such a COM component, you might not get as rich a type-oriented experience
as you’d expect using the Framework. Primary Interop assemblies
are written specifically for the COM component in question to map it better
to the Framework. One example which has already been done is ADO. Leaving
aside ADO.NET itself, ADO has its own Primary Interop assemblies to make
it easier to develop against it. Matt: Against ADO as opposed to ADO.NET. Kieran: Yes. ADO.NET is completely Framework based,
but ADO isn’t. If you do an ‘Add Web Reference’ on ADO
then you get a Framework approximation of the COM component which is still
pretty rich, but not ideal. The Primary Interop assembly makes it more
ideal. Matt: How do you get hold of these? Kieran: They’re published to MSDN Online as they
become available. The Office XP Web Service Toolkit is available for download
from MSDN as well. Mark: The interesting thing from a business perspective
is that customers are saying, "I’ve got this huge asset in
terms of the skills that my knowledge workers have gained through their
use of Office. How can I leverage that?" Companies are looking to
make their business more efficient and to drive value. Developers can
really enhance the value the end user is getting by synchronising line-of-business
application with the familiar Office environment.
Matt:
A lot of people are under the impression that you’re strongly pushing
Visual Studio .NET as a tool for building Web Services. Is that your main
message?
What we’re hearing from our UK customers is that a large percentage
are experimenting with VS.NET, and looking at the ways in which it can
help them improve development productivity. Not everybody is building
Web Services, but of those who are, the majority are building them for
internal communications, as opposed to inter-company communications. I
would hazard a guess that about 10 percent of those working on Web Services
are working externally, while in the order of 50 to 60 percent are working
on Web Services of any kind. There’s a lot of interest in the use
of Web Services. There’s a lot of learning going on, and people
are building their skills.
Looking to the future, over the next
6 to 12 months I would see a lot of inter-application communication happening
internally using Web Services. Moving 12 to 18 months out and I see people
starting to use it for point-to-point relationships with business partners;
either replacing something like EDI, or replacing a clerical-based level
of communication to cut out friction that exists in a business process.
Going 3 to 5 years out I start seeing people having multiple relationships,
with business processes starting to talk directly to a few trusted business
partners.
Let me give you an example. Let’s
say you want to distribute videos out to the market place. You have a
relationship with a logistics partner. You might want to distribute some
to a particular warehouse, so today you send a fax to the logistics company
which then ships them. Within 6 to 8 months that could be replaced by
a Web Service so that my system will talk to your system directly. What
I think will happen in the 3 to 5 year time frame is that I won’t
only be talking to your system; I’ll be asking a group of companies
to give me a price for doing the job, and then buy the service from the
company that gave me the best price.
I think we have to go through a bit
more learning about what Web Services are, but as .NET and Web Services
move into the next phase and start using the new standards that are coming
out, then I think the use of Web Services in business will become far
more routine and commonplace.
We call these new standards the Global
XML Web Services Architecture (GXA), and until they’re in place,
I don’t think inter-company communication will wholeheartedly take
off.
Moving forward to support for ‘Yukon’,
a while back at the Professional Developers Conference 2000 we talked
about how SQL Server will ultimately become a host for the Framework,
and that will become a reality with the ‘Yukon’ release of
VS.NET. The ‘Yukon’ release of VS.NET will support that kind
of development, and come with the appropriate tools.
Also, Microsoft Research has just
released its Generics implementation for C# and the CLI Framework, so
I’m hoping that that will make it into the ‘Yukon’ release
as well.
It is very much lighter weight than
the full Visual Studio. However the Visual Studio tool is aimed at professional
developers and architects, and comes with features for source management,
for example. Web Matrix is aimed at a different type of person.
Click here for our Privacy Statement. Copyright © Matt Publishing. All rights reserved. No part of this site may be reproduced without the prior consent of the copyright holder.