Home » Deeper in to NetSuite » NetSuite Integration Methods Compared

NetSuite Integration Methods Compared

The Need for Integration

Enterprises are typically comprised of hundreds if not thousands of applications that are custom-built, acquired from a third-party, part of a legacy system, or a combination thereof; operating in multiple tiers of different operating system platforms. It is not uncommon to find an enterprise that has 30 different websites, three separate ERP instances and countless departmental solutions.

CTA - NetSuite Integration Connector Banner

You may be wondering how any business could allow themselves to get into such a mess? To be honest, it’s not really their fault. Writing business applications is pretty hard and creating a single, big application to run a complete business is next to impossible. Although ERP vendors have had some success at creating larger-than-ever business applications, the reality is that even heavyweight ERPs like SAP, Oracle, NetSuite and Dynamics AX can only perform a fraction of the business functions required in a typical enterprise. This is evident from the https://netsuite.folio3.com/enterprise-application-integration/fact that ERP systems are one of the most popular integration points in enterprises.

CTA - NetSuite Implementation Banner

The second biggest reason why businesses utilize multiple applications and platforms is because spreading theor business functions across multiple applications provides them with the flexibility to select the “best” accounting package, the “best” customer relationship management or the order processing system that suits their needs. One-stop-shopping for enterprise applications is usually not what IT organizations are interested in, nor is it possible, given the number of individual requirements each business funtion or unit might have.

NetSuite Integration Methods

NetSuite provides three options for integration with external worlds, namely:

Suitetalk The SuiteTalk platform provides programmatic access to NetSuite data and business processes through an XML-based application programming interface (API).

Suitelets Suitelets are basically extensions of the SuiteScript API that allow you to build custom NetSuite pages and backend logic. Suitelets are server-side scripts that operate in a request-response model and are invoked by HTTP GET or POST requests to system generated URLs

Restlets Restlets are server side scripts that interact with NetSuite data following RESTful principles. RESTlets extend the SuiteScript API, enabling you to create custom integrations with NetSuite

Netsuite Integration Methods
Netsuite Integration Methods
CTA - NetSuite Customization Banner

Restlets Compared to Suitetalk

The following table compares the characteristics of RESTlets with those of SuiteTalk’s SOAP-based web services.

AttributeRESTletsSuiteTalk
Supported Operationsget, search, add, update (heterogeneous)get, search, add, update (homogenous)
Authentication Supported?YesYes
Supported HTTP MethodsGET, PUT, POST, DELETEPOST
Passing of Login Detailsin authorization headerin body (SOAP)
Passing of ParametersGET parameters on URLall parameters in body (SOAP)
Supported Content TypesJSON, text/xml (explicit)text/xml (explicit)
Environmentlightweight, more suitable for mobile devices, bundleableheavy programming and deployment environment (C#, Java)
URL Clarity?Yes

 

https://rest.netsuite.com/app/site/hosting/restlet.nl?script=57&deploy=1&
recordtype=salesorder&id=21480

(For clients hosted by NetSuite, you should use the relative URL that does not include the domain.)

Nohttps://webservices.​netsuite.​com/​services/​NetSuitePort_​2011_​1

Restlets Compared to Suitelets

The following table compares the characteristics of RESTlets with those of Suitelets.

AttributeRESTletsSuitelets
Supported Operationsget, search, add, updateget, search, add, update
Authentication Supported?YesNo , when available without login and executed as admin programmaticallyYes, when accessed from a browser by a logged-in NetSuite user
Script Functions and HTTP Methodsindividual script function for each HTTP methodone script function for all HTTP method
Content Handlingbuilt-in handling of JSON input/outputmust write code to convert JSON input/output
Governance5,000 usage units per script1,000 usage units per script
URL Clarity?Yes
https://rest.​netsuite.​com/​app/​site/​hosting/​restlet.​nl?​script=​57&​deploy=​1&recordtype=salesorder&id=21480 (For clients hosted by NetSuite, you should use the relative URL that does not include the domain.)
No
https://forms/​netsuite.​com/​app/​site/​hosting/​scriptlet.​nl?​script=​62&​deploy=​1&​compid=​824056&​h=​ec041b59b3075bec783d
CTA - NetSuite Products

NetSuite Integration Methods – Conclusion

Deciding on which integration option to choose for NetSuite is based on various factors i.e security, scalability, the operations you need to perform, the size of the data that needs to be transported from external systems to NetSuite and vice versa. You should consider all these aspects when deciding on the integration approach to take, for integration with third party applications or systems with NetSuite.

About The Author:

The author is a NetSuite Technical Consultant at Folio3. Folio3 is a NetSuite partner that provides end to end development services for Netsuite, from SuiteCommerce Advanced implementation, to ERP customization and implementation, Netsuite integration connectors and NetSuite mobility solutions. For more information, please visit Folio3 Netsuite Services

References:

1- http://www.enterpriseintegrationpatterns.com/patterns/messaging/Chapter1.html
2- Netsuite Suite Answer Portal

If you have a NetSuite Integration requirement you would like to discuss, or would like to know more about our NetSuite Integration services, please get in touch with us

Get In Touch With Our Experts


    Get In Touch With Our Experts

      I have read and agree to the Privacy Policy of Folio3
      I agree to be contacted by Phone or Email by Folio3

      Get in touch with the

      Award-Winning

      End-to-end NetSuite Servicing Agency

      Tell us how may we assist you!