HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Microsoft's .NET is a collection of new technologies that are revolutionizing Windows-based software development. A major theme of .NET is the idea of Web services, allowing software to communicate directly with other software using Internet technologies. The .NET Framework and Visual Studio.NET, two more core aspects of this initiative, provide a multi-language environment in which developers can create Web services and other kinds of applications. .NET My Services, yet another aspect of .NET, offers a new kind of platform for creating a new class of applications. Taken as a whole, the .NET technologies will change the way nearly every Windows application is built.
Understanding .NET: A Tutorial and Analysis offers developers and technical managers a concise guide to the new landscape of Windows development. Margin notes, detailed diagrams, and lucid writing make this book easy to navigate and to read, while analysis sections explore controversial issues and address common concerns. The book's independent perspective and straightforward descriptions make clear both how the .NET technologies work and how they can be used.
Key topics include:
The key to using a new technology is understanding it. Understanding .NET will help you make the right decisions and make the most of this revolutionary framework.
Beyond C# and VB.NET: Should You Care About Other .NET Languages?
Programming Basics in Intermediate Language
REST: Another Way of Looking at Web Services
Security and .NET My Services: Can Microsoft Protect Our Data?
Unraveling Software as a Service
What's Next for Web Services: GXA and Beyond
Click below for Web Resources related to this title:
Author's Web Site
Click below for Sample Chapter related to this title:
chappellch04.pdf
Preface.
1. An Overview of .NET.
Defining .NET.
Web Services.
The .NET Framework.
The Common Language Runtime.
CLR-Based Languages.
The .NET Framework Class Library.
The .NET Compact Framework.
.NET My Services.
The .NET Enterprise Servers.
A .NET Scenario.
Conclusion.
Describing Web Services.
Applying Web Services.
Access to Internet Applications.
B2B Integration.
A2A Integration.
A Web Services Scenario.
Web Services Technologies.
Describing Information: XML.
Defining Web Services: WSDL.
Accessing Web Services: SOAP.
Finding Web Services: UDDI.
Future Directions for Web Services.
Conclusion.
Building Managed Code: The Common Type System.
Introducing the Common Type System.
A Closer Look at CTS Types.
The Common Language Specification.
Compiling Managed Code.
Microsoft Intermediate Language (MSIL).
Metadata.
Organizing Managed Code: Assemblies.
Metadata for Assemblies: Manifests.
Categorizing Assemblies.
Executing Managed Code.
Loading Assemblies.
Compiling MSIL.
Securing Assemblies.
Garbage Collection.
Application Domains.
Conclusion.
C#.
A C# Example.
C# Types.
C# Control Structures.
Other C# Features.
Visual Basic.NET.
A VB.NET Example.
VB.NET Types.
VB.NET Control Structures.
Other VB.NET Features.
C++ with Managed Extensions.
A Managed C++ Example.
Managed C++ Types.
Other Managed C++ Features.
Conclusion.
An Overview of the .NET Framework Class Library.
The System Namespace.
A Survey of System's Subordinate Namespaces.
Input and Output: System.IO.
Serialization: System.Runtime.Serialization.
Working with XML: System.Xml.
The XML Technology Family.
What System.Xml Provides.
Reflection: System.Reflection.
.NET Remoting: System.Runtime.Remoting.
An Overview of the Remoting Process.
Passing Information to Remote Objects.
Choosing a Channel.
Creating and Destroying Remote Objects.
Enterprise Services: System.EnterpriseServices.
Interoperability: System.Runtime.InteropServices.
Accessing COM Objects.
Accessing Non-COM DLLs.
Windows GUIs: System.Windows.Forms.
Building GUIs Using Windows Forms.
Windows Forms Controls.
Conclusion.
.NET Data Providers.
Direct Access to Data.
Accessing Data with DataSets.
Creating and Using DataSets.
Accessing and Modifying a DataSet's Contents.
Using DataSets with XML-Defined Data.
Conclusion.
Browser Applications: System.Web.UI.
How Browser Applications Work.
Web Controls.
Separating the User Interface from the Code.
Other Topics.
Web Services Applications: System.Web.Services.
Web Services Servers.
Web Services Clients.
Options for Web Services Applications.
Microsoft-Specific Support for Web Services Applications.
Conclusion.
Defining .NET My Services.
Applying .NET My Services.
Assuring Privacy.
The .NET My Services Business Model: Software as a Service.
Describing .NET My Services.
The Authentication Service: Passport.
XML-Based Services.
A .NET My Services Scenario.
Conclusion.
There’s no single way to write good software, and there’s no perfect platform for it, either. Yet the people who create platforms keep striving for that unreachable ideal, and so they regularly give us new technology foundations to build on. With very few exceptions, each change is better than what it replaces. But with no exceptions at all, each innovation makes the current contents of our heads at least partially obsolete. Change is the essence of working with software.
.NET is the biggest single set of new technologies that Microsoft (or possibly any vendor) has ever presented to its technical customers. The tremendous changes wrought by .NET improve nearly every aspect of a developer’s life, but they also present a massive amount of new technology to understand. The goal of this book is to help you make the move to this big new world.
.NET is huge. There will be plenty of books that provide detailed examinations of each facet of this enormous technology crystal, plenty of books with hardcore, hands-on information. This isn’t one of those books. I believe strongly that understanding .NET as a whole is essential before delving more deeply into any single part of the technology. Accordingly, my goal here is to provide a broad overview of the major .NET technologies. And because one of the greatest strengths of this family of software and services is the way one part exploits another, this book also tries to show how those technologies fit together.
If you’re looking for a big-picture introduction and a perspective on the whole of .NET, this book is for you. Whether you’re a developer just getting started with .NET, a technical manager who needs to make decisions about these technologies, or a student seeing some of these ideas for the first time, this book should be a useful guide. There is enough detail here to satisfy many people completely, while others will use this book as a stepping-stone to more specific knowledge. In any case, I hope the book’s organization and content make it easier for you to come to grips with this mass of technology.
Grasping a new technology requires learning the fundamentals. What are its main parts? How do they work? How do they fit together? But really understanding a technology requires more than this. You need to know not just how things work but also why they’re important, how they compare with what’s gone before, and what might happen next.
This book provides all of these things. In the text itself, I’ve tried hard to remain strictly tutorial, focusing solely on describing what .NET is. In the analysis boxes, I give some broader perspective on various aspects of this technology. In every case, the analysis expresses my view of why things are the way they are or what the future is likely to hold. By separating the objective and the subjective, I hope to make it easier for you to distinguish between the two. By providing opinion as well as fact, I hope to make this book both more interesting and more enlightening.
If you’ve ever written a book, you know how much help you get from other people. If you haven’t, well, trust me: Without these people’s assistance, this book would be substantially less than it is. I’d like to express my heartfelt thanks to Bob Beauchemin, Keith Brown, Cori Day, Ted Demopoulos, Bill Estrem, Jeannine Gailey, Kit George, Greg Hack, Rob Howard, Maxim Loukianov, Juval Lvwy, Peter McKiernan, Yahya H. Mirza, John D. Mitchell, Christophe Nassare, Eric Newcomer, David Sceppa, Aaron Skonnard, and Mike Woodring for reading, commenting on, and often correcting various parts of this book. I’d like to single out Richard Monson-Haefel, a strong technologist and fine writer, who read and commented intelligently on every chapter.
The attendees in the many .NET seminars I’ve presented have also contributed mightily to making this book better. By letting me practice my explanations, they helped me figure out which paths to understanding .NET worked. By asking insightful questions, they provided the inspiration for many of the analysis boxes scattered throughout this book.
Many people at Addison-Wesley also deserve my profound thanks. Without Kristin Weinberger, neither the Independent Technology Guide series nor this book would exist. Without Stephane Thomas, I would never have finished this project. Without Cindy Kogut, my text would have been significantly less clear. And without Katie Noyes, the beautiful cover design wouldn’t have been created.
I’d also like to thank my good friends Jim and Judy Moffitt for a hand-delivered care package of chocolate chip cookies that arrived just when I needed it most. And finally, I owe all manner of things to Diana Catignani, without whom my life would be so very much poorer.
David Chappell
www.davidchappell.com
December 2001
0201741628P01162002