Expanding your IT vocabulary
Whether we like it or not, the world of IT is full of terminology. It's true that sometimes these terms are just buzzwords. Sometimes they only make it more difficult to understand what's really going on. That's why I try to limit the use of technical terms here. But on the other hand....because this virtual landscape that we're building with software and digital content is so vast and different from our physical landscape, requiring a way of thinking that is so different from our past ways of thinking, it sometimes is necessary and even important that we create new concepts to help us to convey and fully grasp the meaning of it. So, without getting too deep, let's look at some terminology that will help you extend your basic vocabulary for IT.
This list is a work in progress....please use the comments box to ask if you would like to clarify any term.
Make sure you have a firm grasp on the important ones.
Here is a good starting point.
And what follows is a few more:
An Intranet is nothing more the a private network which behaves much like the Internet and the World Wide Web. Typically this internal network is protected from public use by security measures and for private memebers uses Internet protocols to route information and web applications to manage content.
A web application is typically a software program or collection of software programs that take advantage of Web standards and protocols. Typcially they rely on browsers, web servers, and therefore http, URI, etc...
Distributed computing can refer to both hardware and software architectures which spread or distribute their functions over different, often many, nodes.
A node is a generic name for a member of a network. A machine or a software applicaiton which belongs to a network might be called a node. A person might even be called a node though the more polite term is member.
Scalability basically means the ability to increase or decrease computing capacity. Often it is associated with growth in functions, data, or users. Systems like the Internet and the Web are incredibly scalable.
The front-end of an application typically refers to the user interface and its related parts.
The back-end of an application typically refers to all other components of a software system, particularly the database and its related parts.
In a 3-tier system, between the database and the user-interface or presentation layer as it's commonly called lies the application logic which performs independent functions (like computations, routing, etc..) and provides services to both front and back-end applications. The middle layer, aka the application server, is where most of the application logic lies. This is what drives the software and coordinates the database and the user interface.
Client and Server are two terms that refer to their role and purpose in an exchange of services. A Server provides specialized services to a Client upon request. A client/server architecture is an architecture in which processing and storage tasks are divided between two classes of network members: clients and servers. A web browers offers us a classic example of a client application. A web server, where web pages are served upon to request to web users, offers a classic example of a software application performing as a server.
Server-side refers to the computing environment that is available to servers; that is as opposed to the computing environment that is available to the client.
Logical and Physical are terms are two terms that refer to the nature of the environment in which they exist. There is a difference between a physical line, say a straight highway, between two points, and the notion of the shortest distance between two points. One is a physical instance of a line. And one is a logical construct...which makes sense and bears relevance to our physical world even if it is just a thought. Hardware is tangible and exists in a physical world. Software is intangible and exists virtually in a logical world. Though we don't see it in action we know logically what software can do by using conceptual models and measuring its results and performance.
A Platform refers to a set of components which share the same infrastructure or environment and are interoperable. Other words like environment, system, may be used to describe to say the same thing.
Posted by Mark Hemphill on November 2, 2006 | Permalink
Very informative... However there is one thing i fail to comprehend. On the definitions of logical and physical, would it be true to say that "logical" is a theoretical hypothesis used to describe/interprate what is going on in the "physical"?
Posted by: kevin | Nov 20, 2006 12:03:19 PM
So my understanding is that the back end of an application is everything besides the user interface?
Posted by: trevor | Nov 20, 2006 12:47:09 PM
very good questions, both of them.
Kevin, the logical layer isn't quite synonymous with the theoretical. Rather in the context of computer software it refers to what happens in a virtual sense by electronic means. When you play a video game you may pass through a logical world (a level, a course, etc...) but in the physical world nothing happens but a bunch of electrons are moving around. Things in the virtual world are often very real however. When you make a banking transaction online you certainly aren't making a theoretical decision. Physically speaking your at your computer. Logically speaking you're at the bank!
As for your question Trevor.....the back end of a system may depend on your vantage point. A user interface designer might say that the back end of the system is all server side stuff. I think a better understanding is in fact that the back end has to do with managing data - that is a database management system and the application logic that goes into supporting database operations. Hope that helps.
Posted by: Mark | Nov 21, 2006 8:22:08 PM