Integrating Microsoft Business Solutions- Great Plains with Microsoft.NET Claire Kennedy Product...

49
Integrating Microsoft Integrating Microsoft Business Solutions- Business Solutions- Great Plains with Great Plains with Microsoft .NET Microsoft .NET Claire Kennedy Claire Kennedy Product Marketing Manager Product Marketing Manager Microsoft Business Solutions Microsoft Business Solutions Microsoft Corporation Microsoft Corporation SOL212

Transcript of Integrating Microsoft Business Solutions- Great Plains with Microsoft.NET Claire Kennedy Product...

Integrating Microsoft Integrating Microsoft Business Solutions- Great Business Solutions- Great Plains with Microsoft .NETPlains with Microsoft .NET

Claire KennedyClaire KennedyProduct Marketing ManagerProduct Marketing ManagerMicrosoft Business SolutionsMicrosoft Business SolutionsMicrosoft CorporationMicrosoft Corporation

SOL212

AgendaAgenda

Introductions and ObjectivesIntroductions and Objectives

What is eConnectWhat is eConnect

Partner Partner Structure of eConnectStructure of eConnect

Case StudyCase Study

Sample CodeSample Code

DemonstrationDemonstration

Roadmap for Great Plains Web ServicesRoadmap for Great Plains Web Services

Where to from here?Where to from here?

ObjectivesObjectives

Understand how you can use the Understand how you can use the Microsoft Great Plains accounting engineMicrosoft Great Plains accounting engine

How to utilise your existing skills to do How to utilise your existing skills to do thisthis

What is the best way to do thisWhat is the best way to do this

eConnect CandidateseConnect Candidates

Are you a potential eConnect Are you a potential eConnect candidate? candidate?

Do you have a need to integrate data into Do you have a need to integrate data into the back office using a custom application the back office using a custom application and .net and .net

Do you have a need to integrate data out Do you have a need to integrate data out of the back officeof the back office

What is eConnect?What is eConnect?

Data Access Layer eConnect

.NET Assembly

COM

MSMQ

BizTalk

Offers fast and accurate accessibility to the Great Offers fast and accurate accessibility to the Great Plains Back Office DataPlains Back Office Data

Allows for programmable integration from web Allows for programmable integration from web storefronts and legacy systemsstorefronts and legacy systems

Allows for focusing on creating custom Allows for focusing on creating custom applications for specific business needs using applications for specific business needs using developer applicationsdeveloper applications

Aztech Business Services Aztech Business Services

David HutchingsDavid HutchingsTechnical Services DirectorTechnical Services Director

Case Study ItemsCase Study Items

Structure of eConnectStructure of eConnect

ProjectProject

DemoDemo

Great Plains InternalsGreat Plains Internals

Dexterity LogicDexterity Logic

Dexterity FormsDexterity Forms

SQL ServerSQL Server

Great Plains InternalsGreat Plains Internals

Dexterity LogicDexterity Logic

Dexterity FormsDexterity Forms

SQL ServerSQL Server eConnect eConnect SprocsSprocs

eConnecteConnectToolsTools

UserUserApplicationApplication

eConnect ToolseConnect Tools

.NET Assembly.NET Assembly

COM+ ComponentsCOM+ Components

RequesterRequester

Biztalk AdapterBiztalk Adapter

MSMQ ControlMSMQ Control

eConnect Touch PointseConnect Touch Points

Field Service Field Service

Fixed AssetsFixed Assets

General LedgerGeneral Ledger

InventoryInventory

PayrollPayroll

Project AccountingProject Accounting

Purchase Order ProcessingPurchase Order Processing

PurchasingPurchasing

ReceivablesReceivables

Sales Order ProcessingSales Order Processing

Aztech IntegrationsAztech Integrations

2 projects required Integration2 projects required IntegrationMoneytech: Credit Card OperationMoneytech: Credit Card Operation

Integrate with web application and MSCRMIntegrate with web application and MSCRM

Create and amend customer and supplier Create and amend customer and supplier accountsaccounts

Submit customer and supplier transactions Submit customer and supplier transactions (invoices and credit notes)(invoices and credit notes)

St Vincent de PaulSt Vincent de PaulSubmit GL Journals from CRM Revenue Submit GL Journals from CRM Revenue ApplicationApplication

BackgroundBackground

Dec 2004: Aztech had no eConnect or .NET Dec 2004: Aztech had no eConnect or .NET experienceexperience

Both Projects needed a GP integration whichBoth Projects needed a GP integration whichWorks without GP runningWorks without GP running

Does not require a User LicenceDoes not require a User Licence

Will not break important business logicWill not break important business logic

Does not hold expensive resources such as ADO Does not hold expensive resources such as ADO connectionsconnections

Provides easy GP upgradeProvides easy GP upgrade

Is usable within in a .NET languageIs usable within in a .NET language

OptionsOptions

DexterityDexterityRequires Dexterity session to be Requires Dexterity session to be maintainedmaintained

Requires User LicenceRequires User Licence

Relatively SlowRelatively Slow

Continuum APIContinuum APISame as above but slower!Same as above but slower!

eConnecteConnectMeets all RequirementsMeets all Requirements

To Use eConnect …Step 1To Use eConnect …Step 1

Create Business ObjectCreate Business Object

To Use eConnect …Step 2To Use eConnect …Step 2

Create Business ObjectCreate Business Object

Convert to XML Convert to XML DocumentDocument

To Use eConnect …Step 3To Use eConnect …Step 3

Create Business ObjectCreate Business Object

Convert to XML Convert to XML DocumentDocument

Run StoredRun StoredProceduresProcedures

Our Layered Our Layered ApproachApproach

Create BusinessCreate BusinessObjectObject

Convert to XML Convert to XML DocumentDocument

Run StoredRun StoredProceduresProcedures

Our Layered Our Layered ApproachApproach

Aztech Business Aztech Business Classes present our Classes present our own own

PropertiesProperties

MethodsMethods

Performs Other tasksPerforms Other tasksValidationValidation

Update Extension TablesUpdate Extension Tables

Raise eventsRaise events

Create BusinessCreate BusinessObjectObject

Convert to XML Convert to XML DocumentDocument

Run StoredRun StoredProceduresProcedures

Aztech BusinessAztech BusinessClassesClasses

Moneytech Moneytech Application ClassesApplication Classes

Aztech Business ClassesAztech Business Classes

Provides standardised re-usable Provides standardised re-usable interfaceinterface

Abstracts interface for use with new Abstracts interface for use with new versions of eConnect or other accounting versions of eConnect or other accounting interfacesinterfaces

Easier for team to understandEasier for team to understandExpose sensible names Eg ContactPerson Expose sensible names Eg ContactPerson rather than CNTCPRSNrather than CNTCPRSN

Without accounting knowledgeWithout accounting knowledge

Without direct exposure to eConnectWithout direct exposure to eConnect

SampleSampleBankaccount = Vendor.Addresses.Item("REMIT TO").Bank.EFTBankBranchBankaccount = Vendor.Addresses.Item("REMIT TO").Bank.EFTBankBranch

DemoDemo

Create a Customer in Great PlainsCreate a Customer in Great Plains

Issues EncounteredIssues Encountered

SQL Transactions not supported, yetSQL Transactions not supported, yetHave to write own recovery routinesHave to write own recovery routines

Eg Moneytech invoice transactionEg Moneytech invoice transaction

No Events RaisedNo Events Raised

Documentation WeakDocumentation Weak

Strengths of eConnectStrengths of eConnect

ReliableReliableUses GP business logicUses GP business logic

ComprehensiveComprehensiveSupports all details of complex Supports all details of complex accounting transactions (eg multi-accounting transactions (eg multi-currency)currency)

FastFast0.02 second customer insert0.02 second customer insert

FlexibleFlexibleUsable anywhere!Usable anywhere!

SummarySummary

Using eConnect Using eConnect Provided a solid professional solutionProvided a solid professional solution

Saved man-weeks of work with table level Saved man-weeks of work with table level integrations integrations

1 Man-day per business object1 Man-day per business object

No extended bug tailNo extended bug tail

Promoted confidence within Aztech and Promoted confidence within Aztech and with customerswith customers

Is a Key Microsoft supported toolIs a Key Microsoft supported tool

ROADMAPROADMAP

Thank you DavidThank you David

Whats coming nextWhats coming next

Leveraging Existing CodeLeveraging Existing CodeeConnecteConnect

Many customers (> 800) and partners Many customers (> 800) and partners

(> 200) are using the solution today(> 200) are using the solution today

Robust functionality coverage with Robust functionality coverage with existing solutionsexisting solutions

Allows us to strategically invest in Allows us to strategically invest in new web services to increase new web services to increase functional footprintfunctional footprint

ISV familiarity with feature set and ISV familiarity with feature set and solution fitsolution fit

Dates are for the calendar yearDates are for the calendar yearContinued releases through at least 2013Continued releases through at least 2013

Extensions forExtensions forGreat Plains 8.0Great Plains 8.0

Q1 2005

Great Plains 9.0Great Plains 9.0Business Portal 3.0Business Portal 3.0

Q4 2005

Great Plains 10.0Great Plains 10.0Business Portal 4.0Business Portal 4.0

Q4 2006

Great Plains 11.0Great Plains 11.0Business Portal 5.0Business Portal 5.0

2008

June 2004

Great Plains 8.0Great Plains 8.0Business Portal 2.5Business Portal 2.5

Microsoft Great Plains Microsoft Great Plains Product RoadmapProduct Roadmap

8.0 – .NET application and integration (Shipping)Business Portal – Framework and queries Business Portal – Self service applications Visual Studio Business Portal Software Development Kit, SQL Reporting Services eConnect .NET Adaptor9.0 – .NET extended via Web Services (Q4 2005)Enhanced Web Services-Based Connectivity, Customer Facing Order Applications in Business Portal, Richer Microsoft Office Integration

10.0 – .NET fully enabled (Q4 2006)Richer Interoperability Across Applications and Programming Languages, Full Web Services-Based Connectivity, .NET Eventing. .Net Developer Toolkit

Microsoft Great Plains Microsoft Great Plains Technology Roadmap Technology Roadmap

Web Services SolutionWeb Services Solution

Common integration experience through Common integration experience through the WS Tierthe WS Tier

Leverage the broad array of business Leverage the broad array of business logic that exists for Great Plains todaylogic that exists for Great Plains today

Data Access Layer

Integration Object SDK(a.k.a. eConnect)

.NET Assembly

COM

MSMQ

BizTalk

Web Services Tier (Great Plains XML Schema)

Business Services Tier

ISV BenefitsISV BenefitsCreation of a single WSDL contract Creation of a single WSDL contract for integrating with Great Plainsfor integrating with Great PlainsReduction in the number of Reduction in the number of integration technologies availableintegration technologies availableCustomers and Partners who have Customers and Partners who have built solutions on eConnect are built solutions on eConnect are minimally impactedminimally impactedExtensibility model for ISV’s within Extensibility model for ISV’s within the .NET Frameworkthe .NET FrameworkStrategic alignment with overarching Strategic alignment with overarching Microsoft strategiesMicrosoft strategies

WSDL Contract BenefitsWSDL Contract Benefits

Versioning support from release to Versioning support from release to releaserelease

Changes to Great Plains does not require Changes to Great Plains does not require a change to the integration interfacea change to the integration interface

Business documents (sales orders, for Business documents (sales orders, for example) are easier to interpretexample) are easier to interpret

A common set of verbs to describe the A common set of verbs to describe the service methods service methods

Create, GetByKey, GetList, Update, DeleteCreate, GetByKey, GetList, Update, Delete

GP Business Service LayerGP Business Service Layer

The flow of each of the standard business The flow of each of the standard business operations is defined in the business service. operations is defined in the business service.

The business service is the system controller, and it The business service is the system controller, and it delegates to a series of subsystems to perform its delegates to a series of subsystems to perform its workwork

Security ManagerSecurity Manager AuthorizationAuthorizationPolicy ManagerPolicy Manager BehaviorsBehaviors

Event ManagerEvent Manager ExtensibilityExtensibility

Exception Exception ManagerManager

Exception logging, Exception logging, localization, retrievallocalization, retrieval

eConnect AdaptereConnect Adapter Biz Logic/Data AccessBiz Logic/Data Access

Are you a Candidate? Web Are you a Candidate? Web Service Target ConsumersService Target Consumers

Visual Visual StudioStudio

ISVs

IntegratiIntegrating Appsng Apps

MS-CRM

IntegrationManager

PortalsPortals

Sharepoint

WSS & SPS

OfficeOffice

ExcelWord

OutlookInfoPath

MBS Web ServicesMBS Web Services

FutureFuture

Wave 2 Modules

ResourcesResources

Resource 1: http://www.url.com

Resource 2: http://www.url.com

Resource 3: http://www.url.com

Resource 4: http://www.url.com

Resource 5: http://www.url.com

Resource 6: http://www.url.com

Resource 7: http://www.url.com

We invite you to participate in ourWe invite you to participate in our online evaluationonline evaluation on CommNet,on CommNet,

accessible Friday onlyaccessible Friday only

If you choose to complete the evaluation online, If you choose to complete the evaluation online, there isthere is no need to complete the paper evaluationno need to complete the paper evaluation

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Sample fillSample fillcolorcolor

Sample fillSample fillcolorcolor

Sample fillSample fillcolorcolor

PowerPoint GuidelinesPowerPoint Guidelines

Font, size, and color for text have Font, size, and color for text have been formatted for you in the been formatted for you in the Slide MasterSlide Master

Use the color palette shown belowUse the color palette shown below

See next slide for additional guidelinesSee next slide for additional guidelines

GP.NETGP.NET

Provide ability to integrate with GP Provide ability to integrate with GP Client using VS.NETClient using VS.NET

Provide Base Web Form Type to create Provide Base Web Form Type to create “GP Like” forms“GP Like” forms

Provide Type representation of GP Provide Type representation of GP Forms, leveraging the GP Meta Data.Forms, leveraging the GP Meta Data.

GP Security ManagerGP Security ManagerSecurity Administration for multiple GP Security Administration for multiple GP applications based on Authorization Manager applications based on Authorization Manager (azman)(azman)

Provides support for ISV integrationsProvides support for ISV integrations

Security Web Service for Roles, Tasks, and Security Web Service for Roles, Tasks, and low level authorizationlow level authorization

Utilizes Active Directory (adam) as the Utilizes Active Directory (adam) as the security storesecurity store

Windows Authentication of web service Windows Authentication of web service consumers will be handled by IISconsumers will be handled by IIS

Relies upon SSL to secure the transportRelies upon SSL to secure the transport

GP Policy ManagerGP Policy Manager

Policy behaviors can be configured to Policy behaviors can be configured to be company, role, internal, or external be company, role, internal, or external specificspecific

Event driven model allows ISV’s to Event driven model allows ISV’s to enlist and implement custom behaviorsenlist and implement custom behaviors

WS PoliciesWS PoliciesA policy is a way to define the desired A policy is a way to define the desired defaulting for incoming data that is not defaulting for incoming data that is not included in the inbound messageincluded in the inbound message

ExampleExample: A new customer is sent in to be : A new customer is sent in to be created in Great Plains with only the created in Great Plains with only the required fields (ID and Name). A Policy on required fields (ID and Name). A Policy on customer would be that all new customers customer would be that all new customers created from that provider would use the created from that provider would use the “RETAIL CUSTOMER” class to default the “RETAIL CUSTOMER” class to default the rest of the information (currency, price level, rest of the information (currency, price level, etc.)etc.)

Different integration types (providers) could Different integration types (providers) could have different policies (CRM vs. Web have different policies (CRM vs. Web storefront, as an example)storefront, as an example)

GP Event ManagerGP Event Manager

A standard set of events will be A standard set of events will be exposed for every business objectexposed for every business object

Create EventsCreate Events::DefaultingForCreate, ValidatingForCreate, DefaultingForCreate, ValidatingForCreate, Creating, CreatedCreating, Created

Update EventsUpdate Events::DefaultingForUpdate, ValidatingForUpdate, DefaultingForUpdate, ValidatingForUpdate, Updating, UpdatedUpdating, Updated

Delete EventsDelete Events::DefaultingForDelete, ValidatingForDelete, DefaultingForDelete, ValidatingForDelete, Deleting, DeletedDeleting, Deleted

GetByKey EventsGetByKey Events::RetrievedRetrieved

GetList EventsGetList Events::No EventsNo Events

GP Exception ManagerGP Exception Manager

Handles both business object validation Handles both business object validation exceptions and system exceptionsexceptions and system exceptions

Wraps and returns multiple business Wraps and returns multiple business validation exceptions into manageable validation exceptions into manageable collectionscollections

Logs all exceptions for future viewing and Logs all exceptions for future viewing and provides separate web services for provides separate web services for retrievalretrieval

Provides for both business validation Provides for both business validation errors and warningserrors and warnings

Great Plains Web ServicesGreat Plains Web ServicesWrite FlowWrite Flow

eC

onn

ect

.N

ET A

ssem

bly

eC

onn

ect

.N

ET A

ssem

bly

eC

onn

ect

Adap

ter

Layer

eC

onn

ect

Adap

ter

Layer

Bu

sin

ess

Serv

ices

Layer

Bu

sin

ess

Serv

ices

Layer

Web

Serv

ices

Layer

Web

Serv

ices

Layer

GPGPDatabaseDatabase

xmlxml

Secu

rity

Man

ag

er

Secu

rity

Man

ag

er

Polic

y M

an

ag

er

Polic

y M

an

ag

er

Even

t M

an

ger

(Defa

ult

ing

For*

)E

ven

t M

an

ger

(Defa

ult

ing

For*

)

Exce

pti

on

Man

ag

er

Exce

pti

on

Man

ag

er

Even

t M

an

ger

(Valid

ati

ng

For*

)E

ven

t M

an

ger

(Valid

ati

ng

For*

)BusinessBusinessObjectObject

An XML document An XML document is sent to the Web is sent to the Web

ServiceService

The Web Service The Web Service Layer materializes Layer materializes a Business Object a Business Object from the incoming from the incoming XML document and XML document and

passes it to the passes it to the Business ServiceBusiness Service

The Security The Security Manager verifies Manager verifies that the caller is that the caller is

authorized for the authorized for the callcall

The Policy Plan is The Policy Plan is validatedvalidated

The DefaultingFor* The DefaultingFor* event is raised and event is raised and all Event Handlers all Event Handlers

are executedare executed

The ValidatingFor* The ValidatingFor* event is raised and event is raised and all Event Handlers all Event Handlers

are executedare executed

The Exception The Exception Manager is Manager is

responsible for the responsible for the logging of logging of

exceptions and the exceptions and the transformation of transformation of

eConnect eConnect exceptions into exceptions into

Business Business exceptionsexceptions

The eConnect The eConnect Adpater Layer Adpater Layer transforms the transforms the

incoming BO into an incoming BO into an eConnect XML eConnect XML

document, wraps the document, wraps the call to eConnect in a call to eConnect in a

transaction and transaction and raises the necessary raises the necessary

eventsevents

An eConnect serviced An eConnect serviced component hosted by component hosted by

COM+COM+

xmlxml

The flow of each of The flow of each of the standard the standard

business business operations(Create, operations(Create,

Update, Delete, Update, Delete, GetByKey, and GetByKey, and

GetList) is defined GetList) is defined in the Business in the Business

Service Service

*Create*Create*Update*Update*Delete*Delete

GP.NetGP.Net

Great Plains Web ServicesGreat Plains Web ServicesGetByKey FlowGetByKey Flow

eC

onn

ect

.N

ET A

ssem

bly

eC

onn

ect

.N

ET A

ssem

bly

eC

onn

ect

Adap

ter

Layer

eC

onn

ect

Adap

ter

Layer

Bu

sin

ess

Serv

ices

Layer

Bu

sin

ess

Serv

ices

Layer

Web

Serv

ices

Layer

Web

Serv

ices

Layer

GPGPDatabaseDatabase

Secu

rity

Man

ag

er

Secu

rity

Man

ag

er

Exce

pti

on

Man

ag

er

Exce

pti

on

Man

ag

er

Even

t M

an

ger

(Retr

ieved

)E

ven

t M

an

ger

(Retr

ieved

)

xmlxmlxmlxml xmlxml

An XML document is An XML document is sent to the Web sent to the Web Services LayerServices Layer

The Web Services The Web Services Layer deserializes the Layer deserializes the

incoming XML incoming XML Document into a Document into a

Business Object Key Business Object Key and passes it on to and passes it on to

the Business Services the Business Services LayerLayer

The caller is The caller is authorized and the authorized and the context is validatedcontext is validated

If errors exist and If errors exist and exception is thrownexception is thrown

The Adapter Layer The Adapter Layer uses the Business uses the Business

Object Key to Object Key to construct an XML construct an XML

document that document that eConnect expects eConnect expects

and passes the and passes the document to the document to the Requester within Requester within

eConnecteConnect

The Requester calls The Requester calls out to SQL and out to SQL and

returns the result set returns the result set to the Adapter Layerto the Adapter Layer

The Adapter Layer The Adapter Layer deserializes the XML deserializes the XML document received document received

from eConnect, into a from eConnect, into a Business Object, Business Object,

raises the retrieved raises the retrieved event, and passes event, and passes the results back to the results back to the Web Services the Web Services

LayerLayer

BusinessBusinessObjectObject

BusinessBusinessObjectObjectxmlxml

The Web Services The Web Services Layer serializes the Layer serializes the received business received business

object into XML and object into XML and passes on to the passes on to the

caller.caller.

Demo ScenarioDemo Scenario

Health Care ScenarioHealth Care Scenario

Implemented in VS.NET and C#Implemented in VS.NET and C#

Need to extend GP to capture Patient Need to extend GP to capture Patient info when Customers are addedinfo when Customers are added

Needs to default Customer Bill To Needs to default Customer Bill To Address based on inputAddress based on input

Leverage GP .NET, GP Customer Web Leverage GP .NET, GP Customer Web Service, and GP WinForm.Service, and GP WinForm.