Course 10232: Designing and Developing Microsoft® SharePoint® Server 2010 Applications
|Technology:||Microsoft SharePoint Server|
September 28, 2010
About this course
Audience profileThis 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.At course completionThis 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.After completing this course, students will be able to:
- Develop strategies for caching, session state, as well as design for high performance sites by limiting page size and iteration.
- Determine the most suitable presentation method, visual elements, programmatic objects and multilingual strategy which meets the design objectives.
- Evaluate available data access and storage methods and determine the appropriate implementation for the application requirements.
- Identify the pros and cons of various data capture options and specify the most effective method or combination of methods for capturing user input.
- Evaluate the use and implementation of SharePoint artifacts and determine which artifacts best meet the needs of the application requirements.
- Design processing systems to get work done in the solution.
- Create an effective strategy for implementation and deployment of 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 over time as the solution evolves.
- Develop an information architecture strategy that will support flexibility and growth and a navigation strategy that fits on top of this information architecture.
- Plan a comprehensive branding strategy and determine the necessary application elements required to support that strategy.
- Design and implement a security approach which supports both code access and end-user functionality.
- Design an effective strategy for optimizing page render times and data access methods within SharePoint 2010.
- Determine the appropriate use of unit and integration tests within SharePoint and design an effective strategy for ensuring maximum code reliability.
- Course details
Course OutlineModule 1: ASP.NET Advanced Concepts for SharePointLessonsThis 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.
- Server Memory
- Server CPU
- Transfer and Client
- Using Fiddler to Observe Page Loading
- Using Fiddler to Examine Page Size
- Reducing Page Size
Module 2: Designing for User ExperienceAfter completing this module, students will be able to:
- Starting a Performance Capture
- Reviewing the Report
- Resolving Memory Issues and Retest
LessonsThis 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.
- Review the fundamentals of memory management.
- Identify the key things to drive high CPU utilization.
- Identify factors impacting client performance.
- SharePoint Background
- Page Parts
- Globalization and Localization
- Designing for Accessibility
- Line Dashboard
- Manager’s Dashboard
- Alert Notification
Module 3: Designing for DataAfter completing this module, students will be able to:
- Plant Summary Page
- Plant Configuration Page
- Employee List
- Line Status
LessonsThis 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.
- 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.
- List and Library Fundamentals
- Large Data Strategies
- SharePoint Data Management
- Creating List Views
- Adding Indexes
Module 4: Designing Data Capture and IntegrationAfter completing this module, students will be able to:
- Creating an Invoice Content Type
- Enabling Content Organization
- Testing Content Organization
LessonsThis 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.
- 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.
- Key Considerations for Data Capture
- Designing for Data Capture
- Designing for Integration
- Connecting to the Data Source
- Defining the External Content Types
- Defining the External Lists
- Setting Security for the Content Types
- Defining an Association
Module 5: Designing ArtifactsAfter completing this module, students will be able to:
- Creating the Calculations
- Publishing the Form to a SharePoint Library
LessonsThis 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.
- 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 (BDC) and Business Connectivity Services (BCS).
- Customer Requirements
- Creating Sites
- Evaluating the Requirements
- Designing the Solution
Module 6: Designing Processing SolutionsAfter completing this module, students will be able to:
- Evaluating the Requirements
- Designing the Solution
LessonsThis 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.
- Implement the techniques for evaluating and refining customer requirements.
- Determine an approach for matching customer requirements to SharePoint artifacts.
- Multiserver Configurations
- In and Out of the Sandbox
- Getting Work Done
- Working with Workflows
- Evaluating Client Capabilities and Requirements
- Evaluating Sandbox Capabilities and Requirements
- Evaluating Farm Deployment Capabilities and Requirements
Module 7: Designing PackagingAfter completing this module, students will be able to:
- Designing Data Access for Sensor Data
- Designing a Processing Solution for the Report
- Designing a Processing Solution for the Approval
LessonsThis 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.
- 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.
- Understanding Packaging Life Cycle
- Establishing Design Principles
- Designing a Solution
- Create the Final Solution
Module 8: Designing a Development StrategyAfter completing this module, students will be able to:
- Creating a Common Assembly
- Creating a Dependent Solution
LessonsThis 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.
- Explain how packages are created and delivered.
- Determine the size of features to be able to effectively maintain the given solution.
- Developing for the Enterprise
- The Role of Logging
- The Benefits of Application Configuration
- Appraising the List-Based Configuration
- Using a SharePoint List-Based Configuration
- Using SharePoint List-Based Logging
- Configuring the Logging Level
Module 9: Developing Version and DeploymentAfter completing this module, students will be able to:
- Adding Logging to SharePoint ULS
LessonsThis 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.
- 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.
- Application Life Cycle Management
- Source Control and Build
- Versioning Strategy
- Defining Base Version
- Upgrading the Assembly
Module 10: Designing Information Architecture and NavigationAfter completing this module, students will be able to:
- Creating Upgrade Manage Page
- Adding Feature to Upgrade
- Upgrading Feature
LessonsThis module helps to draw the distinction between information architecture and branding topics. The module helps to separate taxonomy (organization) from navigation (user interface).
- 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.
- Understanding Information Architecture
- Planning for Software Boundaries
- Using Card Sort
- Designing Content Types and Site Columns
Module 11: Designing Branding and Customization SupportAfter completing this module, students will be able to:
- Deploying a Custom SiteMap
- Adding an ASPmenu to a Custom Master Page
LessonsThis 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.
- 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.
- Introduction to Branding
- Branding Options
- Branding Decisions
- Managing User Experience
- Planning for Customization
- Importing .wsp Files Into Microsoft Visual Studio
- Extracting the File Resources
- Writing the Feature Receiver to Apply Changes
- Testing the Changes
After completing this module, students will be able to:Module 12: Designing SecurityThis 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
- Observing Current Performance
- Turning on BLOB Caching
- Observing BLOB Cached Performance
- Observing _layouts 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.
- Security Within SharePoint
- Using an Alternate Identity Store
- Forms-Based Authentication
- Deeper Look at SharePoint Claims
- Setting Up the Authentication Provider
- Creating an FBA-Claims Site
- Optional Exercise: Viewing Claims for an FBA User
Module 13: Designing for Page and Data Access PerformanceAfter completing this module, students will be able to:
- Understanding the Scope and Relating it to Configuration
- Designing a Security Strategy
LessonsThis module discusses page and data access performance and how to plan for a high performance site.
- 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.
- Optimizing SharePoint Page Performance
- Analyzing Performance with the SharePoint Developer Dashboard
- Optimizing SharePoint Data Access Performance
Module 14: Designing a Testing StrategyAfter completing this module, students will be able to:
- Using the SharePoint Server 2010 Developer Dashboard to Capture Performance Metrics
- Leveraging the SharePoint Server 2010 Search API for Large Data Queries
LessonsThis module discusses what we do at the end of the development process, testing. The module also covers functional testing and scale/performance testing.
- 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.
- Testing Concepts
- Unit Testing
- Integration Testing
- Performance Testing
After completing this module, students will be able to:
- Conducting Unit Testing
- Conducting Performance Testing
- Conducting Load Testing
- 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.
This course requires students to meet the following prerequisites:
- Understanding 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
- Basic knowledge of Web application architecture
- Experience in developing in a team environment
- Working knowledge of ASP.NET and Visual Studio
- Experience in SharePoint infrastructure including servers and services
- Experience in SharePoint development including the APIs and XML schemas necessary to create web parts, perform data access, and provision fields, lists, content types, etc.
Looking for training resources, events and advice from peers? Join the Microsoft Training and Certification Community.
Preparing for an exam now? Find your Microsoft Certification Study Group.
Talk to us on these social networks: