hspug-feb2011-freeman

3
Real World Case Study: Bridging the Service Gap between Foundation and Standard Editions of SharePoint 2010   This session covers the challenges, architectural approaches, decision points, and solution elements involved in delivering a customized collection of Standard Edition services to a client that is implementi ng only the Foundation Edition of SharePoint 2010. The content of the session centers on concepts and challenges from a planning point of view and includes discussions about organizational/technical considerations and constraints particular to satisfying business requirements (many of which are specific to the client's business model). Due to IP rights asserted by the client, no implementation code or documentation can be distributed, but the session does present the service interface framework that was implemente d and will contain enough material to help SharePoint Developers and Architects learn some lessons from the challenges encountered and aid in realizing the extensibility of the SharePoint and .Net API's. The session will conclude with informati on regarding links to resources and tools used as part of the solution, as well as current information about the upcoming SharePoint Saturday event in May 2010. Below is a high-level outline of the discussion points: The Backstory: How Did We Get Here? During initial technology discovery and POC activities in early 2010, the client became enamored with certain features available with the Standard Edition of SharePoint 2010, specifically the MMS,  Content Type Hub, and Global Term Sets. However, for a 100,000+ user base, the license fees from Microsoft were well outside of budget estimates . Our  team was then tasked with delivering an approximatel y equivalent service set (via custom coding) to not only meet organizational business requirements, but also provide additional Enterprise-level service s to enforce specific governance rules, a controlled site provisioning system, and centralized monitoring and reporting of process activities. Business Requirements  Emulate services found in Standard edition: o  Centralized control of metadata tagging and enforcement o  Centralized origination and control of metadata tag value sets (term sets), including default value and permission assignments based on specific site and list context o  Centralized origination and synchronization of Content Types, Site Fields, Lists, and List Fields between source and ta rget sites;  allow site-specific auto- assignment via ‘push’ model as well as site-specific subscriptions via ‘pull’ model    Custom field types (with extended attributes/services) mapped to centrally managed value sets (term sets)  Centralized Enterprise configuration values (i.e. - timer job directives, site-specific configurations, etc.)  Enterprise enforcement of governance via Content Types and mapped custom field types  Global Services should be discoverable and accessible by client types outside of SharePoint processes (command processes , HTTP/Web processes, WinForm processes)  Other requirements : o  Provide for template-based site provisioni ng using high-level generalized templates and ‘buffet-style’ feature activation

Upload: qarjami

Post on 08-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

8/7/2019 HSPUG-Feb2011-Freeman

http://slidepdf.com/reader/full/hspug-feb2011-freeman 1/3

Real World Case Study: Bridging the Service Gap between

Foundation and Standard Editions of SharePoint 2010 

 

This session covers the challenges, architectural approaches, decision points, and solution elements involved in delivering a customized

collection of Standard Edition services to a client that is implementing only the Foundation Edition of SharePoint 2010. The content of 

the session centers on concepts and challenges from a planning point of view and includes discussions about organizational/technical

considerations and constraints particular to satisfying business requirements (many of which are specific to the client's businessmodel). Due to IP rights asserted by the client, no implementation code or documentation can be distributed, but the session does

present the service interface framework that was implemented and will contain enough material to help SharePoint Developers and

Architects learn some lessons from the challenges encountered and aid in realizing the extensibility of the SharePoint and .Net API's.

The session will conclude with information regarding links to resources and tools used as part of the solution, as well as current

information about the upcoming SharePoint Saturday event in May 2010. Below is a high-level outline of the discussion points:

The Backstory: How Did We Get Here?

During initial technology discovery and POC activities in early 2010, the client became enamored with certain features available with

the Standard Edition of SharePoint 2010, specifically the MMS,  Content Type Hub, and Global Term Sets. However, for a 100,000+ user

base, the license fees from Microsoft were well outside of budget estimates. Our  team was then tasked with delivering anapproximately equivalent service set (via custom coding) to not only meet organizational business requirements, but also provide

additional Enterprise-level services to enforce specific governance rules, a controlled site provisioning system, and centralized

monitoring and reporting of process activities.

Business Requirements

  Emulate services found in Standard edition:

o Centralized control of metadata tagging and enforcement

o Centralized origination and control of metadata tag value sets (term sets), including default value and permission

assignments based on specific site and list context

o Centralized origination and synchronization of Content Types, Site Fields, Lists, and List Fields between source and targetsites;  allow site-specific auto-assignment via ‘push’ model as well as site-specific subscriptions via ‘pull’ model 

  Custom field types (with extended attributes/services) mapped to centrally managed value sets (term sets)

  Centralized Enterprise configuration values (i.e. - timer job directives, site-specific configurations, etc.)

  Enterprise enforcement of governance via Content Types and mapped custom field types

 Global Services should be discoverable and accessible by client types outside of SharePoint processes (command processes,

HTTP/Web processes, WinForm processes)

 Other requirements:

o Provide for template-based site provisioning using high-level generalized templates and ‘buffet-style’ feature activation

8/7/2019 HSPUG-Feb2011-Freeman

http://slidepdf.com/reader/full/hspug-feb2011-freeman 2/3

Real World Case Study: Bridging the Service Gap between

Foundation and Standard Editions of SharePoint 2010 

 

o Provide for centralized exception and event logging services

o Provide for internal permission elevation (where justified) to accomplish interactive tasks across sites and farms

o Provide for instrumentation of critical processes to allow for administrative server alerts (where desired)

o Provide list-based presentation controls to replace use of XML DataView web parto Provide list-based menu and breadcrumb web part

o Allow provisioning, content migrations, and maintenance activities to be performed by administrators not familiar with

SharePoint

Challenges & Organizational Constraints

 Use of SharePoint Designer is not allowed in any production environment

 No native publishing or content-approval processes available; existing organizational processes and procedures take precedence

 Application and Data environments are highly segmented; strict procedural protocols are enforced

  The organization implements a detailed and process-heavy vetting protocol for introduction and adoption of third-party

components and services

  Software guidelines are well-established; governance, not so much

  SharePoint is not the established platform; user adoption is crucial

  The executive staff issued the directive, but a fair amount of SharePoint skepticism exists at the director level

 As usual, budget and time constraints apply to the first release

  Expect an extensive outside third-party evaluation of our approaches and patterns

Scope of the Service Set 

 Global Services and Resources Site, including supporting SharePoint Jobs and Events

  Emulation of Standard Features (Managed Metadata Service, Content Type Hub, and Term Sets)

  Site Provisioning Model

  Page Provisioning Model

  Custom Master Pages, Styles, Jscript, and Web Parts

Architectural Approaches

Systems Design  Emphasis on SOA approach; think high-cohesion and low-coupling

  Plan for change; it’s the only true constant in systems design  

  Leverage existing framework services; don’t re-invent what’s already available 

8/7/2019 HSPUG-Feb2011-Freeman

http://slidepdf.com/reader/full/hspug-feb2011-freeman 3/3

Real World Case Study: Bridging the Service Gap between

Foundation and Standard Editions of SharePoint 2010 

 

  Extend on existing services where possible

  Plan for eventual platform upgrades:

o Minimize one-off customizations; thoroughly justify & document if actually performed

o No modifications to system files in 14 hive!  Emphasis on templates and features for flexibility of design implementation

Coding Practices: Minimize technology-specific services; avoid assumptions of certain contexts in design

  Emphasis on highly-controlled migration of releases across environments using checklists and detailed ‘move sheets’ 

  Emphasis on proactive, standardized coding practices; all code is ‘owned’ and directly accountable to someone

  Services should communicate to their callers robust contextual information about the result of their activities; think Custom Types

  Powershell should play a large part in provisioning, content migration and maintenance activities

  Ease of maintenance and recoverability via detailed logging and built-in ‘tunability’, ‘testibility’ and instrumentation

The Solution Set Realized Governance document finalized

  External audit completed

 Deployment of initial sites to production in Dec 2010

  Currently processing a flood of requests for new sites and extended services

Lessons Learned

  The .Net Framework holds a lot of surprises and not-well advertised utilities; take time to investigate the namespaces, specifically

System.Net, System.Web, ….. 

  Is there ANYTHING Powershell can’t do?? 

 When approaching technical challenges, first question should be “Has anyone already done this?”