270 likes | 400 Views
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ć
E N D
ExtendingMicrosoft Dynamics NAVthrough .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ć • Independent consultant for Microsoft Dynamics NAV
About the topic • Microsoft Dynamics NAV • ERP is not an island anymore • C/AL is a very limited language • Microsoft .NET Framework • Standard development framework • Deep access to operating system • Rich palette of built-in libraries • Rich development ecosystem • Language independent
NAV before .NET Interoperability • Limited to C/AL • Using other frameworks from NAV before .NET Interop • OCX • Automation • Shell
How does.NET interoperability help? • Simpler development, choice of languages • Simpler deployment, pure copy & paste works • Strong security • Very rich API, a lot of standard and 3rd party libraries • Limitations: works only with NST, no support for Classic Client
DEMO • A short and cool .NET interoperability demo
Overview of .NET Framework • Common Language Infrastructure • Assemblies • Security • Class Library • Memory Management • Reflection • Rich stack of functionality
Assemblies • Contain executable code • Building blocks of .NET functionality • Portable Executable (PE) format • All .NET assemblies are accessible by default • Better control of deployment
Security • Code Access Security • Validation and verification • Simple impersonation
Class Library • Huge list of out-of-the-box APIs available for consumption • Base Class Library • Framework Class Library
Memory Management • Garbage collector • Managed code
Reflection • An important class library • Access to full .NET metadata • Access to .NET itself, including compilation
Rich Stack of Functionality Picture by Soumyasch, http://en.wikipedia.org/wiki/File:DotNet.svg
Development Considerations • Calling .NET functionality from NAV • Data type mapping between NAV and .NET • Using .NET specific functionality • Calling Web services using .NET interoperability I am going to demo all of this as we go.
Calling .NET functionality • DotNet data type • NAV scope and garbage collector • Constructors, instances and static objects • Indexing • Comparison limitations • Events • Member naming limitations
Data Type Mapping • Integers: • 16, 32 and 64 bit considerations • Signed vs. Unsigned • Strings: • Length considerations • Unicode considerations • Decimal vs. Double • Date, Time and DateTime
Using .NET functionality • Arrays • Collections • Enumerations • Generics • Interfaces
Calling Web services from NAV • Calling NAV web services • Calling non-NAV web services
Deployment Considerations • Service Tier deployment • RoleTailored Client deployment • Classic Client deployment (for development purposes only) • Global Assembly Cache (GAC)
DEMO • Connecting to another NAV instance through .NET Interop
THANK YOU! Feel free to ask any questions: vjekoslav.babic@fortempo.net Visit my blog: http://NavigateIntoSuccess.com/