Designing and Developing Microsoft SharePoint Server 2010 Applications
(Microsoft Training Course: 10232) - 5 days - £1850 exc VAT

Save up to 50% of the cost of some courses: check our Certification Packages or buy F1 Training Vouchers

> Target Audience
This course teaches students the skills and best practices that are required to help organizations design and develop effective SharePoint applications. It is intended for IT professionals who will be responsible for designing custom code for projects that are deployed to SharePoint 2010 servers.
> Course outline
  1. ASP.NET Advanced Concepts for SharePoint
  2. Designing for User Experience
  3. Designing for Data
  4. Designing Data Capture and Integration
  5. Designing Artifacts
  6. Designing Processing Solutions
  7. Designing Packaging
  8. Designing a Development Strategy
  9. Developing Version and Deployment
  10. Designing Information Architecture and Navigation
  11. Designing Branding and Customization Support
  12. Designing Security
  13. Designing for Page and Data Access Performance
  14. Designing a Testing Strategy

Module 1: ASP.NET Advanced Concepts for SharePoint
  • This module covers concepts around ViewState, caching, and session state and provides an opportunity to learn to make appropriate choices.
  • Server Memory
  • Server CPU
  • Transfer and Client
  • Lab: Page Size and ViewState
  • Lab: Memory and Performance
  • Review the fundamentals of memory management.
  • Identify the key things to drive high CPU utilization.
  • Identify 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.
  • SharePoint Background
  • Page Parts
  • Pages
  • Globalization and Localization
  • Designing for Accessibility
  • Lab: Selecting Page Parts
  • Lab: Selecting Page Types
  • Review the fundamentals of SharePoint architecture and how it impacts the page design experience.
  • Determine the appropriate page part in SharePoint for a given situation.
  • Determine the appropriate page in SharePoint for a given situation.
  • Identify the considerations for globalizing and localizing your applications.
  • Determine the design impact of WCAG standards for projects requiring accessibility compliance.
Module 3: Designing for Data
  • This module discusses the information about data design critical to the performance and accessibility of the solution. It also covers scalability issues related to data as well as the structural components.
  • List and Library Fundamentals
  • Large Data Strategies
  • SharePoint Data Management
  • Lab: Time Tracking
  • Lab: Invoice Management
  • Review the fundamentals of foundation for operating with data in SharePoint.
  • Evaluate data size to arrive at potential solutions for large data storage needs.
  • Manage data to arrive at an appropriate data access strategy.
Module 4: Designing Data Capture and Integration
  • This module covers the techniques for capturing data - including office integration and integrating to other systems with BCS.
  • Key Considerations for Data Capture
  • Designing for Data Capture
  • Designing for Integration
  • Lab: Creating External Lists
  • Lab: Creating an InfoPath Form
  • Identify the key considerations for data capture in SharePoint.
  • Apply the appropriate approach to data capture in SharePoint.
  • Identify the integration options and technologies that are built into the SharePoint platform including the Business Data Catalog and Business Connectivity Services.
Module 5: Designing Artifacts
  • 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.
  • Customer Requirements
  • Creating Sites
  • Lab: Incident Response Site
  • Lab: Expense Reports
  • Implement the techniques for evaluating and refining customer requirements.
  • Determine an approach for matching customer requirements to SharePoint artifacts.
Module 6: Designing Processing Solutions
  • This module provides decision criteria for the determination of sandbox versus full trust (or a hybrid of the two) deployments. It also provides details for making decisions about processing solutions.
  • Multiserver Configurations
  • In and Out of the Sandbox
  • Getting Work Done
  • Working with Workflows
  • Lab: Designing an Engineering System
  • Lab: Creating a Sensor Report
  • Explain the processing solutions and approaches that must be created when working in a multiserver environment.
  • Identify the benefits and limitations of the SharePoint Sandbox features.
  • Determine the choices available for in-page, client, event receiver, workflow, and timer execution models.
  • Evaluate how SharePoint workflows are executed and the factors impacting design.
Module 7: Designing Packaging
  • This module covers the baseline skills of determining the number, scope, and dependency of features and determining the right number of packages.
  • Understanding Packaging Life Cycle
  • Establishing Design Principles
  • Lab: Building a Business Document Solution
  • Lab: Working with Dependencies
  • Explain how packages are created and delivered.
  • Determine the size of features to be able to effectively maintain the given solution.
Module 8: Designing a Development Strategy
  • 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.
  • Developing for the Enterprise
  • The Role of Logging
  • The Benefits of Application Configuration
  • Lab: Team-Based Logging and Configuration
  • Lab: Operational Logging
  • Identify the team development needs for SharePoint.
  • Explain operational and diagnostic logging including the differences and the options for recording.
  • Determine 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.
  • Application Life Cycle Management
  • Source Control and Build
  • Versioning Strategy
  • Upgrading
  • Deployment
  • Lab: Versioning Assemblies
  • Lab: Feature Upgrade
  • Review the fundamentals of the software development life cycle and its relation to configuration management.
  • Design a Source Control and build strategy.
  • Determine the approach for versioning a given application.
  • Address specific concerns for upgrading a given application that has been deployed to production.
  • Assess 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.
  • Understanding Information Architecture
  • Planning for Software Boundaries
  • Navigation
  • Lab: Developing a Site Structure
  • Lab: Implementing Farm-wide Navigation
  • Determine the technique necessary to develop an information architecture based on SharePoint.
  • Explain the scalability concerns for individual items in SharePoint in the context of information architecture.
  • Determine 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.
  • Introduction to Branding
  • Branding Options
  • Branding Decisions
  • Managing User Experience
  • Planning for Customization
  • Lab: Packaging Branding
  • Lab: Improving Brand Performance
  • Identify the need for branding and how it impacts the overall project.
  • Enumerate the branding options and their various strengths and weaknesses.
  • Identify the decisions to arrive at the best approach to branding.
  • Design a user experience that includes branding.
  • Create a strategy for managing customizations.
Module 12: Designing Security
  • This module describes how to design security for performance and provide a holistic view 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.
  • Security Within SharePoint
  • Using an Alternate Identity Store
  • Forms-Based Authentication
  • Deeper Look at SharePoint Claims
  • Lab: Setting Up a Customer Service Site
  • Lab: Solving a Security Issue
  • Explain the role of security in SharePoint.
  • Evaluate the impact of alternate identity stores on a given security approach.
  • Discuss the challenges and impact of Forms-Based authentication toward solving security concerns.
  • Dissect 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.
  • Optimizing SharePoint Page Performance
  • Analyzing Performance with the SharePoint Developer Dashboard
  • Optimizing SharePoint Data Access Performance
  • Lab: Designing for Page and Data Access Performance
  • Explain how SharePoint pages are built for optimized performance.
  • Evaluate pages with performance issues in terms of elapsed time as well as database impact by using the SharePoint Developer Dashboard.
  • Determine 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 functional testing and scale/performance testing.
  • Testing Concepts
  • Unit Testing
  • Integration Testing
  • Performance Testing
  • Lab: Designing a Testing Strategy
  • Evaluate the core testing concepts and their impact on quality.
  • Evaluate the core concepts of unit testing.
  • Evaluate the core concepts of integration testing.
  • Test the performance of a given solution.
> Pre-Requisites
Before attending this course, students must have the following pre-requisites:
  • An understanding of the problem-solving techniques that apply to the Software Development Life Cycle.
  • Basic knowledge of Web application architecture.
  • Working knowledge of ASP.NET and Visual Studio.
  • Experience in SharePoint infrastructure and development.
> Purpose
After completing this course, students will be able to develop strategies for high performance sites; determine the most suitable presentation method to meet the design objective; evaluate available data access and storage methods; identify the most effective method for capturing user input; evaluate the use and implementation of SharePoint artifacts; design processing systems; implement and deploy custom solutions in both development and production environments; create a development strategy to allow multiple developers and administrators to work together; devise a strategy for developing and deploying upgrades; develop an information architecture strategy that will support flexibility and growth; plan a comprehensive branding strategy; design and implement a security approach; design an effective strategy for optimizing page render times and data access methods; design an effective strategy for ensuring maximum code reliability.