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.