nav@night Microsoft Dynamics NAV 2013 SOAP und OData Webservices mit .NET nutzen Dipl.-Inf. (FH) Ingo Jansen Agenda • • • Microsoft Dynamics NAV 2013 • Infrastruktur • Konfiguration der Instanzen Zugriff auf Microsoft Dynamics NAV 2013 SOAP Webservices • URL / WSDL • Einfache .NET Client Anwendung Zugriff auf N Microsoft Dynamics AV 2013 ODATA Webservices • URL / Metadaten • Einfache .NET Client Anwendung Dipl.-Inf. (FH) Ingo Jansen Dynamics NAV 2013 • Microsoft Dynamics NAV 2013 unterstützt zwei Webservice Protokolle • SOAP (Simple Object Access Protocol) • • Eingeführt mit Microsoft Dynamics NAV 2009 OData (Open Data Protocol) • Neu in Microsoft Dynamics NAV 2013 Dipl.-Inf. (FH) Ingo Jansen Architektur Client NAV Server Metadata … ELEMENTS { { 1; ; DataItem; ; DataItemTable=Table18 } { 5; 1; Column ; CustomerName; DataSource=Name } { 6; 1; Column; CustomerAddress; DataSource=Address } … SQL Query Page Codeunit Select Name as CustomerName, Address as CustomerAddress From Customer … Dipl.-Inf. (FH) Ingo Jansen SQL Server NAV OData und SOAP Webservices SOAP OData Pages – Read Pages – Create/Update/Delete NAV Query Codeunits Servergetriebenes Paging Clientgetriebenes Paging FlowFilter Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Codeunit SOAP Webservices • Codeunit in NAV 2013 erstellen • Veröffentlichen der Codeunit als Webservice • Verfügbarkeit des Webvservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Codeunit SOAP Webservices • Codeunit in NAV 2013 erstellen • Veröffentlichen der Codeunit als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Codeunit SOAP Webservices • Codeunit in NAV 2013 erstellen • Veröffentlichen der Codeunit als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Codeunit SOAP Webservices • Codeunit in NAV 2013 erstellen • Veröffentlichen der Codeunit als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen Dipl.-Inf. (FH) Ingo Jansen URL Format SOAP Webservice http://<Server>:<WSP>/<ServerInstance>/WS/<Mandant>/services Beispiel: http://localhost:7047/DynamicsNAV70/WS/CRONUS International Ltd./services ACHTUNG! <Mandant> ist case sensitive Zugriff auf NAV 2013 Codeunit SOAP Webservices • Codeunit in NAV 2013 erstellen • Veröffentlichen der Codeunit als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page SOAP Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webvservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Aufruf der Create, Read, Update, and Delete Funktionen eines Page Webservices. Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page SOAP Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Aufruf der Create, Read, Update, and Delete Funktionen eines Page Webservices. Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page SOAP Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Aufruf der Create, Read, Update, and Delete Funktionen eines Page Webservices. Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page SOAP Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webvservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Aufruf der Create, Read, Update, and Delete Funktionen eines Page Webservices. Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page SOAP Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webvservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Aufruf der Create, Read, Update, and Delete Funktionen eines Page Webservices. Dipl.-Inf. (FH) Ingo Jansen kurze Pause Dipl.-Inf. (FH) Ingo Jansen Open Data Protocol Ich spreche OData! NAV 2013 @ Contoso.com OData erlaubt Dynamics NAV 2013 auf einfache Art, Daten anderen Anwendungen zur Verfügung zu stellen Ich verstehe OData! Open Data Protocol OData macht es einfacher, Applikationen miteinander zu verbinden •Nutzung der Daten über Applikationsgrenzen hinweg •“OData ist das webbasierte äquivalent zu ODBC” Beispiel: Dynamics NAV 2013 veröffentlicht OData + PowerPivot für Excel 2010 konsumiert OData = “Selbstbedienungs BI” Weitere Info unter: http://www.odata.org Einfacher Zugriff • PowerPivot • Freies Excel add-in unter http://www.microsoft.com/en-us/bi/powerpivot.aspx • Programatischer Zugriff • .NET und .NET LINQ • Nutzung als C/FRONT “Ersatz” (lesend) • “Freihändige” Abfragen • http://localhost:7148/dynamicsnav70/OData/ Einfacher Zugriff http://<Server>:<WSP>/<ServerInstance>/OData Beispiel: http://localhost:7048/DynamicsNAV70/ODATA Rückgabe der Daten erfolgt als AtomPub feed Einfacher Zugriff auf Mandantendaten http://<Server>:<WSP>/<ServerInstance>/OData/Company(<Ma ndant>)/Customer Beispiel: http://localhost:7048/DynamicsNAV70/ODATA/Company(‘CRONUS%20AG’)/ Customer Rückgabe der Daten erfolgt als AtomPub feed gefilterter Zugriff auf Mandantendaten http://<Server>:<WSP>/<ServerInstance>/OData/Company(<Ma ndant>)/Customer/?$filter=<Feld>< >eq< >’Feldwert’ Beispiel: http://localhost:7048/DynamicsNAV70/ODATA/Company(‘CRONUS%20AG’)/ Customer?$filter=City%20eq%20’Birmingham’ Rückgabe der Daten erfolgt als AtomPub feed Zugriff auf NAV 2013 Page ODATA Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Abruf der Daten Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page ODATA Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Abruf der Daten Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page ODATA Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Abruf der Daten Dipl.-Inf. (FH) Ingo Jansen Zugriff auf NAV 2013 Page ODATA Webservices • Veröffentlichen einer Page als Webservice • Verfügbarkeit des Webservices überprüfen • .NET Konsolen Anwendung erstellen und auf Webservice zugreifen • Abruf der Daten Dipl.-Inf. (FH) Ingo Jansen Nicht vergessen! 2. nav@night am 3.7.2013 Performance Steigerung durch Einsatz des Dynamics NAV 2013 Query Objektes Anmeldung unter http://www.vinor.de Q&A Vielen Dank für ihre Aufmerksamkeit… [email protected]