extending microsoft dynamics nav through .net interoperability
DESCRIPTION
Extending Microsoft Dynamics NAV through .NET Interoperability. Vjekoslav Babić Fortempo. Agenda. Introduction NAV before .NET Interop Overview of .NET Framework Development considerations Deployment considerations Demos. About the presenter. Vjekoslav Babić - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/1.jpg)
ExtendingMicrosoft Dynamics NAVthrough .NET Interoperability
Vjekoslav BabićFortempo
![Page 2: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/2.jpg)
Agenda
IntroductionNAV before .NET InteropOverview of .NET FrameworkDevelopment considerationsDeployment considerationsDemos
![Page 3: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/3.jpg)
About the presenter
Vjekoslav BabićIndependent consultant for Microsoft Dynamics NAV
![Page 4: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/4.jpg)
About the topic
Microsoft Dynamics NAVERP is not an island anymoreC/AL is a very limited language
Microsoft .NET FrameworkStandard development frameworkDeep access to operating systemRich palette of built-in librariesRich development ecosystemLanguage independent
![Page 5: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/5.jpg)
NAV before .NET Interoperability
Limited to C/ALUsing other frameworks from NAV before .NET Interop
OCXAutomationShell
![Page 6: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/6.jpg)
OCX
Pros ConsUI extensibility Complex
developmentComplex deploymentObsolete technology
![Page 7: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/7.jpg)
Automation
Pros ConsAccess to a lot of COM libraries
Complex developmentComplex deploymentObsolete technology
![Page 8: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/8.jpg)
Shell
Pros ConsAccess to operating system
SecurityAPI limitationsNot synchronous or interactive
![Page 9: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/9.jpg)
How does .NET interoperability help?
Simpler development, choice of languagesSimpler deployment, pure copy & paste worksStrong securityVery rich API, a lot of standard and 3rd party librariesLimitations: works only with NST, no support for Classic
Client
![Page 10: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/10.jpg)
DEMO
A short and cool .NET interoperability demo
![Page 11: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/11.jpg)
Overview of .NET Framework
Common Language InfrastructureAssembliesSecurityClass LibraryMemory ManagementReflectionRich stack of functionality
![Page 12: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/12.jpg)
Common Language Infrastructure
![Page 13: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/13.jpg)
Assemblies
Contain executable codeBuilding blocks of .NET functionalityPortable Executable (PE) formatAll .NET assemblies are accessible by defaultBetter control of deployment
![Page 14: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/14.jpg)
Security
Code Access SecurityValidation and verificationSimple impersonation
![Page 15: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/15.jpg)
Class Library
Huge list of out-of-the-box APIs available for consumptionBase Class LibraryFramework Class Library
![Page 16: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/16.jpg)
Memory Management
Garbage collectorManaged code
![Page 17: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/17.jpg)
Reflection
An important class libraryAccess to full .NET metadataAccess to .NET itself, including compilation
![Page 18: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/18.jpg)
Rich Stack of Functionality
Picture by Soumyasch, http://en.wikipedia.org/wiki/File:DotNet.svg
![Page 19: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/19.jpg)
Development Considerations
Calling .NET functionality from NAVData type mapping between NAV and .NETUsing .NET specific functionalityCalling Web services using .NET interoperability
I am going to demo all of this as we go.
![Page 20: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/20.jpg)
Calling .NET functionality
DotNet data typeNAV scope and garbage collectorConstructors, instances and static objectsIndexingComparison limitationsEventsMember naming limitations
![Page 21: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/21.jpg)
Data Type Mapping
Integers:16, 32 and 64 bit considerationsSigned vs. Unsigned
Strings:Length considerationsUnicode considerations
Decimal vs. DoubleDate, Time and DateTime
![Page 22: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/22.jpg)
Using .NET functionality
ArraysCollectionsEnumerationsGenericsInterfaces
![Page 23: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/23.jpg)
Calling Web services from NAV
Calling NAV web servicesCalling non-NAV web services
![Page 24: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/24.jpg)
Deployment Considerations
Service Tier deploymentRoleTailored Client deploymentClassic Client deployment (for development purposes
only)Global Assembly Cache (GAC)
![Page 25: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/25.jpg)
DEMO
Connecting to another NAV instance through .NET Interop
![Page 26: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/26.jpg)
Questions & Answers
![Page 27: Extending Microsoft Dynamics NAV through .NET Interoperability](https://reader035.vdocument.in/reader035/viewer/2022062520/56816381550346895dd4669d/html5/thumbnails/27.jpg)
THANK YOU!
Feel free to ask any questions: [email protected]
Visit my blog: http://NavigateIntoSuccess.com/