May I Also Recommend for Further Study? Bob Tabor also has an excellent series on SharePoint. Check it out in the TrainingSpot link on LearnVisualStudio.
Web parts make it possible to create components of a Web UI that can be reused on multiple Web pages. These are introduced in ASP.NET and built in SharePoint Products and Technologies, where they can be added to pages by users and managed by IT professionals. Join this webcast to learn how to build simple Web parts and how to connect them back to site data.
Presenter: Robert L. Bogue, Microsoft MVP for SharePoint Server, Thor Projects, LLC
Data lists provide data storage for users in SharePoint Products and Technologies. Users can create lists with schema all through the UI and they can create, edit, and view the data. All of this data can be programmatically accessed by developers and this webcast is all about that.
Presenter: Robert L. Bogue, Microsoft MVP for SharePoint Server, Thor Projects, LLC
Microsoft Silverlight is a new Web UI technology that enables the implementation of animations and video. In this webcast, we show how a SharePoint Products and Technologies UI can be enhanced by using Silverlight in Web parts as part of a site.
Presenter: Andrew Connell, Microsoft MVP for SharePoint Server, Independent Consultant
Event handlers (or event receivers) are custom code that run on SharePoint Products and Technologies in response to something that happens on the server. Event handlers can be useful for running business logic in response to data being added to the site. In this webcast, we show how to create simple event handlers and investigate ways that you can use them.
Presenter: Andrew Connell, Microsoft MVP for SharePoint Server, Independent Consultant.
Web applications need design, and SharePoint Products and Technologies makes this possible with master pages, cascading style sheets, and themes. In this webcast, we explore how to apply these artifacts and describe the process for modifying those artifacts to achieve a Web site design using SharePoint Products and Technologies.
Presenter: Andrew Connell, Microsoft MVP for SharePoint Server, Independent Consultant
Workflows make it possible to implement processes that require interaction, such as e-mail approval or form completion, by people in your organization. In this webcast, we show you how to use the Microsoft Visual Studio development system to create simple workflows in SharePoint Products and Technologies that involve approvals from people by e-mail and for meeting room resource bookings with an administrator.
Presenter: Robert L. Bogue, Microsoft MVP for SharePoint Server, Thor Projects, LLC
SharePoint Products and Technologies make it possible to allow list data access using code running on the server machine and also using Web services. In this webcast, we cover some of the simple Web services provided by SharePoint Products and Technologies and show how to create a new Web service on a computer.
Presenter: Andrew Connell, Microsoft MVP for SharePoint Server, Independent Consultant
In this session, we look at how pages in SharePoint Products and Technologies are arranged into Web sites. We explain menus, such as the site actions menu, the top navigation bar menu, and the edit control block menu. We also discuss how to update the menus so that you can customize a Web site built on SharePoint Products and Technologies.
Presenter: Andrew Connell, Microsoft MVP for SharePoint Server, Independent Consultant
SharePoint Products and Technologies make it possible for users to create Web sites; when a user creates a site, he or she can also manage the user permissions on that site. In this webcast, we show how some aspects of user management are handled, including how you can audit activities that users do and show different data depending on the user's role.
Presenter: Robert L. Bogue, Microsoft MVP for SharePoint Server, Thor Projects LLC
Content types define what documents or other content types are used in SharePoint Products and Technologies document libraries. Content types can have several aspects associated with them, including custom menus and custom processing. In this webcast, we show how to create a custom content type and explain how to associate an event handler with the new content type to do data validation.
Presenter: Robert L. Bogue, Microsoft MVP for SharePoint Server, Thor Projects LLC
Windows Communication Foundation (WCF) is the Microsoft messaging platform for building service-oriented applications. Released with the Windows Vista operating system, and part of the Microsoft .NET Framework version 3.0, WCF unifies the programming model for how components and services communicate: be they distributed or not, accessible beyond firewalls, or available through interoperable interfaces. Join us to learn how WCF is the evolution of Microsoft .NET Remoting, Enterprise Services, Microsoft ASP.NET Web Services (ASMX), and Web Services Enhancements (WSE) in a single technology stack.
Presenter: Michele Leroux Bustamante, Chief Architect, IDesign Inc.
Michèle Leroux Bustamante is chief architect of IDesign Inc., Microsoft Regional Director for San Diego, Microsoft Most Valuable Professional (MVP) for XML Web services, and BEA Technical Director. At IDesign, Michèle provides training, mentoring, and high-end architecture consulting services, focusing on Web services, scalable and secure architecture design for Microsoft .NET, interoperability, and globalization architecture. Michèle is also events director for the International Association of Software Architects (IASA). Visit www.thatindigogirl.com for more information on her book, Learning WCF (O'Reilly, 2007).
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
In this first webcast in our 15-part series, we introduce you to WCF as a technology for service-orientated architecture (SOA), discuss the programming model, and provide a short overview of core features that will be discussed in subsequent webcasts.
Clients communicate with services by exchanging messages that are serialized on the wire, and de-serialized into common language runtime (CLR) types at each end. In the simplest scenario, client and service developers only work with objects, and all the serialization magic happens somewhere down below in the plumbing. Windows Communication Foundation (WCF) provides this plumbing. The Web Services Description Language (WSDL) describes the protocols required to reach the service, the clients use proxies to communicate with the service, and messages just happen. There are times, however, when developers must exercise more control over service contract design, message serialization, and the choice of protocols. For these scenarios, it helps to understand the options available. In this webcast, we provide practical guidance for designing service contracts, data contracts, and message contracts—showing you when and how to employ each. Join this session to learn simple code-first approaches to complex type serialization, to find out how to employ contract-first approaches with IXmlSerializable types, and to see where message contracts are best employed. We also describe how to support polymorphic behavior with known types.
Clients rely on contracts defined by the Web Services Description Language (WSDL) to communicate with services. The WSDL contract describes the operations available at each service endpoint and the format and schema for messages related to each operation, including the schema for complex types exchanged between parties. Making changes to contracts once they have been published is a delicate matter, as that can create compatibility issues with existing clients. The only option is to ensure backward compatibility or expose a new version of the contract for new clients. In this webcast, we focus on approaches to version tolerance and contract versioning. We provide guidelines for strict and non-strict approaches to contract versioning, describe how to design service contracts and data contracts to be version tolerant, and illustrate how to handle explicit versioning of service contracts and data contracts with the least impact to business components that support your services.
In a distributed system, exceptions that occur remotely must traverse process or computer boundaries before they reach the client. In a service-oriented architecture (SOA), the boundary is a service boundary that may be located in the same process, or across process or computer boundaries. Beyond these distribution boundaries, there may also be technology and platform boundaries: such situations require interoperable communication. In this webcast, we provide an introduction to SOAP faults and their relationship to service metadata, since they are the standard for propagating exceptions from services. We also discuss different exception handling scenarios in Windows Communication Foundation (WCF), including how services and clients handle common language runtime (CLR) exceptions, how to declare and throw SOAP faults, and how to provide common exception-handling behaviors for a service using IErrorHandler. We also explain the implications on contract design and implementation, and on client exception handling.
So far in this series, we have learned how to expose a service endpoint using a few of the standard bindings, such as NetTcpBinding and BasicHttpBinding. In fact, every service endpoint is associated with a particular binding. Bindings describe the transport protocol, message encoding format, and other messaging protocols that define the communication channel. In this webcast, we explain how binding configuration builds the communication channel, introduce you to each of the standard bindings, and explain the core protocols and features provided by each of these bindings. We also cover common scenarios where standard bindings can be applied, describe configuration settings that are most applicable to the scenario, and explore how to apply a custom binding when the standard bindings do not satisfy your requirements.
For a service to be accessible at run time, it must be hosted in a managed process. Windows Communication Foundation (WCF) services can be hosted with Microsoft Internet Information Services (IIS) version 6.0, with the new Windows Process Activation Service (WAS) installed with IIS version 7.0, or with any other managed application process, including console, Windows Forms, Windows Presentation Foundation (WPF), or Windows service applications. Selecting the right hosting environment for services is a choice driven by the application deployment scenario, including the requirements for transport protocol and operating platform. There are also other features available to each hosting environment that can further influence deployment decisions and the choice of host. In this webcast, we describe the desired features of a hosting environment and the fundamentals of WCF service hosting. We also drill deeper into hosting semantics and features of Windows applications, Windows services, IIS, and WAS. In the process, we learn practical implementations for each hosting environment, gain insight into their specific features and benefits, and discuss how to select the right host for your service.
When you build a distributed enterprise system, many types of message exchange are available to meet the needs of different communication patterns. In this webcast, we discuss a variety of messaging patterns and describe how they satisfy different deployment and communication requirements for your services. Join this session as we:
* Explore approaches for handling large messages, such as Message Transmission Optimization Mechanism (MTOM) and streaming.
* Learn how classic message exchange patterns are employed and discuss the impact on service contract design and communications as you move from request/reply to introduce one-way operations or callback contracts (duplex).
* Review options for publish and subscribe implementations.
* See an example of how you can build a classic router and deal with related messaging and configuration semantics.
Our intent in this presentation is to provide you with a high-level understanding of the rich scenarios Windows Communication Foundation (WCF) supports for messaging and to illustrate what those configurations look like.
Windows Communication Foundation (WCF) services can be configured so that the lifetime of the service instance is limited to the duration of the request, for the duration of a client session (proxy instance), or forever, as in the case of singleton services. The choice of optimal service lifetime may vary by application, given the expected calling pattern of clients, requirements for state-awareness, and the expected throughput necessary to serve requests. Instancing modes in WCF control the way that service objects are allocated to handle requests. Requests to each service endpoint are processed by the appropriate service object, based on the instancing mode for the service type. In this webcast, we explore PerCall, PerSession, and Single instancing modes, explain call and lifetime semantics for each, and illustrate the scenarios in which they are best applied.
Deploying services as part of a large-scale enterprise system usually calls for features with conflicting goals. On one hand, you want to allow as many concurrent requests to process as possible, for throughput. On the other hand, you want to throttle requests, so that server resources are not exhausted. In this webcast, we explore the features Windows Communication Foundation (WCF) provides for managing concurrent access and throttling access to services. Learn how to configure services to allow reentrancy or concurrent threads to access a particular service instance, see how these settings relate to instancing modes, and discover how to protect services from concurrent access using WCF or class Microsoft .NET multithreading techniques. We also describe how WCF allocates threads to handle concurrent requests, explain how to throttle those requests, and provide guidance on typical settings based on instancing modes. We conclude this session with a discussion on load balancing and failover semantics in relation to WCF services, paying particular attention to the various types of sessions you can employ.
The Windows Communication Foundation (WCF) is secure by default, providing numerous baked-in binding scenarios that initialize various combinations of transport and message-level security settings. You almost always need to override the default binding configuration to provide the appropriate security constraints for your service boundaries. In this webcast, we start with the security basics: authentication, authorization, the difference between single hop and message-level security, and how to apply digital signatures and encryption. Next, we explore several common deployment scenarios for services within an enterprise system and the associated security configurations that would apply to those scenarios. Join this session as we learn how to configure security for key scenarios without getting lost in the mire of binding configurations.
The security model in Windows Communication Foundation (WCF) supports a rich, claims-based approach to authorization. Virtually any security token can be represented as a set of claims, including tokens that contain Windows credentials, username and password, or X509 certificates. Normalized claims are at the heart of any federated security model, allowing developers to decouple how tokens are mapped to a set of domain-specific claims and how users are authorized based on those claims. In this webcast, we show you how to build a claims-based security model using custom authorization policies, permissions, and attributes. Learn how this plays into a federated model, allowing you to decouple authentication and authorization from your business service implementations using WSFederationHttpBinding. We also discuss SAML tokens, describe how to create custom claims, and examine how the flow of communication works between clients, token issuers, and services.
When you send messages to a remote service, you would like to be sure they get there. If the message does not arrive, you probably want to try again. At a minimum, you want to know if the message never arrived so you can take corrective action. These delivery assurances are provided by some transport protocols, such as TCP and named pipes, but even those assurances can only be guaranteed from point-to-point. If an intermediary, like a proxy server or message router, exists between the sending and receiving applications, there are no guarantees beyond the assurance that the message reached the first network node in transit. In this webcast, we introduce you to reliable sessions, a binding feature in Windows Communication Foundation (WCF) that provides assurance at the message level using WS-ReliableMessaging (WS-RM). Join us to learn how to enable reliable sessions on standard bindings, to see how WS-RM works, and to discover how to control reliability settings using a custom binding.
Transactions are critical for system reliability. Transactions are necessary when two or more activities must be coordinated as a single operation—ensuring that the system is always left in a consistent state. The only two viable options are to complete the two activities successfully, or to leave the system as it was before initiating either activity. Transactional programming is a well-known technique for guaranteeing a consistent system state. While Microsoft .NET version 2.0 provides a mechanism for initiating transactions, Windows Communication Foundation (WCF) makes it possible for services to participate in distributed transactions across process and computer boundaries, and to initiate transactions at the service tier. In fact, this is done via an interoperable Web service protocol called WS-AtomicTranscation (WS-AT). In this webcast, we show you how to configure the Distributed Transaction Control (DTC) to support WS-AT, and we explain how to configure your WCF clients and services to support transactions over any protocol.
Queued calls are yet another way to achieve reliability in a distributed system. When you send messages using a classic request/reply pattern, the response traditionally indicates whether the request was successful. In the case of one-way messages, it is difficult to be sure that the message arrived at its destination and was process successfully because no response is provided. By definition, with one-way calls, you probably care less about the success of the call (given that there is not a reply), but you do care that the message arrived. Unlike reliable the sessions discussed earlier in our series, queued calls make it possible not only to improve system performance by offloading work to another thread or computer, but also to guarantee arrival of a message and that the message will not be lost, since it can be stored in a durable message queue. In this webcast, we show you how to expose Windows Communication Foundation (WCF) services over Microsoft Message Queuing (MSMQ), demonstrate practical scenarios where queued services can be helpful, and explain various configuration settings for NetMsmqBinding and their implications on system reliability and security.
As rich in features as Windows Communication Foundation (WCF) is, you can make it even richer by hooking into the many points of extensibility provided by the service model. There are many reasons why you might write custom extensions, for example to:
* Standardize coding practices.
* Provide sound defaults for host and channel initialization.
* Add new behaviors for message processing.
* Control how messages are processed.
* Provide standard error-handling semantics.
* Extend the security model to support custom credentials or custom authorization techniques.
* Flow context across service boundaries.
* Control how metadata is generated.
* Create custom communication and messaging protocols.
In this webcast, we provide you with a long list of extensibility points and their purposes, while demonstrating some popular requirements and their solutions.
Join us for this series as Bill Steele introduces you to Windows Presentation Foundation (WPF), a pillar of the Microsoft .NET Framework version 3.0.
"Bill" Steele, MCSD, is a developer evangelist with more than 15 years of experience creating software. He has designed and built applications that manage the internal operations of businesses in areas like IT service management, transportation logistics, and financial management. Bill has been working with Microsoft since 1992 and continues to prize his Microsoft Visual Basic 1.0 Beta Thunder Clock.
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
Bill Steele discusses the Extensible Application Markup Language (XAML), the new markup language from Microsoft. This technology is widely used in Windows Presentation Foundation (WPF) to describe user interfaces in a declarative programming paradigm.
Bill Steele discusses several important new concepts used in Windows Presentation Foundation (WPF). In this session, Bill covers the basics of the WPF tree structure. We also learn how properties, events, and commands are handled.
Bill Steele takes you through the basics of building your very first Windows Presentation Foundation (WPF) application, Hello World. In this webcast, we learn about the basic structure of a WPF-based application, including controls, layout, and positioning. The information in this session prepares us to dig deeper in the upcoming webcasts in this series.
Bill Steele introduces you to the various types of controls that Windows Presentation Foundation (WPF) utilizes. Bill discusses the various control types and describes their uses.
Bill Steele discusses various ways of utilizing the panel-style controls within Windows Presentation Foundation (WPF). In this session, Bill covers items such as the StackPanel, WrapPanel, and DockPanel. He also discusses how you can assemble multiple panels to produce controls with enhanced effects like collapsing and docking.
Bill Steele discusses ways to deploy an application based on the Windows Presentation Foundation (WPF). Bill introduces you to the Extensible Application Markup Language (XAML) Binary Application file format for distributing applications via the browser. He also covers other style applications such as gadgets and standard desktop deployment models.
Bill Steele discusses the types of resources you can use within a Windows Presentation Foundation (WPF) application. Bill covers the basics of binary resources versus logical resources. He explores how you can define resources and access them statically or dynamically. We also learn how to interact with the system resources.
Bill Steele discusses the magic known as data binding. Data binding is a powerful way to tie the presentation of an object to the object itself. In this session, Bill shows how you can control the rendering using data templates and value converters. He also demonstrates how you can use the powerful collection object to sort, filter, and navigate through the data. Finally, Bill talks about the various data providers that Windows Presentation Foundation (WPF) applications can utilize.
Bill Steele talks about adding style and flair to your application based on Windows Presentation Foundation (WPF). Bill discusses the concepts of styles, templates, and themes, and he explains how you can use them to make each component unique. He also shows how you can package those styles for reuse in other applications.
Bill Steele discusses graphics. Windows Presentation Foundation (WPF) is all about the look and feel of your application, and graphics are the key. In this webcast, Bill introduces you to the concepts of shapes, brushes, and effects. Learn how you can use the basics of the 2-D graphics system to build very distinctive applications.
Bill Steele discusses graphics. Windows Presentation Foundation (WPF) focuses on the look and feel of your application, and graphics are the key. In this webcast, Bill introduces us to the concept of 3-D graphics utilizing objects such as cameras, transforms, and models. Building on the basics covered in the previous session on 2-D graphics, William expands our knowledge by showing how to transform simple 2-D objects into 3-D objects that can be manipulated via code.
Bill Steele discusses animation in Windows Presentation Foundation (WPF). Animation takes your applications to a whole new level of user understanding and experience. In this webcast, Bill shows how you can use procedural code and the Extensible Application Markup Language (XAML) to produce graphics that appear to be alive. Learn about the animation classes, some standard XAML objects, like storyboards, and the various types of KeyFrames.
Bill Steele discusses multimedia in Windows Presentation Foundation (WPF). Adding multimedia elements to your application can make your application much easier for users to understand and enhance the user experience. In this webcast, Bill shows how easy it is to incorporate audio, video, and speech into your applications using components like the MediaElement and the MediaTimeline.
Bill Steele discusses how you can use Windows Presentation Foundation applications based on the Extensible Application Markup Language (XAML) with "classic" applications based on Win32, the unmanaged programming model for Windows applications. Bill demonstrates how you can use controls created in WPF within Win32-based applications in addition to using classic Win32-based controls in the WPF world.
Bill Steele discusses how to create custom controls with Windows Presentation Foundation (WPF). In this session, Bill covers the difference between user controls and custom controls. He also explains basic concepts, like creating the user interface and behaviors for each control. Bill concludes this session by describing how you can add dependency properties and routed events to your controls.
Bill Steele discusses how you can master the layout of panels by using the communication between parent and child controls. In this webcast, Bill builds an example panel control that behaves like the Ribbon control in the 2007 Microsoft Office system.
Bill Steele discusses some of the other professional tools available for Windows Presentation Foundation (WPF) developers. Bill also demonstrates Microsoft Silverlight, which uses the Extensible Application Markup Language (XAML) to produce rich media-based applications for distribution in Web pages.
David F. Anthony is my new favorite Microsoft presenter. His great respect for others "comes through" in the videos. He does a great job at answering "good questions." I was very sad to find that videos 6-13 for this series can no longer be found. I talked to and e-mailed Microsoft about the missing episodes, but they do not seem to be able to recover them. I am listing a four other videos I found on MSDN by David Anthony to try to make up for that shortcoming.
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
May I Also Recommend for Further Study? Bob Tabor also has two excellent video series on Windows Forms that consist of 37 videos in all. Check them out in the video library section of LearnVisualStudio.
A. Background and general concepts behind Windows software development with .NET.
B. .NET Framework
C. Visual Studio Integrated Development Environment (IDE).
A. Rapid Application Development (RAD)
B. How concepts of RAD are applied with .NET and Windows® Forms to achieve faster time-to-market.
C. Designers
D. Code generation options
E. Wizards
Here's Dave's top ten desktop application User Interface tips and tricks
10) Remove references to Microsoft.VisualBasic namespace
9) Use the Application object; AppDomain object; and Assembly object to get runtime info
8. Write your own attributes - implement Declarative programming
7) Arrays - use ListBox.AddRange() to improve performance
6) Use a progress bar to indicate progress of long processes
5) Use ThreadPool.QueueUserWorkItem() to asynchronously initiate long processing.
4) Use IsolatedStorage and serialization to store user preferences
3) Use splitters, docking, and anchoring to achieve a professional UI
2) Add a global exception handler to your Desktop app via Application.Thread Exception
1) Roll your own custom configuration section with IConfigurationSectionHandler
A. Different options for implementing a middle tier with Microsoft® .NET including remoting, COM+, and Web Services. We’ll compare and contrast the pros and cons of each and discuss under which circumstances you might consider each option.
You will see ten practical best practices for securing your .NET desktop application.
10) Store non-volatile user-specific data in isolated storage
9) Use Integrated Security and Role Based Authorization through Windows Groups
8. Use COM+ Role-based security as a middle-tier solution
7) Assign strong-names to your re-usable assemblies
6) Use Link Demands and strong names to secure what code calls your assembly
5) Use Remoting as your middle tier via HTTP Channel, IIS and SSL
4) Run your code from a restricted code group especially when using LoadFrom()
3) Create an AppDomain to achieve a security boundary within your application
2) Use Impersonation to allow code to run under an account that can access specified resources
1) Use the Framework - DON'T REINVENT THE WHEEL!
May I Also Recommend for Further Study? Bob Tabor also has an excellent 21-part video series on ADO that is entitled: ADO.NET. Check it out in the video library section of LearnVisualStudio.
A. Overview of ADO.NET, the data-access component of the Microsoft .NET Framework
B. How ADO.NET works with almost any component on nearly every platform that understands XML.
A. How the DataAdapter facilitates the communication between the DataSet and the database. B. How the DataSet provides methods to select, insert, update, and delete data
A. Bind data to your Windows Forms
B. How to bind controls to ADO.NET data sources.
C.BindingSource class, new in ADO.NET version 2.0, which acts as an intermediary between a data source and Windows Forms controls to simplify and extend the data-binding process.
A. Binding data in Microsoft ASP.NET and Web Forms with ADO.NET objects
B. Data source controls, new to the Microsoft .NET Framework version 2.0, that enable data binding with very little code.
A. The data-bound Web Form controls that are designed to work with the Microsoft .NET version 2.0 data source controls that also work with ADO.NET objects.
A. Interaction between ADO.NET and XML.
B. Structure of an XML schema and the DataSet methods that enable us to read and write data from an XML data stream.
C. The XmlDataDocument that provides an XML view of the data in a DataSet.
A. Some real-world uses of ADO.NET.
B. How you can work with data objects created with previous versions of ActiveX Data Objects (ADO)
C. Microsoft ActiveX Data Objects Extensions for Data Definition Language (DDL) and Security (ADOX) library.
Joe Hummel teaches Computer Science at Lake Forest College in Chicago, IL. He has a PhD in Computer Science from the University of California, Irvine. He is excellent at explaining complicated subjects in simple terms.
May I Also Recommend for Further Study? Bob Tabor also has many excellent video series on Visual Basic. Check it out in the video library section of LearnVisualStudio.
A. How a .NET program executes B. CLR (Common Language Runtime) and Framework Class Library C. Comparison ofthe CLR to Java's JVM D. In 2.0, the registry is no longer used to indicate where the assemblies reside. Instead, a technique that is similar to the PATH verb in DOS is used. E. The system searches in this order:
..1) the GAC,
..2) in any places indicated by the config file, and
..3) the folder where the executable for the VB program resides is searched.
A. When we create an object, we are really just creating a variable that has a reference to an object. B. Comparison of which types in .NET are value types and which are object. C. garbage collection
A. Contract-based programming and design reuse; B. Example redesigned data access class with interfaces & factory methods; C. Implementing interfaces sorting, serialization; D. More examples: interfaces in the Framework Class Library; E. Creating your own interfaces
A. Implementation and design reuse; B. Example: custom, type-safe collection class; C. Other examples: WinForms hierarchy, .NET CTS, data structure classes; D. Creating your own inheritance hierarchy business objects
Key Concepts:
A. Design decisions; B. Leave connection open vs. open/close, and the Finalization pattern; C. Exception handling, Try-Catch-Finally pattern, custom exception class hierarchy; D. Abstract Factory pattern; E. Transactions; F. Data vs. business objects; G. Multi-tier design
Key Concepts:
A. Tracing; B. Configuration files (read-only!); C. User preferences via object serialization, XML file, or per user settings in .NET; D. Application designs - Traditional single-user applications, Remote: client-server & multi-tier, Loosely-coupled event & delegate driven; E. Deployment options:Traditional install-driven, Zero-touch deployment: via IE & App loader
Key Concepts:
A. Remote procedure calls, proxy-stub architecture; B. Reflection: dynamic loading, instantiation & execution; C. Remoting; D. Web services; E. WebForms
Key Concepts:
A. Application blocks; B. Best practices; C. Design patterns; D. UML; E. Testing, testing, testing; F. Tools CVS, Nunit, NMake; G. Working with Visual Studio® on a large, component-based project; H. eXtreme Programming (XP)
"Architecting Modern Desktop Applications in .NET" is a 15-part 25+ hour free video tutorial series that is appropriate for the intermediate or advanced Microsoft Visual Studio .NET developer. The presenter is Joe Hummel.
Joe Hummel is an associate professor of computer science at Lake Forest College, a Microsoft Visual Studio .NET trainer for DevelopMentor, and an avid sailor. Joe has a Ph.D. in computer science from the University of California, Irvine, and he has been working with DevelopMentor and Microsoft Visual Basic since 1993. He is a co-author of two books on Visual Basic. His most recent book is titled "Building Applications and Components with Visual Basic .NET" and was written with Ted Pattison.
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
May I Also Recommend for Further Study? Bob Tabor also has an excellent 16-part series on Windows Forms that is entitled: Windows Forms. Check it out in the video library section of LearnVisualStudio.
This is the first webcast in the series entitled "Architecting Modern Desktop Applications in .NET", appropriate for the intermediate or advanced Microsoft Visual Studio .NET developer. This webcast discusses the concepts of smart client development, and the appropriate N-tier design for such applications. 112 minutes 8/23/05
This is the second webcast in the series on architecting desktop applications with the Microsoft .NET Framework. Joe Hummel focuses on common design patterns for sophisticated graphical user interface-based applications, including the Model-View-Controller pattern and the User Interface Process block from Microsoft. 111 minutes 9/06/2005
This is the third webcast in the series on designing desktop applications with the Microsoft .NET Framework. This webcast focuses on the architecture and design of dynamic and configurable applications. Topics include proper use of .NET configuration files, storing connection strings and user settings, the Microsoft patterns & practices Enterprise Library Configuration Application Block, and building applications whose user interface is dynamically configurable. 96 minutes 9/27/05
This is the fourth webcast in the series on architecting desktop applications with the Microsoft .NET Framework. This webcast focuses on the major issues, various solutions, and trade-offs involved in designing secure desktop applications. Topics include authentication, authorization, securing configuration and user settings, and the Microsoft patterns & practices Enterprise Library Security Application Block . 113 minutes 10/11/05
This is the fifth webcast in the series on architecting desktop applications with the Microsoft .NET Framework. This webcast focuses on designing the business tier, including discussions of tools such as Component-based, Scalable, Logical Architecture.NET, an open-source programming framework, and Object Role Modeling, which eases the burden of creating fully object-oriented business tiers. 107 minutes 10/25/05
This sixth session in the series on designing desktop applications with the Microsoft .NET Framework 2.0 discusses the design of the Data Access tier. Joe Hummel covers the Microsoft patterns & practices Data Access Application Block, and discuss new features in Microsoft ADO.NET 2.0. Joe Hummel looks at how to use Object Role Modeling tools to create data access tiers automatically. 106 minutes 11/08/05
This is the seventh webcast in the series on Microsoft .NET Framework 2.0 desktop application architecture. This webcast outlines best practices for developing N-tier applications, including exception handling, logging, instrumentation and documentation. Joe Hummel looks at the Exception Handling, Logging and Instrumentation Application Blocks from the Microsoft patterns & practices team. 111 minutes 11/22/05
In this eighth webcast in the series on Microsoft .NET Framework 2.0 desktop application architecture, Joe Hummel focuses on the design and creation of .NET components. Strong naming, versioning, and the notion of pluggable components are just a few of the topics that Joe Hummelcover in this webcast. 114 minutes 12/6/05
This is the ninth webcast in the series on designing desktop applications with the Microsoft .NET Framework 2.0. In this webcast, Joe Hummel shows you how to take advantage of the build, analysis and testing tools available in Microsoft Visual Studio 2005. 99 minutes 12/20/05
This tenth session in the series on designing desktop applications with the Microsoft .NET Framework 2.0 presents the theory behind multithreading, and demonstrates ways to use this technology safely within your applications. 118 minutes 1/11/06
The eleventh webcast in the series on Microsoft .NET Framework 2.0 desktop application architecture focuses on the use of .NET remote access to create true smart client applications. Joe Hummel covers the various ways to configure remote access, how remote access may change your class designs, marshal-by-value objects versus marshal-by-reference objects, and caching. 111 minutes 1/25/07
This is the twelfth webcast in the series on designing desktop applications using the Microsoft .NET Framework 2.0. This webcast looks at the use of Web services as an alternative to remote access in creating true smart client applications. Topics include the pros and cons of Web services, marshal-by-value objects versus marshal-by-reference objects, and the future of Web services with the Microsoft Windows Communication Foundation set of technologies for connected applications. 119 minutes 2/8/06
In this thirteenth webcast in the series on Microsoft .NET Framework 2.0 desktop application architecture, Joe Hummel considers the security issues raised by distributed applications. The discussion includes topics such as authentication, authorization and encryption. 83 minutes 2/22/06
This is the fourteenth webcast in the series on designing desktop applications with the Microsoft .NET Framework 2.0. In this webcast, Joe Hummel discusses the ins and outs of ClickOnce, the no-touch deployment model in .NET 2.0. 90 minutes 3/8/06
In this final webcast in our fifteen-part series on Microsoft .NET Framework 2.0 desktop application architecture, we present some of the principles behind the agile software development process. Whether you agree with agile development or not, you can learn from some of the key concepts involved in this approach, including customer-driven design, frequent builds, unit testing and simplicity in design. 60 minutes 3/22/06
The presenter of this webcast series is Microsoft's Ron Cundiff. Before joining Microsoft in 2002, Ron designed and implemented a global online commodities exchange system for an ISV. He has also held management and technical leadership positions with a Microsoft partner. His certifications include MCSD, MCSE, MCDBA, MCP+I+SB - and he's working on extending the list.
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
May I Also Recommend for Further Study? Bob Tabor also has over 80 videos on Visual Basic.net. Check them out in the video library section of LearnVisualStudio.
1. Introduction - video missing
Key Concepts:
A. the basic language constructs
B. Different types of applications you can build using Visual Basic .NET
C. Overview of webcast series
2/5/2007
2. Visual Basic 2005 Express Edition- video missing
Key Concepts:
A. Visual Basic 2005 Express Edition, a free download from Microsoft that enables you to develop Visual Basic .NET applications.
B. Integrated development environment (IDE) features, like Code Editor, Compiler, IntelliSense, and the Debugger.
C. The project system that can help you build a collection to keep all the files related to your program together.
2/13/2007
3. Class Libraries -video missing
Key Concepts:
A. How Visual Basic .NET relies on a hierarchical set of prewritten functions that enable developers to gain access to standard functionality provided by the host operating system.
B. How these functions are contained in files called class libraries
2/19/2007
4. VB.NET Program Structure - video missing
Key Concepts:
A. What Visual Basic.NET is and how programs written in Visual Basic are structured.
B. Basics of the language and how Visual Basic assembles the lines of code
2/20/2007
5. Language Fundamentals - video missing
Key Concepts:
A. Object types
B. Variables
C. Constants
D. Statements
3/5/2007
6. Classes and Objects - video missing
Key Concepts:
A. Classes
B. Objects
3/19/2007
7. Operator Basics - video missing
Key Concepts:
A. Different kinds of operators and how to use them.
3/26/2007
8. Branching and Looping - video missing
Key Concepts:
A. Iterators
B. Loops
C. Branching
4/2/2007
9. Basic Debugging - video missing
Key Concepts:
A. Debugging
B. How the integrated development environment (IDE) enables you to see what is going on inside your application while it is running
C. Tracing
4/9/2007
10. Arrays and Collections - video missing
Key Concepts:
A. Arrays
B. Collections
4/16/2007
11. Exception Handling - video missing
Key Concepts:
A. Exception-handling
B. Try/catch blocks
4/23/2007
12. Delegates and Events - video missing
Key Concepts:
A. Delegates and events, and how they can send alerts to other applications when interesting changes occur within your application.
B. How multiple listeners can respond to a single event.
4/30/2007
13. Inheritance and Polymorphism - video missing
Key Concepts:
A. Inheritance allows one to create objects that are "like" other objects.
B. Inheritance and polymorphism can reduce the amount of code you write and make it easier to understand.
A. We discuss how to include data access features in your applications. We specifically address how to integrate Microsoft SQL Server 2005 database functionality directly into your Web and Windows-based applications. See how Microsoft Visual Basic enables you to programmatically get direct access to SQL Server data. We also look at the various features in Visual Basic that empower you to develop against SQL Server 2005 and other data sources.
A. We discuss the various deployment options for your applications. Writing an application can be a very tedious task, but deploying it can be an even greater challenge. Join this webcast to see how the different deployment techniques work, and to gain the information you need to successfully deploy your own applications.
A. Join this final session to see how you can build a multi-tier business application with Visual Basic. Do not miss this chance to learn how building business applications with a multi-tier architecture can enable you to build an application for maintainability, reusability, and extensibility.
This video tutorial will demonstrate how to use Rapid Application Development (RAD) software. We will be using the free version of IronSpeed Designer to automatically generate the visual basic application from a database.
The first thing we will do is go over the prerequisite software. If you do not already have it, you need:
1) Internet Information Services (IIS) or ASP.NET Development Server- IIS is a personal web server that comes with Windows XP Pro (it is not included in the Home Edition). ASP.NET Devopment Server is a free personal development server that comes with SDK version of Net Framework 2.0. You can download ASP.NET Development Server here.
2) SQL Server 2005 Express and Management Studio for SQL Server - see the post on Installing SQL Server.
3) Iron Speed Designer - there is a free trial version that never expires that you can download.
Then, we will build a small table that contains people's names and phone numbers. We will call the table Contact. After building the table, we will use Iron Speed Designer to generate the VB source code for the application.
If you really want to learn the details of programming with Visual Studio, I highly recommend the series from Learn Visual Studio. They offer several videos for free to try it out. I personally have a Lifetime Subscription and have spent 100s of hours watching their videos. Most live training classes and video tutorials for Visual Studio cost around $25 per hour (see AppDev.com, Learnkey.com, etc.), but Learn Visual Studio only costs about 70 cents per hour of video. Also, if you want to save 30% off the retail price of Learn Visual Studio, please click on the link provided at the beginning of this paragraph.
There is an index of over 700 video tutorials on various programming languages and databases at this post.
This video tutorial shows how to add speech recognition to a simple dictation application. You can cut-n-paste the source code by clicking here: Source Code for Speech Recognition
Need a Quick Way to See These .NET Videos and Monitor Your Progress?
If you do not have Microsoft Speech SDK 5.1, you must download and install it for this application to work. You can download it by clicking here: Microsoft Speech SDK 5.1
Here are the steps involved in this tutorial:
1. Get the source code.
2. Install Microsoft Speech SDK 5.1 (if have not already done it)
3. Create New Project in VB 2005 Express
4. Add the reference to Microsoft Speech Object
5. Add the controls to the form
6. Cut-n-paste source code to code for form
7. Train your computer to understand you using Start/Control Panel/Speech
8. Run your Speech Recognition Application
If you really want to learn the details of programming with Visual Studio, I highly recommend the series from Learn Visual Studio. It is an awesome site for learning Visual Studio, and they allow you to download several videos for free to try it out. I personally have a Lifetime Subscription and have spent 100s of hours watching their videos. I am very pleased with the amount of information that they provide, and I believe it is an extremely good value. Most live training classes and video tutorials for Visual Studio cost around $25 per hour (see AppDev.com, Learnkey.com, etc.), but Learn Visual Studio only costs about 70 cents per hour of video. Also, if you want to save 30% off the retail price of Learn Visual Studio, please click on the link provided at the beginning of this paragraph.
By far, the best hosting company that I have found for .NET applications is Discountasp.net. Discountasp.net provides many SQL tools that make it easy to remotely manage your sql database directly from your computer that other hosting companies like GoDaddy do not.
There is an index of over 700 video tutorials on various programming languages and databases at this post.