Download presentation
Presentation is loading. Please wait.
Published byLuke Stevens Modified over 9 years ago
1
#GPUGSummit | #INreno15 #GPUGSummit DEVELOPING SERVICE APPLICATIONS WITH DEXTERITY A NO NONSENSE STEP-BY-STEP GUIDE David Musgrave MVP Managing Director, Winthrop Development Consultants Mariano Gomez MVP Senior Software Engineer, Mekorma
2
#GPUGSummit | #INreno15 Introductions Service Based Architecture Microsoft Dexterity Service Patterns – Wrapped Windows – Decoupled Business Logic Steps to Create Service Enabled Procedures Q & A 2 AGENDA
3
#GPUGSummit | #INreno15 Managing Director of Winthrop Development Consultants Microsoft Dynamics GP Most Valuable Professional (MVP) Worked with Microsoft for 13 and a half years Lives in Winthrop, a suburb in the city of Perth Where is Perth, Western Australia? 3 DAVID MUSGRAVE
4
#GPUGSummit | #INreno15
6
Senior Software Engineer at Mekorma Microsoft Dynamics GP Most Valuable Professional (MVP) Lives in Atlanta, Georgia, USA Born on a small Colombian island off the coast of Nicaragua Where is San Andres Island? 6 MARIANO GOMEZ
7
#GPUGSummit | #INreno15
9
Introductions Service Based Architecture Creating Service Enabled Procedures – Wrapped Windows – Decoupled Q & A 9 AGENDA
10
#GPUGSummit | #INreno15
11
SERVICE BASED ARCHITECTURE
12
#GPUGSummit | #INreno15
13
Endpoint
14
#GPUGSummit | #INreno15 PATTERN: [Context]/[Resource Path(keys)]?[Query String] Hypothetical Examples GET … /Tenants(Default)/Companies(Contoso)/Sales/Customers(AARONFITZ0001)?format=summary POST … /Tenants(Default)/Companies(Contoso)/Sales/Customers DELETE … /Tenants(Default)/Companies(Fabrikam.%20Inc)/Manufacturing/Boms(WIDGET123) GET … /Tenants(Default)/Companies(Fabrikam.%20Inc)/Products(Id=346)/Boms?limit=20 THE ENDPOINT URI STRUCTURE https://ip-gpweb.cloudapp.net/GPService/Tenants(Default)/Companies(Fabrikam, Inc.) /Dynamics/Inventory/Items(100XLG).xml
15
#GPUGSummit | #INreno15 Discover available operations on a live deployment—just add /Help Use to model your code or extract info from system Provides info on objects, parameter requirements Discovery not filtered by security— you may see operations you can’t call Example URI does not provide company context DISCOVER YOUR URI
16
#GPUGSummit | #INreno15 MICROSOFT DEXTERITY SERVICE PATTERNS
17
#GPUGSummit | #INreno15 WRAPPED WINDOW PATTERN Validations Performed Commit logic executed ServiceCreateCustomer(customerObj) Field Mapping
18
#GPUGSummit | #INreno15 18 DECOUPLED BUSINESS LOGIC PATTERN Validations Moved UI is reoriented to call validations
19
#GPUGSummit | #INreno15 STEPS TO CREATE SERVICE APPLICATIONS
20
#GPUGSummit | #INreno15 STEPS
21
#GPUGSummit | #INreno15 SERVICE BASED ARCHITECTURE BEST PRACTICES
22
#GPUGSummit | #INreno15 WRAPPED WINDOW PATTERN
23
#GPUGSummit | #INreno15 WRAPPED WINDOWS
24
#GPUGSummit | #INreno15 REPLACING WARNING_DIALOGS
25
#GPUGSummit | #INreno15 ASK MESSAGES WITH PREDETERMINED ACTION
26
#GPUGSummit | #INreno15 ASK MESSAGES AND ADD ON THE FLY
27
#GPUGSummit | #INreno15 RETURN MESSAGES: FAILURE VS. WARNING
28
#GPUGSummit | #INreno15 ADDITIONAL TRACE LOGGING
29
#GPUGSummit | #INreno15 SERVICE PROCEDURES
30
#GPUGSummit | #INreno15 DECOUPLED BUSINESS LOGIC
31
#GPUGSummit | #INreno15 DECOUPLED BUSINESS LOGIC Business Logic is provided by source other than a UI form. – Ex. sproc, other web service, pass thru sql, “PD” forms in the dictionary. Ex of PD form. Form\IV_Item Should be faster than wrapped window. Encourages separation of business logic and presentation. Might require a refactor if business logic currently resides in a form. – How do decide whether to refactor? Frequency of use and throughput should drive the decision.
32
#GPUGSummit | #INreno15 DECOUPLED BUSINESS LOGIC No implicit datatype validation/conversion. – Map statement in wrapped window takes care of casing, signed vs unsigned precision and nulls. – In decoupled these things need to be coded. Examples for Decimals, Drop down lists and radio groups.
33
#GPUGSummit | #INreno15 DECOUPLED BUSINESS LOGIC Check for valid sign and precision. Check for valid value for a Drop Down or Radio Group.
34
#GPUGSummit | #INreno15 DECOUPLED BUSINESS LOGIC Force strings to upper case as needed, for instance Item Number Code must provide default values as needed in case the user passes a null value. Demo create an Item.
35
#GPUGSummit | #INreno15
36
David Musgrave’s Winthrop Development Consultants Blog http://www.winthropdc.com/blog The Microsoft Dynamics GP Blogster blog (by Mariano Gomez) http://dynamicsgpblogster.blogspot.com/ Developing for Microsoft Dynamics GP Blog – retired (by David Musgrave & the Developer Support Team) http://blogs.msdn.com/DevelopingForDynamicsGP/http://blogs.msdn.com/DevelopingForDynamicsGP/ or http://aka.ms/Dev4DynGPhttp://aka.ms/Dev4DynGP 36 LINKS
37
#GPUGSummit | #INreno15
38
QUESTIONS? Contact: david@winthropdc.com & mariano@mekorma.comdavid@winthropdc.commariano@mekorma.com
39
#GPUGSummit | #INreno15 Main Topic 1: Size 22pt – Subtopic: Size 20 pt Main Topic 2: Size 22pt – Subtopic: Size 20 pt Main Topic 3: Size 22pt – Subtopic: Size 20 pt 39 HEADER TEXT: SIZE 30PT
40
SECTION TITLE
41
QUESTIONS? Contact: xxxx@xxxx.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.