Spring 2005 Series - PowerPoint PPT Presentation

slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Spring 2005 Series PowerPoint Presentation
Download Presentation
Spring 2005 Series

play fullscreen
1 / 46
Spring 2005 Series
168 Views
Download Presentation
fallon
Download Presentation

Spring 2005 Series

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

    1. Spring 2005 Series Presented by: Russ Fustino Developer Community Champion Microsoft Corporation rfustino@microsoft.com http://blogs.msdn.com/rfustino

    2. Agenda

    3. What we will cover Overview of The Team System The FxCop Static Analysis tool for a Managed Code Environment Tools to enhance performance Testing capabilities While the concentration of this presentation will be the static analysis tools, we will begin with an overview of the team system. Then, we will look at the two tools for Static Analysis: FxCop and PREfast. Even when an application builds without errors or warnings, and appears to run properly, errors can remain. As an optional part of the build process, Visual Studio 2005s static analysis tools parse source code and apply complex heuristics to identify potential errors, both of commission and omission, in applications. For managed code environments (for example, for C# applications running in .NET), FxCop checks for violations of style guidelines and identifies potential errors. For C or C++ applications, PREfast is an invaluable tool for catching potentially fatal mistakes that are difficult to locate without automated support.While the concentration of this presentation will be the static analysis tools, we will begin with an overview of the team system. Then, we will look at the two tools for Static Analysis: FxCop and PREfast. Even when an application builds without errors or warnings, and appears to run properly, errors can remain. As an optional part of the build process, Visual Studio 2005s static analysis tools parse source code and apply complex heuristics to identify potential errors, both of commission and omission, in applications. For managed code environments (for example, for C# applications running in .NET), FxCop checks for violations of style guidelines and identifies potential errors. For C or C++ applications, PREfast is an invaluable tool for catching potentially fatal mistakes that are difficult to locate without automated support.

    4. Agenda Overview Static Analysis Tools for: Managed Code Environment: FxCop Performance Tools Testing Lets begin with an overview of the Team system.Lets begin with an overview of the Team system.

    5. Overview IntroductionThe Team System Need for complex IT solutions IT now plays key role in most enterprises More pressure to do more with less Multi-disciplined teams required Visual Studio Team System expands on Microsoft's demonstrated ability to deliver highly productive tools by offering businesses tightly integrated and extensible life-cycle tools that increase the likelihood of success To be successful, businesses today are faced with the need to build and maintain increasingly complex Information Technology (IT) solutions. Additionally, they have relied upon new technologies to expand business capabilities and develop entirely new business opportunities. While IT organizations once played a supporting role, they are now a key participant in most business strategies. Naturally, businesses want to get the most for their investment in IT projects, which means IT organizations are under increasing pressure to do more with less. The push for greater cost efficiency is complicated by the need to instill predictability in IT projects. However, such measures usually result in cumbersome processes and monitoring overhead that merely shift the expense to a different problem. Gone are the days of opportunistic development and expansive IT budgets. Complex applications require multi-disciplined teams to deliver them. As with any major undertaking attempted by a team, communication is a fundamental component of success. The new Visual Studio Team System expands on Microsoft's demonstrated ability to deliver highly productive tools by offering businesses tightly integrated and extensible life-cycle tools that increase the likelihood of success. This success relies on how well teams can communicate with one another to reduce the complexity of delivering solutions.To be successful, businesses today are faced with the need to build and maintain increasingly complex Information Technology (IT) solutions. Additionally, they have relied upon new technologies to expand business capabilities and develop entirely new business opportunities. While IT organizations once played a supporting role, they are now a key participant in most business strategies. Naturally, businesses want to get the most for their investment in IT projects, which means IT organizations are under increasing pressure to do more with less. The push for greater cost efficiency is complicated by the need to instill predictability in IT projects. However, such measures usually result in cumbersome processes and monitoring overhead that merely shift the expense to a different problem. Gone are the days of opportunistic development and expansive IT budgets. Complex applications require multi-disciplined teams to deliver them. As with any major undertaking attempted by a team, communication is a fundamental component of success. The new Visual Studio Team System expands on Microsoft's demonstrated ability to deliver highly productive tools by offering businesses tightly integrated and extensible life-cycle tools that increase the likelihood of success. This success relies on how well teams can communicate with one another to reduce the complexity of delivering solutions.

    6. Microsoft Visual Studio 2005 Team System This diagram illustrates how the team system is organized.This diagram illustrates how the team system is organized.

    7. Agenda Overview Static Analysis Tools for: Managed Code Environment: FxCop Performance Tools Testing Lets begin with an overview of the Team system.Lets begin with an overview of the Team system.

    8. FxCop Why use FxCop? Do you: Have a well defined coding standards But have no way of enforcing those standards? Spend much time writing code But even more time editing code? Want to have your applications run smoothly But seem to always be held back by errors? ThenFxCop is for you! The nuances of writing code present many problems, and perhaps the most annoying are those that involve the tendency for small errors to plague your code. FxCop is designed to solved these problems.The nuances of writing code present many problems, and perhaps the most annoying are those that involve the tendency for small errors to plague your code. FxCop is designed to solved these problems.

    9. FxCop What is FxCop? Began as an internal Microsoft Solution Enforces adherence to .NET Framework Design Guidelines Available free http://www.gotdotnet.com/team/fxcop. Uses Introspection Faster analysis Multi-thread analysis Contains over 200 rules Ability to create custom rules Microsoft has put a lot of effort into disseminating best practices and guidelines for writing code to be used for the .NET framework. The FxCop project began as an internal one, aimed at ensuring that Microsoft developers followed their own rules. FxCop is now available from http://www.gotdotnet.com/team/fxcop. Introspection is the new element of FxCop, contained in version 1.3. The old Reflection version required FxCop to shutdown to complete a fix, then run again to recompile. Now, since the assemblies are not locked, there is no need to shut down. Those who have used the old Reflection engine will be happy to hear that rules can be updated by just changing a few base class names. The rules for FxCop include everything from ensuring that you use COM interop correctly, to ensuring proper globalization, to enforcing rules for writing high-performance code Microsoft has put a lot of effort into disseminating best practices and guidelines for writing code to be used for the .NET framework. The FxCop project began as an internal one, aimed at ensuring that Microsoft developers followed their own rules. FxCop is now available from http://www.gotdotnet.com/team/fxcop. Introspection is the new element of FxCop, contained in version 1.3. The old Reflection version required FxCop to shutdown to complete a fix, then run again to recompile. Now, since the assemblies are not locked, there is no need to shut down. Those who have used the old Reflection engine will be happy to hear that rules can be updated by just changing a few base class names. The rules for FxCop include everything from ensuring that you use COM interop correctly, to ensuring proper globalization, to enforcing rules for writing high-performance code

    10. Lets go to a demo and see how FxCop worksLets go to a demo and see how FxCop works

    11. FxCop Custom Rules Derive new class from existing class BaseIntrospectionRule provides a model for new rules The Check Method is key to defining your rule Creating custom rules allows you to use FxCop to detect problems that are not necessarily red-flagged by Microsoft Design Guidelines. This can be done by simply creating a new class of rules from an existing class. The BaseIntrospectionRule exists to act a a model for new rules. When making new rules, as we may have implied on the last slide, the Check Method is vital.Creating custom rules allows you to use FxCop to detect problems that are not necessarily red-flagged by Microsoft Design Guidelines. This can be done by simply creating a new class of rules from an existing class. The BaseIntrospectionRule exists to act a a model for new rules. When making new rules, as we may have implied on the last slide, the Check Method is vital.

    12. Now, lets look af the more advanced usage of FxCop, involving Custom Rules.Now, lets look af the more advanced usage of FxCop, involving Custom Rules.

    13. PREfast Overview Uses existing build structure Intraprocedural analysis identifies defects in C/C++ source files Commonly run over sections of code Creates a log of code defects encountered PREfast uses your existing build structure and works by intercepting your native compiler. Intraprocedural analysis identifies defects in the C/C++ source files. Users commonly run PREfast over a section of code, view results, make fixes, and then run PREfast again. It is recommended that you divide your build into small (10 MB or less) sections, and run PREfast on each section. PREfast displays a log of the code defects encountered. Each line entry in the log shows a description of the type of defect, a PREfast warning number, the source location, and function where the defect occurred. PREfast uses your existing build structure and works by intercepting your native compiler. Intraprocedural analysis identifies defects in the C/C++ source files. Users commonly run PREfast over a section of code, view results, make fixes, and then run PREfast again. It is recommended that you divide your build into small (10 MB or less) sections, and run PREfast on each section. PREfast displays a log of the code defects encountered. Each line entry in the log shows a description of the type of defect, a PREfast warning number, the source location, and function where the defect occurred.

    14. PREfast Warning Categories Buffer Overrun Warnings HRESULT Warnings i18n Warnings Precedence Warnings Dfa Warnings Typo Warnings PREfast detects some situations in which buffer overruns occur, including array bounds violations. HRESULT is a return status type used by COM functions to signal success or failure. There are strict guidelines for how HRESULT should be used. However, these are frequently overlooked or ignored. PREfast detects situations where HRESULT has been used incorrectly or has been used in a manner that might cause undesirable results. PREfast detects several errors related to the process of localization, and many precedence errors Defects such as uninitialized memory, NULL pointer dereference, memory and resource leaks, and so on are examples of Dfa Warnings. Finally, Typo warnings indicate bad syntax. PREfast detects some situations in which buffer overruns occur, including array bounds violations. HRESULT is a return status type used by COM functions to signal success or failure. There are strict guidelines for how HRESULT should be used. However, these are frequently overlooked or ignored. PREfast detects situations where HRESULT has been used incorrectly or has been used in a manner that might cause undesirable results. PREfast detects several errors related to the process of localization, and many precedence errors Defects such as uninitialized memory, NULL pointer dereference, memory and resource leaks, and so on are examples of Dfa Warnings. Finally, Typo warnings indicate bad syntax.

    15. Agenda Overview Static Analysis Tools for: Managed Code Environment: FxCop Performance Tools Testing Lets begin with an overview of the Team system.Lets begin with an overview of the Team system.

    16. Performance Tools Profiling Two methods of profiling: Sampling Periodically interrupts application At exit, date gather in report Advantage: Low overhead Drawback: Only relative data Instrumentation Exact performance data Enter and Exit probes report back Exact amounts of time/other metrics The Performance Tools support two methods of profiling: Sampling Instrumentation During sampling, the data collection infrastructure periodically interrupts the application as it executes to determine what function is being executed and increments that function's sample count. It stores information about the call stack leading up to the function call. After an application exits, all of the data gathered is generated into a report file and can be easily viewed using the reporting features integrated in the IDE. Sampling provides the advantage of low overhead, since the application is only interrupted periodically. This allows the application to behave closer to how it would in the real-world. The drawback to this approach is that it can only get relative performance data for the functions that were sampled. It is possible that a function you wanted to sample did not get sampled and therefore, no information is available about it. Instrumentation provides the advantage of gathering exact performance data for specific portions of the application. During instrumentation, "enter" and "exit" probes are inserted into the application's functions. These probes report back to the data collection infrastructure and allow users to capture exact amounts of time (and other metrics) that a function took to execute.The Performance Tools support two methods of profiling: Sampling Instrumentation During sampling, the data collection infrastructure periodically interrupts the application as it executes to determine what function is being executed and increments that function's sample count. It stores information about the call stack leading up to the function call. After an application exits, all of the data gathered is generated into a report file and can be easily viewed using the reporting features integrated in the IDE. Sampling provides the advantage of low overhead, since the application is only interrupted periodically. This allows the application to behave closer to how it would in the real-world. The drawback to this approach is that it can only get relative performance data for the functions that were sampled. It is possible that a function you wanted to sample did not get sampled and therefore, no information is available about it. Instrumentation provides the advantage of gathering exact performance data for specific portions of the application. During instrumentation, "enter" and "exit" probes are inserted into the application's functions. These probes report back to the data collection infrastructure and allow users to capture exact amounts of time (and other metrics) that a function took to execute.

    17. Performance Tools Profiling Applications Performance Session Wizard Sets up environment for profiling Built in EXE, DLL, and ASP.NET support Performance Explorer Presents hierarchical structure Reflects values chosen by Wizard Contains various nodes The preferred usage pattern for profiling an application is to begin with sampling, and then instrument specific aspects of their application based on the results produced by sampling. The process of profiling an application is straight forward. You begin by creating a new performance session. In Visual Studio 2005 Team System, you can use Performance Session Wizard to create a new performance session. Performance Session Wizard sets up the environment necessary for profiling an application. In Visual Studio 2005 Team System, the wizard provides built-in support for EXE, DLL, and ASP.NET applications. You can create a New Performance Session using the wizard. A Performance Session is created as a result of running the session wizard or manually creating a session. The Performance Explorer presents hierarchical structure to the user. The root node of the hierarchy represents the Performance Session. The properties of this node are the properties the user sets when the Performance Session was created. If the user used Performance Session Wizard to create the session, then these properties reflect the values the user chose as they walked through the wizard. If the user created the Performance Session manually, then these properties contain their default values. The root node has two children, the Targets node and the Reports node. The Targets node contains one or more targets, which can be an .EXE, .DLL, or ASP.NET application. The Reports node contains all the reports that are relevant to a particular Performance Session.The preferred usage pattern for profiling an application is to begin with sampling, and then instrument specific aspects of their application based on the results produced by sampling. The process of profiling an application is straight forward. You begin by creating a new performance session. In Visual Studio 2005 Team System, you can use Performance Session Wizard to create a new performance session. Performance Session Wizard sets up the environment necessary for profiling an application. In Visual Studio 2005 Team System, the wizard provides built-in support for EXE, DLL, and ASP.NET applications. You can create a New Performance Session using the wizard. A Performance Session is created as a result of running the session wizard or manually creating a session. The Performance Explorer presents hierarchical structure to the user. The root node of the hierarchy represents the Performance Session. The properties of this node are the properties the user sets when the Performance Session was created. If the user used Performance Session Wizard to create the session, then these properties reflect the values the user chose as they walked through the wizard. If the user created the Performance Session manually, then these properties contain their default values. The root node has two children, the Targets node and the Reports node. The Targets node contains one or more targets, which can be an .EXE, .DLL, or ASP.NET application. The Reports node contains all the reports that are relevant to a particular Performance Session.

    18. Performance Tools Performance Session Reports Summary View Starting point for investigation Functions View Shows all functions called Caller/Callee View Details for functions Callstack View Analyze specific traces Type View Number of instances/bytes of a type Once the application finishes executing, a performance session report is automatically added to the Reports node. These reports can be viewed with the following views: Summary View The Summary view gives developers a starting point in their investigation. It shows the most expensive functions during the execution of the application. From each data point in this view, users can navigate to more detailed views. Functions View The Functions view shows all of the functions that were called during the execution of the application across all of the modules that were referenced by this application. The information shown in this view depends on the method (sampling vs. instrumentation) used for profiling. Caller/Callee View The Caller/Callee view provides the details for the functions listed in the Functions view. Callstack View The Callstack view allows users to drill into specific call traces and analyze which traces have the greatest performance impact. Type View The Type view provides information about the number of instances and total bytes of a particular type.Once the application finishes executing, a performance session report is automatically added to the Reports node. These reports can be viewed with the following views: Summary View The Summary view gives developers a starting point in their investigation. It shows the most expensive functions during the execution of the application. From each data point in this view, users can navigate to more detailed views. Functions View The Functions view shows all of the functions that were called during the execution of the application across all of the modules that were referenced by this application. The information shown in this view depends on the method (sampling vs. instrumentation) used for profiling. Caller/Callee View The Caller/Callee view provides the details for the functions listed in the Functions view. Callstack View The Callstack view allows users to drill into specific call traces and analyze which traces have the greatest performance impact. Type View The Type view provides information about the number of instances and total bytes of a particular type.

    19. Now, lets take a closer look at profiling in Visual Studio 2005Now, lets take a closer look at profiling in Visual Studio 2005

    20. Agenda Overview Static Analysis Tools for: Managed Code Environment: FxCop Performance Tools Testing Lets begin with an overview of the Team system.Lets begin with an overview of the Team system.

    21. Testing Challenges with Quality Assurance Applications need testing In the past: Visual Studio focused on software development Light support for testing Required other Microsoft or third-party products Improvements address these issues! Before an application or Web page can meet its quality and performance goals, it must undergo rigorous testing. Historically, Microsoft Visual Studio has been a product that focused squarely on the software developer, while providing light support for the testing aspects of development. The test engineers in an organization's Quality Assurance group have no doubt correctly perceived past versions of Microsoft Visual Studio as offering them little in their efforts to ensure the release of quality software. As a developer or tester, you use Visual Studio to code your own tests. But to create certain specialized tests or to manage tests, you typically had to use other Microsoft products, purchase third-party tools, or create a tool from scratch. Your job became even more complex when you needed to model and publish data, organize supporting documents, track bugs, and create test suites such as build verification tests (BVT). The resulting toolset likely produced results that did not transfer among its various tools and storage mechanisms. In one case, an IT group of a finance-sector company had accumulated a number of disparate testing tools that it used through the phases of the development life cycle. Each tool was a separate executable that came from a separate supplier. As a consequence, there was little interaction among the tools, and interaction among the tools' users was impeded. For example, entering a project's requirements in one tool and then copying them to another did not establish a link between the requirements in the databases of the two tools. Because no link was established, changing a requirement in the first tool did not update the data accessed by the other tools being used by the development and testing teams. But now, Visual Studio is better suited for testingBefore an application or Web page can meet its quality and performance goals, it must undergo rigorous testing. Historically, Microsoft Visual Studio has been a product that focused squarely on the software developer, while providing light support for the testing aspects of development. The test engineers in an organization's Quality Assurance group have no doubt correctly perceived past versions of Microsoft Visual Studio as offering them little in their efforts to ensure the release of quality software. As a developer or tester, you use Visual Studio to code your own tests. But to create certain specialized tests or to manage tests, you typically had to use other Microsoft products, purchase third-party tools, or create a tool from scratch. Your job became even more complex when you needed to model and publish data, organize supporting documents, track bugs, and create test suites such as build verification tests (BVT). The resulting toolset likely produced results that did not transfer among its various tools and storage mechanisms. In one case, an IT group of a finance-sector company had accumulated a number of disparate testing tools that it used through the phases of the development life cycle. Each tool was a separate executable that came from a separate supplier. As a consequence, there was little interaction among the tools, and interaction among the tools' users was impeded. For example, entering a project's requirements in one tool and then copying them to another did not establish a link between the requirements in the databases of the two tools. Because no link was established, changing a requirement in the first tool did not update the data accessed by the other tools being used by the development and testing teams. But now, Visual Studio is better suited for testing

    22. Testing Supported Test Types Unit tests Web tests Generic tests Load tests Manual tests Automated tests and groups of tests can be run from the command line These are the test types supported in Visual Studio 2005 Team Test Edition: Unit tests consist of code that exercises a project's functions and methods. Unit tests are used for testing existing source code and they are an essential element of Test-Driven Development. The following sample shows a unit test immediately after its generation. This simple test case targets a single method in the code you're testing. You can now edit this test code, optionally calling methods from the Unit Test Framework library, to customize its behavior. Web tests, which consist of a series of HTTP URLs that can be created or recorded from a browser session. Generic tests, to let you work with your team's existing automated tests and tools. Load tests simulate multiple users running your automated tests. Manual tests, for stepping through tasks that you have not automated. In addition you can run any automated test (all tests other than manual), as well as groups of tests, from a command line. These are the test types supported in Visual Studio 2005 Team Test Edition: Unit tests consist of code that exercises a project's functions and methods. Unit tests are used for testing existing source code and they are an essential element of Test-Driven Development. The following sample shows a unit test immediately after its generation. This simple test case targets a single method in the code you're testing. You can now edit this test code, optionally calling methods from the Unit Test Framework library, to customize its behavior. Web tests, which consist of a series of HTTP URLs that can be created or recorded from a browser session. Generic tests, to let you work with your team's existing automated tests and tools. Load tests simulate multiple users running your automated tests. Manual tests, for stepping through tasks that you have not automated. In addition you can run any automated test (all tests other than manual), as well as groups of tests, from a command line.

    23. Lets take a look at testing in action.Lets take a look at testing in action.

    24. Session Summary The Team System for Developers makes it easier for members of an IT team to work together. The FxCop tool detects errors in Managed Code. FxCop becomes more functional when you take advantage of custom rules The PREfast tool detects errors when using C or C++. Visual Studio .NET 2005 provides performance tools to ensure functionality, simplifying the gathering and of data while clarifying the output. Now, Visual Studio .NET is as focused on testing as it is on developing.

    26. Agenda Creating HTTP endpoints in SQL Server 2005 Accessing Reporting Services reports via URLs and SOAP

    27. Agenda Creating HTTP endpoints in SQL Server 2005 Accessing Reporting Services reports via URLs and SOAP SQL Server 2005 Beta 3 Report Builder (Sneak Peek)

    28. HTTP Endpoints Databases can deal with web service clients directly Using TDS limits potential clients Databases can deal with web service clients directly Using TDS limits potential clients web service check box requirement OLE DB, ODBC, .NET data provider required JDBC driver required free TDS - reduced functionality Web Services from SQL Server HTTP, all clients have it XML, all clients support it How it works? Uses HTTP kernel protocol stack less layers, better scalability and thru-put requires WS2K3 or XP SP2 Can use SSL Inetinfo.exe not usedDatabases can deal with web service clients directly Using TDS limits potential clients web service check box requirement OLE DB, ODBC, .NET data provider required JDBC driver required free TDS - reduced functionality Web Services from SQL Server HTTP, all clients have it XML, all clients support it How it works? Uses HTTP kernel protocol stack less layers, better scalability and thru-put requires WS2K3 or XP SP2 Can use SSL Inetinfo.exe not used

    30. Agenda Creating HTTP endpoints in SQL Server 2005 Accessing Reporting Services reports via URLs and SOAP

    31. Agenda Creating HTTP endpoints in SQL Server 2005 Accessing Reporting Services reports via URLs and SOAP SQL Server 2005 Beta 3 Report Builder (Sneak Peek)

    32. SQL Server 2005 Reporting Services Why URL Access? Displaying reports from a company Web site or SharePoint Allows users to launch reports without Reports Manager How does it work? Using URLs imitates the Report Manager when it addresses reports from the Report Server and enables them to be displayed in a web browser. Parameter Prefixes rs: Report Services rc: Render dsu: Report Data Source dsp: Report Data Source user password dspe: Report Data Source encrypted password

    34. SQL Server 2005 Reporting Services Why Reporting Services and SOAP? Create your own applications that manage reports Render reports in your applications. View and download reports without installing additional software How it works? Add a Web reference to the Web service Specify the security credentials for the proxy object Use the Render method Using a URL is clearly the simplest way to render a report, but there are times when you want more control programmatically. You can render a report using the Report Server Web service in essentially the same way that you get report item information from the Report Server Web service. Follow these steps to render reports using the Report Server Web service: 1. Add a Web reference to the Web service. 2. Specify the security credentials for the proxy object. 3. Use the Render method. The Render method has many parameters, including the full path for the report and the rendering format. You can also pass any report parameters or other options as arguments to the method call. The function returns the rendered report as a byte array so that you can display the report in whatever way you require. For example, you can display an HTML rendered report in a literal Web control, or you can save the report output to a file. Using a URL is clearly the simplest way to render a report, but there are times when you want more control programmatically. You can render a report using the Report Server Web service in essentially the same way that you get report item information from the Report Server Web service. Follow these steps to render reports using the Report Server Web service: 1. Add a Web reference to the Web service. 2. Specify the security credentials for the proxy object. 3. Use the Render method. The Render method has many parameters, including the full path for the report and the rendering format. You can also pass any report parameters or other options as arguments to the method call. The function returns the rendered report as a byte array so that you can display the report in whatever way you require. For example, you can display an HTML rendered report in a literal Web control, or you can save the report output to a file.

    36. Agenda Creating HTTP endpoints in SQL Server 2005 Accessing Reporting Services reports via URLs and SOAP SQL Server 2005 Beta 3 Report Builder (Sneak Peek)

    37. SQL Server 2005 Reporting Services Why Report Builder? Allow business users access to company data in SQL Server 2005 via ad hoc reports How does it work? Familiar Microsoft Office look & feel Model Designer Report templates Click once application Finished reports can be saved by users Built on top of familiar Microsoft Office paradigms (Excel, PowerPoint) Model Designer is the tool used to generate the metadata models used by the Report Builder. Reports built via report templates (table, matrix, chart, combinations) Click once application deployed from the Report Server Users download and launch the client from Report Manager (new or existing report) Finished reports can be saved on the serverBuilt on top of familiar Microsoft Office paradigms (Excel, PowerPoint) Model Designer is the tool used to generate the metadata models used by the Report Builder. Reports built via report templates (table, matrix, chart, combinations) Click once application deployed from the Report Server Users download and launch the client from Report Manager (new or existing report) Finished reports can be saved on the server

    39. Session Summary SQL Server 2005 will be a universal data store for your organization Retrieving data over ubiquitous web service technology is simple and powerful Accessing reports outside of the reporting environment is easy and versatile

    40. Session Summary SQL Server 2005 will be a universal data store for your organization Retrieving data over ubiquitous web service technology is simple and powerful Accessing reports outside of the reporting environment is easy and versatile The new Report Builder Tool brings easy-to-use report creation capabilities to end users

    41. For More Information MSDN Web site at msdn.microsoft.com Visual Studio 2005 Team System for Developers http://lab.msdn.microsoft.com/vs2005/teamsystem/developer/default.aspx FxCop Blog http://weblogs.asp.net/fxcop/ FxCop Home http://www.gotdotnet.com/team/fxcop/

    42. Additional Resources KEY MESSAGE: Additional Resources SLIDE BUILDS: None SLIDE SCRIPT: Here you can find additional resources such as blogs, community-supported wikis, and developer centers. SLIDE TRANSITION: ADDITIONAL INFORMATION FOR PRESENTER: KEY MESSAGE: Additional Resources SLIDE BUILDS: None SLIDE SCRIPT: Here you can find additional resources such as blogs, community-supported wikis, and developer centers. SLIDE TRANSITION: ADDITIONAL INFORMATION FOR PRESENTER:

    43. Post MSDN Event Resources http://www.microsoft.com/dcc Developer community site for this seminar Download presentation slides and demos Newsgroup to answer your questions about this seminar and what we discuss here Links to additional resources and downloads Directory of local resources and events Find out whats coming next from us

    44. .NET User Groups in the Gulf States District! See them all listed at http://www.russtoolshed.net Alabama Birmingham Software Developers Association www.bsda.info Florida Florida.NET user group - Tampa and Also a user group in Miramar and Boca. See all at http://www.fladotnet.net/ Gainesville GatorMug - http://www.gatormug.org/ Gold Coast User Group www.gcdotnet.com/ Jacksonville .NET User Group www.jaxug.com Orlando .NET User Group www.onetug.org Tallahassee .NET User Group http://www.tlhdotnet.net/ West Palm Beach www.pbdotnet.org Space Coast Technology Professionals Association http://www.sctpa.net/

    45. April thru June MSDN events - Russ Tool Shed 1-5pm Web Services Unleashed with vs.2003 SQL 2005 and Reporting services Click Once Deployment with vs.2005 and April 12 Ft. Lauderdale April 14 Miami May 3 Tallahassee May 5 Tampa May 24 Ft. Myers May 26 West Palm June 14 Jacksonville (Rob Jackson) June 16 Orlando June 23 Birmingham (Glen Gordon) June 30 Panama City (Glen Gordon) * .NET Pub Club to follow see http://www.russtoolshed.net or subscribe to the msdn FLash for details To register: http://www.msdnevents.com/russ PowerPoint slides: http://msdnevents.com Code: http://www.microsoft.com/seminar/dcc

    46. Visit the DCC site My site: www.russtoolshed.net My email: rfustino@microsoft.com My Blog: http://blogs.msdn.com/rfustino Email my boss (Mike ONeill) msdnmgrs@microsoft.com Am I doing a good job? Am I doing a poor job? Either way email him! My Book Tinkering with Visual Studio.NET http://tools.netpubclub.net Visit www.TheCodeRoom.com THANKS!!! See you at the .NET Pub Club!!! http://www.netpubclub.net