SlideShare une entreprise Scribd logo
1  sur  23
Web Service Architecture
Prem Krishna Chettri
Table of Contents
 What’s Web Service?
 Why Web Service?
 Architecture Overview
 XML
 SOAP
 WSDL
 NetSuite Web Service
What’s Is Web Service?
 Web services are application programming interfaces
(API) or Web APIs that are accessed via some
protocols like HTTP.
 “Software application identified by a URI, whose
interfaces and bindings are capable of being
defined, described, and discovered as XML artifacts”
– W3C Web Services Architecture
Requirements, Oct. 2002
Why Web Services?
 Allow companies to reduce the cost of doing e-
business, to deploy solutions faster
 Need a common program-to-program communications
model
 Allow heterogeneous applications to be integrated
more rapidly, easily and less expensively
 Facilitate deploying and providing access to business
functions over the Web
XML
 XML Inherited from SGML which is a markup
language like HTML.
 XML stands for Extensible Markup Language
because we can Extend its capability.
 XML uses parser to decode the file content.
Example :-
 <?xml version="1.0"?>
 <note>
 <to>Receiver</to>
 <from>Sender </from>
 <heading>Reminder</heading>
 <body>Message Body!</body>
 </note>
SOAP: Simple Object
Access Protocol
 What is SOAP?
 SOAP is a communication protocol
 SOAP is for communication between applications
 SOAP is a format for sending messages
 SOAP is designed to communicate via Internet
 SOAP is platform independent
 SOAP is language independent
 SOAP is based on XML
 SOAP is simple and extensible
 SOAP will be developed as a W3C standard
SOAP Message Structure
 Request and Response messages
 Request invokes a method on a remote
object
 Response returns result of running the
method
 SOAP specification defines an
“envelop”
 “envelop” wraps the message itself
 Message is a different vocabulary
 Namespace prefix is used to distinguish
the two parts
Application-specific
message vocabulary
SOAP Envelop
vocabulary
SOAP Request Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
SOAP Envelope
Message
SOAP Envelope
Namespace
Message
Namespace
SOAP Response Message
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.stock.org/stock">
</soap:Body>
</soap:Envelope>
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
SOAP Envelope
Message
Result
returned in
Body
Web Services Description Language
 What is WSDL?
 WSDL is written in XML
 WSDL is an XML document
 WSDL is used to describe Web services
 WSDL is also used to locate Web services
 WSDL is not yet a W3C standard
 Operational information about the service
 Location of the service
 Service interface
 Implementation details for the service interface
WSDL Document Structure (1/2)
 <portType> element
 Defines a web service, the operations that can be
performed, and the messages that are involved
 <message> element
 Defines the data elements of an operation
 consists of one or more parts.
 The parts can be compared to the parameters of a
function call in a traditional programming language
WSDL Document Structure (2/2)
 <types> element
 Defines the data type that are used by the web
service
 For maximum platform neutrality, WSDL uses XML
Schema syntax to define data types
 <binding> element
 Defines the message format and communication
protocols used by the web service
NetSuite WSDL
 <defination xmlns:..>
 <types>
 <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>
 <xsd:import namespace=“ “ schemaLocation=“ ”>
 <xsd:import namespace=“ “ schemaLocation=“ ”>
 ……….
 </xsd:schema>
 </types>
 <message name=“ ”>
 <part name =“ “ element =“ ”>
 </message>
 <portType name=“NetSuitePortType”>
 <operation name=“Login”>
 <input name = “ login Request” message=“tns:loginRequest”>
 <outpur name=“loginResponse” message=“tns:loginResponse”>
 </operation>
 </portType>
WSDL Continuation
 <binding name="NetSuiteBinding" type="tns:NetSuitePortType">
 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 <operation name="login">
 <soap:operation soapAction="login"/>
 <input name="loginRequest">
 <soap:header message="tns:headers" part="applicationInfo" use="literal"/>
 <soap:header message="tns:headers" part="partnerInfo" use="literal"/>
 <soap:body use="literal"/>
 </input>
 <output name="loginResponse">
 <soap:body use="literal"/>
 </output>
 <fault name="InsufficientPermissionFault">
 <soap:fault name="InsufficientPermissionFault" use="literal"/>
 </fault>
 </operation>
 </binding>
 <service name="NetSuiteService">
 <port name="NetSuitePort" binding="tns:NetSuiteBinding">
 <soap:address location="https://webservices.netsuite.com/services/NetSuitePort_2012_2"/>
 </port>
 </service>
 </definitions>
XML Schema Definition (XSD)
 An XML schema describes the structure of an
XML document.
NetSuite XSD’s:-
1>core.xsd,
2>messages.xsd,
3>faults.xsd,
4>common.xsd etc.
Web Service Model (1/3)
Web Service Model (2/3)
 Roles in Web Service architecture
 Service provider
 Owner of the service
 Platform that hosts access to the service
 Service requestor
 Business that requires certain functions to be satisfied
 Application looking for and invoking an interaction with a
service
 Service registry
 Searchable registry of service descriptions where service
providers publish their service descriptions
Web Service Model (3/3)
 Operations in a Web Service Architecture
 Publish
 Service descriptions need to be published in order for
service requestor to find them
 Find
 Service requestor retrieves a service description directly
or queries the service registry for the service required
 Bind
 Service requestor invokes or initiates an interaction with
the service at runtime
NetSuite WebServices
 General Setup (UI) :-
 To enable the Web services feature:
1. As administrator, click Setup > Company > Enable Features.
2. Click the SuiteCloud tab.
3. Select the Web Services check box.
4. Click Save.
 Enable Show Internal ID from :-
1. Home > Set Preferences.
2. Click the General Tab.
3. check the Show Internal IDs box.
NetSuite IDE Setup
 Project Setup :-
1> Install the IDE ( Visual Studio or Eclipse).
2> Create a New Project.
3> Add Web Reference. Using Below given URL’s
 WSDL URL :-
https://webservices.netsuite.com/wsdl/v2012_2_0/netsuite.wsdl
 SOAP URL :-
https://webservices.netsuite.com/services/NetSuitePort_2012_2
Note :- Use dynamic method to get the correct service url’s by getDataCenterUrls() api.
 WebService Listener :-
https://webservice.na1.netsuite.com
 Schema Browser (For Reference):-
https://system.netsuite.com/help/helpcenter/en_US/SchemaBrowser/indexv2012_2_0.html
Web Services Class and API’s
 “NetSuiteService” Class is a primary Class
exposed by NetsuiteWeb Interface.
 It has exposed Events and API’s
Example :- add, delete, update, initialize
get, search etc.
Practical’s Next
Q&A
Thank You

Contenu connexe

Tendances

Tendances (20)

Web Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NETWeb Service Implementation Using ASP.NET
Web Service Implementation Using ASP.NET
 
Java web services
Java web servicesJava web services
Java web services
 
Webservices
WebservicesWebservices
Webservices
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service Introduction
 
web service technologies
web service technologiesweb service technologies
web service technologies
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Understanding Web services
Understanding Web servicesUnderstanding Web services
Understanding Web services
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDI
 
Web services
Web servicesWeb services
Web services
 
SOA - From Webservices to APIs
SOA - From Webservices to APIsSOA - From Webservices to APIs
SOA - From Webservices to APIs
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
 
Service Oriented Architecture Luqman
Service Oriented Architecture LuqmanService Oriented Architecture Luqman
Service Oriented Architecture Luqman
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in php
 
Soap web service
Soap web serviceSoap web service
Soap web service
 
Web service
Web serviceWeb service
Web service
 
Cloud computing by Luqman
Cloud computing by LuqmanCloud computing by Luqman
Cloud computing by Luqman
 
Web services
Web servicesWeb services
Web services
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Develop ASP.Net Web Service
Develop ASP.Net Web Service Develop ASP.Net Web Service
Develop ASP.Net Web Service
 
Web Services ppt
Web Services pptWeb Services ppt
Web Services ppt
 

En vedette

Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDBNate Abele
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMSfawzmasood
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing SoftwareSteven Smith
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingfarhan amjad
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ AdvancedVivek Das
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Complement Verb
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL乐群 陈
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++ shammi mehra
 
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templatesfarhan amjad
 
Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)farhan amjad
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded LinuxSherif Mousa
 

En vedette (20)

Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDB
 
STL ALGORITHMS
STL ALGORITHMSSTL ALGORITHMS
STL ALGORITHMS
 
Distributed Systems Design
Distributed Systems DesignDistributed Systems Design
Distributed Systems Design
 
The Style of C++ 11
The Style of C++ 11The Style of C++ 11
The Style of C++ 11
 
Idiomatic C++
Idiomatic C++Idiomatic C++
Idiomatic C++
 
Improving The Quality of Existing Software
Improving The Quality of Existing SoftwareImproving The Quality of Existing Software
Improving The Quality of Existing Software
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
C++ Advanced
C++ AdvancedC++ Advanced
C++ Advanced
 
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
Bjarne Stroustrup - The Essence of C++: With Examples in C++84, C++98, C++11,...
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
 
An Introduction to Part of C++ STL
An Introduction to Part of C++ STLAn Introduction to Part of C++ STL
An Introduction to Part of C++ STL
 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
 
SOLID Principles part 2
SOLID Principles part 2SOLID Principles part 2
SOLID Principles part 2
 
Programming In C++
Programming In C++ Programming In C++
Programming In C++
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
 
Exception handling and templates
Exception handling and templatesException handling and templates
Exception handling and templates
 
Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)Inheritance, polymorphisam, abstract classes and composition)
Inheritance, polymorphisam, abstract classes and composition)
 
Memory Management In C++
Memory Management In C++Memory Management In C++
Memory Management In C++
 
MongoDB and hadoop
MongoDB and hadoopMongoDB and hadoop
MongoDB and hadoop
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 

Similaire à Web Service Basics and NWS Setup

Web service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopWeb service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopNishikant Taksande
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
Web services
Web servicesWeb services
Web servicesaspnet123
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]Subin Sugunan
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOASubin Sugunan
 
Exposing EJBs As Web Services
Exposing EJBs As Web ServicesExposing EJBs As Web Services
Exposing EJBs As Web ServicesSubin Sugunan
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
Xml web services
Xml web servicesXml web services
Xml web servicesRaghu nath
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOAJeffrey Hasan
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationJeffrey Hasan
 

Similaire à Web Service Basics and NWS Setup (20)

Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Web service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopWeb service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National Wokshop
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Web services overview
Web services overviewWeb services overview
Web services overview
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Web services
Web servicesWeb services
Web services
 
Web Services
Web Services Web Services
Web Services
 
Web services SOAP Notes
Web services SOAP NotesWeb services SOAP Notes
Web services SOAP Notes
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]
 
Web services and SOA
Web services and SOAWeb services and SOA
Web services and SOA
 
Exposing EJBs As Web Services
Exposing EJBs As Web ServicesExposing EJBs As Web Services
Exposing EJBs As Web Services
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Xml web services
Xml web servicesXml web services
Xml web services
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOA
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Web Service Basics and NWS Setup

  • 2. Table of Contents  What’s Web Service?  Why Web Service?  Architecture Overview  XML  SOAP  WSDL  NetSuite Web Service
  • 3. What’s Is Web Service?  Web services are application programming interfaces (API) or Web APIs that are accessed via some protocols like HTTP.  “Software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts” – W3C Web Services Architecture Requirements, Oct. 2002
  • 4. Why Web Services?  Allow companies to reduce the cost of doing e- business, to deploy solutions faster  Need a common program-to-program communications model  Allow heterogeneous applications to be integrated more rapidly, easily and less expensively  Facilitate deploying and providing access to business functions over the Web
  • 5. XML  XML Inherited from SGML which is a markup language like HTML.  XML stands for Extensible Markup Language because we can Extend its capability.  XML uses parser to decode the file content. Example :-  <?xml version="1.0"?>  <note>  <to>Receiver</to>  <from>Sender </from>  <heading>Reminder</heading>  <body>Message Body!</body>  </note>
  • 6. SOAP: Simple Object Access Protocol  What is SOAP?  SOAP is a communication protocol  SOAP is for communication between applications  SOAP is a format for sending messages  SOAP is designed to communicate via Internet  SOAP is platform independent  SOAP is language independent  SOAP is based on XML  SOAP is simple and extensible  SOAP will be developed as a W3C standard
  • 7. SOAP Message Structure  Request and Response messages  Request invokes a method on a remote object  Response returns result of running the method  SOAP specification defines an “envelop”  “envelop” wraps the message itself  Message is a different vocabulary  Namespace prefix is used to distinguish the two parts Application-specific message vocabulary SOAP Envelop vocabulary
  • 8. SOAP Request Message <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> </soap:Body> </soap:Envelope> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> SOAP Envelope Message SOAP Envelope Namespace Message Namespace
  • 9. SOAP Response Message <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> </soap:Body> </soap:Envelope> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> SOAP Envelope Message Result returned in Body
  • 10. Web Services Description Language  What is WSDL?  WSDL is written in XML  WSDL is an XML document  WSDL is used to describe Web services  WSDL is also used to locate Web services  WSDL is not yet a W3C standard  Operational information about the service  Location of the service  Service interface  Implementation details for the service interface
  • 11. WSDL Document Structure (1/2)  <portType> element  Defines a web service, the operations that can be performed, and the messages that are involved  <message> element  Defines the data elements of an operation  consists of one or more parts.  The parts can be compared to the parameters of a function call in a traditional programming language
  • 12. WSDL Document Structure (2/2)  <types> element  Defines the data type that are used by the web service  For maximum platform neutrality, WSDL uses XML Schema syntax to define data types  <binding> element  Defines the message format and communication protocols used by the web service
  • 13. NetSuite WSDL  <defination xmlns:..>  <types>  <xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>  <xsd:import namespace=“ “ schemaLocation=“ ”>  <xsd:import namespace=“ “ schemaLocation=“ ”>  ……….  </xsd:schema>  </types>  <message name=“ ”>  <part name =“ “ element =“ ”>  </message>  <portType name=“NetSuitePortType”>  <operation name=“Login”>  <input name = “ login Request” message=“tns:loginRequest”>  <outpur name=“loginResponse” message=“tns:loginResponse”>  </operation>  </portType>
  • 14. WSDL Continuation  <binding name="NetSuiteBinding" type="tns:NetSuitePortType">  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>  <operation name="login">  <soap:operation soapAction="login"/>  <input name="loginRequest">  <soap:header message="tns:headers" part="applicationInfo" use="literal"/>  <soap:header message="tns:headers" part="partnerInfo" use="literal"/>  <soap:body use="literal"/>  </input>  <output name="loginResponse">  <soap:body use="literal"/>  </output>  <fault name="InsufficientPermissionFault">  <soap:fault name="InsufficientPermissionFault" use="literal"/>  </fault>  </operation>  </binding>  <service name="NetSuiteService">  <port name="NetSuitePort" binding="tns:NetSuiteBinding">  <soap:address location="https://webservices.netsuite.com/services/NetSuitePort_2012_2"/>  </port>  </service>  </definitions>
  • 15. XML Schema Definition (XSD)  An XML schema describes the structure of an XML document. NetSuite XSD’s:- 1>core.xsd, 2>messages.xsd, 3>faults.xsd, 4>common.xsd etc.
  • 17. Web Service Model (2/3)  Roles in Web Service architecture  Service provider  Owner of the service  Platform that hosts access to the service  Service requestor  Business that requires certain functions to be satisfied  Application looking for and invoking an interaction with a service  Service registry  Searchable registry of service descriptions where service providers publish their service descriptions
  • 18. Web Service Model (3/3)  Operations in a Web Service Architecture  Publish  Service descriptions need to be published in order for service requestor to find them  Find  Service requestor retrieves a service description directly or queries the service registry for the service required  Bind  Service requestor invokes or initiates an interaction with the service at runtime
  • 19. NetSuite WebServices  General Setup (UI) :-  To enable the Web services feature: 1. As administrator, click Setup > Company > Enable Features. 2. Click the SuiteCloud tab. 3. Select the Web Services check box. 4. Click Save.  Enable Show Internal ID from :- 1. Home > Set Preferences. 2. Click the General Tab. 3. check the Show Internal IDs box.
  • 20. NetSuite IDE Setup  Project Setup :- 1> Install the IDE ( Visual Studio or Eclipse). 2> Create a New Project. 3> Add Web Reference. Using Below given URL’s  WSDL URL :- https://webservices.netsuite.com/wsdl/v2012_2_0/netsuite.wsdl  SOAP URL :- https://webservices.netsuite.com/services/NetSuitePort_2012_2 Note :- Use dynamic method to get the correct service url’s by getDataCenterUrls() api.  WebService Listener :- https://webservice.na1.netsuite.com  Schema Browser (For Reference):- https://system.netsuite.com/help/helpcenter/en_US/SchemaBrowser/indexv2012_2_0.html
  • 21. Web Services Class and API’s  “NetSuiteService” Class is a primary Class exposed by NetsuiteWeb Interface.  It has exposed Events and API’s Example :- add, delete, update, initialize get, search etc.