Seamless sharing of Navision business logic and data structures - PowerPoint PPT Presentation

1 / 100
About This Presentation
Title:

Seamless sharing of Navision business logic and data structures

Description:

Seamless sharing of Navision business logic and data structures Adalsteinn Valdimarsson Business Development Alfred B. Thordarson Software Development – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 101
Provided by: 9625
Category:

less

Transcript and Presenter's Notes

Title: Seamless sharing of Navision business logic and data structures


1
Seamless sharing ofNavision business logic and
data structures
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
2
Agenda for today
  • 1000 NETConductor Overview Architecture
    and functions Building a .NET application
  • 1130 Break
  • 1145 Security and authentication Network
    security User Identity in Navision Authenticatin
    g in .NET application
  • 1230 Partner Cases
  • 1300 Lunch and discussions

Seamless sharing ofNavision business logic and
data structures
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
3
NETConductor Overview
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
4
NETConductor Overview
  • Why NETConductor?
  • There is a vast number of industry solutions
    available on the Navision platform.
  • It is now essential to be able to integrate these
    solutions with other applications and platforms.
  • It is not an option to re-train all Navision
    specialists in other platforms to enable
    integration.
  • It is not an option to rewrite business logic in
    other platforms to enable integration.
  • This is why NETConductor is needed!

Why NETConductor
5
NETConductor Overview
  • Where are we coming from...
  • Navision developers have been developing in their
    own space.

The Navision world
6
NETConductor Overview
  • Where are we coming from...
  • Navision developers have been developing in their
    own space.
  • Other developers have also been developing in
    their space.
  • Different methods of connectivity have been
    coming and going through the years.
  • ODBC
  • C/Front
  • Replication
  • Commerce Portal
  • But those methods have been limited in different
    ways.

There are more worlds
7
NETConductor Overview
  • Where are we heading...
  • The latest method of connectivity, defined by
    Microsofts .NET, are Web Services.
  • Wide acceptance of this new method gives hope to
    long life.
  • Web Services allows for a new way of developing
    software.
  • Navision should be part of this new way of
    developing software.

.NET Web Servicesprovides real connectivity
8
NETConductor Overview
  • Where are we heading...
  • The latest method of connectivity, defined by
    Microsofts .NET, are Web Services.
  • Wide acceptance of this new method gives hope to
    long life.
  • Web Services allows for a new way of developing
    software.
  • Navision should be part of this new way of
    developing software.
  • That is what NETConductor enables.

.NET Web Servicesprovides real connectivity
9
NETConductor Overview
And what does it look like...
.NET Web Servicesprovides real connectivity.
10
NETConductor Overview
And what does it look like...
.NET Web Servicesprovides real connectivity.
11
NETConductor Overview
And what does it look like...
Invoking Web Service operation To try out running
a Navision CodeUnit the RunCodeUnit operation can
be called using a Web Browser. Simply provide the
number of the CodeUnit to run, the parameters to
pass into Navision and press the Invoke button.
.NET Web Servicesprovides real connectivity.
12
NETConductor Overview
And what does it look like...
.NET Web Servicesprovides real connectivity.
13
NETConductor Overview
And what does it look like...
Running Navision CodeUnit The CodeUnit being run
can verify the parameters and return an error
message if the call is not appropriate. If there
is no error then a RecordSet can be defined and
returned back to the NETConductor, which will
construct the XML and relay it back to the caller.
.NET Web Servicesprovides real connectivity.
14
NETConductor Overview
And what does it look like...
.NET Web Servicesprovides real connectivity.
15
NETConductor Overview
And what does it look like...
Receiving the Result When the client receives the
reply it is always in the form of an XML
document. This document could contain an error
response or a valid response from Navision. A
valid response can contain Strings, Hashtables,
RecordSets or combination of these.
.NET Web Servicesprovides real connectivity.
16
NETConductor Overview
  • With NETConductor you have...
  • Standard Microsoft .NET interface
  • Full two-way access to data
  • Full re-use of business logic
  • Integration with Microsoft stack
  • No additional training
  • No additional servers
  • Native XML conversion
  • .NET enabled Navision

.NET Web Servicesprovides real connectivity.
17
Using NETConductor
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
18
Using NETConductor
.NET Web Servicesprovides real connectivity
19
Using NETConductor
  • From concept to product
  • DT DataTier
  • MT MiddleTier
  • NAS Navision Application Server
  • IIS Internet Information Service

.NET Web Servicesprovides real connectivity
20
Using NETConductor
  • The request contains the name of the DataTier
    service to execute the command.
  • The MT searches for the DT

.NET Web Servicesprovides real connectivity
21
Using NETConductor
  • Connection is established between the MT and the
    DT.
  • The CodeUnit is run, using the NAS, with the
    given parameters.

RunCodeUnit CRONUS.DT no84922 parameters...
CRONUS.DT
.NET Web Servicesprovides real connectivity
22
Using NETConductor
  • CodeUnit does not create XML, but returns a
    reference to the data.
  • The DT collects the data from Navision using
    C/Front.

RecordRef
.NET Web Servicesprovides real connectivity
23
Using NETConductor
  • The XML is then returnedthrough the MT to the
    requester.

RecordRef
.NET Web Servicesprovides real connectivity
24
Using NETConductor
  • Performance testing
  • We have made a test with the NETConductor in
    relation to its performance.
  • The result were as follows
  • With no-op calls into Navision
  • Ca. 200 calls/second
  • With no calculated fields
  • Ca. 5.000 large records / second
  • Ca. 10.000 smaller records / second

Performance experiment.
NB These numbers depend heavily on the machine
configuration, NETConductor configuration and
the code being run within Navision. These numbers
are shown for reference only !
25
NETConductor Setup
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
26
NETConductor Setup
  • Requirements
  • Internet Information Service 5.0 or later
  • Navision Application Server 3.70
  • Navision Database Server 3.70
  • Navision Client can beused instead of the NAS.

NETConductor Requirements
27
NETConductor Setup
  • Once you have the required components in place,
    you are ready to download the latest version of
    the NETConductor and license.
  • www.ruedenet.com provides all installs
  • NETConductor executable
  • DataTier install wizard
  • MiddleTier install wizard
  • NETConductor documentations
  • Step by step installation guideline
  • NETConductor demos
  • .NET Windows demo
  • .NET Web demo
  • Navision to Navision demo

NETConductor Downloads
28
NETConductor Setup
  • Rue de Net license files can be requested using a
    form at www.ruedenet.com.
  • The default license is a 7-day demo
  • Extended periods are available
  • Developer licenses are 1-year licenses
  • Customer licenses are perpetual
  • All license files are affiliated with a Navision
    license number.
  • This Navision license must be available and in
    order, when running the NETConductor DataTier
    and MiddleTier.

NETConductor Downloads
29
NETConductor Setup
  • Then we install...
  • MiddleTier onto IIS
  • DataTier onto NAS
  • Load Navision objects into Database
  • Make licenses available to MT and DT

NETConductor Installations
30
NETConductor Setup
  • Then we start...
  • IIS must be up and running
  • Which makes the MT available.

Microsoft Components
Internet Information Service
Starting the NETConductor
31
NETConductor Setup
  • Then we start...
  • IIS must be up and running
  • Which makes the MT available.
  • Database server must be running
  • With the NETConductor objects loaded

Microsoft Components
Internet Information ServiceNavision Database
Service
32
NETConductor Setup
  • Then we start...
  • IIS must be up and running
  • Which makes the MT available.
  • Database server must be running
  • With the NETConductor objects loaded
  • Now we can start the DT...

Microsoft Components
Internet Information ServiceNavision Database
Service
NETConductor Components
33
NETConductor Setup
  • Then we start...
  • IIS must be up and running
  • Which makes the MT available.
  • Database server must be running
  • With the NETConductor objects loaded
  • Now we can start the DT...
  • We do that using a Navision client...

Microsoft Components
Internet Information ServiceNavision Database
Service
NETConductor Components
DataTier in a Client ...
34
NETConductor Setup
  • Then we start...
  • IIS must be up and running
  • Which makes the MT available.
  • Database server must be running
  • With the NETConductor objects loaded
  • Now we can start the DT...
  • ...or we use a NAS

Microsoft Components
Internet Information ServiceNavision Database
Service
NETConductor Components
DataTier in a Client ...... or in a NAS
35
NETConductor Setup
  • We have now installed a very basic configuration,
    which is sufficient for most installations.
  • But more advanced configurations are also
    available.

Other configurations
36
NETConductor Setup
  • The NETConductor supports many DataTiers per
    service name.
  • Which are accessed in a Round-Robin fashion.

Other configurations
37
NETConductor Setup
  • Many databases, or companies, can be accessed
    from a single Middle-Tier using different service
    names.
  • In general, configurations depend on applications
    and network architecture...

B
B
A
Other configurations
38
NETConductor Setup
  • But no matter what the configuration is,the
    NETConductor will start running!
  • And then we can access the MT using a browser...

39
NETConductor Setup
  • ...and we can f.ex. run CodeUnits

40
NETConductor Setup
  • ...and we can f.ex. run CodeUnits...
  • ... which return XML files includingStrings,
    Hashtables and Recordsets

41
NETConductorBasic Operations
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
42
NETConductor Operations
  • Running a Navision CodeUnit
  • RunCodeUnit
  • // Provides access to any CodeUnit in Navision.
  • codeunit numberand parameters
  • RunCodeUnitModeless
  • // Provides access to any CodeUnit in Navision.
  • // The CodeUnit is simply started and no
    waiting for it's completion or any replies.
  • codeunit numberand parameters

The Basics Web Service
RunCodeUnitRunCodeUnitModeless
Running a Navision CodeUnit
43
NETConductor Operations
  • Selecting data from Navision
  • SelectFromTable
  • // Provides access to the data of any table in
    Navision.
  • table number, sorting,filter, fields to
    calculate,fields to return, from, to,verbosity
    and definition
  • GetTableDefinition
  • // Provides the definition of any table in
    Navision.
  • table number

The Basics Web Service
RunCodeUnitRunCodeUnitModeless SelectFromTableGe
tTableDefinition
Selecting data from Navision
44
NETConductor Operations
  • Inserting data into Navision
  • InsertIntoTable
  • // Provides insert record access to any Table
    in Navision.
  • table number,values and validation

The Basics Web Service
RunCodeUnitRunCodeUnitModeless SelectFromTableGe
tTableDefinition InsertIntoTable
Inserting data into Navision
45
NETConductor Operations
  • Modification of data in Navision
  • ModifyInTable
  • // Provides modify record access to any table
    in Navision.
  • table number, primarykey,values and validation
  • ModifyManyInTable
  • // Provides modify many records access to any
    table in Navision.
  • table number, key, filter,values and validation

The Basics Web Service
RunCodeUnitRunCodeUnitModeless SelectFromTableGe
tTableDefinition InsertIntoTable ModifyInTableMod
ifyManyInTable
Modification of data in Navision
46
NETConductor Operations
  • Deleting data from Navision
  • DeleteFromTable
  • // Provides delete access to any Table in
    Navision.
  • table number, primarykeyand validation
  • DeleteManyFromTable
  • // Provides delete many records access to any
    table in Navision.
  • table number, key, filterand validation

The Basics Web Service
RunCodeUnitRunCodeUnitModeless SelectFromTableGe
tTableDefinition InsertIntoTable ModifyInTableMod
ifyManyInTable DeleteFromTableDeleteManyFromTable
Deleting data from Navision
47
NETConductor Operations
  • Custom Web Services
  • Operations like
  • GetCustomer(customerNo)
  • GetClientValuation(clientNo,date,currency)
  • GetShipments(warehouseNo)
  • GetTimesheet(resourceNo)
  • NETConductor comes with a .NET Assembly that
    developers can use to create such custom Web
    Services.
  • The NETConductor Assembly contains the same
    methods as the NETConductor Basics Web Service.

The Basics Web Service
RunCodeUnitRunCodeUnitModeless SelectFromTableGe
tTableDefinition InsertIntoTable ModifyInTableMod
ifyManyInTable DeleteFromTableDeleteManyFromTable
48
Building NETConductor Solutions
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
49
Building NETConductor sol.
  • Create Windows Forms Application
  • Accepts a customers number as input
  • Goes into Navision to get his name
  • Then displays that name to the user

What we will do
50
Building NETConductor solutions
Navision Developer
  • Just to start with, we will create a CodeUnit
    that accepts a customers number and just returns
    his name.

51
Building NETConductor solutions
Navision Developer
  • NETConductor CodeUnit functions
  • Start, Stop, IsRunning, IsExecuting
  • GetName, GetMachine, GetPort, ...
  • GetParameter
  • ReturnString, ReturnHashtable
  • ReturnRecordset, ReturnRecordsetPage
  • ReturnComplete, ReturnError
  • OutputLogString

52
Building NETConductor solutions
Navision Developer
  • NETConductor CodeUnit functions
  • GetParameter(name)
  • name // Name of the parameter to
  • ReturnString(name, value)
  • name // Name of the reply
  • value // The string being returned

53
Building NETConductor solutions
Navision Developer
  • We start the NETConductor DT
  • From within the Navision client

54
Building NETConductor solutions
Navision Developer
  • Lets execute function using the NETConductor MT

55
Building NETConductor solutions
Navision Developer
  • Change the function to return the complete record

56
Building NETConductor solutions
Navision Developer
  • NETConductor CodeUnit functions
  • ReturnRecordset(name,recs,cols)
  • name // Name of the reply
  • recs // Reference to the Recordset to return
  • cols // List of field numbers, indicating the
    columns to return

57
Building NETConductor solutions
Navision Developer
  • Execute function using the NETConductor MT

58
Building NETConductor solutions
Consuming service
  • Create Windows Application
  • Create a form with
  • Customer number textbox
  • A go button
  • And a box for the customer name

59
Building NETConductor solutions
Consuming service
  • Consume the NETConductor Basics Web Service

60
Building NETConductor solutions
Consuming service
  • Open code behind go button
  • Construct basics
  • Call basics with customer number
  • Extract customer name
  • Put it into the label

61
Building NETConductor sol.
  • Run Windows application
  • It works !!!

Running the application
62
Break
63
NETConductor and security
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
64
NETConductor and security
  • Providing access increases risk of malicious
    attacks and break-ins.
  • Everything can be hacked.
  • Security attracts hackers.
  • Always balance the risks and benefits of
    publishing information online.
  • Limit the online access to a minimum.
  • Keep a low profile
  • Run only what is needed
  • Store only required data
  • Proper security protocols will allowfor proper
    mitigation of the risks.

The security problem
65
NETConductor and security
  • There are many types of security attacks and
    holes that should be considered
  • Eavesdropping (sniffers encryption)
  • Man-in-the-middle
  • Data Modification (man-in-the-middle)
  • IP Address Spoofing
  • Password Attack
  • Compromised keys
  • Denial-of-Service (DoS)
  • Web Server Attacks
  • Buffer overruns
  • SQL Injections
  • Cross-site scripting

Ports Firewalls Encryption Authentication Hosting
The security problem
66
NETConductor and security
  • When installing Microsoft and the NETConductor
    components then default ports are always
    provided.
  • You should always change those ports.

8933
80
Ports Firewalls Encryption Authentication Hosting
3047
Ports
67
NETConductor and security
  • Firewalls can limit the machines that can
    actually access a certain port on a certain
    machine.
  • NETConductor can be installed on any side of any
    firewalls.

Ports Firewalls Encryption Authentication Hosting
Firewalls
68
NETConductor and security
  • Encryption using SSL Certificates is very popular
    with web solutions.
  • NETConductor is not affected by such encryption
    at all.

Ports Firewalls Encryption Authentication Hosting
Encryption
69
NETConductor and security
  • Authentication is supported by the IIS as well as
    Navision.
  • NETConductor is not affected by IIS
    authentication.
  • NETConductor signs into Navision.

Ports Firewalls Encryption Authentication Hosting
Only allow machine A access to port 9471 on B
Authentication
70
NETConductor and security
  • Hosting web applications at third party hosting
    companies is a good choice.

Web App
Machine A
Ports Firewalls Encryption Authentication Hosting
Hosting
Only allow machine A access to machine B
71
NETConductor and security
  • Administrators
  • Configure Web server to limit loopholes
  • Apply patches and hot-fixes immediately.
  • SECURE SYSTEMS AND NETWORKING !
  • Web Application Developers
  • Pay attention to buffer overruns
  • Watch out for malicious SQL injections
  • Ensure input data validation
  • SECURE PROGRAMMING ABOVE ALL !

Secure networkingand programming
72
NETConductor and security
  • NETConductor security
  • All of the above security measures are
    configurable entities in Navision, IIS and/or
    NETConductor
  • None of them require theNETConductor to be
    changed.
  • Providing access increases risk of malicious
    attacks and break-ins.
  • Balance the risks and benefits of publishing
    information online.
  • Limit access to a minimum.
  • Proper security protocols will allowfor proper
    mitigation of the risks.

Securing NETConductor
73
NETConductor and authentication
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
74
NETConductor and auth.
  • Navision applications are not based on external
    users
  • Instead Navision has entities like Customer,
    Client, Store, etc.
  • An external user is usually workingon behalf of
    one of those entities.
  • A CodeUnit should therefore return the
    information relative to the entity, on behalf of
    which the user is working.

The Navision user identity problem
75
NETConductor and auth.
  • This mapping between external user name and the
    Navision entity can be done by the user of the
    CodeUnit...
  • ...or it can be integrated within Navision by an
    authentication package, which can then bebased
    on NETConductor
  • Rue de Net Authentication Module is exactly such
    a solution.

The Navision user identity problem
76
NETConductor and auth.
  • The Rue de Net Authentication Module allows
    users, credentials and entity mappings to be
    defined using Navision.
  • This allows easy integration of the
    authentication module with the existing Navision
    application

The Navision user identity problem
77
NETConductor and authentication
Auth. Module
  • The Authentication Module is based on
    NETConductor and can therefore be used by any
    capable application to authenticate users.

78
NETConductor and authentication
Auth. Module
  • Within Navision, there is a form to work with
    usernames, passwords and contact information.

79
NETConductor and authentication
Auth. Module
  • The entity mapping can easily be tailored and it
    is easy to map certain username to an entity.

80
NETConductor and authentication
Auth. Module
  • The entity can be selected using the appropriate
    lookup-up-form

81
NETConductor and authentication
Navision Developer
  • When username has been created we can use the
    Authentication Web Service to sign in.

82
NETConductor and authentication
Navision Developer
  • Once signed in we have a session key that can,
    within Navision, be used to map to the users
    entity.

83
NETConductor and auth.
  • Update Windows Forms Application
  • Accepts a users credentials
  • Goes into Navision to find the customer that the
    user is working on behalf of.
  • Then gets and returns his name
  • And finally display the name to the user
  • We will be using the Rue de Net Authentication
    Module to authenticate.

What we will do
84
NETConductor and authentication
Navision Developer
  • Change function for authentication

85
NETConductor and authentication
Navision Developer
  • Sign in to the authentication module

86
NETConductor and authentication
Navision Developer
  • Access function with session key

87
NETConductor and authentication
Consuming service
  • Edit Windows Application
  • Edit form
  • Remove customer id
  • Add User id
  • Add Password
  • Leave the go button and label

88
NETConductor and authentication
Consuming service
  • Consume the Rue de Net Authentication Module
    Service

89
NETConductor and authentication
Consuming service
  • Open code behind go button
  • Add construction of auth
  • Add calling of auth signin
  • Add extraction session key
  • Now call basics with session key
  • Use same extract customer name
  • Use same put it into the label

90
NETConductor and authentication
Consuming service
  • Open code behind go button

91
NETConductor and auth.
  • Run Windows application
  • It works !!!

Running the application
92
Partner Cases
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
93
NETConductor Building
  • On-line client and portfolio valuations for fund
    managers

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Hosting
94
NETConductor Building
  • Warehousing solution
  • for a global medical supplier

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Web done by RDN
95
NETConductor Building
  • Meter readings and bill enquiry solution for a
    utility company

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Re-use of posting logic
96
NETConductor Building
  • On-line web based timesheet

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Custom Web Services
97
NETConductor Building
  • Navision Store to Head Office queries and updates
    for retail

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Head office
Navision to Navision
Single Head-Office NETConductor installed
98
NETConductor Building
  • B2B sales and purchase ordering for a global
    distributor

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Distributor
Manufactorer
Purchase to Sales Order
Order received from customer Goods required from
factory Request sent to factory Order waits for
warehouse Sales order fulfilled
Purchase order auto created Goods are
manufactured Goods sent to warehouse Sales order
updated at distributor
99
NETConductor Building
  • RSS News agent for industrial news on our
    homepage

Fund managers Warehousing Meter
readings Timesheet Store queries Ordering RSS News
Windows Service stores into Navision
100
Licensing and pricing
Adalsteinn ValdimarssonBusiness Development
Alfred B. ThordarsonSoftware Development
101
Licensing and pricing
  • NETConductor reseller scheme is similar to the
    MBS Navision scheme
  • Pricing scheme
  • RDN License for each FIN license
  • ½ CommercePortal 21.000 C/Shells
  • 20 yearly maintenance charge
  • License good for 4 DataTiers
  • Additional DataTiers is pricedat 25 license
    price maintenance
  • 70/30 split between RDN/Partner
  • Special pricing available, upon request, for
    specific situations.

Licensing and pricing
102
Thank you
www.ruedenet.com
Write a Comment
User Comments (0)
About PowerShow.com