170 likes | 498 Views
The Business Data Catalog for Developers. Penny Coventry. Customer Needs Based on SPS 2003 feedback. Interact with business applications Allow business data to surface from backend applications Less integration code Deep integration of data into the places users work
E N D
The Business Data Catalog for Developers Penny Coventry
Customer NeedsBased on SPS 2003 feedback Interact with business applications Allow business data to surface from backend applications Less integration code Deep integration of data into the places users work New application types that blend data and collaboration Structured data search Bridge portal and business application UI Centrally manage security, auditing, connections
So how do we do this today? • Custom Web Parts • Web page clipping • Data View Web Part (DVWP)
How will you do it tomorrow? • Same as today • Microsoft Office SharePoint 2007 • Excel Calculation Server • Office Forms Server (OFC) • Business Data Catalog (BDC)
What is the BDC?Connects Office servers to business data • Core service of MOSS 2007. • Designed for connecting, mapping and fetching data. • Bridges the gap between business data and SharePoint features • Web Pages • Lists • Search • User profiles
Business Data Catalog APITwo halves: runtime and administration • Runtime API • Browse metadata, execute methods, retrieve instances, traverse relationships • For custom application builders • Administration API • Create, read, update, and delete metadata and manage permissions • For administrators • For ISVs building metadata management tools • Our features use these public APIs
Metadata Model OverviewDescribed by a Application Definition File Two purposes Describe a system’s API Give meaning to the API; make it easily usable Key objects LobSystem – A data source (Siebel, SAP) Entity – A real-world thing (Customer) Method – An operation on an Entity (GetCustomerList) MethodInstance – A way to use a Method Filters Actions - just a URL associated with an entity Appear everywhere an entity appears Users can take action in context Association – A relationship between Entities (Customers have Orders)
Properties Use the metadata how you want • Every MetadataObject has a Properties collection • Business Data Features make use of certain annotations • You can extend the metadata for your own applications <Entity Name=“Customer”> <Properties> <Property Name=“Title”>CustomerName</Property> </Properties> ... </Entity>
Finder MethodsA standard way to find entity instances • 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 <Entity Name=“Customer”> <Methods> <Method Name=“GetCustomer”> <MethodInstance Type=“Finder” ... /> ... </Method> </Methods> </Entity>
FiltersControl the data finders return • Annotations on a Method’s input parameters • Declare which inputs users can override • Various types: wildcard, exact match, … <Method Name=“GetCustomer”> <FilterDescriptors> <FilterDescriptor Name=“Region” Type=“ExactMatch”/> </FilterDescriptors> <Parameters> <Parameter Name=“Region” Direction=“In”> <TypeDescriptor ... AssociatedFilter=“Region”/> ... </Method>
AssociationsModel 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“> <SourceEntity Name=“Customer"/> <DestinationEntity Name=“Order"/> </Association>
IDEnumerators And SearchFull-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 <Method Name=“GetCustomerIDs”> <Parameters> ... </Parameters> <MethodInstance Type=“IDEnumerator” ... /> </Method>
Actions And WritebackLink, don’t replicate • Scenarios so far are read-only • For writes, link to InfoPath forms, web forms, or app UI • Actions are links that travel everywhere with an entity • Users can take action in context <Entity> <Actions> <Action Name=“Edit” Url=“http://customerweb/edit.aspx”/> </Actions> </Entity>
Tools to simplify metadata creation with the BDC Administration API • SQL database metadata generator • http://www.codeplex.com/Wiki/View.aspx?ProjectName=DBMetadataGenerator • MOSS BDC MetaData Manager • http://www.sharepointblogs.com/tbaginski/archive/2006/07/16/9259.aspx
What to do next! Expose your line-of-business data via web services or databases Strategic Microsoft Integration technology Write BDC-friendly web services Finders, SpecificFinders, IDEnumerators, … Use Links – don’t replicate - Actions Keep up-to-date Start using Beta 2. Microsoft will enhance the capabilities of BDC further Line of Business Interoperability (LOBi) for Office SharePoint Server 2007 – major step in that direction Use the business data features to create new and better applications faster Simplify your custom integration code with the BDC Runtime API
More information • MOSS 2007 SDK • BDC samples: Home page • http://www.gotdotnet.com/codegallery/CodeGallery.aspx?id=5e078686-a05c-4a44-a131-88d75e550be8 • Office Business Application (OBA) Development Portal • http://msdn.microsoft.com/office/tool/OBA/default.aspx