410 likes | 680 Views
SharePoint 2010 Composites. James May and Mel Leeb. Bennett Adelson. SharePoint 2010 Composites Overview. Overview. What are Composites? Composites Features Business Connectivity Services Building Composite Applications Planning - External Content Types / Lists Architecture Demos.
E N D
SharePoint 2010 Composites James May and Mel Leeb Bennett Adelson
Overview • What are Composites? • Composites Features • Business Connectivity Services • Building Composite Applications • Planning - External Content Types / Lists • Architecture • Demos
Microsoft SharePoint 2010The Business Collaboration Platform for the Enterprise and the Web Sites Connect and Empower People Composites Communities Cut Costs with a Unified Infrastructure Rapidly Respond to Business Needs Insights Content Search
Challenges of IT Development Teams Productivity Demands Backlog Resource scarcity Business Satisfaction Governance
Tension between business and IT EMPOWERMENT Access Agility Adaptability Self-service Innovation CONTROL Governance Management Centralization Consolidation Cost controls
Challenges With Back End Data End User Challenges Multiple user interfaces External systems can be difficult to use Can't work with the data when and where I want to Can’t easily search for business data IT Challenges • Islands of business data • Overhead for IT to service all user requests • Manage security, auditing, connectivity • One off projects for connecting to external systems • Need to involve IT to service my requests for data access
SharePoint Composites Functionality • Leverage enterprise data through Business Connectivity Services • Surface enterprise data in Outlook, Word, and Workspace • Provide full read and writeaccess, offline or while connected • Easily enable Search across these systems Unlock the value of your enterprise data • Empower business users with browser-based customizations • Build declarative sophisticated solutions with SharePoint Designer • Create human workflows and visualizations with Visio Services • Share and publish databases with Access Services Rapidly create no-code collaborative solutions • Manage custom code with Sandboxed Solutions • Manage desktop solutions with Visio, InfoPath and Access Services • Maintain flexibility with deployment online or on premise • Maintain operational insight with health monitoring Maintain control over end user solutions
Composite Services • Access Services • Business Communications Services • Forms Services • Visio Services • Workflows
Business Connectivity Services • External Lists • Read / write capability • Secure integration to Office 2010 clients • Users can take their lists off-line through SharePoint Workspaces, or Outlook 2010 and synchronize updates or refresh LOB data that they use on the road
SharePoint Workspace • Offline capable • InfoPath forms UI (customizable) • Respects SharePoint view settings (filter/sort/group) • Error/conflict resolution • Search across business data
Development Environment • Browser-based customization • SharePoint Designer 2010 • Visual Studio • Sandbox Solutions
Out-of-box Surface data in External Lists Connect those lists to Outlook, SPW External Data Columns Solution Types • Custom connectivity for data aggregation, transformation, security, etc. • Use custom code to integrate data into any Office app • Business logic in forms • Create reusable components (UI parts, ECTs, actions) • Customize • InfoPath forms • Workflow • Web Part Pages • Outlook task pane and ribbon Simple Intermediate Advanced NO CODE* CODE SharePoint Designer SharePoint SDK Visual Studio Advanced Developer Developer Power User
SharePoint Designer 2010 • Designed to easily and securely connect with external data sources through BCS • Enhanced workflow designer • Custom actions • Code-free • Manageable
Assemble Solutions with SharePoint Designer • Discover • Database • Web services • .NET type • Map operations • Create, read, update, delete, lookup • Connect to SharePoint/Office • External List • Contact • Task • Appointment • Post
Build Applications with VS2010 • Professional developer solutions in Visual Studio • Simple drag and drop experience • Create reusable components (UI parts, External Content Types, actions) • Custom Office Integration (add-ins) • Custom connectivity • .NET Assembly Connector • Custom Connector • Code-based business logic
What is an External Content Type? • Reusable collections of metadata • Contain • Connectivity information • Data definitions • Behaviors • Dedicated Business Data Connectivity service database • Example, Customer or Order
Using External Content Types SharePoint External Lists SharePoint Workspace with InfoPath Forms Outlook Forms and Task Panes External Content Type Customer CustomerID FirstName LastName PhoneNumber EmailAddress Search Results External data Office Applications
BCS Features by SharePoint Version • The following features are supported in SharePoint Foundation 2010: • External Lists • External Data Columns • Business Data Connectivity (BDC) Service • The following additional features are supported in SP 2010 Standard: • Secure Store • External Data Search • Profile Pages • The following additional features are supported in SP 2010 Enterprise: • Business Data Web Parts • Rich Clients Integration (Office Professional Plus 2010) • The following features are supported in Office Professional Plus 2010: • External Data in Outlook, Word, SharePoint Workspaces See: http://msdn.microsoft.com/en-us/library/ee556390%28office.14%29.aspx
BCS vs. BDC – Architectural Differences • BCS has richer feature set for Presentation of data • Data is now available in SharePoint Workspace, Office Clients, etc. • Wider choice when it comes to Connectivity • BDC could only talk to Web Services or ADO.NET data providers. BCS can also communicate with WCF services or .NET components • BDC was read-only. BCS is designed for both read and write • BDC was difficult to create solutions because of the lack of a designer. BCS has much better tooling support in both SharePoint Designer and Visual Studio
Connectivity • Business data connectivity enhancements • Read/write capability • Batch and bulk operation support • Claims aware • Available now in SP Foundation (Enterprise CAL not needed) • Connect via ADO/SQL, WCF/WS, .NET Assembly connectors • Symmetrical server and client runtimes • Connect from client or server directly to external data • Rich client cache • Allows for “cached mode” behavior on external data
Business Data Connectivity Presntation in SharePoint Business Data Connectivity (BDC) BDC Metadata Store BDC Client Runtime BDC Server Runtime Client Data Cache DB Connector WCF/WS Connector .NET Assembly Connector Custom Connector Client to Backend Direct Connection External data Custom .NET assembly SQL SAP ORACLE Siebel
Business Connectivity Services Enhance SharePoint platform capabilities with out-of-box features, services and tools that streamline development of solutions with deep integration of External Data and Services. Office Apps BDC Client Runtime Offline Operations Cache Design Tools SharePoint 2010 SharePoint Designer Enterprise Search Social Comp Business Intelligence Enterprise content mgmt Collaboration Visual Studio ECT Store BDC Runtime Security Solution packaging Out of box UI Dynamics SAP Siebel LOB Web 2.0
BCS Architecture Office Client SharePoint Server 2010 SharePoint Site External Business Parts VSTO Package External List Custom Code Office Integration Search, Workflow, Web Parts Business Connectivity Services Secure Store Service (SSS) Business Connectivity Services Client Runtime Cache Custom WCF SQL External Content Types (ECT) Server Runtime External Data .NET Connector
Secure Store Service (SSS) • The SharePoint 2007 Single Sign On (SSO) service is now replaced with the SSS • Allows you to securely store credentials in an encrypted database, which can be queried at runtime by running applications • You can provide credential “mapping” down to a per-user, per application basis if you wish • Problems the SSS helps solve for you • Managing identities in a central location • Connection Pooling – You can map many users to a single login • The “Double Hop” Issue
Creating a “No Code” BCS Solution • Implementing CRUD functionality for the Northwind Customers data • Steps • Create an External Content Type • Specify the mapping to Outlook (ex. - be represented as a Contact list) • Create a Profile page for an ECT • Use that Content Type inside of an External List • Ensure access to BCS Entity and database are configured in the Secure Store Service
Editing External Contacts in Outlook • “Connect to Outlook” button in SharePoint UI will generate a .vsto package at runtime and prompt you to install it • After installation, note that all of the Northwind customers are now available as “Contacts” in a separate .pst file
Using the Secure Store Service • Configuring the Northwind ECT to use the SSS Service • Mapping users identities to backend SQL Server Logins
Why create a VS Solution for BCS? • Example: BCS knows how to render info in LOB in lists in SP w/o having to write any code using SharePoint Designer but the look is a "FLAT" list. (Ex. - What if our data is stored such that we need / want to display it in a hierarchical fashion?) • How? … Create a ".NET Assembly Connector“ ("Business Data Connectivity Model" project type in VS 2010) • A connector between SP and an external data store • Can allow you to implement portions of BCS that are not implemented in the SP designer • You have more control
Creating a .NET Connector Assembly and Custom Web Part to Display LOB Data
Why not write a custom Web Part yourself to get the External Data Yourself? • A lot of items related to presenting a scalable application in SP is already a part of what BCS gives you, such as built-in support for: • BCS has built-in support for paging, throttling results • Is integrated with SharePoint so it knows how to render basic lists with little to no code • Items in BCS can be used in many other ways • You can use your ECT as a “lookup" for other Lists • You can use it as metadata that appears in Word (i.e. - Quick Parts) • You can run searches against your ECT • You can even use it to supplement User Profile data inside of SharePoint
Working with Offline Documents in BCS • Create an Add-In to take our BCS documents offline (in Word) • Office 2010 installs on the client machine a client-side "cache" for BCS (i.e. - so you can take your SP lists offline) • Providing the offline “Sync” functionality via code
Additional SharePoint 2010 Resources • Scott Hillier‘s “10 Solutions Every SharePoint Developer Should Know How to Create” LiveLessons DVD at Amazon.com • Building Solutions for SharePoint 2010 by SahilMalik