Mark Wilson I am the creator of TopXML. I am available for international and local (Australia) contracts. I am a Solution Architect/Business Analyst. I have worked in IT in several countries (NZ, Australia, South Africa, UK) building and training teams for government and very large non-governmental organizations. I am ex-Microsoft Consulting Services. I wrote the first book on Microsoft XML published in 2000 called XML Programming with VB and ASP. Most recently I have been building tools for the SEO industry. Ask me for a 37 point SEO health-checkup for your website.
This content was made available by
WROX Conferences 1999.
Comparing RDS, Data Binding and Remote Scripting
or Three Options for Web Data Retrieval
Gone are the days when you necesseraly needed to leave the
current page in order to retrieve data and display it to users. Today, three
somewhat related technologies let you connect to remote data sources, invoke
methods, and obtain Recordsets, XML strings and so forth, directly onto the
client's machine. What remains to do is just split the data and update the page
using DHTML. the three options have some differences both in terms of syntax and
underlying architecture. Dino will compare and illustrate each technology and
their features through a series of demos.
Presentation Text
Powerpoint Slides
Code
What's New in Windows 2000 IIS 5.0 and ASP 3.0
Windows 2000 beta 3 will have been out for at least 4 months,
and maybe even beta 4 will be around? So, most of the conference sessions you
will be seeing will deal with Internet Information Server 5 (IIS5) and ASP 3.0.
This session takes an overview of what is new, what has changed, and how it
affects the up-grader coming from IIS4 (and even IIS3). This lecture will
feature: changes in IIS set-up, configuration, security, management, etc ...;
the MMC, core changes, performance, threading issues; ASP 3.0 new Virtual
Application Management and MTS integration; new Component hosting and caching;
overview of new objects, functions, methods, properties and events; overview of
the new scripting objects; plenty of examples to illustrate.
Presentation Text
Powerpoint Slides
Code
XML Data Binding
Is XML a language for Web pages or just a new format for data
transfer? OK, so it's both, but we're really interested in the latter. XML is an
ideal inter-platform and inter-application data transfer protocol that works
really well over an ASCII 7-bit-based network like the Internet. Instead of
converting recordsets to lumps of MIME-encoded binary stuff, just use ordinary
text! The real bonus is that Internet Explorer 5 can take an XML document and
convert it back into a real recordset all by itself, using the new <XML>
element in a Web page. No more awkward ActiveX controls to act as Data Source
Objects (DSOs), and problems with the server-side bits and pieces that always
seem to break and stop it working. Now it's just 'plug-and-play for data' —
plug it in and watch it all just work. This session will feature: Why XML data
binding, What can it do, Where can I use it? (Yes, you can make IE4 do it as
well), How do I manage the data on the client, What do I do with it when I want
to update it, Some practical examples, including specialist components, future
developments.
Presentation Text
Powerpoint Slides
Code
Developing A Database Abstraction and a Persistant Object Manager
The presentation will focus on how to develop a Persistent
Object Manager, that will act as a middle tier component(s) to map business
objects to relational tables. Object to relational mapping is a challenging
task. The objective for creating such a mapping is to the provide the following:
Isolate business components from database schema changes, thereby reducing
maintenance costs.
Generating SQL statements dynamically, so that developers need not worry
about database activities and focus on solving business problems.
Isolates data access to a central place that can be easily modified to
service multiple database engines.
Allow for customisation of data schema without impacting the business
components or the UI.
Provide true database abstraction by eliminating the need for components
to communicate to the database directly.
Provide a generic object factory based on object MetaData.
There are several products that provide object to relational mapping however,
most of these products either require you to ship a proprietary repository that
stores the mapping MetaData or generate these mapping at compile time, this by
providing a static relational mapping with several limitations.
Presentation Outline
Guide To Creating POM
POM Objects, Methods & Properties
Powerpoint Slides
Code
Using XML to Maximize Application Performance
This presentation will discuss the practical usage of XML in
a Client/Server n-tier environment not just the web. XML can be a very viable
data transport mechanism when used properly. Although XML is mostly associated
with Web development and business-to-business communication it can deliver
substantial performance gain for component to component communication across
tiers. The presentation will show the different Client/Server scenarios that XML
can help you solve such as:
Recordset transport mechanism between clients and servers (20x faster than
ADO Recordsets).
UI Data validation mechanism.
Transient state management mechanism
UI generator based on data resultsets. XML can be used to generate the
entire UI dynamically at runtime based on the data being returned from the
server, not just in a web environment but also viable for desktop clients.
Servicing multiple client requests from the server and fulfilling them in
a single trip instead of the multiple round trips typical of Client/Server
environments.
All of these techniques are applicable to web-based applications as well as
client/server desktop applications.
Powerpoint Slides
Code
Add English Query Interfaces to Your ASP-based Website
Microsoft English Query is a component of SQL Server that
allows Web developers to provide their users with the ability to query database
information in plain English. It is the most ASP targeted technology in all of
SQL Server. The development environment is hosted inside Visual InterDev. We
ship several full-fledged ASP application frameworks to begin with, and all of
our demos are ASP based. EQ allows ASP developers to quickly add search
capabilities to their Web pages that access any information in the database,
without requiring them to handcraft query form after query form in ASP. EQ is an
object model that converts English to SQL so it can be added to any application
but it has been primarily targeted at performing optimally on a middle-tier
ASP-based application servers. For more information on English Query as a tool
for ASP development, see www.microsoft.com/sql/eq.
Powerpoint Slides
Component Programming 1
In the first part of a two-part session, Brian will start by
reviewing the three component architecture types, focusing on n-tier
architecture. He will then review the different tools that can be used to create
COM objects to be used with Active Server Pages (ATL, C++, Java and particular
focus on VB). Importance is given to how to use VB to build components. A Case
Study will be introduced in this session that will be developed and integrated
in the next.
Presentation Text
Powerpoint Slides
Component Programming 2
Following from the Component Programming 1 session, Brian
will look at how to build components that can take advantage of Microsoft
Transaction Server (MTS) and will take a detailed look at the ACID properties
that define a transaction. The different component threading models supported by
Windows will be examined as well. Finally, he will look at how to create a Data
Access Component using VB and then integrate that component with MTS.
Presentation Text
Powerpoint Slides
MSMQ
In this session, Brian will introduce Microsoft Message
Queues. He will explain what message queuing does for application design and
when to use it in applications. He will discuss the topology of the MSMQ system
and will present a high-level overview of working with queues and messages. The
session will feature the case study of a web site using MSMQ. The study will
cover design and implementation, configuration of NT Server, component building
using VB.
Presentation Text
Powerpoint Slides
Advance Session management with platform Independent ASP
For most Web sites, effective session management is both
crucial to a positive user experience and essential to efficient transaction
management. Charles Crystle, one of the country's foremost experts on Web site
construction, provides insight on using and extending session management. The
Session Object, one of the most powerful tools of Active Server Pages, also has
limitations. The talk will demonstrate how to manage ASP sessions under adverse
conditions, such as browsers without support for cookies, or using ASP across
multiple machines (the Web Farm). It will also focus on scaling ASP applications
in vertical environments where ASP scalability can now be maximised by adding
CPUs, and in multi-machine environments, where the web servers and ASP engines
might be distributed across many (possibly heterogeneous) machines.
Presentation Text
Powerpoint Slides
Code
Web Enabling the Enterprise
In this discussion, Craig will draw on his personal
experience in leveraging existing investments in Enterprise Data to show
important considerations when building ASP applications. Often, Enterprise (or
Legacy Data) Data and Programs reside on legacy systems such as the IBM AS/400
and Enterprise Software such as SAP. Although there are several options for
using this data and these programs, most use ADO and an OLE DB provider. Craig
will look at three principal ways to access enterprise systems including ODBC,
OLE DB and DCOM.
Presentation Text
Powerpoint Slides
Managing Knowledge with Site Server
In this session, Craig will focus on using Site Server for
managing knowledge. Site Server has capabilities that enable people to work more
effectively by giving them control and context over information. In addition to
technical details, Craig will discuss how to integrate a Site Server
implementation with people’s workflow. The details that will be covered
include control of information publishing, gathering information from many
sources and providing an effective user interface to browse and find
information.
Presentation Text
Powerpoint Slides
Using XML for eCommerce
As XML starts to take a hold as a solution for e-commerce
applications, and since it is an exchange format across different platforms,
Craig will introduce you to the current offerings from different vendors for XML
solutions. The theoretical part of the session will focus on an overview and
understanding of the standard DTDs being proposed for e-commerce solutions.
Specifically, this talk will focus on the following technologies: Commerce XML (cXML),
Microsoft’s BizTalk Server, the Commerce Interchange Pipeline, WebMethods B2B
and SAP.
Presentation Text
Powerpoint Slides
ADO 2.5, What's to Come ?
Dave, the best selling author of ADO 2.0 Programmer’s
Reference and its sequel, ADO 2.1 Programmer’s Reference, will look at the new
version of ADO - which is to be shipped with Windows 2000. He will focus on the
new and exciting features of the technology such as access to Unstructured
Storage (including Microsoft Exchange Server), full support for Distributed
Authoring and Versioning (DAV) and, improved support for XML. Dave will expose
what these new features mean to the ASP developer.
Presentation Text
Powerpoint Slides
Distributed Authoring and Versioning (DAV)
If you've ever used Microsoft FrontPage with its server
extensions, then you'll know that it's possible to edit Web pages remotely. IE5
and Office 2000 have brought us Web folders to treat URLs as standard file
directories. Now, with IIS 5.0, we see a full implementation of the new W3C Web
DAV standard, allowing Distributed Authoring and Versioning. In this talk Dave
Sussman will look at how to use Web DAV to allow remote authoring, but how to
use ADO and Web DAV together, to build your own remote administration tools.
Presentation Text
Powerpoint Slides
Site Server Content Management
Site Server Content Management is the ability to manage files
via the internet as though they were on a local file system. Content management
allows you to add security and attributes to the file to allow for better
organisation of the information. In this presentation Dina will include code
samples to create the content store and upload to the content store. She will go
on to examine the LDAP content store via the MMC interface, and how to create
and alter rule (.prf) files to retrieve the information.
Presentation Text
Powerpoint Slides
Code
ASP Components with VBScript
With the advent of ASP, the issue of writing COM components
enabling the insertion of text into ASP pages at run time, has been one of the
first to be addressed. Using COM and ATL, writing these components is easy,
however if you are unfamiliar with C++, it might be a bit problematic. Dino
Esposito will show you how writing ASP components using VBScript can achieve the
same results.This presentation will delve deep inside the WSC technology to
demonstrate a COM component written entirely in VBScript and accessed by ASP
pages like any other COM object.
Presentation Text
Powerpoint Slides
Code
Using ADSI in your ASP Applications
The Active Directory Service Interfaces (ADSI) provides
developers new and exciting ways for accessing directory services, including the
Windows 2000 Active Directory, the IIS metabase, the Windows NT user database,
Microsoft Exchange Server, Site Server's Personalization and Membership server,
and many more. By implementing ADSI in your ASP applications, you can perform
tasks previously not possible without specialized components and services. This
session with discuss in detail the different objects included in ADSI, their
methods and properties, and their specific syntax. We will build ASP
applications that use ADSI for manipulating Windows NT user accounts, create
Exchange Mailboxes, and even performing heterogeneous network administration
simultaneously on Windows NT and Novell Netware. We will conclude by discussing
building ADSI based administration components and scriptlets for Windows 2000
and IIS 5.0.
Presentation Text
Powerpoint Slides
Writing Dynamic XML Pages
You know a lot about HTML pages dynamically created on the
server and then served up to the browser. This is just what the ASP technology
lets you do. A problem with this is that the basic language is still HTML and
you still use HTML to describe both your data and the way it should be rendered.
You should also know a lot about how XML lets you separate data and
presentation. Why not, then, write dynamic XML Pages? That is, ASP pages that
produce XML/XSL output to be read by an XML-compliant browser like IE5. If you
think that this limits you and your users to having IE5 as the browser, be
careful. I'll also demonstrate how you can have other browsers such as Netscape
Communicator to manage them as pure HTML. What's your ultimate gain? You design
and code your ASP pages (and possibly your Web site) using the more expressive
XML instead of HTML.
Presentation Text
Powerpoint Slides
Code
UDA and OLEDB Providers
In this session, Dino will shed some light on OLE DB - a area
of data access that is often not well-understood. Beginning with some basic
considerations, he will move on to focus on the existence of a universal way of
accessing data. This session will discuss a custom provider to read e-mail
messages and join them with a SQL Server or Access table using ADO and RDS.
Presentation Text
Powerpoint Slides
Code
Connecting to Oracle
Oracle is the no. 1 provider of RDB, yet it is almost absent
in the VB press. In this session we'll concentrate on the techniques of using
Oracle in VB. We'll discuss ADO - using both ODBC (system DSN) and OLE DB for
Oracle, ODC (Oracle Data Control) and, with a special emphasis, Oracle Objects
For OLE (0040). 0040 is Oracles own forerunner to ADO. We'll also cover the
Oracle Data Dictionary structures and the use of Stored Procedures, Triggers,
and Sequences.
Presentation Text
Powerpoint Slides
Creating Visual Interdev 6.0 Design Time Controls
Design Time Controls (DTCs) can enable rapid Web Application
development. This presentation is aimed at developers who have seen a need for a
new reusable DTC and want to create it for in-house or commercial use. In this
session Ian will firstly look at the role of the DTC, comparing it to ActiveX
controls, and examining the output it produces. He will then demonstrate
creating a real-world Visual InterDev DTC from scratch. This will incorporate
the following areas:
Creating and Registering DTC in VB6;
Gathering information from other DTCs (such as Recordset DTC);
Publishing Information to other DTCs from your new control;
Communicating with VI6 Services such as the colour picker or SQL Builder;
Exposing your DTCs Object Model.
Presentation Text
Powerpoint Slides
Code
ASP Application Design Using UML
Web applications are becoming increasingly complex. Modelling
systems is one way to manage complexity. UML is the industry standard for
expressing software intensive systems. However, UML has object oriented roots,
while web applications have decidedly non-object oriented features. To
effectively model web applications with UML, the UML language must be extended
to provide the necessary semantics useful for expressing such systems at the
level of abstraction appropriate for designers and implementers of the system.
This presentation introduces the UML Extension for Web Applications, and
demonstrates its use in an ASP based web application. In this example the
Rational Rose modelling tool is used to express the software system in UML, and
then used to generate the appropriate ASP pages. Visual InterDev is then used to
provide the page’s implementation.
Powerpoint Slides
RDS in Action
In this session, Johnny will look in more detail at ADO's
lesser known ally, RDS, and how the latter can enhance the performance of the
former. This breakthrough technology has been refined to allow programmers to
pass ADO recordsets across the Internet using HTTP protocols. This feature opens
the door to several new and exciting possibilities (e.g. creating a client-side
pick list, calling business objects from the browser, etc.). Johnny will look at
the features of RDS and how to use them.
Powerpoint Slides
VB Code
Web Code
Profiling Performance and Tuning ASP Applications
The speed and reliability of any web application is a major
factor in the overall experience of an end-user who visits a web site. Profiling
and Tuning are indispensable techniques used to ensure web sites perform at the
optimum level. The first half of the session will provide a detailed discussion
of "Performance Profiling." This session will cover performance-tuning
methodologies, profiling techniques, and metrics for determining NT server
performance and server load. Additionally, a variety of commercial and homegrown
performance profiling tools will be compared and contrasted. The second half of
the discussion will focus on "Tuning ASP Applications." Various tuning
techniques will be applied to a basic ASP page and result in a performance
improvement of three times the original speed. This portion of the session will
cover tuning techniques for ASP (e.g. disabling unused features and tuning ASP
scripts), IIS and NT registry settings, COM, ADO and SQL Server. NT and network
tuning options to enhance application performance will also be discussed. The
session will close with a brief look at other options when tuning just isn't
enough.
Powerpoint Slides
Not Available At time of Print
ASP Troubleshooting and Optimization Tips
Juan, in his unique style, will cover such topics as:
Troubleshooting IIS Set-up, Troubleshooting Data Access, Troubleshooting
Scripting, Security Tips, Script Optimisation Tips, Tuning IIS - Basic
Performance Issues, Server Optimisation Tips. An “all you ever wanted to know”
session to learn to deal with those session to learn to deal with those nagging
error messages.
Presentation Text
Powerpoint Slides
Site Server 4.0: Introduction and Overview
The next version of Microsoft's popular Site Server® is in
the pipeline. Ken will take you through some of the new and improved commerce
features available in Site Server 4.0.
Powerpoint Slides
Creating an eCommerce Infrastructure with Site Server
This session discusses the creation of a complete electronic
commerce system using Site Server. It will include the creation of a store, a
brief analysis of its structure, and the construction of a supply-chain
integration system based entirely on the Commerce Interchange Pipeline. As such,
it will discuss the definition of the appropriate business processes, the
creation of line-of-business systems at the supplier's site, the creation of
pipelines and the exchange of documents between the two parties. The goal of
this presentation is to demonstrate how Site Server provides an excellent
alternative to systems such as EDI that is extremely inexpensive and can be
easily integrated with existing legacy systems. At the end of the session, the
system created will be live-tested and its functionality demonstrated.
Presentation Text
Powerpoint Slides
Extending Site Server Pipelines
This session discusses the creation of a complete electronic
commerce system using Site Server. It will include the creation of a store, a
brief analysis of its structure, and the construction of a supply-chain
integration system based entirely on the Commerce Interchange Pipeline. As such,
it will discuss the definition of the appropriate business processes, the
creation of line-of-business systems at the supplier's site, the creation of
pipelines and the exchange of documents between the two parties. The goal of
this presentation is to demonstrate how Site Server provides an excellent
alternative to systems such as EDI that is extremely inexpensive and can be
easily integrated with existing legacy systems. At the end of the session, the
system created will be live-tested and its functionality demonstrated.
Presentation Text
Powerpoint Slides
Stress Testing your Site with Microsoft Stress Testing Tool
Web sites are growing at an alarming rate, and this has led
many people to build large-scale sites and applications with little thought for
the number of users who will access it. Microsoft Web Application Stress Tool is
a stress-testing and analysis tool, which will allow you to simulate large scale
usage of your site. This testing is particularly important if your site uses
components, as you may not know how they will perform when simultaneously used
by many users. In this talk, Matthew will concentrate on how to use the
Microsoft Web Application Stress Tool to test your sites effectively.
Powerpoint Slides
Essential XML: Basic Design Patterns for XML Applications
Michael will demonstrate the essential building blocks
necessary for practical XML applications: true n-tier data management (using
XMLHTTPRequest), strongly typed data, updategrams, a grid metaphor, formatted
input/output, sorted and filtered data, dropdown controls, and context menus.
One of his XML spreadsheets, his "polymorphic" spreadsheet, will
render any ADO 2.5 recordset without any source code changes to the spreadsheet
application itself.
Presentation Text
Code
Real World XML: Examples of XML at Work
In this session, Michael will highlight some tools recently
developed at Microsoft. The main focus is on how XML can be used to solve real
world problems, often in ways that only XML can. The following tools will be
demonstrated and their source code reviewed: CSV2XML.ASP: an application that
converts CSV files to XMLDOMs. If only one file is processed, the data is
presented using the polymorphic spreadsheet. If two files are processed, the two
XMLDOMs are compared to identify missing and different content. The content
happens to be imported from CHECSYM.EXE, another standard utility that verifies
symbols and inventories DLLs running in any given process. This tool is very
useful when trying to confirm any given configuration or to identify the precise
differences between two machines. VMMAP.ASP: an application using an ATL
component to render virtual memory allocation data as XML. The data is then
transformed by XSL and rendered using CSS StyleSheets to depict the VM data
visually. XML can also be used inside the component to document the changes made
to virtual memory and to help identify memory anomalies early. This is
particularly important when monitoring technologies that make heavy use of VM,
such as ADO.
Presentation
Code
Encapsulating XML: Applying the lessons of COM to Web Design
This session is the culmination of all that's come before
(see Essential XML and Real World XML). Building on the tools and user interface
patterns presented earlier, Michael introduces programming design framework
especially suited to an object-oriented, XML-based application. Michael will
show how to use XML and XSL in the Model role of a Model/View/Controller-based
application. His presentation explores further ideas about object-oriented
documents first introduced in his "Essential XML" presentation. In the
process he also makes liberal use of ideas from COM like polymorphism, abstract
base classes and QueryInterface, applying each to a new design paradigm for
web-based application development.
Note: the following presentation may only be viewed with IE5
or higher browser
Presentation Text
Presentation
Reducing Web Site Maintenance with XML and ASP
In this practical session, Paul will develop three examples
of how to use XML and ASP to build web sites and applications that ease
maintenance by separating content from data.
Presentation Text
Powerpoint Slides
Enterprise SQL 7.0
In this session Peter will introduce some of the new features
of SQL 7.0.
Powerpoint Slides
Views, Stored Procedures and ADO
This session will look at the important features of views in
SQL 7.0. Following on from the previous introductory lecture on SQL Server,
Peter will walk you through the uses of Views, the programming of stored
procedures and their access using code and ADO
Powerpoint Slides
Building a Successful Personalization and Membership Solution
Rob's session will be a demonstration of a fully functional
Site Server Commerce site integrated with Site Server Personalization &
Memebership that the developers on the Microsoft Site Server team wrote and
which builds off the Wall Street Investing demo from his P&M book (Site
Server 3.0 Personalization and Membership). Rob will make the demo available to
all.
Powerpoint Slides
Disconnecting ADO
Going beyond the usual discussion of ADO as a representation
of the results of database queries, Rob will explore the use of ADO as a data
structure in its own right, regardless of the source of data. The chief
objective of this presentation is to define how server based programs can be
enhanced dramatically through full exploitation of ADO.
Powerpoint Slides
MTS, How it Makes your Life Easier
The small amount of MTS documentation available claims that
it makes programming easier - and then delves into its considerable complexities
without ever justifying this claim. Consequently, a great deal of misinformation
has been created about MTS because of a failure to understand what MTS really
does, and how it can make your life easier. In this session, Rob will remedy
this by looking at three important MTS themes: scalability, transactions and
state management.
Powerpoint Slides
ASP & COM
The use of COM objects within an ASP application can result
in real scalability with regards to a Web or an Intranet site while achieving
real performance and reliability gains. In this presentation Scott Short will
look in detail at COM and how it may be used with Active Server Pages to achieve
real scalability.
Presentation Text
Powerpoint Slides
Collaborative Network Applications
Web Applications are increasingly being connected to back
end, line of business systems. These applications often develop modules (e.g.
ASPs, servlets) that are themselves reusable bodies of business logic. A key
element of building competitive advantage will be constructing Web Applications
in such a way that ASPs and similar resources can be reused. Web programmers who
have learned the benefits of object frameworks or Web techniques like ASP that
promote rapid development are ready to step up to architectures that build on
what they know and further enhance productivity. This presentation is more than
just how to use the tools on the market. It develops an architecture and method
of Web development that promotes future Web development.
Presentation Text
Powerpoint Slides
Code
XML and ASP
In this session Stephen will review the tools and techniques
needed to use XML in an ASP based Web Application. He will be discussing
server-side XML topics in detail, and also covering topics such as IE5 support
for XML, IIS configuration, parsing and using client-side XML.
Presentation Text
Powerpoint Slides
Code
Developing a Web Project Management Application with CDO
In this case study, Todd and Mikael will use CDO and Exchange
Server to develop live a Project Management Application that may be used over
the Web. They will tackle the issues of connection and collaboration between
members times, dates, tasks and how to store information on a server. In the
process, they will address the common problems encountered in building such an
application: the difficulty in integration and the failure to be 100%
Web-compatible. The case study will draw heavily on CDO Programming Techniques,
MS Exchange Server, ASP and DHTML.
Presentation Text
Powerpoint Slides
Code
15Seconds.com: A Case Study
The building and running of the largest ASP and IIS resource
web site. This case study will talk about the begins all the way to the sale of
the site, including business models, asset growth, sales tactics and technology,
including how ASP and SQL Server where implemented. The case study will be
presented by the founder and chief architecture, Wayne Berry.
Presentation Text
Powerpoint Slides
ADSI and managing the NTLM Database
In this session, Wayne will explain how to use ADSI to
manipulate User, Groups and Domain on Windows NT from VBScript,either with ASP
or the Windows Scripting Host (WSH). Included in the discussion will be details
of security, pitfalls and the limitations of the technology. Sample code will be
shown along with a working demonstration and pointers to available resources.