Introduction To Serialization

Dec 16, 2016
Introduction To Serialization
  • Introduction To Serialization
    (In progress)
    How can I, effectively, use serialization; and for that matter, what is it?

    This is an important question, and a key process needed to successively establish a good Minecraft network. Its purposes aren't necessarily only for Minecraft networks, but that's the main objective at the end of this tutorial series.

    Do you like stories? It may seem like a silly question, but learning through stories, I find, is both entertaining and enlightening. I'm going to illustrate the uses of serialization and the technologies that embrace it by connecting it to a story. This, hopefully, will give you a more real-world connection to the topic we're about to dive into. If you don't feel like reading the story, that's totally fine, all my examples are well commented and should provide enough insight on what's going on.

    You decided to start a new business at the corner of a very active street. There's lots of people who walk by the area, and the potential you see in the real estate glimmers within your eyes. You've noticed that there seems to be a lack of competition in the area, giving your business a snappy start. "Wait!", you say, "What does this business even entail?" A good question. You're running a state-of-the-art cat hospital.

    As time goes by, you've noticed that cat hospitals can be very intricate systems to work with. Cats will come in with various medical problems, some are allergic to specific compounds, and others just have bad attitudes. Ensuring that each cat gets what they need, when they need it, and leaves the hospital on a good note can be a difficult task. Despite the situation, you have these problems mostly sorted out. Highly skilled employees handle the transportation logistics of cats entering and exiting the premise. They're able to identify cats with medical troubles, avoid any casualties during transport, and calm down distressed felines.

    That sounds all well and good, but who keeps track of the cats' allergies and medical problems? The answer to that question is: no one. :eek:

    This is a major flaw in the logistics of your hospital, but how can it be fixed? This is where our tutorial's topic will come in: serialization.

    How can we use serialization to resolve this issue? First, let's encapsulate what serialization means. It is, quite simply, turning something with information, into a format that can be sent or stored somewhere.

    An obvious solution to the problem you're having is to write down all the cat's information onto a piece of paper, store it in a filing cabinet, and when it's needed again you can retrieve it. The information that's stored goes from a more temporary state (in the employee's mind, for example) onto a paper so it isn't forgotten when the data is needed again.

    Paper is all well and good, but unfortunately, it consumes a lot of space, is prone to being lost more easily, and can be an inefficient means of data storage given the many other methods we have in this time period. Knowing this, you decided to invest in a brand new server computer and install your favorite enterprise operating system with Java. Now you have what's needed to start solving your problem with serialization.

    There are many options you can utilize to aid you, but in this tutorial I wanted to cover a select few. I selected these choices as I believe they're a good starting point and apply to a lot of real-world applications. Before you start reading these sections, just remember that we're focused on the serialization aspect. If you don't understand how to use the technologies we discuss, I recommend you learn them. You'll save yourself a lot of time, and it's a lot more fun when you know what you're doing! :)

    Because this tutorial series is very detailed, I'm going to separate each section in a different page. Each of the page links are in a sequence, allowing the tutorial series to build upon each section. I recommend beginners start from the very beginning, and work their way up to the more advanced sections.

    Without further ado, let's get started:
    1. Text
    2. YAML
    3. JSON
    4. MySQL
    5. Redis
    6. Protocol Buffers
  • Loading...
  • Loading...