M10232 Wokingham

Designing Applications for Microsoft SharePoint 2010

M10232: Designing and Developing Microsoft SharePoint Server 2010 Applications
Version: A
Length: 5 Days
Published: September 28, 2010
Language(s): English
Audience(s): Developers
Level: 300
Technology: Microsoft SharePoint Server 2010
Type: Course
Delivery Method: Instructor-led (classroom)
About this Course
This five-day instructor-led course is intended for Microsoft SharePoint Development professionals who are responsible for leading projects, designing solutions, and identifying problems. In this course, students learn the skills and best practices that are required to help organizations design and develop effective SharePoint applications.
Audience Profile
This course is intended for IT professionals who will be responsible for designing custom code for projects that are deployed to SharePoint 2010 servers. To be successful in this course, the student will have at least two years of SharePoint development experience and should have experience with ASP.NET and Microsoft Visual Studio 2010.
At Course Completion
After completing this course, students will be able to:
oDevelop strategies for caching, session state, as well as design for high performance sites by limiting page size and iteration.
oDetermine the most suitable presentation method, visual elements, programmatic objects and multilingual strategy which meets the design objectives.
oEvaluate available data access and storage methods and determine the appropriate implementation for the application requirements.
oIdentify the pros and cons of various data capture options and specify the most effective method or combination of methods for capturing user input.
oEvaluate the use and implementation of SharePoint artifacts and determine which artifacts best meet the needs of the application requirements.
oDesign processing systems to get work done in the solution.
oCreate an effective strategy for implementation and deployment of custom solutions in both development and production environments.
oCreate a development strategy to allow multiple developers and administrators to work together.
oDevise a strategy for developing and deploying upgrades over time as the solution evolves.
oDevelop an information architecture strategy that will support flexibility and growth and a navigation strategy that fits on top of this information architecture.
oPlan a comprehensive branding strategy and determine the necessary application elements required to support that strategy.
oDesign and implement a security approach which supports both code access and end-user functionality.
oDesign an effective strategy for optimizing page render times and data access methods within SharePoint 2010.
oDetermine the appropriate use of unit and integration tests within SharePoint and design an effective strategy for ensuring maximum code reliability.
This course requires students to meet the following prerequisites:
oUnderstanding of the problem-solving techniques that apply to the Software Development Life Cycle (SDLC), including the versioning of software and the management of configuration and content in a software system
oBasic knowledge of Web application architecture
oExperience in developing in a team environment
oWorking knowledge of ASP.NET and Visual Studio
oExperience in SharePoint infrastructure including servers and services
oExperience in SharePoint development including the APIs and XML schemas necessary to create web parts, perform data access, and provision fields, lists, content types, etc.
Course Outline
Module 1: ASP.NET Advanced Concepts for SharePoint
This module helps you to review the essential information regarding ASP.NET including how to improve performance for high-scale sites like SharePoint. This module covers concepts around ViewState, caching, and session state and provides an opportunity to learn to make appropriate choices.
Lessons
oServer Memory
oServer CPU
oTransfer and Client
Lab : Page Size and ViewState
oUsing Fiddler to Observe Page Loading
oUsing Fiddler to Examine Page Size
oReducing Page Size
Lab : Memory and Performance
oStarting a Performance Capture
oReviewing the Report
oResolving Memory Issues and Retest
After completing this module, students will be able to:
oReview the fundamentals of memory management.
oIdentify the key things to drive high CPU utilization.
oIdentify factors impacting client performance.
Module 2: Designing for User Experience
This module provides the key criteria and structure necessary to make appropriate decisions about what kind of user interface component to use based on the needs of the solution.
Lessons
oSharePoint Background
oPage Parts
oPages
oGlobalization and Localization
oDesigning for Accessibility
Lab : Selecting Page Parts
oLine Dashboard
oManager`s Dashboard
oAlert Notification
Lab : Selecting Page Types
oPlant Summary Page
oPlant Configuration Page
oEmployee List
oLine Status
After completing this module, students will be able to:
oReview the fundamentals of SharePoint architecture and how it impacts the page design experience.
oDetermine the appropriate page part in SharePoint for a given situation.
oDetermine the appropriate page in SharePoint for a given situation.
oIdentify the considerations for globalizing and localizing your applications.
oDetermine the design impact of WCAG standards for projects requiring accessibility compliance.
Module 3: Designing for Data
This module explains defining what storage will look like. This module discusses the information about data design critical to the performance and accessibility of the solution. The module also covers scalability issues related to data as well as the structural components such as the use of lists, list definitions, content types, and fields.
Lessons
oList and Library Fundamentals
oLarge Data Strategies
oSharePoint Data Management
Lab : Time Tracking
oCreating List Views
oAdding Indexes
Lab : Invoice Management
oCreating an Invoice Content Type
oEnabling Content Organization
oTesting Content Organization
After completing this module, students will be able to:
oReview the fundamentals of foundation for operating with data in SharePoint.
oEvaluate data size to arrive at potential solutions for large data storage needs.
oManage data to arrive at an appropriate data access strategy.
Module 4: Designing Data Capture and Integration
This module discusses strategies on how to get the data into the system. This module covers the techniques for capturing data - including office integration and integrating to other systems with BCS.
Lessons
oKey Considerations for Data Capture
oDesigning for Data Capture
oDesigning for Integration
Lab : Creating External Lists
oConnecting to the Data Source
oDefining the External Content Types
oDefining the External Lists
oSetting Security for the Content Types
oDefining an Association
Lab : Creating an InfoPath Form
oCreating the Calculations
oPublishing the Form to a SharePoint Library
After completing this module, students will be able to:
oIdentify the key considerations for data capture in SharePoint.
oApply the appropriate approach to data capture in SharePoint.
oIdentify the integration options and technologies that are built into the SharePoint platform including the Business Data Catalog (BDC) and Business Connectivity Services (BCS).
Module 5: Designing Artifacts
This module discusses items that will need to be implemented in SharePoint to tie the user interface and the data structure together. The module covers information about artifacts to begin the transformation of the abstract design into a specific set of deliverables that need to be created through SharePoint.
Lessons
oCustomer Requirements
oCreating Sites
Lab : Incident Response Site
oEvaluating the Requirements
oDesigning the Solution
Lab : Expense Reports
oEvaluating the Requirements
oDesigning the Solution
After completing this module, students will be able to:
oImplement the techniques for evaluating and refining customer requirements.
oDetermine an approach for matching customer requirements to SharePoint artifacts.
Module 6: Designing Processing Solutions
This module covers the details of options for developing solutions. The module provides decision criteria for the determination of sandbox versus full trust (or a hybrid of the two) deployments. The module also provides details for making decisions about processing including how to address long running operations and how to decide the appropriate processing solutions.
Lessons
oMultiserver Configurations
oIn and Out of the Sandbox
oGetting Work Done
oWorking with Workflows
Lab : Designing an Engineering System
oEvaluating Client Capabilities and Requirements
oEvaluating Sandbox Capabilities and Requirements
oEvaluating Farm Deployment Capabilities and Requirements
Lab : Creating a Sensor Report
oDesigning Data Access for Sensor Data
oDesigning a Processing Solution for the Report
oDesigning a Processing Solution for the Approval
After completing this module, students will be able to:
oExplain the processing solutions and approaches that must be created when working in a multiserver environment.
oIdentify the benefits and limitations of the SharePoint Sandbox features.
oDetermine the choices available for in-page, client, event receiver, workflow, and timer execution models.
oEvaluate how SharePoint workflows are executed and the factors impacting design.
Module 7: Designing Packaging
This module addresses the first order problem of factoring the solution into features and packages so that it can be upgraded. This module covers the baseline skills of determining the number, scope, and dependency of features and determining the right number of packages.
Lessons
oUnderstanding Packaging Life Cycle
oEstablishing Design Principles
Lab : Building a Business Document Solution
oDesigning a Solution
oCreate the Final Solution
Lab : Working with Dependencies
oCreating a Common Assembly
oCreating a Dependent Solution
After completing this module, students will be able to:
oExplain how packages are created and delivered.
oDetermine the size of features to be able to effectively maintain the given solution.
Module 8: Designing a Development Strategy
This module focuses on two key items necessary to deploy larger solutions, configuration and logging. This module provides the students a platform to expand the scope of the solution and focus on issues related to dozens of projects on a server, each with its own approach to configuration and logging.
Lessons
oDeveloping for the Enterprise
oThe Role of Logging
oThe Benefits of Application Configuration
Lab : Team-Based Logging and Configuration
oAppraising the List-Based Configuration
oUsing a SharePoint List-Based Configuration
oUsing SharePoint List-Based Logging
oConfiguring the Logging Level
Lab : Operational Logging
oAdding Logging to SharePoint ULS
After completing this module, students will be able to:
oIdentify the team development needs for SharePoint.
oExplain operational and diagnostic logging including the differences and the options for recording.
oDetermine the options for storing configuration in a SharePoint environment.
Module 9: Developing Version and Deployment
This module delves into the challenges of versioning in a SharePoint environment. The module also addresses deployment issues because most deployment issues are related to the versioning process.
Lessons
oApplication Life Cycle Management
oSource Control and Build
oVersioning Strategy
oUpgrading
oDeployment
Lab : Versioning Assemblies
oDefining Base Version
oUpgrading the Assembly
Lab : Feature Upgrade
oCreating Upgrade Manage Page
oAdding Feature to Upgrade
oUpgrading Feature
After completing this module, students will be able to:
oReview the fundamentals of the software development life cycle and its relation to configuration management.
oDesign a Source Control and build strategy.
oDetermine the approach for versioning a given application.
oAddress specific concerns for upgrading a given application that has been deployed to production.
oAssess the effectiveness of deployment strategy.
Module 10: Designing Information Architecture and Navigation
This module helps to draw the distinction between information architecture and branding topics. The module helps to separate taxonomy (organization) from navigation (user interface).
Lessons
oUnderstanding Information Architecture
oPlanning for Software Boundaries
oNavigation
Lab : Developing a Site Structure
oUsing Card Sort
oDesigning Content Types and Site Columns
Lab : Implementing Farm-wide Navigation
oDeploying a Custom SiteMap
oAdding an ASPmenu to a Custom Master Page
After completing this module, students will be able to:
oDetermine the technique necessary to develop an information architecture based on SharePoint.
oExplain the scalability concerns for individual items in SharePoint in the context of information architecture.
oDetermine the appropriate navigation solution for a given application.
Module 11: Designing Branding and Customization Support
This module covers branding options, including what tools can be used to customize the appearance. The module moves us to including the users and power users of the ultimate solution.
Lessons
oIntroduction to Branding
oBranding Options
oBranding Decisions
oManaging User Experience
oPlanning for Customization
Lab : Packaging Branding
oImporting .wsp Files Into Microsoft Visual Studio
oExtracting the File Resources
oWriting the Feature Receiver to Apply Changes
oTesting the Changes
Lab : Improving Brand Performance
oObserving Current Performance
oTurning on BLOB Caching
oObserving BLOB Cached Performance
oObserving _layouts Performance
After completing this module, students will be able to:
oIdentify the need for branding and how it impacts the overall project.
oEnumerate the branding options and their various strengths and weaknesses.
oIdentify the decisions to arrive at the best approach to branding.
oDesign a user experience that includes branding.
oCreate a strategy for managing customizations.
Module 12: Designing Security
This module describes how to design security for performance and provide a holistic view so to evaluate security implications and tradeoffs. This module also outlines the new Claims-Based authentication in SharePoint 2010 and how Forms-Based Authentication fits into this model.
Lessons
oSecurity Within SharePoint
oUsing an Alternate Identity Store
oForms-Based Authentication
oDeeper Look at SharePoint Claims
Lab : Setting Up a Customer Service Site
oSetting Up the Authentication Provider
oCreating an FBA-Claims Site
oOptional Exercise: Viewing Claims for an FBA User
Lab : Solving a Security Issue
oUnderstanding the Scope and Relating it to Configuration
oDesigning a Security Strategy
After completing this module, students will be able to:
oExplain the role of security in SharePoint.
oEvaluate the impact of alternate identity stores on a given security approach.
oDiscuss the challenges and impact of Forms-Based authentication toward solving security concerns.
oDissect SharePoint Claims implementations.
Module 13: Designing for Page and Data Access Performance
This module discusses page and data access performance and how to plan for a high performance site.
Lessons
oOptimizing SharePoint Page Performance
oAnalyzing Performance with the SharePoint Developer Dashboard
oOptimizing SharePoint Data Access Performance
Lab : Designing for Page and Data Access Performance
oUsing the SharePoint Server 2010 Developer Dashboard to Capture Performance Metrics
oLeveraging the SharePoint Server 2010 Search API for Large Data Queries
After completing this module, students will be able to:
oExplain how SharePoint pages are built for optimized performance.
oEvaluate pages with performance issues in terms of elapsed time as well as database impact by using the SharePoint Developer Dashboard.
oDetermine an appropriate SharePoint data access technique to deliver SharePoint data quickly and efficiently for a given scenario.
Module 14: Designing a Testing Strategy
This module discusses what we do at the end of the development process, testing. The module also covers functional testing and scale/performance testing.
Lessons
oTesting Concepts
oUnit Testing
oIntegration Testing
oPerformance Testing
Lab : Designing a Testing Strategy
oConducting Unit Testing
oConducting Performance Testing
oConducting Load Testing
After completing this module, students will be able to:
oEvaluate the core testing concepts and their impact on quality.
oEvaluate the core concepts of unit testing.
oEvaluate the core concepts of integration testing.
oTest the performance of a given solution.

PLEASE NOTE: Every effort has been made to ensure the accuracy of all information contained herein. IT Help and Support Centre Ltd makes no warranty expressed or implied with respect to accuracy of this information, including price, product editorials or product specifications. IT Help and Support Centre Ltd or its suppliers shall not be liable for incidental, consequential or special damages arising from, or as a result of, any electronic transmission or the accuracy of the information contained herin, even if IT Help and Support Centre Ltd has been advised of the possibility of such damages. Product and manufacturer names are used only for the purpose of identification.

This Website is not sponsored by, endorsed by or affiliated with Cisco Systems, Inc. CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, Cisco, Cisco IOS, Cisco Systems, the Cisco Systems logo, and Networking Academy are registered trademarks or trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and certain other countries. All other trademarks mentioned in this web site are the property of their respective owners.