As you may have heard, the UEFI Forum recently released the UEFI Specification, Version 2.8, which reflects many new and useful technology changes in the platform firmware including added support for REpresentational State Transfer (REST). REST is not an official standard, but rather an architectural style of networked systems consisting of clients and servers, and it defines a set of constraints to be used for creating Web services. RESTful Web services provide interoperability between computer systems on the internet.
The added support for REST in the UEFI Specification is a big advantage to anyone who is writing system firmware for embedded system to servers. These could be original equipment manufacturers (OEMs), independent hardware vendors (IHVs) and original design manufacturers (ODMs).
The REST Process
The REST process is relatively simple. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of "representations" of "resources." A resource can essentially be any coherent and meaningful concept that is addressed. A representation of a resource is typically a document that captures the current or intended state of a resource. REST facilitates system configuration and status checks of UEFI firmware solutions. This makes it easier to up-level firmware configurations to web-based protocols, rather than rely on antiquated methods like text-based setup menus.
With the continued rapid growth of the web, we are beginning to see more automatic interaction between different websites, between websites and client applications, and websites and business databases. This is all part of increased global interconnection.
According to some industry experts, REST is quickly becoming the preferred technology for building applications that communicate over the network. REST fully leverages protocols and standards that power the web. With the growth of cloud computing and the growing interest for web-hosted applications, REST-based technologies can help both in the development of rich user interface clients calling into remote servers and in the development of actual servers for manipulating data structures in a client application or a browser.
Business Benefits of REST
REST has the potential to change the way the Internet works for businesses. While web services currently work well for business-to-consumer applications, they don't always for business-to-business applications. Here’s an example: an individual customer can easily purchase a book from an online vendor, but if a bookstore wants to make a volume purchase, it is far more complicated. The bookstore would need to use multiple applications to track sales, determine re-orders and track shipments. Often, data from one application needs to be re-entered into other applications, making the whole process inefficient. Web services powered by REST should be able to address this issue.
Because of all these considerations, the added support for REST in the UEFI Specification will be a big advantage to anyone who is writing system firmware for embedded system to servers such as OEMs, IHVs and ODMs. The motivation behind REST web services is what drives the progress of technology—making the complex simpler.