Integrating Microsoft Business Solutions- Great Plains with Microsoft.NET Claire Kennedy Product...
-
Upload
alyson-merritt -
Category
Documents
-
view
219 -
download
2
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
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 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
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
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
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.