SlideShare a Scribd company logo
1 of 49
Web Services
Eric Wauters (waldo)
iFacto Business Solutions NV
eric.wauters@ifacto.be
1
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
3
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
4
In the old days
Integration Challenges
• Remote Code Execution
• How to pull & push data
• How to connect to business logic
from other systems
2-Tiered Architecture
Stores data
Stores application logic
Presents data
Inputs data
Executes application logic
C/FRONT
NODBC
NAS
Automation
C/FRONT
Pros Cons
Programmable interface to
NAV (credentials, license,
..)
Expensive licensing
scenarios
Slow in execution
Not easy to use
No business logic
execution
NODBC
Pros Cons
(hard to think of any) No business logic
execution
Unreliable
Slow
Automation
Pros Cons
flexibility More development
knowledge needed (.Net)
No Simplicity
COM Interop
Deployment
NAV Application Server
Pros Cons
Full-scale NAV “client”
Executes any business logic
Programmable and
extensible
No programmatic interface
Not synchronous
Requires programming in
NAV for anything
Push data to web app
Send Data to NAV
What about consuming a web service?
• COM
• XML Document
• XML HTTP
Freddy’s blog:
Connecting to NAV Web Services from
Microsoft Dynamics NAV 2009 SP1
14
In the old days
Challenging
Design
Difficult to
make
bulletproof
No Industry
Standard
Complex
Hard to
debug
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
16
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
17
Do we still KISS?
• Publishing Data/Business Logic has
been simplified by NAV 2009 Web
Services
• Consuming a web service in C/SIDE
is now much simpler in by .Net
Interop in NAV 2009 R2
Using NAV 2009
(Ab)using NAV 2009
3-Tiered Architecture
Presents data
Inputs data
Executes application logic
Stores data
Stores application logic
Consuming a web service
• .Net Interop
• NAV 2009 R2
23
Do it!
Demo 1:
• Execute Business Logic
– Math
• Consume published Codeunit
• Data and business Logic?
– Post Invoice
• Consume published page
• Extend webservice with codeunit
• Consuming 3rd Party web services
– Check VAT Number
• Create Proxy Class
• Use .Net Interop to Consume Web Service
25
Simplicity
No extra
development
knowledge
needed
Industry
Standard
Easy Setup
26
Is that all ??
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
27
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
28
NAV Consumes its own Web Service
Demo 2:
Story:
I want to show the external inventory
(=sum of the inventory of an item in
the other companies) on a factbox in
the Item List.
29
Steps:
1. Publish the data with NAV 2009 Web
Services
2. Create & deploy a proxy class
 build with .Net Framework 3.5
3. Use .Net Interop to get to the data
30
• Demo 2
31
Other application of Cannibalism
• Data sync Items/Customers/... in
other companies
• Generate PDF documents
• Intercompany
• Reminders – check Customer
Balance in other companies
• ...
32
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
33
• Limited extra
development
knowledge needed
• Create powerful
solutions in a simple
way
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
34
What about other technologies?
• Java
• Javascript
• C# using Web Reference
• C# using Service Reference
• Visual Basic using Web Reference
• Visual Basic using Service Reference
• Windows Mobile
• Microsoft Dynamics NAV 2009SP1
• PHP
• Others...
35
Web services authentication
• Consumers can authenticate:
– SPNEGO or Integrated Windows
Authentication (default)
– NTLM (java, php, ...)
• SSL can be used
– Walkthrough: Configuring Web Services
to Use SSL (MSDN)
• Standard NAV security applies
thereafter
What about other technologies?
It’s all about XML
<Soap:Envelope xmlns:Soap="http://schemas.xmlsoap.org/soap/envelope/">
<Soap:Body>
<Companies xmlns="urn:microsoft-dynamics-schemas/nav/system/">
</Companies>
</Soap:Body>
</Soap:Envelope>
Which returns:
<Soap:Envelope xmlns:Soap="http://schemas.xmlsoap.org/soap/envelope/">
<Soap:Body>
<Companies_Result xmlns="urn:microsoft-dynamics-schemas/nav/system/">
<return_value>ASTENA NV</return_value>
<return_value>CRONOS NV</return_value>
<return_value>IFACTO NV</return_value>
<return_value>MORE ICT NV</return_value>
</Companies_Result>
</Soap:Body>
</Soap:Envelope>
What about other technologies?
• Java
• Javascript
• C# using Web Reference
• C# using Service Reference
• Visual Basic using Web Reference
• Visual Basic using Service Reference
• Windows Mobile
• Microsoft Dynamics NAV 2009SP1
• Others...
• PHP
38
• Demo 3:
javascript
39
• Demo 4:
– Magento
• eCommerce Platform built on Open-Source
technology
– Extra module: NavisionSync
40
What about other technologies?
• Java
• Javascript
• C# using Web Reference
• C# using Service Reference
• Visual Basic using Web Reference
• Visual Basic using Service Reference
• Windows Mobile
• Microsoft Dynamics NAV 2009SP1
• PHP
• Others...
41
Freddy’s blog: http://blogs.msdn.com/freddyk/
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
42
• Provides a standard way of
connecting systems
• Almost no limit in
technologies that will be able
to consume NAV 2009 Web
Services
• Increase return on Microsoft
Dynamics NAV investment
• Consistent Integration
Method
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
43
Key Takeaways
• NAV is not an island (anymore)
• Simplicity
• Industry Standards
• Cloud-opener ...
44
Integration Possibilities
Inventory Update
View Product Catalogue
Submit Order
High-level Summary
Credit Check
Call Center Connection
Shop Floor Location
Advanced Shipping Notification
Required Replenishment
Time Sheet Registration
Business Intelligence
Get Vendor Data
Update Currencies
Change Location
Mobility
RFID
Create Project Plan
Change Pricing
Block Customer
Calculate Shipping Cost
Warehouse Receipt
Approval
Pick
Put-Away
Payroll
Mass Edit
Account Update
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
46
Agenda
In the old
days
In these
days
Cannibalism
Going
somewhat
beyond
Key
Takeaways
47
Resources
• Freddy’s Blog:
http://blogs.msdn.com/freddyk/default.
aspx
– Lots of examples
– Lots of different technologies
– Cloud
• My Blog: http://www.waldo.be
– A few examples
– Cannibalism
• Vjeko’s blog:
www.navigateintosuccess.com
Questions?
49
Directions EMEA 2011
10 – 13 May 2011, Berlin
The NAV Partner Community
http://www.directionsemea.com
The only NAV focus conference !
Why attend
• Directions EMEA is organized for NAV
partners by NAV partners
• Objectives:
– Build a stronger and more engaged
EMEA wide NAV channel community.
– Enhance the partner relationship with
Microsoft.
– Get us what we need to be successful.
51
Why attend
• Partners
– Learn from eachother & network
– Meet the NAV product management and
development team
– Get the latest information
– Team up with NAV partners worldwide
• ISV’s
– Share your solution with NAV partners
worldwide
52

More Related Content

Similar to Web-Services.pptx

Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisVMware Tanzu
 
Overcoming Your Data Integration Challenges
Overcoming Your Data Integration Challenges Overcoming Your Data Integration Challenges
Overcoming Your Data Integration Challenges Precisely
 
Dot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement onlineDot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement onlineGaruda Trainings
 
Serverless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path ForwardServerless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path ForwardAaronLieberman5
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon_Org Team
 
Address Your Blind Spots Around Mission-Critical Data
Address Your Blind Spots Around Mission-Critical Data Address Your Blind Spots Around Mission-Critical Data
Address Your Blind Spots Around Mission-Critical Data Precisely
 
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDatenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDenodo
 
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...Precisely
 
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics Bring Your Mission-Critical Data to Your Cloud Apps and Analytics
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics Precisely
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
Mainframe Possible: Migrating a Mainframe to AWS
Mainframe Possible: Migrating a Mainframe to AWSMainframe Possible: Migrating a Mainframe to AWS
Mainframe Possible: Migrating a Mainframe to AWSAmazon Web Services
 
Systematic Migration of Monolith to Microservices
Systematic Migration of Monolith to MicroservicesSystematic Migration of Monolith to Microservices
Systematic Migration of Monolith to MicroservicesPradeep Dalvi
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserAutodesk
 
Serverless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment OpportunitiesServerless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment OpportunitiesUnderscore VC
 
Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Scott Sims
 

Similar to Web-Services.pptx (20)

Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Overcoming Your Data Integration Challenges
Overcoming Your Data Integration Challenges Overcoming Your Data Integration Challenges
Overcoming Your Data Integration Challenges
 
Dot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement onlineDot net Online Training | .Net Training and Placement online
Dot net Online Training | .Net Training and Placement online
 
Serverless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path ForwardServerless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path Forward
 
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei KavaleuGECon2017_ Lean_architecturemanagement_Andrei Kavaleu
GECon2017_ Lean_architecturemanagement_Andrei Kavaleu
 
Address Your Blind Spots Around Mission-Critical Data
Address Your Blind Spots Around Mission-Critical Data Address Your Blind Spots Around Mission-Critical Data
Address Your Blind Spots Around Mission-Critical Data
 
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssenDatenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
Datenstrategie der Zukunft - Technologietrends, die Sie kennen müssen
 
Navigating Cloud and Multi-Cloud
Navigating Cloud and Multi-CloudNavigating Cloud and Multi-Cloud
Navigating Cloud and Multi-Cloud
 
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...
Accelerate Innovation by Bringing all Your Mission-Critical Data to Your Clou...
 
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics Bring Your Mission-Critical Data to Your Cloud Apps and Analytics
Bring Your Mission-Critical Data to Your Cloud Apps and Analytics
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
SharePoint Custom Development
SharePoint Custom DevelopmentSharePoint Custom Development
SharePoint Custom Development
 
FinOps introduction
FinOps introductionFinOps introduction
FinOps introduction
 
Mainframe Possible: Migrating a Mainframe to AWS
Mainframe Possible: Migrating a Mainframe to AWSMainframe Possible: Migrating a Mainframe to AWS
Mainframe Possible: Migrating a Mainframe to AWS
 
Systematic Migration of Monolith to Microservices
Systematic Migration of Monolith to MicroservicesSystematic Migration of Monolith to Microservices
Systematic Migration of Monolith to Microservices
 
E-Commerce Infrastructures
E-Commerce InfrastructuresE-Commerce Infrastructures
E-Commerce Infrastructures
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the Browser
 
Webinar: Adding Intelligence to Process Automation
Webinar: Adding Intelligence to Process AutomationWebinar: Adding Intelligence to Process Automation
Webinar: Adding Intelligence to Process Automation
 
Serverless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment OpportunitiesServerless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment Opportunities
 
Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016Brocade Software Networking Presentation at Interface 2016
Brocade Software Networking Presentation at Interface 2016
 

Recently uploaded

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Recently uploaded (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Web-Services.pptx

  • 1. Web Services Eric Wauters (waldo) iFacto Business Solutions NV eric.wauters@ifacto.be 1
  • 2. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 3
  • 3. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 4
  • 4. In the old days Integration Challenges • Remote Code Execution • How to pull & push data • How to connect to business logic from other systems
  • 5. 2-Tiered Architecture Stores data Stores application logic Presents data Inputs data Executes application logic C/FRONT NODBC NAS Automation
  • 6. C/FRONT Pros Cons Programmable interface to NAV (credentials, license, ..) Expensive licensing scenarios Slow in execution Not easy to use No business logic execution
  • 7. NODBC Pros Cons (hard to think of any) No business logic execution Unreliable Slow
  • 8. Automation Pros Cons flexibility More development knowledge needed (.Net) No Simplicity COM Interop Deployment
  • 9. NAV Application Server Pros Cons Full-scale NAV “client” Executes any business logic Programmable and extensible No programmatic interface Not synchronous Requires programming in NAV for anything
  • 10. Push data to web app
  • 12. What about consuming a web service? • COM • XML Document • XML HTTP Freddy’s blog: Connecting to NAV Web Services from Microsoft Dynamics NAV 2009 SP1 14
  • 13. In the old days Challenging Design Difficult to make bulletproof No Industry Standard Complex Hard to debug
  • 14. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 16
  • 15. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 17
  • 16. Do we still KISS? • Publishing Data/Business Logic has been simplified by NAV 2009 Web Services • Consuming a web service in C/SIDE is now much simpler in by .Net Interop in NAV 2009 R2
  • 19. 3-Tiered Architecture Presents data Inputs data Executes application logic Stores data Stores application logic
  • 20. Consuming a web service • .Net Interop • NAV 2009 R2 23
  • 21. Do it! Demo 1: • Execute Business Logic – Math • Consume published Codeunit • Data and business Logic? – Post Invoice • Consume published page • Extend webservice with codeunit • Consuming 3rd Party web services – Check VAT Number • Create Proxy Class • Use .Net Interop to Consume Web Service
  • 24. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 27
  • 25. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 28
  • 26. NAV Consumes its own Web Service Demo 2: Story: I want to show the external inventory (=sum of the inventory of an item in the other companies) on a factbox in the Item List. 29
  • 27. Steps: 1. Publish the data with NAV 2009 Web Services 2. Create & deploy a proxy class  build with .Net Framework 3.5 3. Use .Net Interop to get to the data 30
  • 29. Other application of Cannibalism • Data sync Items/Customers/... in other companies • Generate PDF documents • Intercompany • Reminders – check Customer Balance in other companies • ... 32
  • 30. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 33 • Limited extra development knowledge needed • Create powerful solutions in a simple way
  • 31. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 34
  • 32. What about other technologies? • Java • Javascript • C# using Web Reference • C# using Service Reference • Visual Basic using Web Reference • Visual Basic using Service Reference • Windows Mobile • Microsoft Dynamics NAV 2009SP1 • PHP • Others... 35
  • 33. Web services authentication • Consumers can authenticate: – SPNEGO or Integrated Windows Authentication (default) – NTLM (java, php, ...) • SSL can be used – Walkthrough: Configuring Web Services to Use SSL (MSDN) • Standard NAV security applies thereafter
  • 34. What about other technologies? It’s all about XML <Soap:Envelope xmlns:Soap="http://schemas.xmlsoap.org/soap/envelope/"> <Soap:Body> <Companies xmlns="urn:microsoft-dynamics-schemas/nav/system/"> </Companies> </Soap:Body> </Soap:Envelope> Which returns: <Soap:Envelope xmlns:Soap="http://schemas.xmlsoap.org/soap/envelope/"> <Soap:Body> <Companies_Result xmlns="urn:microsoft-dynamics-schemas/nav/system/"> <return_value>ASTENA NV</return_value> <return_value>CRONOS NV</return_value> <return_value>IFACTO NV</return_value> <return_value>MORE ICT NV</return_value> </Companies_Result> </Soap:Body> </Soap:Envelope>
  • 35. What about other technologies? • Java • Javascript • C# using Web Reference • C# using Service Reference • Visual Basic using Web Reference • Visual Basic using Service Reference • Windows Mobile • Microsoft Dynamics NAV 2009SP1 • Others... • PHP 38
  • 37. • Demo 4: – Magento • eCommerce Platform built on Open-Source technology – Extra module: NavisionSync 40
  • 38. What about other technologies? • Java • Javascript • C# using Web Reference • C# using Service Reference • Visual Basic using Web Reference • Visual Basic using Service Reference • Windows Mobile • Microsoft Dynamics NAV 2009SP1 • PHP • Others... 41 Freddy’s blog: http://blogs.msdn.com/freddyk/
  • 39. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 42 • Provides a standard way of connecting systems • Almost no limit in technologies that will be able to consume NAV 2009 Web Services • Increase return on Microsoft Dynamics NAV investment • Consistent Integration Method
  • 40. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 43
  • 41. Key Takeaways • NAV is not an island (anymore) • Simplicity • Industry Standards • Cloud-opener ... 44
  • 42. Integration Possibilities Inventory Update View Product Catalogue Submit Order High-level Summary Credit Check Call Center Connection Shop Floor Location Advanced Shipping Notification Required Replenishment Time Sheet Registration Business Intelligence Get Vendor Data Update Currencies Change Location Mobility RFID Create Project Plan Change Pricing Block Customer Calculate Shipping Cost Warehouse Receipt Approval Pick Put-Away Payroll Mass Edit Account Update
  • 43. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 46
  • 44. Agenda In the old days In these days Cannibalism Going somewhat beyond Key Takeaways 47
  • 45. Resources • Freddy’s Blog: http://blogs.msdn.com/freddyk/default. aspx – Lots of examples – Lots of different technologies – Cloud • My Blog: http://www.waldo.be – A few examples – Cannibalism • Vjeko’s blog: www.navigateintosuccess.com
  • 47. Directions EMEA 2011 10 – 13 May 2011, Berlin The NAV Partner Community http://www.directionsemea.com The only NAV focus conference !
  • 48. Why attend • Directions EMEA is organized for NAV partners by NAV partners • Objectives: – Build a stronger and more engaged EMEA wide NAV channel community. – Enhance the partner relationship with Microsoft. – Get us what we need to be successful. 51
  • 49. Why attend • Partners – Learn from eachother & network – Meet the NAV product management and development team – Get the latest information – Team up with NAV partners worldwide • ISV’s – Share your solution with NAV partners worldwide 52

Editor's Notes

  1. How to execute business logic from outside NAV (real time)
  2. As for the C/Front cons: To me it’s one more additional proprietory system, and I really don’t need that anymore; it’s dead and it stinks. My main con against NODBC has always been that it can seriously impede system performance. If you do not use it extensively, you might just as well write a dataport; if you do, it can bring your system to a standstill quite easily. My main cons against automation are the old COM usage and deployment issues. The fact that you might need Visual Studio is only a con in the old way of thinking, not anymore today. NAS: I don’t mind that it requires some additional code. The fact that there is no programmatic interface is an issue, but could be solved by MS if they’d invest in it. The main point for me is that it really only allows asynchronous processes; that rules out quite a lot of scenarios.
  3. 1.Data input will be triggered in Navision. Modify data, Insert data en delete data. 2.All primary key data will be added in the "out monitor queue" table. If the record has the right conditions   it will be ready for sycnhronization. 3.The NAS Scheduler Job "Export XML" will monitor the queue table.   All records with process status :"Ready to process" will be processed. 4.For each record an XML will be created and send to the right connector (in this case a webservice connector). 5.The webservice receives the xml file. The data will be processed : insert, update or delete data. 6.The data will be available for publishing on an website.
  4. Web Service Consumer Any client that understands how to communicate with Web Services; like InfoPath, Visual Studio, SharePoint or any custom application written by you. Port Is the physical communication port that the WCF listens to. WCF Web Service Defines the data contracts and service contracts for the Web Service, it also implements the concrete service and opens for listening in the WCF subsystem, it then delegates the requests to the COM Event Dispatcher component. COM Event Dispatcher This component provides the hookups for Dynamics NAV, both to activate the service and to register event sinks. It defines 2 IDispatch interfaces the IServiceEvents and the IWebServiceListner, as well as the concrete implementation of the IWebServiceListner in the WebServiceListner class that provides the actual code for hooking up the WCF Web Service to Dynamics NAV. .NET We are using the CLR runtime for writing our Web Service component and our COM plugin. Some of this blog entry is about interop between Dynamics NAV and .NET through COM. Codeunit Event Handler Is responsible for starting up the WCF Web Service through the COM interface, it then registered for events coming from the WCF Web Service Component. The events routed to XMLPort for processing. XMLPorts for datastreams It deals with the actual business logic and data coming from or going to the Web Service.
  5. Show the complexity of consuming ... ?
  6. What does it mean for NAV 2009 Web Services are: Standardized Widely used and understood Supported by a lot of tools Supported by Microsoft Dynamics Often the most cost-effective way to approach integration NAV2009: PUBLISHING = making data and functionality available not CONSUMING = utilizing a web service
  7. KISS = Keep It Simple, Stupid
  8. Show services Restart: show event log Open Web services form: Create web Service .. Show WSDL
  9. Show services Restart: show event log Open Web services form: Create web Service .. Show WSDL
  10. Stuart’s session (TECH5) – Thursday HOL Later: demo!  VAT Number Check!
  11. Post invoice: - using a page - extending it functionality with a codeunit.
  12. Walkthrough: Configuring Web Services to Use SSL (MSDN) http://msdn.microsoft.com/en-us/library/ee414240.aspx
  13. Javascript does not natively have support for strongly typed proxy class generation like C#, VB and Java nor does it have support for interpretation of Soap based webservices like PHP – it is all about XML. In the end all of the other languages ends up creating a XML document (basically just a string), which is send over the wire to the the Web Service host who then replies back with a XML Document (again just a formatted string). String manipulation is possible in Javascript and Javascript does have an object called XmlHttpRequest which can communicate with a XML Web Service host – we should be good. The way NAV 2009 (and SP1) handles Web Services is using SOAP. You can read more about the basics here: http://en.wikipedia.org/wiki/SOAP. This image describes pretty well how your message is put into a body and inserted into an envelope, which the gets send.
  14. Magento is a feature-rich eCommerce platform built on open-source technology that provides online merchants with unprecedented flexibility and control over the look, content and functionality of their eCommerce store. Magento’s intuitive administration interface features powerful marketing, search engine optimization and catalog-management tools to give merchants the power to create sites that are tailored to their unique business needs. Designed to be completely scalable and backed by Varien's support network, Magento offers companies the ultimate eCommerce solution
  15. There are lots of integration possibilities for how various external systems and applications can be enhanched by Integrate with Microsoft Dynamics NAV 2009 using Web Services. ” Lets say one of your customers did an - automated - production order planning, and as part of that called their their vendors on-line with availabily and price requests, and finally placed orders – then, if you are a vendor, you would provide a Web Service for your Customer to call (Inquire on parts, Place orders and recieve confirmation). ” Then, instead of manually going to your web site or place a phone call, the customers production order planning system could directly call your Microsoft Dynamics NAV 2009 using Web Services, Query avaialability and Place orders Fast – efficient - directly