fabian williams sharepoint saturday new york bcs deck
DESCRIPTION
SharePoint Saturday New York 7/31/2010 Deck by Fabian Williams delivered.TRANSCRIPT
Getting to know Business Connectivity Services (BCS) Using Visual Studio 2010
SharePoint Saturday New YorkPresenter: Fabian Williams
Twitter: @fabianwilliamsBlog (old): http://FabianGWilliams.wordpress.comBlog (new): http://www.sharepointfabian.com/blogWeb Site: http://www.adotob.com Facebook: http://www.facebook.com/fabianwilliamsLinked In: http://www.linkedin.com/in/fabiangwilliams
Fabian is a Technical Lead and SharePoint Architect for CDW Advanced Technology Services SharePoint Practice. He is based out of Herndon, Va. Prior to CDW, Fabian was the CTO for WING, Inc. Recently, he was the Chief Internet Developer for the Department of Defense's Global Emerging Infections System and a Sales Engineer at Citrix Incorporated
Agenda• What is BCS & Why do you want to know it• What problems does BCS Solve• Our Scenario, Dry Run and Illustrated Gotchas! • Demo
– Inspect the LOB System– Crack Open Visual Studio– Model our BCS Operation– Code our Solution– Publish our Solution– Permissioning – Consume our External Content Type
• Q & A
What is Business Connectivity Services What Problems does it Solve
• Formerly Named Business Data Catalog
• Read/Write Access to External Data• Create No-Code and Code Solutions
to LOB Systems
• Island of Information Challenges• Overhead for IT to Service Requests• Managing Security, Auditing,
Connectivity• Complex/Multiple UI for LOB Systems• Timely Access to Data• Searchability
What is Baked Into the Product – Bag of Tricks so to speak
Secure Store Service
External Data Search
Rich Client Extensions
External Data Web Parts
BDC Client Runtime
Profile Pages
External List External Data Column
Business Data Connectivity Service
SharePoint Server 2010 Office 2010
SharePoint Foundation 2010
BCS is for “Everyone”
Intermediate AdvancedSimple
• 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)
• Out-of-box• Surface data in External
Lists• Connect those lists to
Outlook, SPW• External Data Columns
SharePoint Designer
SharePoint SDK
DeveloperPower User
NO CODE*
Advanced Developer
VisualStudio
CODE
• Customize• InfoPath forms• Workflow• Web Part Pages• Outlook taskpane and
ribbon
Blog: http://fabiangwilliams.wordpress.com Twitter: @fabianwilliams
Gotcha # 1Make sure that you choose .NET Framework 3.5 when you are setting up your Project so you get the correct templates
Gotcha #2 – but more of a call out not a GotchaIf always been asked…”Can you do a BCS Solution as a Sandboxed Solution” .. The answer is NO… because the nature of Sandboxed Solution is that it does not go ANYWHERE beyond the SC and Content Database
Gotcha # 3 – again more of a CalloutUnder your BdcModel1, unless you plan to use the Entity1 Class i.e. you are creating your own object and plan to user the EntityService Class, go ahead and delete them in lieu of the one you will create yourself
Gotcha # 4 Ensure to change your Type Name for your “Read Item” Method List Entity so that your code will know from which type it inherits from to the Current Project and BDC Entity
Gotcha # 4 Ensure that your Rename your ‘Generic’ BCS Model, LOBSystem, LOB System Instances Name to something more representative of what you are doing. Why, For Nomenclature Reasons but more so for Namespace Reasons when using the External Content Types
Gotcha # 5Ensure to set the ETC Permissions once you Deploy your solution; otherwise you will get the “Access is Denied by the BDC” error when you try to render your External List
Parting Knowledge/Disclaimer/ Managing Expectations
• Don’t be afraid of the 14-Root/Hive Log Files when you get Errors, the Correlation ID is your friend and we may see some in todays LIVE demo…
• I have found that if you don’t have a Root Web in your Top Level Site Collection; lets say if you use just managed paths below it and you try to deploy a BCS Solution it says it cant find the Web
• Remember! You cannot update a View that affects Multiple Tables, consider this when you create an External Content Type that spans two tables via a View unless you meet certain requirements… http://msdn.microsoft.com/en-us/library/k625abw5(VS.80).aspx
Demo
Q & A