GP15 Louis Maresca Software Development Engineer Microsoft Corporation “Explore the basics of Web Services for Microsoft Dynamics GP as we review when and how to leverage this technology. “ “We'll demonstrate how to fully utilize Web Services and you'll walk away with insight and knowledge into how this technology translates into greater opportunities for your organization. “ How many of you are coders? (implementers?) How many are you are PM’s? Who has used Web Services (in general)? Who has used GP Web Services before? What is GP Web Services? How to use Web Services? Some Code… ahhh! Examples Best Practices WSDL: Web Service Description Language SOAP: Simple Object Access Protocol Proxy: Service Proxy Object ASMX: Web Service Page Decoupled Loosely Typed – Strongly Typed SOURCE: FORRE Do you understand the GP Data Model? Tables|Fields|Relations? WS is a way to talk to GP with out having to understand the BackEnd. Lets Hide\Encapsulate all the complex stuff and talk to something descriptive (human readable!!) GP Web Services Workflow BDC / Search Portals GP Web Services -Installs to IIS server, and to SQL server. -Consoles can be installed on any machine that can talk to IIS. -Dependency is on -eConnect: It needs access to API through COM+, and stored procedures. -IIS -ADAM/Azman for security CRM Integration Dynamics Mobility Server Busines s Portal server -Dependency is on - GP Web Services Business Portal -Installs to IIS and SQL server -Dependency is on -GP Web Services -eConnect -MBF -MOSS -WSS Workflow -Installs to MOSS/IIS Server -Dependency on GP Web Services and CRM Integration Windows Workflow -Dependency is on: GP Web Services GP BDC – Search (Office 12) -Installs to MOSS/IIS Server and to SQL Web Service Layer Business Logic Layer Data Access Layer Security What can the service do? Contract 300+ Operations Standard Naming Convention Get’BusinessObject’ByList Get’BusinessObject’ByKey Create’BusinessObject’ Delete’BusinessObject’ Void’BusinessObject’ Strongly typed Descriptive ‘things’ that are returned (objects) rather than TEXT (xml) Returns Customer Service Proxy Request (GetCustomerByKe y) Request Service CustomerFOO WSDL (Description) Exception Subsystem Create/Update/Delet e Get / GetList Security Subsystem Policy Subsystem Security Subsystem Role Based What Operations belong to that Role? What Tasks Belong to those operations? (e.g., Sales Person) What do can you see? You are a SalesPerson and you are assigned to a set of customers GetList (basedonCustomerId) returns only the customers you are assigned What is a Policy? Internal Policies e.g., Force Credit Limit(s) External Policies e.g., Create a customer with a default Class ID Role Based Each role can have a different set of policies. There is an error…Is it safe to send back the details?! Not necessarily! We return a “error”, but to see all of the data, information behind the issue, you can retrieve it from the Exception Service Expose Exception Method We talk to the Back Office For you… Business Logic/ Validation is done against the data, and performed automatically This is the “magic” layer for you… 1) Create a Proxy, or use the shipped one 2) Generate a Context 3) Decide, from the Proxy, What Web Operation you are calling 4) Build up your operation call using strongly typed objects in the interface DynamicsGP clientProxy = new DynamicsGP() That’s IT! Is this slow for you? Why is it slow sometimes?!!!!! [Best Practice] What happens underneath? Do you really want to know? Thinning the contract… How?! Create a new ASMX, point it to our assembly That’s it! Want a demo? Properties Organization Key CultureName Currency Role Key WorkOnBehalfOfa The Service Contract exposes various CRUD operations that include additional GP Specific operations Get_ : GetList_ : Create_ : Update_ : Delete_ : Void_ : Retrieves individual Documents Returns a Collection of objects Creates new document Updates an existing document Deletes an existing document Voids an existing transactions 300+ Web Operations Quick… Your feedback is important! Two ways to access online evaluation forms CommNet and evaluation stations located throughout the New Orleans Morial Convention Center From any wired or wireless connection to www.msconvergence.com/home.aspx Be eligible to win great daily prizes and the grand prize – a $5,000 Travel Voucher! For more information please refer to your Conference Guide Note: For every attendee who completes an evaluation, Convergence will donate $1 to the Boys & Girls Club of Southeast Louisiana © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.