Integration and Development with .NET

esophagusbunnyΔιαχείριση

20 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

108 εμφανίσεις

Microsoft Dynamics AX 2009
Integration and Development with .NET
Framework

Office Business Applications for Microsoft
Dynamics AX

Agenda


Introduction to Office Business Applications (OBA)
for Microsoft Dynamics


Business Problem


Introducing Office Business Applications


Deployment



Development Side of Office Business Applications


Visual Studio Tools for Microsoft Office


Microsoft Dynamics AX .NET Business Connector

Introduction to Office Business Applications

Microsoft Dynamics AX 2009
Integration and Development with .NET
Framework

Business Problem



Recent research studies showed:


85% of employees in an organization are not licensed
for business management systems


Of the 15% that are, just over half of them actually use it


About 93% of employees have no direct access to
data regarding their business


The systems meant to enhance workflow and
decision
-
making throughout the organization are
left to a small group of power users, dramatically
diminishing ROI

Introducing Office Business Applications

OBAs:


Bring together front office and
back office


Make ERP systems more
accessible


Make information actionable by
information workers through the
familiar, powerful, and ubiquitous
Microsoft Office System


Built on the Office Business
Application Platform


Line
-
of
-
business
Applications

Microsoft
Office

System

What are OBAs for Microsoft Dynamics?



Office Business Applications for Microsoft
Dynamics are designed to connect information
workers with Microsoft Dynamics information from
within the Microsoft Office Suite


Microsoft Dynamics Snap


Microsoft Dynamics Snap applications are OBAs
designed to connect Line of Business (LOB)
systems with the people that use them through the
familiar user interface of Microsoft Office.

Snap Applications Available Today

Snap

Allows you to…

䙲潭
w楴i楮i

Business Data
Search

Search for unstructured data across ERP,
CRM and SharePoint sites

Outlook

Business Data
Lookup

Search for and insert Dynamics data into

the
document, spreadsheet or

email

you are
working on

Word,
Excel,
Outlook

Custom

Report
Generator

Export and analyze

Dynamics data in Excel,

upload changes back to the system

Excel

Timesheet
Management

Report your time directly from your Outlook
calendar

Outlook

Vacation
Management

Create, submit, approve/reject, and track
status and

history of vacation requests

Outlook

Expense
Management

Create, submit and approve/reject expense
reports

Excel,

SharePoint

Customer
Journal

Capture customer data for offline meetings
then upload any relevant changes

InfoPath

OBA Deployment Architecture

Server Side


Client Side

SQL Server

Microsoft Dynamics AX AOS

Microsoft Dynamics AX 2009 .NET Business Connector

Microsoft Office

VSTO 2008

Office Add
-
Ins

OBA Deployment Options

Office Client
-
based add
-
ins:


-

Work with Outlook, Word, Excel, and InfoPath

-

Deployed via SMS or Group Policy

-

Versions specific to the Microsoft Office 2007 system

and the 2003 Microsoft Office system

-

ClickOnce deployment technology



Office SharePoint Server
-
based add
-
ins:


-

Built for Microsoft Office SharePoint Server 2007

-

Support a single SharePoint Server deployment

Demo


Retrieve Customer Information to Excel

Development Side of OBA for
Microsoft Dynamics AX

OBA Development: Client Platform Investments

Task

Pane

Ribbon

Core

Features

Microsoft Dynamics AX

Application add
-
in


Open XML File Format


Enhanced add
-
in model


Customizable User Interface


Custom ribbon, ribbon designer


Custom task panes


Word


Custom XML, data binding


Excel


BI functions, server support


Outlook


Unified object model

.NET Business
Connector

Applicatio
n
Integration
Framework

OBA Development: Server Platform Investments


Office SharePoint Server 2007


Excel Services


InfoPath Forms Services


Business Data catalog


Content management


Windows SharePoint Services


ASP.NET integration


Workflow support


Content types and meta data


Feature and solution deployment

Office SharePoint
Server

Windows SharePoint
Services

ASP.NET

SQL

Client + Server = Powerful Solutions Platform

Microsoft Dynamics AX

.NET Business Connector

Microsoft Visual Studio Tools for Office



2007 Office system clients

Office SharePoint Server 2007

Office
Business
Applications

Microsoft

Office System

Dynamics AX

Content

Management

Unified Communication
& Collaboration

Business

Intelligence

Exchange Server
2007

Office
Communications
Server 2007

Dynamics AX

ISV OBAs

Custom OBAs



Search



Workflow



Business Data Catalog



Website & Security Framework



Excel Services

Open XML File Formats and Extensible Fluent Interface

Microsoft Dynamics AX Application Integration
Framework

Common OBA Patterns

2007
Microsoft
Office
System

OBA Apps as

a Reach
Channel

Document

Integration

Composite

User
Interface

Comple
-

mentary

Document
Workflow

Discovery

Navigation

Collaborative

Site

Application
Generated
Tasks &
Notifications

Customers and ISVs

Real
-
World Cases

Technologies


Microsoft Visual Studio 2008


Visual Studio Tools for Microsoft Office 2007


New InfoPath form or Project/Excel/Word Add
-
Ins


Add controls in forms, write event handlers



Microsoft Dynamics AX 2009 AIF or Business
Connector


Used to interface with Microsoft Dynamics AX
2009

What is VSTO?


Makes Office a valuable, first
-
class project type in VS


Enables developers to create and extend OBA


Enables developers to leverage key Office UI features
and support collaboration and workflow


Provides Office developers with advantages of the VS
professional development environment


Allows developers to leverage existing programming skills


Developers can leverage their company’s current
investment in Office 2003 Pro and new investment in
2007 Office system

Some Examples

Basic Features of VSTO



Visual designers for key UI features



Workflow and Microsoft SharePoint support



Data
-
bound Word Content Controls



App
-
level add
-
ins for most client programs



Doc
-
level add
-
ins for Excel and Word 2007



ClickOnce deployment and security

Basic Features of VSTO

Ribbon Designer

Property
Grid

Ribbon Control

Toolbox

Ribbon Editor

VSTO Runtime Components

AppDomain

#2


VSTO Runtime

DefaultDomain

Office Host


Unmanaged
Runtime
Loaders

Managed Runtime


Check security


Fetch updates


Create
appdomain


Connect Office host


Host item controls


Managed controls

Usercode


Add
-
in/

Doc
customization

AppDomain

#3

Usercode


Add
-
in/

Doc
customization

Building Task Panes


Deliver additional data to the user to act upon or
integrate within Office documents


OBA Intelligent Document Pattern


Two types of panes:


Actions Pane


Associated with a specific

Word or Excel document


Custom Task Pane:


The same general idea as

Actions Pane, only on the

application add
-
in level
,

not an individual document


Task Pane Persistence Models



Actions Pane





Custom Task Pane


How to Program Ribbon and Task Pane Interaction


Implement a custom task pane


Declare global variable which will indicate state of your task pane
visibility in
ThisAddin

class


Implement methods which will manipulate your task pane in
ThisAddin

class:







Implement Ribbon callbacks in your Ribbon class


Toggle task pane visibility inside “
Click
” handler of
RibbonToggleButton

control

AddTaskPane

method:

ctpCustTaskPane

=
this.CustomTaskPanes.Add
(new
CustTaskPane
(), "Caption");

ctpCustTaskPane.VisibleChanged

+= new
EventHandler
(
CustTaskPane_VisibleChanged
);

ctpCustTaskPane.Visible

= true;

RemoveTaskPane

method:

this.CustomTaskPanes.Remove
(
ctpCustTaskPane
);

Outlook Form Regions



Additive UI enhances Outlook’s built
-
in forms



Adjoining and Separate Regions for both custom

and
built
-
in forms



Regions are created in Outlook Forms Designer



Forms solution implemented via Add
-
in



Deployment via Windows registry

Outlook Form Regions


VSTO 3.0 simplifies and speeds up Outlook form region design
and configuration process
with a visual designer and a wizard


Achieve maximum form region design flexibility with VS visual designer


Configure your form region with a simple, intuitive wizard


Run and debug your form region right from VS (F5)


No need to manually handle manifest XML, OFS files, registry entries, etc.


Option to import Outlook
-
created OFS file

VSTO Deployment

The deployment process involves the following
considerations:



Office solution requirements


Deploying an Office solution


Installing an Office solution


Updating an Office solution


ClickOnce

cache

What is .NET Business Connector?


Standalone Microsoft Dynamics AX component



Set of managed classes that provide easy access
to X++ functionality in Microsoft Dynamics AX

Characteristics


Requires Microsoft® Windows® authentication



Automatically registered during installation



Can be used to implement and deploy both client
-
based applications, such as Microsoft

Office add
-
ins and server
-
based applications



Has a Business Connector Proxy user, which
"acts
-
on
-
behalf
-
of“ Microsoft Dynamics AX users
who cannot be fully authenticated


Business Connector Architecture


Managed classes

Transition layer

Interpreter layer

The Business Connector run
-
time
interactions

Managed Classes

The following managed classes are provided by the .NET
Business Connector:




Axapta

• AxaptaBuffer

• AxaptaContainer

• AxaptaObject

• AxaptaRecord

• VariantWrapper

All these classes are found in the namespace:

Microsoft.Dynamics.BusinessConnectorNet
, and assembly

Microsoft.Dynamics.BusinessConnectorNet
(in

microsoft.dynamics.businessconnectornet.dll
which is

located in the
Bin

directory in the Microsoft Dynamics AX Client
directory)

Examples of Usage

AxaptaRecord

axRecord

=
ax.
CreateAxaptaRecord
("
InventTable
");

axRecord.
ExecuteStmt
("select * from %1 where %1.ItemGroupId == '
RawMat
'");


Axapta ax = new Axapta();

ax.
Logon
(
CompanyName
, Language ,
ObjectServerName,Configuration
);

ax.
Logoff
();

Declare variable instance of Axapta class



Call
Logon()
method. Parameters are: name of company, language,
Applciation

Object Server name, and path to configuration file. For default values pass
null

Logoff method disconnects from AOS

Declare variable instance of AxRecord class

ExecuteStmp

receives x++ statement
and executes it

Example of Realization



using Microsoft.Dynamics.BusinessConnectorNet;



Axapta ax;

String invItemNameField = "ItemName";

Object invItemName;

String invItemIdField = "ItemId";

Object invItemId;

// Log on.

ax = new Axapta();

try

{


ax.Logon(null, null, null, null);

}

catch (Exception)

{


Console.WriteLine("Exception occurred");

}

Console.WriteLine("*** List inventory item records");

AxaptaRecord axRecord = axCreateAxaptaRecord("InventTable");

// Execute a query.

axRecord.ExecuteStmt("select * from %1 where %1.ItemGroupId == 'RawMat'");

// Loop through matching Dynamics AX records.

while (axRecord.Found)

{


invItemName = axRecord.get_Field(invItemNameField);


invItemId = axRecord.get_FieldinvItemIdField);


Console.WriteLine(invItemId + "
\
t“ + invItemName);


axRecord.Next();

}

axRecord.Dispose();

// Log off of Dynamics AX.

ax.Logoff();

Sources of Additional Information


Office Business Applications Developer Portal

http://msdn2.microsoft.com/en
-
us/office/aa905528.aspx



Office Solution Development Overview

http://go.microsoft.com/fwlink/?LinkId=60064



Office Solution Architecture Overview

http://go.microsoft.com/fwlink/?LinkId=60065



.NET Business connector

http://msdn2.microsoft.com/en
-
us/library/aa834438.aspx

Demo


Develop OBA for Microsoft Dynamics AX

Q&A

Introducing the Lab


In this lab you will:

-

Create a new VSTO project based on Excel 2007 add
-
in
template

-

Create custom task pane

-

Create connector class for Microsoft Dynamics AX and
Excel integration

-

Create new Excel template

© 2008 Microsoft Corporation. All rights reserved.

This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.