Presentation is loading. Please wait.

Presentation is loading. Please wait.

#GPUGSummit | #INreno15 #GPUGSummit DEVELOPING SERVICE APPLICATIONS WITH DEXTERITY A NO NONSENSE STEP-BY-STEP GUIDE David Musgrave MVP Managing Director,

Similar presentations


Presentation on theme: "#GPUGSummit | #INreno15 #GPUGSummit DEVELOPING SERVICE APPLICATIONS WITH DEXTERITY A NO NONSENSE STEP-BY-STEP GUIDE David Musgrave MVP Managing Director,"— Presentation transcript:

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

5

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

8

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


Download ppt "#GPUGSummit | #INreno15 #GPUGSummit DEVELOPING SERVICE APPLICATIONS WITH DEXTERITY A NO NONSENSE STEP-BY-STEP GUIDE David Musgrave MVP Managing Director,"

Similar presentations


Ads by Google