OECGI4 and REST


didyouknowoiOne of the upgraded features of OpenInsight 10 will be OECGI4, the newest version of our web support routines.

One of the enhancements to OECGI4 (available as both a Windows executable for Windows web servers, and as a PHP routine for Windows or Linux web servers) is additional support for some of the less well known “verbs” used in the HTTP/HTTPS protocol. When using OECGI to support or access web pages, the HTTP and HTTPS protocols use the “POST” and “GET” verbs to submit, and request, information respectively. These have been in common use since the World Wide Web first standardized on the HTTP/HTTPS protocols. But in addition to the familiar POST and GET, HTTP/HTTPS defines other verbs that can be useful when writing RESTful interfaces.

REST stands for REpresentational State Transfer, and is in a way the underlying principle of the Web. When a client makes an HTTP or HTTPS request from a server, the response from the server contains not only the specific information needed to answer that request, but also details that the client can use to get more information, all “bundled up” in the answer. For example, when a request for a web page is made, the web page may contain images, or stylesheets, or script calls. The client has no way of knowing, in advance, if there is one, or a hundred, images in the returned page – but the page itself contains the instructions the client can use to retrieve the images, or the style sheets, or the script pages. The page may even include the data and instructions needed for the client to retrieve other pages (via links, or via pagination). Because of its familiarity, this may seem simple and straightforward when it comes to web pages, but the concept (that nothing is “predefined”, but rather everything is embodied in the responses) can be expanded upon to make much more advanced inter-operating systems.

REST can be used, not just for retrieving and updating web pages, but also to enable computer programs, as well as people, to interact with web services. By building a RESTful interface, a web service designer opens up their web site to the possibility of having other software query it for information, or update it with changes, thus allowing anyone else to put different user interfaces (if any!) on these interactions. While not required for REST, using HTTP and HTTPS, and the additional HTTP/HTTPS verbs, is currently the most common way of implementing this.

In addition to “POST” and “GET”, HTTP/HTTPS (and OECGI4) support the verbs “PUT”, “DELETE”, and “PATCH.” In the RESTful programming world, the “GET” verb is used to retrieve information – either about the other available interfaces this RESTful interface supports, or information about specific “objects”. For example, if you were to create a customer maintenance web service, the “GET” verb might be used to retrieve the list of customers, or the information about a particular customer – or the list of commands that can be applied to those customer “objects”. The “POST” verb is commonly used to create new “objects” – in our example, the “POST” verb might be used to create a new customer. “PUT” and “PATCH” both are commonly used to update existing “objects” – in our example, either “PUT” or “PATCH” may be used to change the customer’s phone number (PUT may wipe out any data in fields that aren’t specified, while PATCH should only update the specified fields). Finally, “DELETE” is most commonly used to remove “objects”.

When using OECGI4, you can examine the request parameter to find the “request method” (defined in the INET_EQUATES insert), and – with the appropriate INET_XXX stored procedures – you can begin to implement your own web service.

Interested in learning more about RESTful programming? For additional information, please see the following resources:

http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming

http://blog.octo.com/en/design-a-rest-api/

Advertisements

On the Road


SpectrumLogoLargeRevelation Software will be presenting at the International Spectrum 2017 Conference and Exhibition which will be held between the 1st May 1st and 4th May 2017 at Litchfield Park, AZ.

OpenInsight 10: The Most Modern MV Development Tool
You’re probably familiar with OpenInsight from Revelation Software, the MV development tool and database that was written for the Windows world. What you haven’t seen is OpenInsight 10 – completely rewritten from the base code up, it has a new, industry standard IDE for desktop Apps, a new web-based design platform for browser-based design, and as always our connectors to all the MV databases, cloud-based databases, and SQL.

In his presentation, Mike Ruane, President and CEO of Revelation Software will give a real-time demonstration of some of the features of OpenInsight 10, answering questions, and showing modules of specific interest to the audience. Attendees will be able to Download an evaluation version of the product.

Click HERE for more information.

Part 2 of SRP’s Web API Error Manangement


In Part 1 of this article, we reviewed the types of error conditions that can occur in web APIs and the basic methods available for handing these situations. As previously noted, developers are not confined to handling errors in only one manner. In this article we’ll look at the advantages of each error handler and propose a…

via Web API Error Management – Part 2 — SRP Update (Blog)

ITMS Uses Revelation Software to Stay Ahead of the Curve


An article by Stephanie Simone.

OPTO Software, part of iTMS Software Pty Ltd, provides manufacturing inventory software, including ERP solutions, to a wide variety of industries. Customers span the fields of manufacturing, mining, civil, fabrication, and engineering as well as distribution, retail and wholesale, construction, and importing and exporting.

Based in Brisbane, Australia, Opto has been providing ERP, material requirements planning, manufacturing and inventory software solutions to Australian businesses since the early 1990s, and in turn, these software solutions have enabled smaller manufacturers to close the technological and competitive gap between their business and larger-scale market leaders.

Used by hundreds of clients across Australia, Opto prides itself on being small enough to be highly flexible but large enough to deliver the latest technology trends to its customers while shielding them from the underlying complexity. Providing steadfast support, Opto seeks to guide customers through every phase of their installation, from evaluation and feature selection to technical support and help desk enquiries.

OpenInsight at the Core
“Our focus is on the manufacturing technologies you use to build things. Surrounding that, we also plug into accounting systems,” said Jeremy Bolton, managing director. “Revelation Software’s OpenInsight is the heart of our business; our whole product is based on it.”

According to Bolton, a key differentiator for ITMS/OPTO is its deep understanding of the nuances of manufacturing. Revelation supports that agility, ensuring that OPTO platform is easily configured.

“We’re very good at making software fit into many applications with the ability to deliver it quickly and cost effectively, while also making it easy to understand,” Bolton said. “What sets us apart is the ability for the OPTO platform to be easily configured to precise customer requirements.”

The company’s partnership with Revelation was forged after OPTO’s CEO sought to build an effective and simplified system to solve manufacturing issues.

Ability to Adapt
Revelation has made OPTO’s platform very adaptable. It’s simple to build on and it supports both emerging and existing applications, according to Bolton.

Because it runs on a MultiValue database, OPTO can add new capabilities to its platform without affecting the data model.

“If someone needs something with Revelation, the architecture of our product enables us to add the new capability without changing the underlying data model of every other customer,” Bolton said. “Our software can fit in many applications.”

MultiValue database technology can be quickly tailored to unusual requirements and it can talk directly to the CRM copy machine, Bolton explained.

“When we are talking to people about layout, normally we have to get spreadsheet, but this technology allows us to do a layout quickly and effectively,” Bolton said. “Revelation gives us the flexibility we need when responding to customer requirements.”

Built for the Future
Reliability and compatibility are also why OPTO has stayed with Revelation for more than 20 years.

The technology helps OPTO support its customers by providing them with a platform that delivers better customer outcomes, quickly, and cost-effectively.

The MultiValue aspect of the platform make it possible to process requests from customers quickly and with a speed that relational database management systems can’t provide, according to Bolton.

“Running Microsoft SQL Server or Oracle didn’t make any sense,” Bolton said. “There is nothing else you can find to handle so much data.”

Additionally, the cost to customize the platform for a customer was “astronomical,” whereas using Revelation makes the platform cost-effective for the client, Bolton explained.

However, if customers do need to utilize relational database management software, the OPTO platform can integrate to any part of the database that’s necessary, he noted.

Read On…

Web API Error Management – Part 1


Despite the claims of our previous and accidentally released article from last Sunday, this will be our first “how to” article related to the SRP HTTP Framework. We’ll look at the different methods and circumstances for handling errors in your web APIs. Part 1 will focus on the mechanics of error management within OECGI based web applications.…

via Web API Error Management – Part 1 — SRP Update (Blog)