Upload
tessa-paschall
View
304
Download
6
Tags:
Embed Size (px)
Citation preview
Microsoft Dynamics AX 2009 Integration and Development with .NET FrameworkOffice 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 ApplicationsOBAs:• 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
OBA
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.
MicrosoftDynamic
s MicrosoftOfficeSuite
SNAP
Snap Applications Available TodaySnap Allows you to… From
within:
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 ServerSQL Server
Microsoft Dynamics AX AOSMicrosoft Dynamics AX AOS
Microsoft Dynamics AX 2009 .NET Business ConnectorMicrosoft Dynamics AX 2009 .NET Business Connector
Microsoft OfficeMicrosoft Office
VS
TO
2008
VS
TO
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
DemoRetrieve Customer Information to Excel
Development Side of OBA for Microsoft Dynamics AX
OBA Development: Client Platform Investments
TaskPane
Ribbon
CoreFeatures
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
Application 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.NETSQL
Client + Server = Powerful Solutions Platform
Microsoft Dynamics AX .NET Business Connector
Micro
soft V
isual S
tud
io To
ols fo
r Office
…
2007 Office system clients
Office SharePoint Server 2007
Office Business
Applications
MicrosoftOffice
System
Dynamics AX
Content Management
Unified Communication &
Collaboration
Business Intelligence
Exch
an
ge
Serv
er 2
00
7
Offi
ce
Com
mu
nic
atio
ns S
erv
er 2
00
7
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
DocumentIntegration
Composite User
InterfaceComple-mentary
Document Workflow
DiscoveryNavigation
Collaborative
Site
Application Generated
Tasks & Notification
s
Cu
sto
mers
an
d
ISV
sR
eal-W
orld
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
DefaultDomainOffice Host Unmanage
d Runtime Loaders
Managed Runtime
• Check security• Fetch updates
• Create appdomain• Connect Office
host
• Host item controls• Managed controls
Usercode Add-in/
Doc customizati
on
AppDomain #3Usercode
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 assemblyMicrosoft.Dynamics.BusinessConnectorNet (inmicrosoft.dynamics.businessconnectornet.dll which islocated 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, ApplciationObject 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 Portalhttp://msdn2.microsoft.com/en-us/office/aa905528.aspx
• Office Solution Development Overviewhttp://go.microsoft.com/fwlink/?LinkId=60064
• Office Solution Architecture Overviewhttp://go.microsoft.com/fwlink/?LinkId=60065
• .NET Business connectorhttp://msdn2.microsoft.com/en-us/library/aa834438.aspx
DemoDevelop 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.