Front-end Notes
  • Introduction
  • Inbox
  • Git
  • Notes: Frontend
    • Vue JS
    • webpack
  • Notes: Backend
  • Database
  • Redux
  • Testing
    • Unit Testing
      • How to Test Asynchronous Request in React
  • C#
    • Subjects
      • Interfaces
      • Attributes
      • Modifiers
    • Notes
    • Unit Testing
Powered by GitBook
On this page
  • Back-end
  • SERVER-SIDE FRAMEWORKS
  • Middleware
  • SQL vs. NoSQL Databases

Was this helpful?

Notes: Backend

PreviouswebpackNextDatabase

Last updated 5 years ago

Was this helpful?

The back end comprises three parts: the server, your database, any APIs, and a back-end web application, software written via server-side languages. The server is a powerful computer that runs the back-end software, the database houses your site’s data, and the software communicates between the two. For example, if a user is updating a profile on a networking site, the server-side scripts will gather the information the user enters, the application will process it on the server, then interact with the database to update that information there.

  • Server-Side Code and Databases

    If a database is a site’s library, server-side scripting processes what the user is looking for via the server, then locates the book, chapter, page, and exact line of data, delivering that information back to the browser. It’s designed to be smooth, fast, and seamless.

    This is all possible through the server-side software and middleware your back-end developer writes, which create a tailored channel from site to database. Information for your site resides on the server until it’s requested, which makes your site both fast and secure.

SERVER-SIDE FRAMEWORKS

  • Ruby on Rails: This Ruby framework is the overriding way to implement Ruby. Its “gems” include plug-ins and libraries of code that streamline development.

  • ASP.NET: This Microsoft framework is the most popular enterprise-level framework—it supports multiple programming languages simultaneously for one project. So, the same application can be built with both C# and C++, via CLI (common language interface). It’s most recent iteration, ASP.NET 5, is now open to non-Windows platforms for the first time.

  • Django: This Python framework was developed to meet the needs of development in a fast-paced environment. Django sites: Pinterest, Nasa, Pitchfork

  • Node.js: JavaScript is typically a front-end script, but with the Node.js framework, it can be used in server-side technology, from APIs to entire stacks. Its core selling point is how it handles client-server communication—it’s fast, doesn’t bottleneck, and is ideal for real-time apps like chat rooms, data-heavy applications, and any software that requires the streaming of fresh content, like a news feed. Node.js sites: Dow Jones, PayPal, LinkedIn

  • Express.js & Koa: These JavaScript-powered middleware frameworks work on top of the Node.js development environment and control the flow of information on the back end of a site.

Middleware

Middleware is the software that connects network-based requests generated by a client to the back-end data the client is requesting. It is a general term for software that serves to "glue together" separate, often complex and already existing programs.

  • How middleware works

    All network-based requests are essentially attempts to interact with back-end data. That data might be something as simple as an image to display or a video to play, or it could be as complex as a history of banking transactions. The requested data can take on many different forms and may be stored in a variety of ways, such as coming from a file server, fetched from a message queue or persisted in a database. The role of middleware is to enable and ease access to those back-end resources.

  • Middleware categories

    Typically, integration middleware provides messaging services, so different applications can communicate using messaging frameworks like Simple Object Access Protocol (SOAP), web services, Representational State Transfer (REST) or JavaScript Object Notation (JSON). Other middleware technologies used in this category include Object Request Brokers (ORBs), data representation technologies like XML and JavaScript Object Notation (JSON), and more.

Middleware essentially describes any software on the server that connects an application’s front end to its back end. Think of middleware as plumbing for your site—it pipes any communication, like requests and responses, back and forth between your application and your server/database. Just like plumbing in a house, you don’t see middleware, but it’s there and it has to be reliable and always do what’s expected of it.

In the world of database technology, there are two main types of databases: SQL and NoSQL—or, relational databases and non-relational databases. The difference speaks to how they’re built, the type of information they store, and how they store it. Relational databases are structured, like phone books that store phone numbers and addresses. Non-relational databases are document-oriented and distributed, like file folders that hold everything from a person’s address and phone number to their Facebook likes and online shopping preferences.

We call them SQL and NoSQL, referring to whether or not they’re written solely in structured query language (SQL). In this article, we’ll explore what SQL is, how it makes these databases different, and how each type structures the data it holds so you can easily determine which type is right for you.

  • NoSQL

    How do NoSQL databases work? Instead of tables, NoSQL databases are document-oriented. This way, non-structured data (such as articles, photos, social media data, videos, or content within a blog post) can be stored in a single document that can be easily found but isn’t necessarily categorized into fields like a relational database does. It’s more intuitive, but note that storing data in bulk like this requires extra processing effort and more storage than highly organized SQL data.

SQL vs. NoSQL Databases
Back-end