0% found this document useful (0 votes)
13 views

M02C08 - Technology Overview

Uploaded by

Islam Ulhaq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

M02C08 - Technology Overview

Uploaded by

Islam Ulhaq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Chapter 8: Technology Overview

CHAPTER 8: TECHNOLOGY OVERVIEW


Objectives
The objectives are:

• Present the architectural changes in Microsoft Dynamics® NAV


2009.
• Review the Microsoft Dynamics NAV Server.
• Explain how Web Services Support the facilitation of data
interchange.
• Describe the three types of Web services.
• Explain how objects work in the Classic client and the Role Tailored
client.
• Review what the elements in the Page Designer are used for.
• Identify the features of new reports.
• Examine how multiple client support is handled in Microsoft
Dynamics NAV 2009.
• Explain basic concepts of the C/SIDE development environment.
• List database server options and outline database features.
• Outline how to implement multiple languages.

Introduction
Microsoft Dynamics® NAV 2009 is designed from a two- to three-tier
architecture and offers numerous programming features that provide for effective
customization of code and execution of functions.

Selected features and characteristics are introduced through conceptual


descriptions and reinforced with a test your knowledge section. Accordingly, the
lessons include no demonstrations and labs on the subject.

For detailed information on architecture and development features, refer to the


"C/SIDE Introduction in Microsoft Dynamics NAV 2009" and "Installation and
Configuration in Microsoft Dynamics NAV 2009" courses.

The architectural basics of Microsoft Dynamics NAV 2009 and the structure of
the programming code are important concepts for all users. It is particularly
useful when one is involved in the configuration and maintenance of Microsoft
Dynamics NAV 2009.

8-1
Introduction to Microsoft Dynamics® NAV 2009

Architectural Changes in Microsoft Dynamics NAV 2009


In previous versions of Microsoft Dynamics NAV, the architecture consisted of
two tiers: a client and a server. The client was responsible for displaying the
presentation layer in forms and running the business logic in C/AL code.

The architecture of Microsoft Dynamics NAV 2009 includes a two-tier model,


where the Classic client provides a front end to the data layer, which is either the
Database Server for Microsoft Dynamics NAV Classic or Microsoft® SQL
Server®.

The architecture has also been extended to support a three-tier model, with:

• RoleTailored client: A client user interface that provides the front


end.
• Microsoft Dynamics NAV Server: A middle-tier server that
provides the business logic layer.
• SQL Server: A database server that provides the data layer.

If you are running the Database Server for Microsoft Dynamics NAV Classic,
move your system to the SQL Server Option to migrate to the three-tier
architecture with the RoleTailored client and Microsoft Dynamics NAV Server.

The following figure, describes the three-tier architecture in Microsoft Dynamics


NAV 2009.

FIGURE 8.1 THE THREE-TIER ARCHITECTURE PRESENTATION,


BUSINESS LOGIC AND DATA LAYERS

8-2
Chapter 8: Technology Overview

The RoleTailored client, which is a Windows Forms-based client , has been


designed as the front end for the new architecture. One key feature of the
RoleTailored client is the new user interface. After extensive research into how
customers work, what their business goals are, and how their departmental
organization works, Microsoft has created a new interface with new interaction
styles that support working in a role-oriented, task-focused manner.

To support this user interface, Microsoft Dynamics NAV displays data in the
RoleTailored client in a model-driven way and relies on metadata to display this
data. Also, business logic code is no longer run on the client. Instead, requests to
run C/AL code are sent to the middle tier.

Previous versions of Microsoft Dynamics NAV and the Classic client in


Microsoft Dynamics NAV 2009 display data in forms, such as card forms or list
forms, where you can design forms in a visual design environment with precise
layout information.

The new RoleTailored client now displays data in pages, and you design these
pages in Page Designer. Page Designer allows you to transform your existing
forms into pages and then adjust them further. Additionally, the page elements
are listed in their relative display order, and the properties that are associated
with each element are used to specify special presentation features but without
any size or position specifications. This will allow a page to be consumed by
different types of clients without being constrained by layout limitations and each
client can render the page in a different way.

Pages provide a flexible foundation for building many different types of display
objects. The Classic client contains card forms and list forms. In the RoleTailored
client, there are equivalent page types and several new ones that help you build
pages with special layouts. Pages also contain new types of controls that enable
advanced representation of system data and shortcuts to system features.

The RoleTailored client provides a single document interface (SDI) environment,


which is the same type of environment used in Microsoft® Office Outlook®. Lists
of e-mails, tasks, or contacts are displayed in the navigation layer, and every e-
mail that you want to read or create will open in its own window.

In the RoleTailored client, the navigation layer displays lists of work areas, called
list places. Examples of list places include customers and orders. By default, one
list replaces another list in the same window. You can also launch a list or card
page in its own window. In addition to list places, the navigation layer shows the
Role Center and Departments place.

You then open an entity, such as a specific customer or sales order, in a separate
window to view or edit it. These windows are called task pages, which also fall
into subcategories with different layouts, such as cards, documents, and journals.

8-3
Introduction to Microsoft Dynamics® NAV 2009

The RoleTailored client also has a small category of dialog boxes that are
different from task pages. These dialog boxes differ in layout and do not
represent an entity. Instead, they prompt the user for parameters for further
processing.

Microsoft Dynamics NAV Server


Microsoft Dynamics NAV Server works exclusively with the SQL Server option.
The NAV Server can run on any machine running Windows, not necessarily the
one that is the SQL Server. It uses the Windows Communication Framework as
the communication protocol for RoleTailored clients and Internet Information
Services for Web services that access it. Microsoft Dynamics NAV can execute
multiple client requests in parallel and serve other clients by providing Web
service access to authenticated clients.

A key difference between the two-tier architecture with the Classic client and
three-tier architecture with the RoleTailored client is that business logic runs on
Microsoft Dynamics NAV Server instead of the client in the three-tier
architecture. A simple example is the FILE.CREATE function. In previous
versions of Microsoft Dynamics NAV and in the Classic client, when code such
as this code is run, files are created on the client. With the RoleTailored client
and Microsoft Dynamics NAV Server, the files are created on the service itself.
If the file is meant for a user, then you must take advantage of new C/AL file
functions that enable the file to download to the client computer.

Microsoft Dynamics NAV Server provides an additional layer of security


between the clients and the database. It leverages the authentication features of
the Windows Communications Framework to provide another layer of user
authentication and uses impersonation to ensure that business logic is executed in
a process that has been instantiated by the user who submitted the request. This
means that authorization and logging of user requests is still performed by each
user, ensuring that all Windows authentication and Microsoft Dynamics NAV
roles and permissions that have been granted to the user are correct. It also
ensures that business logic-level auditing is still performed.

The new architecture provides greater scalability. You can install multiple
machines that are running Microsoft Dynamics NAV Server to provide access
the same database and enable you to balance your system by dedicating different
services to particular application areas or to different clients.

8-4
Chapter 8: Technology Overview

Web Services Support


Web services are a standardized way for independent software systems to
communicate with each other over standard internet protocols, and the
architecture is designed for dynamic program-to-program interaction. In the Web
services architecture, users can implement many types of distributed systems.
Examples of distributed systems include synchronous and asynchronous
messaging systems, distributed computational clusters, mobile-networked
systems, grid systems, and peer-to-peer environments. The broad spectrum of
requirements for program-to-program interactions means that the protocols used
by Web services are more flexible than Web protocols. However, like the World
Wide Web, Web services also rely on a small number of specific protocols, such
as Simple Object Access Protocol (SOAP).

Web services facilitate the highly dynamic data interchange that is required in
business transactions. Standardized integration technologies, such as Web
services, bring value to businesses by breaking down data silos that are created
by proprietary integration options. These proprietary integration technologies
make it difficult to get information in and out of the different systems.

To provide a robust development and operational environment, Web services are


described using machine-readable metadata . Web service metadata serves
several purposes. The metadata is used to describe the message interchange
formats that a Web service can support, in addition to the valid message
exchange patterns of a service. Metadata is also used to describe the capabilities
and requirements of a service. Web Services Description Language (WSDL),
which is an XML-based language for defining Web services, is used to express
the interchange formats and message exchange patterns of the Web services

With the introduction of Microsoft Dynamics NAV Server, Microsoft Dynamics


NAV supports Web services, simplifying the integration of Microsoft Dynamics
NAV with other systems. Specifically, Web service integration with Microsoft
Dynamics NAV is facilitated through Web service-enabled codeunits and pages.
With proper authentication and authorization, external systems can read and
write data on pages and call codeunits as defined by the common Web service
protocols. The Web service capabilities in Microsoft Dynamics NAV help
customers reap the benefits of a service-oriented architecture (SOA).

Microsoft Dynamics NAV Web services can be used by customers and partners
who want to use business logic or use a standard interface to access data from
outside Microsoft Dynamics NAV. You can use most major software
development environments, such as Microsoft® Visual Studio® 2005, to build
applications that use Web services. Furthermore, because Web services are XML
based, you can also build Web services across platforms and programming
languages.

8-5
Introduction to Microsoft Dynamics® NAV 2009

Web Services published by Microsoft Dynamics NAV


There are a few simple types of Web services that can be published by Microsoft
Dynamics NAV. The types of Web services correspond to the degree of
complexity required in the Web service interface. All Web services can run C/AL
code and validation triggers.

• The simplest Web service types are developed using the page object.
Microsoft Dynamics NAV constructs a default Web service with a
fixed set of methods. In general, it corresponds to general data
access, such as get and set individual values or retrieve and update
lists of values.
• Another Web service type involves including codeunits and the
functions from those codeunits in the Web service.
• The last type of Web service includes the ability to pass complex
data types by using an XMLport object as a parameter in a codeunit
function.

The way in which Microsoft Dynamics NAV integrates Web services saves you
from the complexity of manually setting up Web service frameworks, such as
managing the WSDL descriptions. To publish any type of Microsoft Dynamics
NAV Web service (page or codeunit), add it to the Web Service table.

Pages and codeunits that are added to the Web Service table in Microsoft
Dynamics NAV and are published are immediately available for Web service
requests over the network. Consumers of these Web services, which are systems
integrating with Microsoft Dynamics NAV, only need to know the network name
(or address) of the computer that is running Microsoft Dynamics NAV Server
and the names given to the individual pages and codeunits. For example, if a
computer that is running Microsoft Dynamics NAV Server is named
NAV_Server1, the MyCustomer Web service is available at the following URL:

http://NAV_Server1/NavisionServer/CRONUS_International_Ltd/Page/MyCusto
mer.navws

Microsoft Dynamics NAV manages Web service requests in the same way as it
handles requests from end users. Additionally, it manages the following in the
same way as requests from a Microsoft Dynamics NAV Client:

• Access rights authorization and validation


• Input data validation
• Business logic invocation
• Concurrency control

This ensures that the integrity of the Microsoft Dynamics NAV data is not
compromised through the use of Web services. It also means that you do not
have to replicate code that validates data or invokes business logic when you
build systems that use the Web services provided by Microsoft Dynamics NAV.

8-6
Chapter 8: Technology Overview

Note that when writing code for Web services, one must avoid using any end-
user confirmation dialog boxes or message boxes. The code for Web services
cannot interact with the client that called the code, so it cannot respond to dialog
box or other client interaction requests. Running this code causes an exception to
be thrown. The exception can be caught and handled, but the Web service task
will not complete.

Development Enhancements
In Microsoft Dynamics NAV 2009, the development environment is the same as
in earlier versions. As a result, you do not need to spend time learning a new tool
set and you can continue to use Object Designer to develop your solutions. Even
new development environment features, such as Page Designer, are still accessed
from Object Designer in the Classic client.

Know how objects work in the Classic client and the Role Tailored client.

Page Not supported New object type that contains


properties and methods to replace
forms.
Code and triggers run on Microsoft
Dynamics NAV Server.
Report Same as previous versions Report datasets, sections, and request
of Microsoft Dynamics forms or pages are designed in the
NAV. C/SIDE Report Designer.
Reports have three new Report layout is designed with a
properties that are ignored. report definition language editor such
as Visual Studio. The layout
information is stored in the new
properties in the report object.
Table Same as previous versions Designed and executed in the same
of Microsoft Dynamics way as in the Classic client, with the
NAV. same triggers and properties.
A new ExtendedDataType The new ExtendedDataType property
property has been added but allows you to add metadata to fields
has no affect on table to change how they are rendered.
behavior. Code and triggers run on Microsoft
Code and triggers run on the Dynamics NAV Server.
client.

8-7
Introduction to Microsoft Dynamics® NAV 2009

Page Not supported New object type that contains


properties and methods to replace
forms.
Code and triggers run on Microsoft
Dynamics NAV Server.
Web service Not supported. Web Services are designed by
creating or reusing a page or page and
codeunit objects together.
XMLports can be used to send
complex data to a Web service by
making the XMLport a parameter to a
codeunit and including that codeunit
in a Web service.
Published by adding public references
to the Web Service table.
XMLport Same as previous versions Designed and executed in the same
of Microsoft Dynamics way as the Classic client.
NAV. XMLports have been extended with
The new functions for using similar functionality to dataports to
XMLports with allow import and export of structured
import/export of non-xml files.
structured data are not
available.

Page Designer
The RoleTailored client displays data in pages that you design with Page
Designer. Microsoft Dynamics NAV 2009 comes with the following common
types:

• Type 1
• Type 2
• Type 3
• Type 4

Pages in the Navigation Layer


• Role Center – use this page type to build the starting page that users
view when they start the application. There is a different Role Center
page definition for each user profile in the application, although
multiple users can be assigned to the same user profile).

This page type consists of a number of FactBoxes, which are smaller


windows with information related to the current main window. Users
can hide or show individual FactBoxes on their Role Center page.

8-8
Chapter 8: Technology Overview

• List – this page type is the equivalent to the list form in the Classic
client. A list page also includes an Action Pane at the top for
promoted frequent commands, a filter pane in the top section of the
page, and a FactBox pane to the right.
• Departments – this is a system-generated page type. Define the
content of the application with the MenuSuite, and the system
generates department pages based on that.

Pages in Individual Windows


• Task pages – this page type contains all tasks that are part of a
business process that an end user is likely to need to complete. On
the task page, the Action Pane promotes the commands that are most
frequently used within a given context. Task pages are similar to
card forms in the Classic client.
• Cards – pages with one or more FastTabs, or sections of a page that
can be expanded or collapsed. Cards contain details and statistics
about a single entity, such as a customer or item.
• Documents – documents with one or more FastTabs for the
document header information and one FastTab for the document
lines. For example, sales orders and credit memos are document task
pages that use FastTabs.
• Journals/worksheets – lists where lines are created as a draft and
then acted upon, often with specific details shown under the list, such
as Sales Price Worksheet or Item Journal.
• List task pages – an automatic reuse of the page definition for a list
place, which is used to render the page as a pop-up list in View
mode, in Edit mode, or in Selection mode where a value is brought
back to the calling window. The list task page has one list and no
FastTabs with fields.
• List plus – pages that include one FastTab with a list and additional
FastTabs with fields or more lists. This page does not represent a
business entity but is used for custom display or processing of
information from multiple entities, such as the application worksheet
or some statistics forms.
• Matrices – pages with a grid where each cell, not a row, represents
an entity or a sum of entities.
• Wizards – sets of related pages that guide users through a task.
• Dialog boxes – this page type is used to briefly show pages that ask
the user for parameters for further processing. These pages do not
represent an entity.

8-9
Introduction to Microsoft Dynamics® NAV 2009

• Confirmation dialog boxes – pages that ask users for input for
further processing by posing a question. Generally, the page includes
a details section with information relevant to the decision.
• Request forms – pages with one or more FastTabs, each containing
a filter pane to filter a specific type of entity. In addition, the page
can contain a FastTab at the top with user options and preferences
for how the processing must be done. These pages are auto generated
based on the definitions in the reports and batch jobs.

Reports
Reports for the RoleTailored client are based on the SQL Server Reporting
Services format and introduce improvements over the existing reporting engine
in C/SIDE. Features of the new reports include:

• Graphical and color capabilities, such as pictures, charts, graphs, and


custom objects.

Interactive features that allow users to:

• Expand or contract to show or hide line details.


• Change sorting on single or multiple columns dynamically.
• Rich calculation library .
• Export to Microsoft® Office Excel® and PDF functionality.

The extra information that the RoleTailored client needs is stored in the report
definition language (RDL) format and in extra properties in the report object.
RDL is an SQL Server Reporting standard format for reports. There are a number
of available report editors, such as Microsoft Visual Web Developer™ Express
Edition, which is available as a free download.

To create a report for the RoleTailored client, define the data items for the report
and then export the report to an SQL Server Reporting Services project in Visual
Studio. Use SQL Server Reporting Services to design the layout of the report and
any post processing, such as grouping and totaling. Additionally, you can migrate
existing reports from previous versions of Microsoft Dynamics NAV or from the
Classic client and design new reports in the same way.

Some properties from Classic reports are not supported in the new architecture.
In general, these properties deal with report layout, totaling, grouping, and printer
specifications. When you open Visual Studio, the system ignores these properties
and you need to apply them from the layout designer. This only needs to be done
once, and any changes made to reports in Visual Studio are saved when you save
your report.

8-10
Chapter 8: Technology Overview

Multiple Client Support


The Microsoft Dynamics NAV Classic client and Microsoft Dynamics NAV
application server can run on the same SQL Server database that is used by the
NAV Server. This is mixed mode, which means that you can run both
RoleTailored clients and Classic clients in one system to offer different users in
an organization access to the same application and data.

The biggest benefit of being able to deploy different clients in one system is that
specific solutions that are not immediately migrated to support the three-tier
architecture can still be used in an organization. Also, any integration solutions
that run on the Microsoft Dynamics NAV application server continue to work.

C/SIDE Development Environment


The development environment in Microsoft Dynamics NAV is called
Client/Server Integrated Development Environment (C/SIDE). The major
benefits of C/SIDE are:

• All application areas for Microsoft C/SIDE are developed in


C/SIDE.
• It contains all the tools to build on and customize the application.
• It includes the executables in the program subdirectory on the hard
disk.
• It contains the code needed to interpret the following:
o Application objects
o Development system tools (editors, debugger)
o Database management system (DBMS)
o Operating system interface

C/SIDE consists of three central systems:

• Fourth-generation language (4GL) development system


• Database management system
• Special database functions

Object Designer
The Object Designer enables users to develop applications in C/SIDE. From the
Object Designer, they can run an application object or start an application object
designer (for example, the Form Designer).

8-11
Introduction to Microsoft Dynamics® NAV 2009

C/SIDE is object-based, but not object-oriented. This is an important distinction.


In an object-oriented language or environment, the developer can create new
types of objects based on the ones already in the system. In C/SIDE, there are
only eight types of application objects:

• Tables
• Forms
• Reports
• Dataports
• XMLports
• Codeunits
• MenuSuite
• Pages

Limiting developers to using these eight objects tends to make their work faster
and more efficient. The biggest benefit from this limitation is stability; it is fairly
difficult to create a severe bug in C/SIDE.

NOTE: For more information about the Object Designer, refer to the "C/SIDE
Introduction in Microsoft Dynamics® NAV 2009" course.

To open the Object Designer, click Tools > Object Designer; the Object
Designer window appears.

FIGURE 8.2 OBJECT DESIGNER SHOWING TABLES

8-12
Chapter 8: Technology Overview

Application Objects
An object is a self-contained module of data and its associated processing.

All objects in C/SIDE are assigned a number for identification purposes. Note the
following object descriptions:

• Objects 0-9,999 have been developed by Microsoft Dynamics NAV.


• Objects 10,000-49,999 have been developed by Microsoft Dynamics
NAV Territory Representatives (NTRs).
• Objects 50,000-99,999 are available for Microsoft Dynamics NAV
Solution Centers (NSCs).
• Objects 1,000,000- 98,999,999 are available for add-on products.

Tables

All information in the database is stored in tables. Each table contains one kind
of information, such as journal lines, posted entries, or basic information.

There are four different kinds of tables:

• Normal
• System
• Temporary
• Virtual

Normal tables display information that the user can work with. The Customer
table is an example of a normal table. System tables are tables that the system
creates automatically. The DBMS uses the system tables to manage, among other
things, system security and permissions. The User table is an example of a
system table.

Temporary tables act as buffers for table data in your C/AL programs.
Temporary tables are similar to normal database tables, except a temporary table
is not stored in the database but is held in the workstation memory until the table
is closed.

Virtual tables contain information that the system provides. The information that
these tables contain cannot be changed. The system computes virtual tables at
runtime. The Date and Session tables are examples of virtual tables.

Forms

Forms are used to enter and display data. For example, you can use a form to
enter information about new customers or to update and review information
about existing customers. The Sales Order window is an example of a typical
form.

8-13
Introduction to Microsoft Dynamics® NAV 2009

Reports

Reports are used to print information from a database, structure and summarize
information, and print documents, such as invoices. You can also use reports to
process data without printing anything.

You can use the Report Designer to customize and modify existing reports. To do
so, click Report > New in the Object Designer; the New Report window
appears.

FIGURE 8.3 THE NEW REPORT WINDOW IS THE FIRST STEP OF THE
REPORT DESIGNER WIZARD.

The report wizard guides you through the design of the report.

Dataports

A dataport is an object type that is used to import data from and export data to
external text files, such as comma-separated files.

XMLports

The XMLport object is conceptually related to a dataport. XMLports import and


export data in XML format and make the process of exchanging data in XML
between systems more simple and streamlined.

Codeunits

A codeunit is an object type that contains functions written in C/AL code.

MenuSuite

The MenuSuite object contains the menus that are displayed in the Navigation
Pane and in the Navigation Pane Designer. Each menu contains content for a
specific departmental area, such as Finance or Manufacturing.

8-14
Chapter 8: Technology Overview

C/AL - The Programming Language


Dataports

A dataport is an object type used to import data from and export data to external
text files, such as comma-separated files.

XMLports

The XMLport object is conceptually related to a dataport. XMLports import and


export data in XML format and make the process of exchanging data in XML
between systems more simple and streamlined.

Codeunits

A codeunit is an object type that contains functions written in C/AL code.

MenuSuite

The MenuSuite object contains the menus that are displayed in the Navigation
Pane and in the Navigation Pane Designer. Each menu contains content for a
specific departmental area, such as Finance or Manufacturing.

The Graphical User Interface (GUI)


The user interface is simplistic if you are already familiar with Microsoft
Business Solutions products. The user interface has many benefits, such as the
fact that many windows can be open at the same time and that the GUI follows
the same design principles throughout Microsoft Dynamics NAV.

Special Features
Microsoft Dynamics NAV fulfills the requirements of a business management
solution by supplying tools for entering and managing information and always
satisfying the current accounting laws. Microsoft Dynamics NAV also contains
some special facilities that help you develop business applications.

Microsoft Dynamics NAV provides:

• Direct access from one table to another


• Easy data entry
• Information in multiple dimensions
• Automatic calculation of amounts and quantities
• Information on what is included in a calculated amount
• Filtering of information

8-15
Introduction to Microsoft Dynamics® NAV 2009

• Sorting with one or more keys


• Pictures of items or a company logo on the screen, together with the
associated information
• Connections to mail merge, spreadsheet applications, and
presentation graphics programs

Database Features
Microsoft Dynamics NAV has two database server options:

• Microsoft Dynamics NAV Database Server (scalable up to 128 GB)


• The Microsoft SQL Server Option for Microsoft Dynamics NAV
based on Microsoft SQL Server (scalable beyond 128 GB)

The two server options offer the features shown in the following table.

Navision Database Server Microsoft SQL Server Option


Relational Relational
Version Management Version Management
Commit Rollback Commit Rollback
SIFT Technology SIFT Technology
Client Server Client Server
Optimistic Concurrency
Transaction Logs
Database Level Security
Record Level Security

Sum-Indexed Flow Technology – SIFT


SIFT is the basis of FlowFields. It is a feature in the database that allows users to
calculate sums quickly. There are columns in which the figures in
SumIndexFields are constantly being summed. When you want a sum calculated,
the program does not have to calculate the sum by going through a large number
of entries in the database. The sum is immediately calculated when the program
subtracts one figure in a SumIndex from another. You can view the updated sum
in a FlowField every time you open a window that contains a FlowField or when
you set a filter on a Balance field.

Version Management
Version management builds on a principle that ensures that a user always starts a
task with the latest updated complete version of the data. The user can work with
this version of the data, change it, and add new data. After this, the new data
becomes part of a new version of the database.

8-16
Chapter 8: Technology Overview

Optimistic Concurrency
Microsoft Dynamics NAV uses a technique called optimistic concurrency to
allow multiple users access to the same records at the same time.

Database-level Level Security


Database-level security means that the access users have to the database can be
defined in terms of the tables that they have access to.

Record-level Level Security


Record-level security means that the access users have to the database can be
defined in terms of the records that they have access to.

Logical Database Structures


The database is organized in the following units:

• Fields
• Records
• Tables
• Companies

Fields

A field is the smallest logical structure used in the C/SIDE database. A field is
used to hold a single piece of information, such as a name like John or an amount
like 2,352.00. Any particular field can only contain information of one specific
data type. The C/SIDE database system distinguishes among 17 different types of
data.

Fields are assembled into a structure called a record.

Records

A record is a logical structure assembled from an arbitrary number of fields. It is


used to store a single entry in the database. The fields in a record are used to store
information about important properties of the entry. An example of a record is a
number of fields with information about a single customer. Records are
organized in tables.

Tables

A table can be thought of as an N by M matrix. Each of the N rows describes a


record, and each of the M columns describes a field in the record. An example of
a table is the Customer table, which contains a record for each customer. Each
company in a database contains a number of tables.

8-17
Introduction to Microsoft Dynamics® NAV 2009

Companies

A company is the largest logical structure used in a C/SIDE database. A company


can be considered to be a subdatabase; its primary use is to separate and group
large portions of data in a database. A company can contain private tables and
tables shared with other companies.

Multilanguage Functionality
The multilanguage functionality in Microsoft Dynamics NAV helps your
employees work more efficiently. You can switch to virtually any language at
any time. Every employee can work in the language of his or her choice,
allowing your organization to respond quickly and efficiently to international
business opportunities.

Eliminate Employee Language Barriers


Microsoft Dynamics NAV helps employees become more efficient by
eliminating language barriers among your multilingual workforce.

Microsoft Dynamics NAV users can work in the language of their choice. For
example, a Swiss user can run his or her version of Microsoft Dynamics NAV in
German, French, or Italian. However, the local functionality is still Swiss. If a
user prefers French, but wants to send a report to an Italian colleague, he or she
can do so in Italian. This means that, for example, French and Italian colleagues
can work side by side on the same database or even share a workstation.

You can also change languages simply and quickly; you do not have to close
down the application and log on again just to switch languages.

With Microsoft Dynamics NAV, your customer service improves because you
can do business in your customer's preferred language. For example, if a Polish
customer wants invoices in his or her native language, you can print the invoices
in Polish from your Microsoft Dynamics NAV application. Therefore,
communication becomes more efficient with both existing and potential
customers and partners around the globe.

Language Layers
A language must be present as a granule in the license file for a user to select it
from the Tools menu. The application must also be translated to that language so
that you can import it into the database as a text file or a language module in
either of the following ways:

• Export all text strings and translate them in a translation tool, such as
the Microsoft Localization Studio.
• Enter the translation of the text strings directly in the multilanguage
editor

8-18
Chapter 8: Technology Overview

Demonstration – Use the Multilanguage Editor


Although UI (User Interface) translation is normally a batch translation process
performed when creating a local version of the program, you can manually
translate additional field or window captions in individual objects by using the
Multilanguage Editor window.

Follow these steps to translate the (company) Name field into Danish.

1. Click Tools > Object Designer.


2. Select the Company Information form in the Object Designer.
3. Click Design to open the Form Designer.
4. Select Name and click View > Properties (or press Shift+F4) to
open the Properties window.
5. Look up from the Value field of the CaptionML property.
6. In the Multilanguage Editor window, go to an empty line and look
up from the Language field to select Danish from the list (or type
DAN).
7. In the Value field, enter the Danish translation: "Navn".

FIGURE 8.4 A NEW, DANISH LANGUAGE LINE CREATED FOR THE


NAME FIELD IN THE COMPANY INFORMATION WINDOW.

8. Click OK to save the translation.


9. Close the dialog boxes.
10. Click Yes to compile the Company Information form when closing
the Form Designer.

In an installation with the Danish language layer imported, this particular Name
field now includes the new translation.

8-19
Introduction to Microsoft Dynamics® NAV 2009

Developing Multilanguage-enabled Enabled Applications


When you develop in a multilanguage-enabled environment, remember the
following general rules:

• All fields must have a Name property in (United States) English.


• Text constants replace text strings, such as error messages.
• Everything that the user views must have a Caption property.

Before you start working in a multilanguage-enabled database, set the application


language to (United States) English. Do this by clicking Tools > Language and
selecting English (United States).

FIGURE 8.5 ENGLISH (UNITED STATES) IS THE ORIGINAL LANGUAGE OF


THE CODE BASE.

In Microsoft Dynamics NAV, the code base is English (United States). This
means that the Name property of, for example, an object must always be English
(United States).

The code base in English (United States) includes the following:

• Object names
• Field names
• Function and variable names
• Comments
• Option strings
• Control names

8-20
Chapter 8: Technology Overview

Summary
The most important technology aspects of Microsoft Dynamics NAV 2009 in
relation to the previous versions have been introduced with the purpose of
providing new partner roles or users with basic knowledge of what is behind the
UI and architecture .

This fundamental knowledge is prerequisite to anyone training to become a


skilled partner role - even if their focus is on application features.

8-21
Introduction to Microsoft Dynamics® NAV 2009

Test Your Knowledge


1. Which server provides the business logic layer?
( ) SQL Server
( ) Microsoft Dynamics NAV Server

2. Microsoft Dynamics NAV 2009 can run on which type of architecture:


( ) Two-tier only
( ) Three-tier only
( ) Both two-tier and three-tier.

3. Name at least six types of objects in C/SIDE.

4. Which of the following are types of tables in C/SIDE? (Select all that apply)
( ) Virtual
( ) Data
( ) Temporary
( ) System

5. What is a codeunit?

8-22
Chapter 8: Technology Overview

6. Name three special database features in Microsoft Dynamics NAV. (Select


all that apply)
( ) Direct access from one table to another
( ) Easy data entry
( ) Connectivity to web services
( ) Automatic calculation of amounts and quantities

7. Outline the concept of SIFT.

8. Which are correct statements about the relationship between : a record, a


field, a table, and a company.? (Select all that apply)
( ) A company may be considered to be a sub database; its primary use is
to separate and group large portions of data in a database.
( ) Records are organized in a company
( ) Fields are assembled into a structure called a record.
( ) A table is the smallest logical structure used in the C/SIDE database.

8-23
Introduction to Microsoft Dynamics® NAV 2009

Quick Interaction: Lessons Learned


Take a moment and write down three key points you have learned from this
chapter

1.

2.

3.

8-24
Chapter 8: Technology Overview

Solutions
Test Your Knowledge
1. Which server provides the business logic layer?
( ) SQL Server
(•) Microsoft Dynamics NAV Server

2. Microsoft Dynamics NAV 2009 can run on which type of architecture:


( ) Two-tier only
( ) Three-tier only
(•) Both two-tier and three-tier.

3. Name at least six types of objects in C/SIDE.

MODEL ANSWER:

Tables, Forms, Reports, Dataports, XMLports, Codeunits, MenuSuite, Pages

4. Which of the following are types of tables in C/SIDE? (Select all that apply)
(√) Virtual
( ) Data
(√) Temporary
(√) System

5. What is a codeunit?

MODEL ANSWER: A codeunit is an object type that contains functions


written in C/AL code.

6. Name three special database features in Microsoft Dynamics NAV. (Select


all that apply)
(√) Direct access from one table to another
(√) Easy data entry
( ) Connectivity to web services
(√) Automatic calculation of amounts and quantities

7. Outline the concept of SIFT.

MODEL ANSWER: SIFT (Sum-Indexed Flow Technology) is the basis of


FlowFields. It is a feature in the database that allows users to have calculate
sums calculated very quickly by maintaining SumIndexes.

8-25
Introduction to Microsoft Dynamics® NAV 2009

8. Which are correct statements about the relationship between : a record, a


field, a table, and a company.? (Select all that apply)
(√) A company may be considered to be a sub database; its primary use
is to separate and group large portions of data in a database.
( ) Records are organized in a company
(√) Fields are assembled into a structure called a record.
( ) A table is the smallest logical structure used in the C/SIDE database.

8-26

You might also like