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.
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.
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
Restlets Compared to Suitetalk
The following table compares the characteristics of RESTlets with those of SuiteTalk’s SOAP-based web services.
Attribute | RESTlets | SuiteTalk |
---|---|---|
Supported Operations | get, search, add, update (heterogeneous) | get, search, add, update (homogenous) |
Authentication Supported? | Yes | Yes |
Supported HTTP Methods | GET, PUT, POST, DELETE | POST |
Passing of Login Details | in authorization header | in body (SOAP) |
Passing of Parameters | GET parameters on URL | all parameters in body (SOAP) |
Supported Content Types | JSON, text/xml (explicit) | text/xml (explicit) |
Environment | lightweight, more suitable for mobile devices, bundleable | heavy programming and deployment environment (C#, Java) |
URL Clarity? | Yes
(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.
Attribute | RESTlets | Suitelets |
---|---|---|
Supported Operations | get, search, add, update | get, search, add, update |
Authentication Supported? | Yes | No , when available without login and executed as admin programmaticallyYes, when accessed from a browser by a logged-in NetSuite user |
Script Functions and HTTP Methods | individual script function for each HTTP method | one script function for all HTTP method |
Content Handling | built-in handling of JSON input/output | must write code to convert JSON input/output |
Governance | 5,000 usage units per script | 1,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 |
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