Plataformas .NET para desenvolvimento de aplicações web
José António [email protected]
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
The .NET Framework:A Once in a Decade Change
PDC 2000 Paradigm Shift
• Managed Code
• Web services
19801980 19901990 20002000
Ric
hn
ess
Ric
hn
ess
Win16Win16 Win32Win32COMCOM
MFCMFCComponents
ComponentsServicesServices
APIsAPIs
Windows3.0
Tools
Client Application Model
Windows Forms
Web & Service Application Model
ASP.NET Compact Framewo
rk
Yukon
Data Systems Application Model
Presentation
Mobile PC & Devices Application Model
Communication
Command Line
NT Service
System.MessagingSystem.DirectoryServicesSystem.Runtime.Remoting
System.Windows.Forms
System.Console
System.ServiceProcess
System.Windows.Forms System.Web
System.Data.SqlServer
HttpWebRequestFtpWebListener
SslClientStream
WebClient
System.Net
NetworkInformation
Sockets
Cache
System.Windows.Forms
Forms
Control
Print Dialog
Design
System.Web.UI
Page
Control
HtmlControls
MobileControls
WebControls
Adaptors
Design
System.Drawing
System.Web.Services
Web.Service
Description
Discovery
Protocols
System.Timers
System.Globalization
System.Serialization
System.Threading
System.Text
System.Design
CompilerServices
Base & Application Services
Fundamentals
System.ComponentModel
System.CodeDom
System.Reflection
System.EnterpriseServices
System.Transactions
Security
System.Web.Security
AccessControl
Credentials
Cryptography
System.Web.Configuration
System.Configuration
System.Resources
System.Management
System.Deployment
System.Diagnostics
Configuration Deployment/Management
Ports
InteropServices
System.Runtime
System.IO
System.Collections
GenericPermissions
Policy
Principal
Token
System.Security System.Web
Administration
Management
Data
System.Web
Personalization
Caching
SessionState
System.Xml
Schema
Serialization
Xpath
Query
DataSet
Mapping
ObjectSpaces
ObjectSpace
Query
Schema
System.Data
SqlClient
SqlTypes
SqlXML
OdbcClient
OleDbClient
OracleClient
Serialization
.NET Framework
Application ArchitectureApplication Architecture
User Interface Components
User Process Components
Service Interfaces
BusinessWorkflo
ws
BusinessComponent
s
Business
Entities
Data Access LogicComponents Service Agents
Data Source Service
Sec
uri
ty
Op
erat
ion
al M
anag
emen
t
Com
mu
nic
atio
n
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
patterns & practices
ProvenBased on field experience
AuthoritativeBest advice available
AccurateTechnically validated and tested
ActionableProvide the steps to success
RelevantAddress real world scenarios
“Proven practices for predictable results”
Availability
Online on MSDN and TechNethttp://msdn.microsoft.com/practices
Printed guides available fromhttp://shop.microsoft.com/practices
http://amazon.com/practices
Operating .NET-Based Applications
Monitoring
Securing .NET Based Apps
Debugging Microsoft .NET Applications
Deploying .NET Applications
Team Development with Visual Studio.NET and Visual SourceSafe
SQL Server 2000 High Availability
Operations Guides
SQL Server 2000
Exchange 2000 Server
Security Operations Guides
Windows 2000 Server
Exchange 2000 Server
Backup and Restore for MSA:IDC
Building Secure ASP.NET Applications
Data Access for .NET
Designing Data Tier Components and Passing Data Through Tiers
Exception Management in .NET
Monitoring in .NET Distributed Application Design
.NET/COM Migration and Interoperability
Production Debugging for .NET-Connected Applications
Authentication in ASP.NET
Designing Application-Managed Authorization
Designing Caching for Distributed Apps
Application Architecture for .NET
Microsoft Systems Architecture
Enterprise Data Center
Internet Data Center
UNIX Application Migration Guide
Enterprise Notification for Exchange 2000 Server
Active Directory Branch Office
Exchange 2000 Server
Server Upgrade Series
Hosting Series
Content Integration Pack for CMS 2001 and SPS 2001
Lifecycle PracticesReference Building BlocksReference Architectures
Available Now
Plan – Next 6 Months
.NET Operations
Windows Server 2003 Refresh
Application Profiling and Capacity Planning
Change Management
Windows Server 2003 Refresh
Reference Building Blocks
Building Secure ASP.NET Applications
Persistent Asynchronous Invocation
Rich Client
User Interface Process
Configuration Management
Updating Application Components
Code Security and Threat Analysis
.NET Line of Business Application
WSI Base Profile and Security
J2EE Interop
UNIX Migration (additional coverage)
Patterns
.NET Line of Business Application Patterns and Model
.NET Application Integration Patterns
Data Patterns
Network Infrastructure Patterns (Microsoft Systems Architecture)
Lifecycle PracticesReference Building BlocksReference Architectures
UIP - User Interface Process
Simple yet extensible framework for developing user interface processes. It is designed to abstract the control flow and state management out of the user interface layer into a user interface process layer. This enables you to write generic code for the control flow and state management of different types of applications (for example, Web applications and Windows-based applications) and helps you write applications that manage users' tasks in complex scenarios (for example, suspending and resuming stateful tasks).
http://msdn.microsoft.com/library/en-us/dnbda/html/uip.asp
UIP Samples
Caching Application Block
Microsoft .NET Framework class library that allows you to increase the efficiency and scalability of distributed applications by caching Web service data, which saves time and resources that are needed to refresh data that is still current. Data can be cached in several formats, including a Microsoft SQL Server 2000 database, a memory-mapped file, or a singleton object. The Caching Application Block also includes example classes for caching, scavenging, expiration, and data protection.
http://msdn.microsoft.com/library/en-us/dnpag/html/Cachingblock.asp
Data Access Application Block for .NET
The Data Access Application Block is a .NET component that contains optimized data access code that will help you call stored procedures and issue SQL text commands against a SQL Server database. The documentation provides guidelines for implementing an ADO.NET-based data access layer in a multi-tiered .NET application. It focuses on a range of common data access tasks and scenarios and presents guidance to help you choose the most appropriate approaches and techniques. This guide encapsulates performance and resource management best practices and can easily be used as a building block in your own .NET application. If you use it, you will reduce the amount of custom code you need to create, test, and maintain.
http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp
SqlHelper
Data Access Application BlockData Access Component
SQL Server
SqlHelper
ExecuteNonQuery
SqlHelperParameterCache
ExecuteDataset
ExecuteReader
ExecuteScalar
ExecuteXmlReader
CacheParameterSet
GetCachedParameterSet
GetSpParameterSet
int
DataSet
SqlDataReader
object
XmlReader
SqlParameter[ ]
Transact-SQLor
Stored Procedure
SQL Server
Data Access Application BlockASPX PageWeb Browser
Retrieving a SqlDataReader
SqlHelper
ExecuteReader
Use ExecuteReader
Products--
CategoryID
Retrieving a DataSet
SQL Server
Data Access Application Block
Data AccessComponent
BusinessComponent
SqlHelper
ExecuteDataset
Use ExecuteDataset
ProductsDataSet
CategoryID
Retrieving a Single Row
SQL Server
Data Access Application BlockASPX PageWeb Browser
SqlHelper
ExecuteNonQuery
Use ExecuteNonQuery with output parameters
ProductDetails
ProductID
Retrieving a Single Value
Use ExecuteScalar
SQL Server
Data Access Application Block
Data AccessComponent
BusinessComponent
SqlHelper
ExecuteScalarProductName
ProductID
Retrieving XML
Use ExecuteXmlReader
SQL Server
Data Access Application Block
Data AccessComponent
BusinessComponent
SqlHelper
ExecuteXmlReaderProducts
XML
Configuration Management Application Block
A simple yet flexible solution that you can use across all your applications to manage configuration data. Specifically, it provides a set of methods that allow you to read and write application configuration data without the need to instantiate objects or perform complex data conversions in your code through a flexible data model that allows you to use any in-memory data structure to represent your configuration data.
http://msdn.microsoft.com/library/en-us/dnbda/html/cmab.asp
Configuration Management AB Architecture
//[C#]Hashtable configData;// Read the configuration section named AppConfigconfigData = (Hashtable)ConfigurationManager.Read("AppConfig");
Exception Management Application Block for .NET
Exception Management Application Block for .NET consists of an architecture guide (see Exception Management in .NET) and an application block. The documentation discusses design and implementation guidelines for exception management systems that use .NET technologies. It focuses on the process of handling exceptions within .NET applications in a highly maintainable and supportable manner. Exception Management Application Block for .NET provides a simple yet extensible framework for handling exceptions. With a single line of application code, you can easily log exception information to the Event Log or extend it by creating your own components that log exception details to other data sources or notify operators, without affecting your application code. Exception Management Application Block for .NET can easily be used as a building block in your own .NET application.
http://msdn.microsoft.com/library/en-us/dnbda/html/emab-rm.asp
Exception Handling Architecture
Database
Config File
ApplicationException
ExceptionManagement Assembly
ExceptionManager
BaseApplicationException
ExceptionManagementSectionHandler
DefaultPublisher
Custom Publisher
Custom Publisher
Custom Publisher
Event Log
Log File
EmailNotification
1
2
3
4
5
5
CustomPublisherException
Interfaces Assembly
IPublishExceptionIPublishXMLException
6
Publishing an Exception
1. Reference the assembly
2. Add an imports/using statement
3. Add try catch statements
4. Publish error in the catch block
Create NameValueCollection to pass additional information
using Microsoft.ApplicationBlocks.ExceptionManagement;
ExceptionManager.Publish(exception);
ExceptionManager.Publish(exception, info);
Config File Settings
<configuration>
<configSections>
<section name="exceptionManagement"
type="Microsoft.ApplicationBlocks.ExceptionManagement
ExceptionManagerSectionHandler,
Microsoft.ApplicationBlocks.ExceptionManagement" />
</configSections>
<exceptionManagement mode="on/off">
<publisher mode="on/off" assembly="AssemblyName"
type="TypeName" exclude="Type,Type"
include="Type,Type" exceptionFormat="xml"
customattr = "value" />
</exceptionManagement>
</configuration>
<configuration>
<configSections>
<section name="exceptionManagement"
type="Microsoft.ApplicationBlocks.ExceptionManagement
ExceptionManagerSectionHandler,
Microsoft.ApplicationBlocks.ExceptionManagement" />
</configSections>
<exceptionManagement mode="on/off">
<publisher mode="on/off" assembly="AssemblyName"
type="TypeName" exclude="Type,Type"
include="Type,Type" exceptionFormat="xml"
customattr = "value" />
</exceptionManagement>
</configuration>
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
IBuySpy Portal
Dynamic Site Layout using User Controls
Portal Module Implementation
Multiple Device Support
Portal Configuration using SQL Server
Role-based security
Dynamic Layout
Layout Configuration
Security Configuration
Community Starter KitEasy Customization with Themes
Skin your site with the click of a button
Includes eight themes
Can be customized with your own themes
Includes Six Standard Content Modules
Articles
Links
Downloads
Photo Gallery
Events
Books
Create Multiple Communities with a Single Installation
Set community quotas
Additional Features
Send Newsletters
Create voting polls
Supports RSS news feeds and XML Web services
outros
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
DotNetNuke
.Text
http://scottwater.com/DotText
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
Windows Sharepoint Services
SharePoint Portal and the New Microsoft Web
Customized with a largeCustomized with a largelibrary of Web Partslibrary of Web Parts
““My Site”My Site”for everyfor everyemployeeemployee
Look upLook uppeoplepeople
Fast Search!Fast Search!
Look upLook upterms &terms &acronymsacronyms
Tools andTools andTasks forTasks forsmarter smarter workwork
Links to Links to important important intranet intranet sitessites
News News & Info& Info
And a Personalized Site
Personalize with a largePersonalize with a largelibrary of Web Partslibrary of Web Parts
PresencePresenceInformationInformation
Search your stuffSearch your stuff
Active Active DirectoryDirectoryIntegrationIntegration
RecentlyRecentlyRelevant Relevant DocumentsDocuments
Tools &Tools &Tasks toTasks tohelp youhelp youworkworksmartersmarter
Public &Public &PrivatePrivateViewsViews
InfoPath - Time Absence Report
Agenda
Intro .NET
Building Blocks
Starter Kits
Outros projectos Open Source
Outros componentes
Discussão aberta
ASP.NET 2.0 - "Whidbey Release”
Technology Preview @ PDC
Master Pages, Themes/Skins, and Navigation Controls
Membership, Role Management and Security System
Personalization System
Web Parts
Advanced Caching
Data Controls
Speech-Enabling
“Indigo“ Web Services
José António [email protected]://canoas.com/blog/
Patterns & Practiceshttp://www.microsoft.com/practices
ASP.NET Communityhttp://asp.net
GotDotNet Community
http://gotdotnet.com
Top Related