Introduction - Cloud architecture for Business Central
Business Central is a full cloud solution, and its architecture is illustrated in the following diagram.
Business Central is a full cloud solution, and its architecture is illustrated in the following diagram.
REST (REpresentational State Transfer) refers to a Software Architectural Style that defines the standards for exchanging information between two different systems via the HTTP Protocol. It is the most popular architecture for exchanging data on the World Wide Web.
REST defines 6 different principles for Web Services:
Any API (Application Programming Interface) that follows the above principles is referred to as a REST API. In most cases, REST APIs use XML or JSON, but the REST Architecture doesn’t require anything specific as far as this is concerned. REST does not require any particular format, but it accepts any format that can be used in Content Negotiation.
OData (Open Data Protocol) is a set of best practices for developing and using RESTful APIs. It helps you to focus on your Business Logic while creating RESTful APIs without the need to worry about various ways to define request and response Headers, HTTP Methods, Status Codes, Media Types, URL Conventions, Payload Formats, and more.
OData carries the following specifications:
REST is the most essential component technology of OData. OData 3.0 standards require OData users to follow REST principles. OData rests on HTML technology, which resolves the problem of being REST-based in a way. It supports two Protocols for Data Transfer, the XML-based Atom format and JSON.
OData also has guidance for performing actions like defining reusable procedures, tracking changes, and sending many REST requests.
It provides two models for Data Management which include:
In the next section, we will be discussing OData vs REST APIs to know how the two compare in different core areas.
OData vs REST APIs: What’s the Difference?
Let’s now discuss how OData and REST APIs compare to each other:
REST is an architecture that defines how to send messages between a Client and a Server via HTTP. It is a model that states that you can use HTTP and its verbs to perform CRUD Operations (Create, Read, Update, Delete) on the resources exposed by your Services. Thus, REST is more concerned about the architecture.
OData is a standard from Microsoft that relies on the REST Architecture to send specific types of messages over HTTP. It defines metadata in CSDL (Common Schema Definition Language) format to describe the Entity types supported by your Service and their Properties, Data types, and more. Thus, OData is more concerned about the content.
REST defines 6 principles, as has been listed above, to ensure the creation of efficient Web Services and REST APIs must follow these principles. These principles ensure the success of REST Projects.
OData is built on top of the REST Framework, thus, it depends on REST principles. Note that even though OData recommends its users to follow REST principles every time, the requirement can be relaxed in the case of a good reason. A very basic, Compliant Service should be easy to build, with additional work necessary only to support additional capabilities.
REST is used when there is a need to interact with a Data Source, for example, to retrieve data for all Products. It is easier and faster to parse data using REST APIs. It uses URI to expose the Business Logic.
The following operations are available on HTTP:
OData is best used to expose Services and APIs to Systems and Applications. It has facilities for extension to achieve the custom needs of the REST APIs.
Data transfer format is an important factor to consider when comparing OData vs REST. REST supports the transfer of data in any format. Although most REST APIs use XML and JSON formats, REST is not specific in regard to this.
OData specifies that the data should be transferred in either JSON, XML, or Atom format.
Those were the major differences between OData vs REST.
This blog discussed fine differences across OData vs REST APIs. We also discussed concepts behind OData and REST APIs, their specifications and principles.
For Businesses, extracting complex data from a diverse set of Data Sources such as REST APIs can be a challenging task. This is where Hevo saves the day by providing an efficient, reliable and fast ETL Service.
Business Central supports three types of web services: API, SOAP, and OData.
In this tutorial, we will see what is data refresh in Power BI and how to schedule refresh in Power BI. And also we will discuss
Issue:
In Power Apps (Canvas App), when use SharePoint as the data source, the date field always shows "12/31/2001" even this field is blank or not selected.
ISSUE: Can't clear a datetime field in SharePoint from PowerApps.
Dropdown menus allow app users to select a pre-defined value from a list of options. But sometimes you want the user to fill-in their own value using a text input their selection cannot be found in the list. In this article I will show you how to create a dropdown with an other option in Power Apps.
You can use Power BI reports in Power Apps model-driven apps to bring rich reporting and analytics to your main forms and empower your users to accomplish more. This unlocks the power to aggregate data across systems, and tailor it down to the context of a single record.
Requriement:
Import Excel to SharePoint through Power Automate (Flow).
Issue:
Below highlighed two columns couldn't be imported.
Requirement: get items from Excel, then create an item in SharePoint list.
Issue:
Got failure when create new item in SharePoint List.
The error occurred in Date column.
The date value in Excel is integer numbers.
I used a Compose step to get the date value in Flow.
Use the below expression got below error.
if(empty(outputs('Get_Requested_Date')),null, addDays('1899-12-30',int(outputs('Get_Requested_Date')),'yyyy-MM-dd'))
Unable to process template language expressions in action 'Create_item' inputs at line '0' and column '0': 'The template language function 'int' was invoked with a parameter that is not valid. The value cannot be converted to the target type.'.
Solution:
Change the expression to below one. The error gone.
if(empty(outputs('Get_Requested_Date')),null, if(isInt(outputs('Get_Requested_Date')), addDays('1899-12-30',int(outputs('Get_Requested_Date')),'yyyy-MM-dd'),null))
If you wanna follow this expression, just replace outputs('Get_Requested_Date') with yours.
Canvas App Monitor is a new tool to better understand, debug, and improve your apps. Monitor provides a running log of all the activity within your app allowing you to see how declarative formulas are actually doing their work.
The next step is to use only those formulas that can be delegated. Included here are the formula elements that could be delegated. However, every data source is different, and not all of them support all of these elements. Check for delegation warnings in your particular formula.
Note
Unsure about entity vs. table? See Developers: Understand terminology in Microsoft Dataverse.
What's the $ in front of a string in C#?
$
is short-hand for String.Format
and is used with string interpolations, which is a new feature of C# 6. As used in your case, it does nothing, just as string.Format()
would do nothing.
It marks the string as a verbatim string literal - anything in the string that would normally be interpreted as an escape sequence is ignored.
\r
= CR (Carriage Return) → Used as a new line character in Mac OS before X\n
= LF (Line Feed) → Used as a new line character in Unix/Mac OS X\r\n
= CR + LF → Used as a new line character in Windows