: What is XML and how does it work with backend server in complex websites (ERP) ?

104 views
0

im familiar with html and normal websites, but recently i’ve been working with an ERP / CRM. and it used a combination of xml and python but I’m not sure how does that all work

In: 0

XML stands for Extensible Markup Language. It is a markup language used to structure and store data. XML is used to format data for websites, as well as for backend systems such as ERP and CRM systems. ~~XML is used to format data for websites, as well as for backend systems such as ERP and CRM systems.~~

XML is a markup language that uses tags to identify and format data. When a website is coded in XML, the data is formatted into XML tags. The tags identify the data and control how it is displayed. When a website is coded in XML, the data is formatted into XML tags. The tags identify the data and control how it is displayed.

~~XML is used to format data for websites and for backend systems such as ERP and CRM systems.~~ When data is formatted into XML tags, it is easier to read and understand. The tags identify the data and control how it is displayed. This makes it easier to work with large amounts of data, as well as to integrate with backend systems.

It’s a way of formatting and transmitting data. It’s similar to HTML but more flexible since HTML is basically intended just for websites. Anyone who’s used HTML knows the basic structure of opening a tag, closing a tag and having the data in the middle. So you might write <b>this text is bold</b>. That’s HTML and it works. HTML has all kinds of tags that are used for text formatting, color, background, links, images, tables and all sorts of things that you might want to do on a webpage.

XML is just like HTML but instead of having a set of predefined tags, XML is setup so that any 2 users define what tags they’d like to use and as long as they agree the system “works”.

In the context of an ERP system, XML is commonly used to transmit data from one system to another. My company’s ERP uses XML files to transmit data to and from our ecommerce website, for example.

So for example my companies ERP might send a message that looks like this:

<Order information><Order number>12345</Order number><customer number>12343</customer number><items ordered><item1>ASG43SD</item1><item2>FG23454</item2></items ordered></order information><Order information><Order number>12346</Order number><customer number>12546</customer number><items ordered><item1>FG23454</item1></items ordered></order information>

The above text block actually contains 2 orders, the first for 2 products and the second for 1 product. The system can ingest it because we’ve told the system what the various tags mean. Our ERP takes a file like that from the website and it knows what to do with the information contained inside. The way it allows information to nest (2 items in 1 order, for example) and the way it clearly defined the start of the data and the end of the data by using the open and close tag.

Again, the MAJOR difference between XML and HTML is that HTML defines what the tags are for everyone who uses it. XML lets the 2 parties use whatever tags they want, they just need to agree in advance what those are going to be and each system handles the data as it pleases.

Since no one has actually answered your question yet, I’ll try to give you a basic explanation (as an API developer).

XML is a markup language. As with any other markup language, XML prescribes the data structure of an object — meaning that it’s one of the common ways to describe an object between systems.

Let’s say you have a frontend app that handles employees. Your app can be built in any suitable language. Now let’s say you have a new employee joining. The HR personnel uses the frontend to set the employee’s name, ID, address, etc., essentially creating an employee object. Now your app wants to call another service and pass it your employee object to save into the employee database, but how would you send the employee object? The middleware/backend is written in a different language and has no idea how to interpret your frontend’s employee object and, to be honest, you don’t really care about how they built their app. Your app just needs to serialize the object into a format that is understood by the receiving system. Likewise, when your app requests information for an employee, the middleware/backend app doesn’t care about how you built your employee object. They just have to format their response in a way that can be understood by your frontend app. XML is one of the common format (JSON, BLOB, raw string, integer, etc. being other formats). What each app accepts and return is documented.

Take a look at a Twitter API’s response: [https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-lookup](https://developer.twitter.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-lookup)

Well-written apps document what they accept and what they return. When you make a Twitter request (in this case it’s a status request), that is the schema of the status response you will get in return. It’s up to your app to handle and parse what you need.

From your post I can’t tell if you already know this or not, but it’s important to note that Python is a programming language and XML is a format for storing data. That is, XML is somewhat similar in function to HTML, and Python is something completely different.

Python and other programming languages (if you are familiar with websites, you’ve likely seen some flavor of Javascript like ReactJS or NodeJS or Angular) are used to tell the computer what to do. In a website context, this will be either on the client side (the computer of the person visiting the website) or the server side. This tells the computer it’s running on how to behave in different scenarios. The client and server typically need to pass data back and forth, and they need to agree on a format so that they understand each other. Common formats are XML, JSON or HTML, depending on the application.