Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra
Surface data from back-end server applications with out any code Metadata Model Describe the API of the business application Applications registered by administrators
Integrate other systems with SharePoint sites Reporting dashboards Line of business applications Integrate Business Data Catalog data into hybrid Windows Forms Applications Search for data in other systems via the SharePoint Search service Save the time, cost, and monotony of writing yet another data layer!
Surface existing back end data in out-of- the-box Web parts INTERMEDIATE ADVANCED SIMPLE Index data to make it searchable Use columns Create dashboards Use custom code to integrate data inside other applications
Metadata Business Data Catalog Web PartsListsSearch User Profiles Custom Apps Database WS Proxy ADO.NET Web Service SQL Server, Oracle, OLEDB, ODBC BizTalk Server, SAP, Siebel, Legacy, … List store Search Index Profile Store
1. Analyst defines business requirements 2. IT Pro / developer writes and tests application definition (metadata) 3. IT Pro uploads application definition 4. Analyst builds solution using business data features
Every MetadataObject has a Properties collection Business Data Features make use of certain annotations You can extend the metadata for your own applications CustomerName...
One method of an entity is designated the Finder, another the SpecificFinder Finder returns a collection of instances given a set of filters SpecificFinder returns a single instance given a key...
Control the data finders return Annotations on a Method’s input parameters Declare which inputs users can override Various types: wildcard, exact match, … System filters allow BDC to securely set values, e.g., user token...
Model relationships between entities Has one or more source entities and one destination entity Is a method instance Takes source instance(s) and returns a destination instance <Association Name=“CustomerToOrder“ AssociationMethodName=“GetOrdersByCustomer“>
Full-text search any application BDC crawl protocol has two phases ID Enumeration: Fetch all entity instance IDs Detail fetch: Fetch details for each instance IDEnumerator returns the IDs SpecificFinder returns the details...
Link, don’t replicate Scenarios so far are read-only Where should business logic reside? For writes, link to existing app UI, web forms, etc. Actions are links that travel everywhere with an entity Users can take action in context
Use custom actions to take users to: Server-side InfoPath forms Custom ASP.NET pages The LOB vendor’s own Web interface Back to the business logic question Logic probably already resides somewhere why duplicate