Microsoft Dynamics NAV 2009 Building Web Services.

11
Microsoft Dynamics NAV 2009 Building Web Services

Transcript of Microsoft Dynamics NAV 2009 Building Web Services.

Page 1: Microsoft Dynamics NAV 2009 Building Web Services.

Microsoft Dynamics NAV 2009Building Web Services

Page 2: Microsoft Dynamics NAV 2009 Building Web Services.

Web Services - The simple story• 2 ways of using Web Services• Integration scenarios• B2B scenarios

• Pages and Codeunits can be exposed as web services and used by any web service consumer• Consumer uses Windows Authentication• Supports SSL

Page 3: Microsoft Dynamics NAV 2009 Building Web Services.

Using Visual Studio and C#• Connect to Web Services• Read customers into a list• Use filters• Update a customer• Integration to the RTC

Page 4: Microsoft Dynamics NAV 2009 Building Web Services.

Using Javascript• Gadgets• Maps.live.com• Web Services used to place pins on the

map for customers• Integration with RTC• A world of opportunities

Page 5: Microsoft Dynamics NAV 2009 Building Web Services.

Using Excel• Use Excel to edit data from NAV• C# code written in Excel (using VSTO)• Excel connects to Web Services• Read, Modify and Delete data• Validation logic on Page and Table is run• Walkthrough available online

Page 6: Microsoft Dynamics NAV 2009 Building Web Services.

Do's and Don'ts• Only expose Web

Services to the internet through a “proxy” (either Web Services or a Portal App.)

• Use GUIALLOWED and ISSERVICETIER to control flow

• Create special pages/codeunits for your strongly typed WS access

• Microsoft Dynamics NAV 2009 Web Services should not be exposed directly to the internet

• Avoid long running transactions

• Don’t assume that all NAV pages are designed for WS

• Consider not be too chatty; keep operations at a business document level

Page 7: Microsoft Dynamics NAV 2009 Building Web Services.

GUIALLOWED vs. ISSERVICETIER

• Use GUIALLOWED in your code to determine whether your code allows user interaction• WS & NAS will have GUIALLOWED = false

• Use ISSERVICETIER in your code to determine whether your code is running managed code on the service tier or interpreted AL Code on a client or NAS• WS & RTC will have ISSERVICETIER = true

Page 8: Microsoft Dynamics NAV 2009 Building Web Services.

Transactions• Invoke WS method == One transaction• Commits are ignored• Locks are kept until WS method runs out of

scope• Structure your tables and your code• Don’t do multiple inserts in one go

Page 9: Microsoft Dynamics NAV 2009 Building Web Services.

Additionally…• Make sure the Windows service is running• Microsoft Dynamics NAV Business Web Services

• Three tiered Architecture & WS• There are good small developer

walkthroughs in the on-line documentation• Chattyness performance• Stateless• Look at the SOAP & WSDL

• Most tools inherently understands (but not JavaScript!)

• SOA – here we come!

Page 10: Microsoft Dynamics NAV 2009 Building Web Services.

It’s simple, it’s powerful,

it’s available

Microsoft Dynamics NAV 2009 and Building Web Services

Page 11: Microsoft Dynamics NAV 2009 Building Web Services.

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Dynamics, the Microsoft Dynamics logo, and [list other trademarks] are trademarks of the Microsoft group of companies.

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.