• Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
  • Computer Network Tutorial

Basics of Computer Network

  • Basics of Computer Networking
  • Introduction to basic Networking Terminology
  • Goals of Networks
  • Basic characteristics of Computer Networks
  • Challenges of Computer Network
  • Physical Components of Computer Network

Network Hardware and Software

  • Types of Computer Networks
  • LAN Full Form
  • How to Set Up a LAN Network?
  • MAN Full Form in Computer Networking
  • MAN Full Form
  • WAN Full Form
  • Introduction of Internetworking
  • Difference between Internet, Intranet and Extranet
  • Protocol Hierarchies in Computer Network
  • Network Devices (Hub, Repeater, Bridge, Switch, Router, Gateways and Brouter)
  • Introduction of a Router
  • Introduction of Gateways
  • What is a network switch, and how does it work?

Network Topology

  • Types of Network Topology
  • Difference between Physical and Logical Topology
  • What is OSI Model? - Layers of OSI Model
  • Physical Layer in OSI Model
  • Data Link Layer
  • Session Layer in OSI model

Presentation Layer in OSI model

  • Application Layer in OSI Model
  • Protocol and Standard in Computer Networks
  • Examples of Data Link Layer Protocols
  • TCP/IP Model
  • TCP/IP Ports and Its Applications
  • What is Transmission Control Protocol (TCP)?
  • TCP 3-Way Handshake Process
  • Services and Segment structure in TCP
  • TCP Connection Establishment
  • TCP Connection Termination
  • Fast Recovery Technique For Loss Recovery in TCP
  • Difference Between OSI Model and TCP/IP Model

Medium Access Control

  • MAC Full Form
  • Channel Allocation Problem in Computer Network
  • Multiple Access Protocols in Computer Network
  • Carrier Sense Multiple Access (CSMA)
  • Collision Detection in CSMA/CD
  • Controlled Access Protocols in Computer Network

SLIDING WINDOW PROTOCOLS

  • Stop and Wait ARQ
  • Sliding Window Protocol | Set 3 (Selective Repeat)
  • Piggybacking in Computer Networks

IP Addressing

  • What is IPv4?
  • What is IPv6?
  • Introduction of Classful IP Addressing
  • Classless Addressing in IP Addressing
  • Classful Vs Classless Addressing
  • Classless Inter Domain Routing (CIDR)
  • Supernetting in Network Layer
  • Introduction To Subnetting
  • Difference between Subnetting and Supernetting
  • Types of Routing
  • Difference between Static and Dynamic Routing
  • Unicast Routing - Link State Routing
  • Distance Vector Routing (DVR) Protocol
  • Fixed and Flooding Routing algorithms
  • Introduction of Firewall in Computer Network

Congestion Control Algorithms

  • Congestion Control in Computer Networks
  • Congestion Control techniques in Computer Networks
  • Computer Network | Leaky bucket algorithm
  • TCP Congestion Control

Network Switching

  • Circuit Switching in Computer Network
  • Message switching techniques
  • Packet Switching and Delays in Computer Network
  • Differences Between Virtual Circuits and Datagram Networks

Application Layer:DNS

  • Domain Name System (DNS) in Application Layer
  • Details on DNS
  • Introduction to Electronic Mail
  • E-Mail Format
  • World Wide Web (WWW)
  • HTTP Full Form
  • Streaming Stored Video
  • What is a Content Distribution Network and how does it work?

CN Interview Quetions

  • Top 50 Networking Interview Questions (2024)
  • Top 50 TCP/IP interview questions and answers
  • Top 50 IP addressing interview questions and answers
  • Last Minute Notes - Computer Networks
  • Computer Network - Cheat Sheet
  • Network Layer
  • Transport Layer
  • Application Layer

Prerequisite : OSI Model

Introduction : Presentation Layer is the 6th layer in the Open System Interconnection (OSI) model. This layer is also known as Translation layer, as this layer serves as a data translator for the network. The data which this layer receives from the Application Layer is extracted and manipulated here as per the required format to transmit over the network. The main responsibility of this layer is to provide or define the data format and encryption. The presentation layer is also called as Syntax layer since it is responsible for maintaining the proper syntax of the data which it either receives or transmits to other layer(s).

Functions of Presentation Layer :

The presentation layer, being the 6th layer in the OSI model, performs several types of functions, which are described below-

  • Presentation layer format and encrypts data to be sent across the network.
  • This layer takes care that the data is sent in such a way that the receiver will understand the information (data) and will be able to use the data efficiently and effectively.
  • This layer manages the abstract data structures and allows high-level data structures (example- banking records), which are to be defined or exchanged.
  • This layer carries out the encryption at the transmitter and decryption at the receiver.
  • This layer carries out data compression to reduce the bandwidth of the data to be transmitted (the primary goal of data compression is to reduce the number of bits which is to be transmitted).
  • This layer is responsible for interoperability (ability of computers to exchange and make use of information) between encoding methods as different computers use different encoding methods.
  • This layer basically deals with the presentation part of the data.
  • Presentation layer, carries out the data compression (number of bits reduction while transmission), which in return improves the data throughput.
  • This layer also deals with the issues of string representation.
  • The presentation layer is also responsible for integrating all the formats into a standardized format for efficient and effective communication.
  • This layer encodes the message from the user-dependent format to the common format and vice-versa for communication between dissimilar systems.
  • This layer deals with the syntax and semantics of the messages.
  • This layer also ensures that the messages which are to be presented to the upper as well as the lower layer should be standardized as well as in an accurate format too.
  • Presentation layer is also responsible for translation, formatting, and delivery of information for processing or display.
  • This layer also performs serialization (process of translating a data structure or an object into a format that can be stored or transmitted easily).

Features of Presentation Layer in the OSI model: Presentation layer, being the 6th layer in the OSI model, plays a vital role while communication is taking place between two devices in a network.

List of features which are provided by the presentation layer are:

  • Presentation layer could apply certain sophisticated compression techniques, so fewer bytes of data are required to represent the information when it is sent over the network.
  • If two or more devices are communicating over an encrypted connection, then this presentation layer is responsible for adding encryption on the sender’s end as well as the decoding the encryption on the receiver’s end so that it can represent the application layer with unencrypted, readable data.
  • This layer formats and encrypts data to be sent over a network, providing freedom from compatibility problems.
  • This presentation layer also negotiates the Transfer Syntax.
  • This presentation layer is also responsible for compressing data it receives from the application layer before delivering it to the session layer (which is the 5th layer in the OSI model) and thus improves the speed as well as the efficiency of communication by minimizing the amount of the data to be transferred.

Working of Presentation Layer in the OSI model : Presentation layer in the OSI model, as a translator, converts the data sent by the application layer of the transmitting node into an acceptable and compatible data format based on the applicable network protocol and architecture.  Upon arrival at the receiving computer, the presentation layer translates data into an acceptable format usable by the application layer. Basically, in other words, this layer takes care of any issues occurring when transmitted data must be viewed in a format different from the original format. Being the functional part of the OSI mode, the presentation layer performs a multitude (large number of) data conversion algorithms and character translation functions. Mainly, this layer is responsible for managing two network characteristics: protocol (set of rules) and architecture.

Presentation Layer Protocols : Presentation layer being the 6th layer, but the most important layer in the OSI model performs several types of functionalities, which makes sure that data which is being transferred or received should be accurate or clear to all the devices which are there in a closed network. Presentation Layer, for performing translations or other specified functions, needs to use certain protocols which are defined below –

  • Apple Filing Protocol (AFP): Apple Filing Protocol is the proprietary network protocol (communications protocol) that offers services to macOS or the classic macOS. This is basically the network file control protocol specifically designed for Mac-based platforms.
  • Lightweight Presentation Protocol (LPP): Lightweight Presentation Protocol is that protocol which is used to provide ISO presentation services on the top of TCP/IP based protocol stacks.
  • NetWare Core Protocol (NCP): NetWare Core Protocol is the network protocol which is used to access file, print, directory, clock synchronization, messaging, remote command execution and other network service functions.
  • Network Data Representation (NDR): Network Data Representation is basically the implementation of the presentation layer in the OSI model, which provides or defines various primitive data types, constructed data types and also several types of data representations.
  • External Data Representation (XDR): External Data Representation (XDR) is the standard for the description and encoding of data. It is useful for transferring data between computer architectures and has been used to communicate data between very diverse machines. Converting from local representation to XDR is called encoding, whereas converting XDR into local representation is called decoding.
  • Secure Socket Layer (SSL): The Secure Socket Layer protocol provides security to the data that is being transferred between the web browser and the server. SSL encrypts the link between a web server and a browser, which ensures that all data passed between them remains private and free from attacks.

Please Login to comment...

author

  • 10 Best Free Social Media Management and Marketing Apps for Android - 2024
  • 10 Best Customer Database Software of 2024
  • How to Delete Whatsapp Business Account?
  • Discord vs Zoom: Select The Efficienct One for Virtual Meetings?
  • 30 OOPs Interview Questions and Answers (2024)

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

  Layer 6 Presentation Layer

De/Encryption, Encoding, String representation

The presentation layer (data presentation layer, data provision level) sets the system-dependent representation of the data (for example, ASCII, EBCDIC) into an independent form, enabling the syntactically correct data exchange between different systems. Also, functions such as data compression and encryption are guaranteed that data to be sent by the application layer of a system that can be read by the application layer of another system to the layer 6. The presentation layer. If necessary, the presentation layer acts as a translator between different data formats, by making an understandable for both systems data format, the ASN.1 (Abstract Syntax Notation One) used.

OSI Layer 6 - Presentation Layer

The presentation layer is responsible for the delivery and formatting of information to the application layer for further processing or display. It relieves the application layer of concern regarding syntactical differences in data representation within the end-user systems. An example of a presentation service would be the conversion of an EBCDIC-coded text computer file to an ASCII-coded file. The presentation layer is the lowest layer at which application programmers consider data structure and presentation, instead of simply sending data in the form of datagrams or packets between hosts. This layer deals with issues of string representation - whether they use the Pascal method (an integer length field followed by the specified amount of bytes) or the C/C++ method (null-terminated strings, e.g. "thisisastring\0"). The idea is that the application layer should be able to point at the data to be moved, and the presentation layer will deal with the rest. Serialization of complex data structures into flat byte-strings (using mechanisms such as TLV or XML) can be thought of as the key functionality of the presentation layer. Encryption is typically done at this level too, although it can be done on the application, session, transport, or network layers, each having its own advantages and disadvantages. Decryption is also handled at the presentation layer. For example, when logging on to bank account sites the presentation layer will decrypt the data as it is received.[1] Another example is representing structure, which is normally standardized at this level, often by using XML. As well as simple pieces of data, like strings, more complicated things are standardized in this layer. Two common examples are 'objects' in object-oriented programming, and the exact way that streaming video is transmitted. In many widely used applications and protocols, no distinction is made between the presentation and application layers. For example, HyperText Transfer Protocol (HTTP), generally regarded as an application-layer protocol, has presentation-layer aspects such as the ability to identify character encoding for proper conversion, which is then done in the application layer. Within the service layering semantics of the OSI network architecture, the presentation layer responds to service requests from the application layer and issues service requests to the session layer. In the OSI model: the presentation layer ensures the information that the application layer of one system sends out is readable by the application layer of another system. For example, a PC program communicates with another computer, one using extended binary coded decimal interchange code (EBCDIC) and the other using ASCII to represent the same characters. If necessary, the presentation layer might be able to translate between multiple data formats by using a common format. Wikipedia
  • Data conversion
  • Character code translation
  • Compression
  • Encryption and Decryption

The Presentation OSI Layer is usually composed of 2 sublayers that are:

CASE common application service element

Sase specific application service element, layer 7   application layer, layer 6   presentation layer, layer 5   session layer, layer 4   transport layer, layer 3   network layer, layer 2   data link layer, layer 1   physical layer.

The OSI Model – The 7 Layers of Networking Explained in Plain English

Chloe Tucker

This article explains the Open Systems Interconnection (OSI) model and the 7 layers of networking, in plain English.

The OSI model is a conceptual framework that is used to describe how a network functions. In plain English, the OSI model helped standardize the way computer systems send information to each other.

Learning networking is a bit like learning a language - there are lots of standards and then some exceptions. Therefore, it’s important to really understand that the OSI model is not a set of rules. It is a tool for understanding how networks function.

Once you learn the OSI model, you will be able to further understand and appreciate this glorious entity we call the Internet, as well as be able to troubleshoot networking issues with greater fluency and ease.

All hail the Internet!

Prerequisites

You don’t need any prior programming or networking experience to understand this article. However, you will need:

  • Basic familiarity with common networking terms (explained below)
  • A curiosity about how things work :)

Learning Objectives

Over the course of this article, you will learn:

  • What the OSI model is
  • The purpose of each of the 7 layers
  • The problems that can happen at each of the 7 layers
  • The difference between TCP/IP model and the OSI model

Common Networking Terms

Here are some common networking terms that you should be familiar with to get the most out of this article. I’ll use these terms when I talk about OSI layers next.

A node is a physical electronic device hooked up to a network, for example a computer, printer, router, and so on. If set up properly, a node is capable of sending and/or receiving information over a network.

Nodes may be set up adjacent to one other, wherein Node A can connect directly to Node B, or there may be an intermediate node, like a switch or a router, set up between Node A and Node B.

Typically, routers connect networks to the Internet and switches operate within a network to facilitate intra-network communication. Learn more about hub vs. switch vs. router.

Here's an example:

1-Router-Image

For the nitpicky among us (yep, I see you), host is another term that you will encounter in networking. I will define a host as a type of node that requires an IP address. All hosts are nodes, but not all nodes are hosts. Please Tweet angrily at me if you disagree.

Links connect nodes on a network. Links can be wired, like Ethernet, or cable-free, like WiFi.

Links to can either be point-to-point, where Node A is connected to Node B, or multipoint, where Node A is connected to Node B and Node C.

When we’re talking about information being transmitted, this may also be described as a one-to-one vs. a one-to-many relationship.

A protocol is a mutually agreed upon set of rules that allows two nodes on a network to exchange data.

“A protocol defines the rules governing the syntax (what can be communicated), semantics (how it can be communicated), and synchronization (when and at what speed it can be communicated) of the communications procedure. Protocols can be implemented on hardware, software, or a combination of both. Protocols can be created by anyone, but the most widely adopted protocols are based on standards.” - The Illustrated Network.

Both wired and cable-free links can have protocols.

While anyone can create a protocol, the most widely adopted protocols are often based on standards published by Internet organizations such as the Internet Engineering Task Force (IETF).

A network is a general term for a group of computers, printers, or any other device that wants to share data.

Network types include LAN, HAN, CAN, MAN, WAN, BAN, or VPN. Think I’m just randomly rhyming things with the word can ? I can ’t say I am - these are all real network types. Learn more here .

Topology describes how nodes and links fit together in a network configuration, often depicted in a diagram. Here are some common network topology types:

What is Network Topology? Best Guides to Types & Diagrams - DNSstuff

A network consists of nodes, links between nodes, and protocols that govern data transmission between nodes.

At whatever scale and complexity networks get to, you will understand what’s happening in all computer networks by learning the OSI model and 7 layers of networking.

What is the OSI Model?

The OSI model consists of 7 layers of networking.

First, what’s a layer?

Cave, Dragon's Lair, mountains

No, a layer - not a lair . Here there are no dragons.

A layer is a way of categorizing and grouping functionality and behavior on and of a network.

In the OSI model, layers are organized from the most tangible and most physical, to less tangible and less physical but closer to the end user.

Each layer abstracts lower level functionality away until by the time you get to the highest layer. All the details and inner workings of all the other layers are hidden from the end user.

How to remember all the names of the layers? Easy.

  • Please | Physical Layer
  • Do | Data Link Layer
  • Not | Network Layer
  • Tell (the) | Transport Layer
  • Secret | Session Layer
  • Password (to) | Presentation Layer
  • Anyone | Application Layer

Keep in mind that while certain technologies, like protocols, may logically “belong to” one layer more than another, not all technologies fit neatly into a single layer in the OSI model. For example, Ethernet, 802.11 (Wifi) and the Address Resolution Protocol (ARP) procedure operate on >1 layer.

The OSI is a model and a tool, not a set of rules.

OSI Layer 1

Layer 1 is the physical layer . There’s a lot of technology in Layer 1 - everything from physical network devices, cabling, to how the cables hook up to the devices. Plus if we don’t need cables, what the signal type and transmission methods are (for example, wireless broadband).

Instead of listing every type of technology in Layer 1, I’ve created broader categories for these technologies. I encourage readers to learn more about each of these categories:

  • Nodes (devices) and networking hardware components. Devices include hubs, repeaters, routers, computers, printers, and so on. Hardware components that live inside of these devices include antennas, amplifiers, Network Interface Cards (NICs), and more.
  • Device interface mechanics. How and where does a cable connect to a device (cable connector and device socket)? What is the size and shape of the connector, and how many pins does it have? What dictates when a pin is active or inactive?
  • Functional and procedural logic. What is the function of each pin in the connector - send or receive? What procedural logic dictates the sequence of events so a node can start to communicate with another node on Layer 2?
  • Cabling protocols and specifications. Ethernet (CAT), USB, Digital Subscriber Line (DSL) , and more. Specifications include maximum cable length, modulation techniques, radio specifications, line coding, and bits synchronization (more on that below).
  • Cable types. Options include shielded or unshielded twisted pair, untwisted pair, coaxial and so on. Learn more about cable types here .
  • Signal type. Baseband is a single bit stream at a time, like a railway track - one-way only. Broadband consists of multiple bit streams at the same time, like a bi-directional highway.
  • Signal transmission method (may be wired or cable-free). Options include electrical (Ethernet), light (optical networks, fiber optics), radio waves (802.11 WiFi, a/b/g/n/ac/ax variants or Bluetooth). If cable-free, then also consider frequency: 2.5 GHz vs. 5 GHz. If it’s cabled, consider voltage. If cabled and Ethernet, also consider networking standards like 100BASE-T and related standards.

The data unit on Layer 1 is the bit.

A bit the smallest unit of transmittable digital information. Bits are binary, so either a 0 or a 1. Bytes, consisting of 8 bits, are used to represent single characters, like a letter, numeral, or symbol.

Bits are sent to and from hardware devices in accordance with the supported data rate (transmission rate, in number of bits per second or millisecond) and are synchronized so the number of bits sent and received per unit of time remains consistent (this is called bit synchronization). The way bits are transmitted depends on the signal transmission method.

Nodes can send, receive, or send and receive bits. If they can only do one, then the node uses a simplex mode. If they can do both, then the node uses a duplex mode. If a node can send and receive at the same time, it’s full-duplex – if not, it’s just half-duplex.

The original Ethernet was half-duplex. Full-duplex Ethernet is an option now, given the right equipment.

How to Troubleshoot OSI Layer 1 Problems

Here are some Layer 1 problems to watch out for:

  • Defunct cables, for example damaged wires or broken connectors
  • Broken hardware network devices, for example damaged circuits
  • Stuff being unplugged (...we’ve all been there)

If there are issues in Layer 1, anything beyond Layer 1 will not function properly.

Layer 1 contains the infrastructure that makes communication on networks possible.

It defines the electrical, mechanical, procedural, and functional specifications for activating, maintaining, and deactivating physical links between network devices. - Source

Fun fact: deep-sea communications cables transmit data around the world. This map will blow your mind: https://www.submarinecablemap.com/

And because you made it this far, here’s a koala:

Closeup of a Koala

OSI Layer 2

Layer 2 is the data link layer . Layer 2 defines how data is formatted for transmission, how much data can flow between nodes, for how long, and what to do when errors are detected in this flow.

In more official tech terms:

  • Line discipline. Who should talk for how long? How long should nodes be able to transit information for?
  • Flow control. How much data should be transmitted?
  • Error control - detection and correction . All data transmission methods have potential for errors, from electrical spikes to dirty connectors. Once Layer 2 technologies tell network administrators about an issue on Layer 2 or Layer 1, the system administrator can correct for those errors on subsequent layers. Layer 2 is mostly concerned with error detection, not error correction. ( Source )

There are two distinct sublayers within Layer 2:

  • Media Access Control (MAC): the MAC sublayer handles the assignment of a hardware identification number, called a MAC address, that uniquely identifies each device on a network. No two devices should have the same MAC address. The MAC address is assigned at the point of manufacturing. It is automatically recognized by most networks. MAC addresses live on Network Interface Cards (NICs). Switches keep track of all MAC addresses on a network. Learn more about MAC addresses on PC Mag and in this article . Learn more about network switches here .
  • Logical Link Control (LLC): the LLC sublayer handles framing addressing and flow control. The speed depends on the link between nodes, for example Ethernet or Wifi.

The data unit on Layer 2 is a frame .

Each frame contains a frame header, body, and a frame trailer:

  • Header: typically includes MAC addresses for the source and destination nodes.
  • Body: consists of the bits being transmitted.
  • Trailer: includes error detection information. When errors are detected, and depending on the implementation or configuration of a network or protocol, frames may be discarded or the error may be reported up to higher layers for further error correction. Examples of error detection mechanisms: Cyclic Redundancy Check (CRC) and Frame Check Sequence (FCS). Learn more about error detection techniques here .

Example of frames, the network layer, and the physical layer

Typically there is a maximum frame size limit, called an Maximum Transmission Unit, MTU. Jumbo frames exceed the standard MTU, learn more about jumbo frames here .

How to Troubleshoot OSI Layer 2 Problems

Here are some Layer 2 problems to watch out for:

  • All the problems that can occur on Layer 1
  • Unsuccessful connections (sessions) between two nodes
  • Sessions that are successfully established but intermittently fail
  • Frame collisions

The Data Link Layer allows nodes to communicate with each other within a local area network. The foundations of line discipline, flow control, and error control are established in this layer.

OSI Layer 3

Layer 3 is the network layer . This is where we send information between and across networks through the use of routers. Instead of just node-to-node communication, we can now do network-to-network communication.

Routers are the workhorse of Layer 3 - we couldn’t have Layer 3 without them. They move data packets across multiple networks.

Not only do they connect to Internet Service Providers (ISPs) to provide access to the Internet, they also keep track of what’s on its network (remember that switches keep track of all MAC addresses on a network), what other networks it’s connected to, and the different paths for routing data packets across these networks.

Routers store all of this addressing and routing information in routing tables.

Here’s a simple example of a routing table:

A routing table showing the destination, subnet mask, and interface

The data unit on Layer 3 is the data packet . Typically, each data packet contains a frame plus an IP address information wrapper. In other words, frames are encapsulated by Layer 3 addressing information.

The data being transmitted in a packet is also sometimes called the payload . While each packet has everything it needs to get to its destination, whether or not it makes it there is another story.

Layer 3 transmissions are connectionless, or best effort - they don't do anything but send the traffic where it’s supposed to go. More on data transport protocols on Layer 4.

Once a node is connected to the Internet, it is assigned an Internet Protocol (IP) address, which looks either like 172.16. 254.1 (IPv4 address convention) or like 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (IPv6 address convention). Routers use IP addresses in their routing tables.

IP addresses are associated with the physical node’s MAC address via the Address Resolution Protocol (ARP), which resolves MAC addresses with the node’s corresponding IP address.

ARP is conventionally considered part of Layer 2, but since IP addresses don’t exist until Layer 3, it’s also part of Layer 3.

How to Troubleshoot OSI Layer 3 Problems

Here are some Layer 3 problems to watch out for:

  • All the problems that can crop up on previous layers :)
  • Faulty or non-functional router or other node
  • IP address is incorrectly configured

Many answers to Layer 3 questions will require the use of command-line tools like ping , trace , show ip route , or show ip protocols . Learn more about troubleshooting on layer 1-3 here .

The Network Layer allows nodes to connect to the Internet and send information across different networks.

OSI Layer 4

Layer 4 is the transport layer . This where we dive into the nitty gritty specifics of the connection between two nodes and how information is transmitted between them. It builds on the functions of Layer 2 - line discipline, flow control, and error control.

This layer is also responsible for data packet segmentation, or how data packets are broken up and sent over the network.

Unlike the previous layer, Layer 4 also has an understanding of the whole message, not just the contents of each individual data packet. With this understanding, Layer 4 is able to manage network congestion by not sending all the packets at once.

The data units of Layer 4 go by a few names. For TCP, the data unit is a packet. For UDP, a packet is referred to as a datagram. I’ll just use the term data packet here for the sake of simplicity.

Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are two of the most well-known protocols in Layer 4.

TCP, a connection-oriented protocol, prioritizes data quality over speed.

TCP explicitly establishes a connection with the destination node and requires a handshake between the source and destination nodes when data is transmitted. The handshake confirms that data was received. If the destination node does not receive all of the data, TCP will ask for a retry.

TCP also ensures that packets are delivered or reassembled in the correct order. Learn more about TCP here .

UDP, a connectionless protocol, prioritizes speed over data quality. UDP does not require a handshake, which is why it’s called connectionless.

Because UDP doesn’t have to wait for this acknowledgement, it can send data at a faster rate, but not all of the data may be successfully transmitted and we’d never know.

If information is split up into multiple datagrams, unless those datagrams contain a sequence number, UDP does not ensure that packets are reassembled in the correct order. Learn more about UDP here .

TCP and UDP both send data to specific ports on a network device, which has an IP address. The combination of the IP address and the port number is called a socket.

Learn more about sockets here .

Learn more about the differences and similarities between these two protocols here .

How to Troubleshoot OSI Layer 4 Problems

Here are some Layer 4 problems to watch out for:

  • Blocked ports - check your Access Control Lists (ACL) & firewalls
  • Quality of Service (QoS) settings. QoS is a feature of routers/switches that can prioritize traffic, and they can really muck things up. Learn more about QoS here .

The Transport Layer provides end-to-end transmission of a message by segmenting a message into multiple data packets; the layer supports connection-oriented and connectionless communication.

OSI Layer 5

Layer 5 is the session layer . This layer establishes, maintains, and terminates sessions.

A session is a mutually agreed upon connection that is established between two network applications. Not two nodes! Nope, we’ve moved on from nodes. They were so Layer 4.

Just kidding, we still have nodes, but Layer 5 doesn’t need to retain the concept of a node because that’s been abstracted out (taken care of) by previous layers.

So a session is a connection that is established between two specific end-user applications. There are two important concepts to consider here:

  • Client and server model: the application requesting the information is called the client, and the application that has the requested information is called the server.
  • Request and response model: while a session is being established and during a session, there is a constant back-and-forth of requests for information and responses containing that information or “hey, I don’t have what you’re requesting.”

Sessions may be open for a very short amount of time or a long amount of time. They may fail sometimes, too.

Depending on the protocol in question, various failure resolution processes may kick in. Depending on the applications/protocols/hardware in use, sessions may support simplex, half-duplex, or full-duplex modes.

Examples of protocols on Layer 5 include Network Basic Input Output System (NetBIOS) and Remote Procedure Call Protocol (RPC), and many others.

From here on out (layer 5 and up), networks are focused on ways of making connections to end-user applications and displaying data to the user.

How to Troubleshoot OSI Layer 5 Problems

Here are some Layer 5 problems to watch out for:

  • Servers are unavailable
  • Servers are incorrectly configured, for example Apache or PHP configs
  • Session failure - disconnect, timeout, and so on.

The Session Layer initiates, maintains, and terminates connections between two end-user applications. It responds to requests from the presentation layer and issues requests to the transport layer.

OSI Layer 6

Layer 6 is the presentation layer . This layer is responsible for data formatting, such as character encoding and conversions, and data encryption.

The operating system that hosts the end-user application is typically involved in Layer 6 processes. This functionality is not always implemented in a network protocol.

Layer 6 makes sure that end-user applications operating on Layer 7 can successfully consume data and, of course, eventually display it.

There are three data formatting methods to be aware of:

  • American Standard Code for Information Interchange (ASCII): this 7-bit encoding technique is the most widely used standard for character encoding. One superset is ISO-8859-1, which provides most of the characters necessary for languages spoken in Western Europe.
  • Extended Binary-Coded Decimal Interchange Code (EBDCIC): designed by IBM for mainframe usage. This encoding is incompatible with other character encoding methods.
  • Unicode: character encodings can be done with 32-, 16-, or 8-bit characters and attempts to accommodate every known, written alphabet.

Learn more about character encoding methods in this article , and also here .

Encryption: SSL or TLS encryption protocols live on Layer 6. These encryption protocols help ensure that transmitted data is less vulnerable to malicious actors by providing authentication and data encryption for nodes operating on a network. TLS is the successor to SSL.

How to Troubleshoot OSI Layer 6 Problems

Here are some Layer 6 problems to watch out for:

  • Non-existent or corrupted drivers
  • Incorrect OS user access level

The Presentation Layer formats and encrypts data.

OSI Layer 7

Layer 7 is the application layer .

True to its name, this is the layer that is ultimately responsible for supporting services used by end-user applications. Applications include software programs that are installed on the operating system, like Internet browsers (for example, Firefox) or word processing programs (for example, Microsoft Word).

Applications can perform specialized network functions under the hood and require specialized services that fall under the umbrella of Layer 7.

Electronic mail programs, for example, are specifically created to run over a network and utilize networking functionality, such as email protocols, which fall under Layer 7.

Applications will also control end-user interaction, such as security checks (for example, MFA), identification of two participants, initiation of an exchange of information, and so on.

Protocols that operate on this level include File Transfer Protocol (FTP), Secure Shell (SSH), Simple Mail Transfer Protocol (SMTP), Internet Message Access Protocol (IMAP), Domain Name Service (DNS), and Hypertext Transfer Protocol (HTTP).

While each of these protocols serve different functions and operate differently, on a high level they all facilitate the communication of information. ( Source )

How to Troubleshoot OSI Layer 7 Problems

Here are some Layer 7 problems to watch out for:

  • All issues on previous layers
  • Incorrectly configured software applications
  • User error (... we’ve all been there)

The Application Layer owns the services and functions that end-user applications need to work. It does not include the applications themselves.

Our Layer 1 koala is all grown up.

Koala with Photoshopped makeup

Learning check - can you apply makeup to a koala?

Don’t have a koala?

Well - answer these questions instead. It’s the next best thing, I promise.

  • What is the OSI model?
  • What are each of the layers?
  • How could I use this information to troubleshoot networking issues?

Congratulations - you’ve taken one step farther to understanding the glorious entity we call the Internet.

Learning Resources

Many, very smart people have written entire books about the OSI model or entire books about specific layers. I encourage readers to check out any O’Reilly-published books about the subject or about network engineering in general.

Here are some resources I used when writing this article:

  • The Illustrated Network, 2nd Edition
  • Protocol Data Unit (PDU): https://www.geeksforgeeks.org/difference-between-segments-packets-and-frames/
  • Troubleshooting Along the OSI Model: https://www.pearsonitcertification.com/articles/article.aspx?p=1730891
  • The OSI Model Demystified: https://www.youtube.com/watch?v=HEEnLZV2wGI
  • OSI Model for Dummies: https://www.dummies.com/programming/networking/layers-in-the-osi-model-of-a-computer-network/

Chloe Tucker is an artist and computer science enthusiast based in Portland, Oregon. As a former educator, she's continuously searching for the intersection of learning and teaching, or technology and art. Reach out to her on Twitter @_chloetucker and check out her website at chloe.dev .

Read more posts .

If you read this far, thank the author to show them you care. Say Thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Network Encyclopedia Logo

Presentation Layer

Last Edited

What is the Presentation Layer?

Presentation Layer is the Layer 6 of the seven-layer Open Systems Interconnection (OSI) reference model . The presentation layer structures data that is passed down from the application layer into a format suitable for network transmission. This layer is responsible for data encryption, data compression, character set conversion, interpretation of graphics commands, and so on. The network redirector also functions at this layer.

Presentation Layer

Presentation Layer functions

  • Translation:  Before being transmitted, information in the form of characters and numbers should be changed to bit streams. Layer 6 is responsible for interoperability between encoding methods as different computers use different encoding methods. It translates data between the formats the network requires and the format the computer.
  • Encryption:  Encryption at the transmitter and decryption at the receiver
  • Compression:  Data compression to reduce the bandwidth of the data to be transmitted. The primary role of  data compression  is to reduce the number of bits to be transmitted. Multimedia files, such as audio and video, are bigger than text files and compression is more important.

Role of Presentation Layer in the OSI Model

This layer is not always used in network communications because its functions are not always necessary. Translation is only needed if different types of machines need to talk with each other. Encryption is optional in communication. If the information is public there is no need to encrypt and decrypt info. Compression is also optional. If files are small there is no need for compression.

Explaining Layer 6 in video

Most real-world protocol suites, such as TCP/IP , do not use separate presentation layer protocols. This layer is mostly an abstraction in real-world networking.

An example of a program that loosely adheres to layer 6 of OSI is the tool that manages the Hypertext Transfer Protocol (HTTP) — although it’s technically considered an application-layer protocol per the TCP/IP model.

However, HTTP includes presentation layer services within it. HTTP works when the requesting device forwards user requests passed to the web browser onto a web server elsewhere in the network.

It receives a return message from the web server that includes a multipurpose internet mail extensions (MIME) header. The MIME header indicates the type of file – text, video, or audio – that has been received so that an appropriate player utility can be used to present the file to the user.

In short, the presentation layer

Makes sure that data which is being transferred or received should be accurate or clear to all the devices which are there, in a closed network.

  • ensures proper formatting and delivery to and from the application layer;
  • performs data encryption; and
  • manages serialization of data objects.
  • Domain Names
  • Domain Name Search
  • Free Domain Transfer
  • .com Domain
  • 1 Dollar Domain
  • Cheap Domain
  • Free Domain
  • Buy SSL Certificate
  • Website Builder
  • Website Platforms
  • Website Templates
  • Web Design Services
  • eCommerce Website Builder
  • Local Business Listing
  • Web Hosting
  • WordPress Hosting
  • 1 Dollar Hosting
  • Windows Hosting
  • Free Website Hosting
  • Create Business Email
  • HiDrive Cloud Storage
  • Microsoft 365 Business
  • Cloud Server
  • VPS Hosting
  • Dedicated Servers
  • Rent a Server
  • IONOS Cloud
  • Business Name Generator
  • Logo Creator
  • Favicon Generator
  • Whois Lookup
  • Website Checker
  • SSL Checker
  • IP Address Check

What is the presentation layer in the OSI model?

The presentation layer is the sixth layer in the OSI model and is responsible for converting different file formats. This allows two systems to communicate. Other tasks carried out by the sixth layer include data compression and encryption.

What is the presentation layer?

What does the presentation layer do, which format does the presentation layer use, presentation layer protocols, skipping the presentation layer.

The presentation layer is the sixth layer of the OSI model. It is primarily used to convert different file formats between the sender and the receiver . The OSI model is a reference model that is used to define communication standards between two devices within a network . The development of this standard began in the 1970s and it was first published at the beginning of the following decade. This standard enables seamless interaction between different technical systems.

The model is made up of a total of seven different layers, all having their own clearly defined tasks. While there are clear boundaries between the layers, the layers interact with each other, with each layer building off the one below it. The different layers are as follows:

  • Physical layer
  • Data link layer
  • Network layer
  • Transport layer
  • Session layer
  • Presentation layer
  • Application layer

The presentation layer interacts closely with the application layer, which is located directly above it. The presentation layer’s main task is to present data in such a way that it can be understood and interpreted from both the system sending the data and the system receiving it. After this has been accomplished, the application layer then determines how the data should be structured and what sort of data and values are permissible.

Using these entries, a command set, or an abstract transfer syntax, is then automatically created. The presentation layer now has the task of transferring the data in such a way that it is readable without changing the information contained within it.

The presentation layer is often also responsible for the encryption and decryption of data . The information is first encrypted on the sender’s side and then sent to the receiver in an encrypted state. Keys and encryption methods are then exchanged in the presentation layer. The recipient is then able to decrypt the unreadable data and convert it into a format that can be understood and interpreted.

If data is shown during a transfer, we often use the term transfer syntax. These are separated into the abstract transfer syntax , in which the transferred values are written, and the concrete syntax, which contains a definition of the value coding.

The receiver can only process and understand the data they receive if they receive all of the information from the presentation layer. The most common definition language is Abstract Syntax Notation One (ASN.1) , which is also recommended by the ISO. The ISO is an organization that is responsible for developing international standards in technology, management and manufacturing.

The presentation layer has many different formats. The most common text formats are the ASCII (American Standard Code for Information Interchange) and EBCDIC (Extended Binary-Coded Decimal Interchange Code). The most common image formats are GIF, JPEG and TIFF. Widely used video formats include MIDI, MPEG and QuickTime.

There are many different presentation layer protocols as well as transfer and encryption technologies in the presentation layer. These include:

The tasks which are carried out by the presentation layer are not always necessary for communication between two systems. In instances where both systems use the same formats, data conversion is not necessary. Additionally, encryption and compression are not required for every interaction and can also be carried out in another layer of the OSI model. If this is the case, the presentation layer can be skipped and the application layer (7) can communicate directly with the session layer (5) instead .

  • Encyclopedia

Build or host a website, launch a server, or store your data and more with our most popular products for less.

presentation services layer

Presentation Layer Of OSI Model For Beginners

presentation layer osi networking model

Presentation Layer:

Presentation Layer is the sixth layer in the OSI model and here are some of the functionalities of the presentation layer:

Translation

Before being transmitted, the data remains in the form of characters and numbers. This data has to be changed to bitstreams before transmission. The presentation layer is responsible for interoperability between encoding methods as different computers use different encoding methods. It translates data between the formats that a network requires and the format a computer needs.

It carries out the process of encryption at the transmitter end and the process of decryption at the receiver end.

Encryption and decryption are ways to protect the confidentiality of the data stored on computer systems or wired over the internet or other computer networks.

Also Read:   Network Layer Of OSI Mode: Functionalities and Protocols

In terms of security, modern-day encryption methods play a vital role in the security assurance of IT systems and communications as they can provide not only confidentiality but also,  authentication and integrity.

Data compression

Data compression is also known by different names like source coding or bit-rate reduction. As evident from these names, data compression involves encoding information using fewer bits than the original representation. So in this way, the data compression can be either lossy or lossless.

Even though lossless compression reduces bits by identifying and eliminating statistical redundancy, no data information is lost in the lossless compression.

On the other hand, the lossy compression reduces bits by identifying unnecessary information and removing it.

Data compression is useful in computer networks because it helps in the following ways:

  • Reducing resource usages such as data storage space or transmission capacity. B
  • Reducing the need for an expensive hardware for the data representation. For example, if a video is highly compressed before transmission, an expensive hardware might be required to decompress the video data before playing it.

Thus, data compression is also very helpful in real-time applications over the internet like real-time video or audio streaming.

Data conversion

There are different types of operating systems such as Windows, Linux, Mac OS etc. are being used all around the world. Data conversion is, thus, responsible for the conversion of computer data from one format to another.

Different computers encode data in different ways on the basis of certain standards. On top of that, each computer program handles data in a different manner. Data conversion comes in handy in those situations when the representation of data is needed on different platforms.

The presentation layer can be composed of two sublayers: common application service element (CASE) and specific application service element (SASE).

Also Read:   LLC Layer (Logical Link Control): Data Link Layer Of OSI Model

The common application service element sublayer provides services for the application layer and request services from the session layer. It provides support for common application services whereas the specific application service element sublayer provides application specific services (protocols) like remote database access, file transfer, virtual terminal.

If you have any comments or thoughts related to it, feel free to ask and correct us. Also, don’t miss our complete coverage on the Computer networks .

presentation services layer

A passionate adventure traveller over Trekkerpedia.com and Author of the book 'The Girl from the Woods'.

Similar Posts

What Is Camp Mode In Tesla? Everything You Need To Know

What Is Camp Mode In Tesla? Everything You Need To Know

Back in December 2019, Tesla introduced a new feature called ‘Camp Mode’ through its OTA update….

What Is IP Spoofing And Denial Of Service (DOS) Attack?

What Is IP Spoofing And Denial Of Service (DOS) Attack?

Short Bytes: IP Spoofing and Denial of Service are the two most famous attacks that an…

What Is A Chromebook? How Does It Compare To Windows & Mac?

What Is A Chromebook? How Does It Compare To Windows & Mac?

Want to buy a Chromebook? Here’s what we can do.

What Is winlogon.exe (Windows Logon Application) Process Doing On My Windows 10 PC?

What Is winlogon.exe (Windows Logon Application) Process Doing On My Windows 10 PC?

There are many Windows processes you encounter almost every day. This list includes System Interrupts, DWM,…

Windows 11 Vs Windows 10: Biggest Differences Explained!

Windows 11 Vs Windows 10: Biggest Differences Explained!

The new Windows 11 flaunts various UI changes.

Nvidia RTX 4070 Ti Vs RTX 3080 Vs RX 7900 XT: Which One To Buy?

Nvidia RTX 4070 Ti Vs RTX 3080 Vs RX 7900 XT: Which One To Buy?

What’s the best mid-range GPU?

Presentation layer and Session layer of the OSI model

There are two popular networking models: the OSI layers model and the TCP/IP layers model. The presentation layer and session layer exist only in the OSI layers models. The TCP/IP layers model merges them into the application layer.

The Presentation Layer

The presentation layer is the sixth layer of the OSI Reference model. It defines how data and information is transmitted and presented to the user. It translates data and format code in such a way that it is correctly used by the application layer.

It identifies the syntaxes that different applications use and formats data using those syntaxes. For example, a web browser receives a web page from a web server in the HTML language. HTML language includes many tags and markup that have no meaning for the end user but they have special meaning for the web browser. the web browser uses the presentation layer's logic to read those syntaxes and format data in such a way the web server wants it to be present to the user.

presentation layer

On the sender device, it encapsulates and compresses data before sending it to the network to increase the speed and security of the network. On the receiver device, it de-encapsulates and decompresses data before presenting it to the user.

Examples of the presentation layer

Example standards for representing graphical information: JPEG, GIF, JPEG, and TIFF.

Example standards for representing audio information: WAV, MIDI, MP3.

Example standards for representing video information: WMV, MOV, MP4, MPEG.

Example standards for representing text information: doc, xls, txt, pdf.

Functions of the presentation layer

  • It formats and presents data and information.
  • It encrypts and compresses data before giving it to the session layer.
  • It de-encrypts and decompresses the encrypted and compressed data it receives from the session layer.

Session layer

The session layer is the fifth layer of the OSI layers model. It is responsible for initiating, establishing, managing, and terminating sessions between the local application and the remote applications.

It defines standards for three modes of communication: full duplex, half-duplex, and simplex.

duplex modes

In the full duplex mode, both devices can send and receive data simultaneously. The internet connection is an example of the full duplex mode.

In the half duplex mode, only one device can send data at a time. A telephone conversation is an example of the half-duplex mode.

In the simplex mode, only one device can send data. A radio broadcast is an example of the simplex mode.

Functions of the session layer

  • It is responsible for terminating sessions, creating checkpoints, and recovering data when sessions are interrupted.
  • It opens and maintains logical communication channels between network applications running on the local host and network applications running on the remote host.
  • If a network application uses an authentication mechanism before it opens a logical communication channel (session) with the remote host, it handles the authentication process.

Examples of the session layer

Structure Query Language (SQL), Remote Procedure Call (RPC), and Network File System (NFS) are examples of the session layer.

By ComputerNetworkingNotes Updated on 2023-10-30 05:30:01 IST

ComputerNetworkingNotes CCNA Study Guide Presentation layer and Session layer of the OSI model

We do not accept any kind of Guest Post. Except Guest post submission, for any other query (such as adverting opportunity, product advertisement, feedback, suggestion, error reporting and technical issue) or simply just say to hello mail us [email protected]

presentation services layer

Presentation Layer: Protocols, Examples, Services | Functions of Presentation Layer

Presentation Layer is the 6th layer in the Open System Interconnection (OSI) model where all application programmer consider data structure and presentation, beyond of simply sending the data into form of datagram otherwise packets in between the hosts. Now, we will explain about what is presentation layer with its protocols, example, service ; involving with major functions of presentation Layer with ease. At the end of this article, you will completely educate about What is Presentation Layer in OSI Model without any hassle.

  • What is Presentation Layer?

Definition : Presentation layer is 6th layer in the OSI model , and its main objective is to present all messages to upper layer as a standardized format. It is also known as the “ Translation layer “.  This layer takes care of syntax and semantics of messages exchanged in between two communication systems. Presentation layer has responsible that receiver can understand all data, and it will be to implement all data languages can be dissimilar of two communication system.

presentation layer

Presentation layer is capable to handle abstract data structures, and further it helps to defined and exchange of higher-level data structures.

Presentation Layer Tutorial Headlines:

In this section, we will show you all headlines about this entire article; you can check them as your choice; below shown all:

  • Functions of Presentation Layer

Protocols of Presentation Layer

  • Example of Presentation Layer Protocols

Presentation Layer Services

Design issues with presentation layer, faqs (frequently asked questions), what is meant by presentation layer in osi model, what protocols are used in the presentation layer, can you explain some presentation layer examples, what are the main functions of the presentation layer, what are services of presentation layer in osi, let’s get started,   functions of presentation layer.

Presentation layer performs various functions in the OSI model ; below explain each one – 

  • Presentation layer helps to translate from American standard code for information interchange (ASCII) to the extended binary code decimal interchange code (EBCDIC).
  • It deals with user interface as well as supporting for several services such as email and file transfer.
  • It provides encoding mechanism for translating all messages from user dependent format with common format and vice – versa.
  • It’s main goal for data encryption and decryption of entire data before they are getting transmission over all common platforms.
  • It provides data compression mechanism for source point to decrease the all bits which are transmitted. Due to this data compression system, user are able to transmit enlarge multimedia file at fastest file transfer rate.
  • Due to use of Data Encryption and Decryption algorithm, presentation layer provides more network protection and confidentiality while transmission data over the entire network.
  • This layer offers best flexibility for data translation for making connections with various kinds of servers , computers, and mainframes over the similar network.
  • Presentation layer has responsible to fix all translations in between all network systems .

Presentation layer is used various protocols; below list is available –

  • Multipurpose Internet Mail Extensions
  • File Transfer Protocol
  • Network News Transfer Protocol
  • Apple Filing Protocol (AFP)
  • Independent Computing Architecture (ICA), the Citrix system core protocol
  • Lightweight Presentation Protocol (LPP)
  • NetWare Core Protocol (NCP)
  • Network Data Representation (NDR)
  • Telnet (a remote terminal access protocol)
  • Tox Protocol
  • eXternal Data Representation (XDR)
  • 25 Packet Assembler/Disassembler Protocol (PAD)

Example of Presentation Layer Protocols:

Here, we will discuss all examples of presentation layer protocols; below explain each one –  

Multipurpose Internet Mail Extensions (MIME) : MIME protocol was introduced by Bell Communications in 1991, and it is an internet standard that provides scalable capable of email for attaching of images, sounds and text in a message.

File Transfer Protocol (FTP) : FTP is a internet protocol, and its main goal is to transmit all files in between one host to other hosts over the internet on TCP/IP connections.

Network News Transfer Protocol (NNTP) : This protocol is used to make connection with Usenet server and transmit all newsgroup articles in between system over internet.

Apple Filing Protocol (AFP ) : AFP protocol is designed by Apple company for sharing all files over the entire network .

Lightweight Presentation Protocol (LPP) : This protocol is used to offer ISO presentation services on top of TCP/IP based protocol stacks.

NetWare Core Protocol (NCP) : NCP is a Novell client server model protocol that is designed especially for Local Area Network (LAN). It is capable to perform several functions like as file/print-sharing, clock synchronization, remote processing and messaging.

Network Data Representation (NDR) : NDR is an data encoding standard, and it is implement in the Distributed Computing Environment (DCE).

Telnet (Telecommunication Network) : Telnet protocol was introduced in 1969, and it offers the command line interface for making communication along with remote device or server .

Tox : The Tox protocol is sometimes regarded as part of both the presentation and application layer , and it is used for sending peer-to-peer instant-messaging as well as video calling.

eXternal Data Representation (XDR) : This protocol provides the description and encoding of entire data, and  it’s main goal is to transfer data in between dissimilar computer architecture.

25 Packet Assembler/Disassembler Protocol (PAD) : Main objective of this protocol is to obtain all data from group of terminal and allots the data into X. 25 packets.

Presentation layer provides several services like as –

  • Data conversion
  • Character code translation
  • Compression
  • Encryption and Decryption
  • It helps to handle and maintain Syntax and Semantics of the message transmitted.
  • Encoding data can be done as standard agreed like as String, double, date, and more.
  • Standard Encoding can be done on wire.

Presentation Layer is the 6th layer in the Open System Interconnection (OSI) model that is the lowest layer, where all application programmer consider data structure and presentation, beyond of simply sending the data into form of datagram otherwise packets in between the hosts.

Presentation layer is used various protocols like as:

Yes! In this article, already we have been explained many examples of presentation layer; you can check them.

Presentation layer has a responsibility for formatting, translation, and delivery of the information for getting to process otherwise display .

Now, i hope that you have completely learnt about what is presentation layer with its protocols, example, service ; involving with major functions of presentation Layer with ease. If this post is useful for you, then please share it along with your friends, family members or relatives over social media platforms like as Facebook, Instagram, Linked In, Twitter, and more.

Also Read: Data Link Layer: Protocols, Examples | Functions of Data Link Layer

If you have any experience, tips, tricks, or query regarding this issue? You can drop a comment!

Related Posts

transport layer

ITGeared

OSI: Layer 6 – Presentation

Paul Burch

The presentation layer is the sixth layer (layer 6) of the seven-layer OSI model. The presentation layer is responsible for the delivery and formatting of information to the application layer for further processing or presentation to the user. It relieves the application layer from the responsibility in data representation .

This layer may translate data from a format used by the application layer into a common format at the source system. The presentation layer at the target system may re-translate the format into another appropriate format for its application layer.

Presentation Services

The presentation layer provides the following services and functions . These functions ensure that information sent from the application layer of one system will be readable by the application layer of another system.

  • Character code translation – i.e. ASCII to EBCDIC
  • Data conversion and format – the use of standard image, sound, and video formats
  • Data compression – de-duplicates the number of bits that need to be transmitted on the network
  • Data encryption – encrypt data for security purposes

Some of the protocols that function at this layer include:

  • Apple Filing Protocol (AFP)
  • Independent Computing Architecture (ICA)
  • Lightweight Presentation Protocol (LPP)
  • NetWare Core Protocol (NCP)
  • Network Data Representation (NDR)
  • eXternal Data Representation (XDR)
  • X.25 Packet Assembler/Disassembler Protocol (PAD)

Related Posts

Html5 Canvas: Text

HTML5 Canvas: Text

Redirecting Computer Objects To A Specific Ou

Redirecting Computer Objects to a Specific OU

Creating A Basic Asp.net Page

Creating a Basic ASP.NET Page

Html Event Attributes

HTML Event Attributes

What Is A Network Router?

What is a Network Router?

Unauthorizing Dhcp Servers

Unauthorizing DHCP Servers

About the author, leave a comment cancel reply.

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Paul is a passionate programmer who enjoys writing about all things technical. He likes getting into the nitty-gritty of technology and describing it in a way that anybody can understand.

How To Merge Youtube Accounts

How To Merge YouTube Accounts

How To Copy A Youtube Video

How To Copy a YouTube Video

How To Check Youtube Keyword Ranking

How To Check YouTube Keyword Ranking

Mysql Now Function

MySQL NOW Function

Html / Xhtml Elements And Dtd

HTML / XHTML Elements and DTD

Sql Insert Into Statement

SQL INSERT INTO Statement

Design of Service Layer and Application Logic ¶

This article is about organizing Application Logic and designing the Service Layer , Use Case, CQRS, Event Sourcing, MVC, etc.

  • Design of Service Layer and Application Logic
  • Layered Architecture
  • What is Business Logic?
  • Subtypes of Business Rules
  • Why is separation of Business Logic from Application Logic so important?
  • Ways to Organize Application Logic
  • What is Service?
  • Domain Service
  • Application Service
  • Infrastructure Service
  • Orchestration Service
  • Common mistakes of design Choreography Service
  • Service types by communication
  • Stateless Service
  • Statefull Service
  • Destination of Service Layer
  • When not to use Service Layer?
  • Service is not a wrapper for Data Mapper
  • Implementation of Service Layer
  • Inversion of control
  • Widespread problem of Django applications
  • Problems of Django annotation
  • Peculiar properties of Service Layer on client side
  • Concurrent update issue
  • Event Sourcing
  • Further Reading

Layers of logic ¶

Before digging deep into it, it would be nice to understand what Application Logic is and how it differs from Business Logic.

Layered Architecture ¶

One of the most cited definitions of key conceptual layers gives Eric Evans:

User Interface (or Presentation Layer) Responsible for showing information to the user and interpreting the user’s commands. The external actor might sometimes be another computer system rather than a human user. Application Layer Defines the jobs the software is supposed to do and directs the expressive domain objects to work out problems. The tasks this layer is responsible for are meaningful to the business or necessary for interaction with the application layers of other systems. This layer is kept thin. It does not contain business rules or knowledge, but only coordinates tasks and delegates work to collaborations of domain objects in the next layer down. It does not have state reflecting the business situation, but it can have state that reflects the progress of a task for the user or the program. Domain Layer (or Model Layer) Responsible for representing concepts of the business, information about the business situation, and business rules . State that reflects the business situation is controlled and used here, even though the technical details of storing it are delegated to the infrastructure. This layer is the heart of business software. Infrastructure Layer Provides generic technical capabilities that support the higher layers: message sending for the application, persistence for the domain, drawing widgets for the UI, and so on. The infrastructure layer may also support the pattern of interactions between the four layers through an architectural framework. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4] by Eric Evans

Ward Cunningham gives us the next definitions:

Factor your application classes into four layers in the following way (see Figure 1: FourLayerArchitecture): The View layer. This is the layer where the physical window and widget objects live. It may also contain Controller classes as in classical MVC. Any new user interface widgets developed for this application are put in this layer. In most cases today this layer is completely generated by a window-builder tool. The ApplicationModel layer. This layer mediates between the various user interface components on a GUI screen and translates the messages that they understand into messages understood by the objects in the domain model. It is responsible for the flow of the application and controls navigation from window to window. This layer is often partially generated by a window-builder and partially coded by the developer. The DomainModel layer. This is the layer where most objects found in an OO analysis and design will reside. Examples of the types of objects found in this layer may be Orders, Employees, Sensors, or whatever is appropriate to the problem domain. The Infrastructure layer. This is where the objects that represent connections to entities outside the application (specifically those outside the object world) reside. Examples of objects in this layer would include SQLTables, 3270Terminals, SerialPorts, SQLBrokers and the like. - Four Layer Architecture , Ward Cunningham

But what does the term Business itself mean? Misunderstanding of this term often leads to significant design problems.

What is Business Logic? ¶

The most authoritative explanation of the term Business can be found, as usual, on the Ward Cunningham website:

Software intersects with the Real World. Imagine that.

There you can find a definition of Business Rule :

A Business Rule (in a programming context) is knowledge that gets applied to a set of data to create new value. Or it may be a rule about how to create, modify, or remove data. Or perhaps it is a rule that specifies when certain processes occur. For example, we have a rule about email addresses – when the Driver Name field on our object identifier changes, we erase the email address. When we receive a new email address, we make sure that it contains an “@” sign and a valid domain not on our blacklist.

Business Logic Definition :

Business logic is that portion of an enterprise system which determines how data is: Transformed and/or calculated. For example, business logic determines how a tax total is calculated from invoice line items. Routed to people or software systems, aka workflow.

The term Business should be distinguished from the term Business Domain :

A category about the business domain, such as accounting, finance, inventory, marketing, tracking, billing, reporting, charting, taxes, etc.

You should also distinguish Business from Business Process :

A Business Process is some reproduceable process within an organization. Often it is a something that you want to setup once and reuse over and over again. Companies spend a lot of time and money identifying Business Processes, designing the software that captures a Business Process and then testing and documenting these processes. One example of a Business Process is “Take an order on my web site”. It might involve a customer, items from a catalog and a credit card. Each of these things is represented by business objects and together they represent a Business Process.

Wikipedia gives us the following definition of the term Business Logic :

In computer software, business logic or domain logic is the part of the program that encodes the real-world Business Rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might be concerned with lower-level details of managing a database or displaying the user interface, system infrastructure, or generally connecting various parts of the program.

And explains how Business Logic differs from Business Rules:

Business logic should be distinguished from business rules.[“ Definition of business logic “] Business logic is the portion of an enterprise system which determines how data is transformed or calculated, and how it is routed to people or software (workflow). Business rules are formal expressions of business policy. Anything that is a process or procedure is business logic, and anything that is neither a process nor a procedure is a business rule. Welcoming a new visitor is a process (workflow) consisting of steps to be taken, whereas saying every new visitor must be welcomed is a business rule. Further, business logic is procedural whereas business rules are declarative.[William Ulrich. “ OMG Business Rules Symposium ” (archived from the original on 2013-12-24)]

Craig Larman sees the term Business as synonymous with Domain, and in “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development”, he cites them side by side many times, complementing one term with another in parentheses. He gives the next definition for the term Business Rules:

Business Rules - Business rules (also called Domain Rules) typically describe requirements or policies that transcend one software project - they are required in the domain or business, and many applications may need to conform to them. An excellent example is government tax laws. Domain rule details may be recorded in the Supplementary Specification, but because they are usually more enduring and applicable than for one software project, placing them in a central Business Rules artifact (shared by all analysts of the company) makes for better reuse of the analysis effort. <...> The Business Rules (or Domain Rules) capture long-living and spanning rules or policies, such as tax laws, that transcend one particular application. <...> Domain rules [Ross97, GK00] dictate how a domain or business may operate. They are not requirements of any one application, although an application’s requirements are often influenced by domain rules. Company policies, physical laws (such as how oil flows underground), and government laws are common domain rules. They are commonly called business rules, which is the most common type, but that term is poor, as many software applications are for non-business problems, such as weather simulation or military logistics. A weather simulation has “domain rules,” related to physical laws and relationships, that influence the application requirements. It’s useful to identify and record domain rules in a separate application-independent artifact - what the UP calls the Business Rules artifact - so that this analysis can be shared and reused across the organization and across projects, rather than buried within a project-specific document. —“Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development” by Craig Larman

Let me summarize this in my own words:

Subtypes of Business Rules ¶

In “Clean Architecture,” Robert Martin divides Business Rules into two types:

Application-specific Business Rules

Application-independent Business Rules

Thus we find the system divided into decoupled horizontal layers—the UI, application-specific Business Rules, application-independent Business Rules, and the database, just to mention a few. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin

Chapters 16, 20 and 22 of Clean Architecture explain in detail the types of Business Rules.

At the same time, Robert Martin their outputs 4 layers : Entities, Use Cases, Interface Adapters, Frameworks and Drivers.

It should be noted that by “Business Rules” Robert Martin means not only rules, but also procedures, blurring the line between “Business Rules” and “Business Logic”:

Strictly speaking, business rules are rules or procedures that make or save the business money. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

Here is a slight contradiction. On the one hand, he reduces the whole essence of “Business Rules” to the fact that they belong exclusively to the real world:

Strictly speaking, business rules are rules or procedures that make or save the business money. Very strictly speaking, these rules would make or save the business money, irrespective of whether they were implemented on a computer . They would make or save money even if they were executed manually . The fact that a bank charges N% interest for a loan is a business rule that makes the bank money. It doesn’t matter if a computer program calculates the interest, or if a clerk with an abacus calculates the interest. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

Next Robert Martin says important information - “Business Rules” are the reason for the existence of the Application. It follows from this that the Application can no longer be the cause for the existence of “Business Rules”:

Business rules are the reason a software system exists. They are the core functionality. They carry the code that makes, or saves, money. They are the family jewels. The business rules should remain pristine, unsullied by baser concerns such as the user interface or database used. Ideally, the code that represents the business rules should be the heart of the system, with lesser concerns being plugged in to them. The business rules should be the most independent and reusable code in the system. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

However, on the other hand, he admits the existence of “Business Rules” in the context of the application’s operation:

Not all business rules are as pure as Entities. Some business rules make or save money for the business by defining and constraining the way that an automated system operates. These rules would not be used in a manual environment, because they make sense only as part of an automated system. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

It’s not clear - “Business rules are the reason a software system exists” or “they make sense only as part of an automated system”?

There is a slight mutual exclusion here, and this is exactly the reason why I adhere to the wording of Eric Evans - “Application Layer does not contain business rules”.

It is clear that there is a lack of a term for expressing different things, and Robert Martin decides to differentiate the already existing term “Business Rules”, dividing it into two levels - “Critical Business Rules” and “Application-specific Business Rules”:

A use case is a description of the way that an automated system is used . It specifies the input to be provided by the user, the output to be returned to the user, and the processing steps involved in producing that output. A use case describes application-specific business rules as opposed to the Critical Business Rules within the Entities. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

But then he reduces the responsibilities of the Use Case to those of the Application Logic, and emphasizes that the Use Case coordinates the “Critical Business Rules” implemented as Entities:

Use cases contain the rules that specify how and when the Critical Business Rules within the Entities are invoked. Use cases control the dance of the Entities. <...> Why are Entities high level and use cases lower level? Because use cases are specific to a single application and, therefore, are closer to the inputs and outputs of that system. Entities are generalizations that can be used in many different applications, so they are farther from the inputs and outputs of the system. Use cases depend on Entities; Entities do not depend on use cases. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin, Chapter 20 “Business Rules”

Although, Robert Martin allocate the separate category UseCase (Interactor) classes for Application-specific Business Rules, in practice, this level is often rounded to Application Logic level. For example, Martin Fowler and Randy Stafford divide Business Logic into two types - Domain Logic and Application Logic:

Like Transaction Script (110) and Domain Model (116), Service Layer is a pattern for organizing business logic . Many designers, including me, like to divide “ business logic ” into two kinds: “domain logic,” having to do purely with the problem domain (such as strategies for calculating revenue recognition on a contract), and “application logic,” having to do with application responsibilities [Cockburn UC] (such as notifying contract administrators, and integrated applications, of revenue recognition calculations). Application logic is sometimes referred to as “workflow logic,” although different people have different interpretations of “workflow.” - “Patterns of Enterprise Application Architecture” [3] by Martin Fowler, Randy Stafford

In some places, he is inclined to refer “Business Rules” to Domain Logic:

The problem came with domain logic: business rules, validations, calculations, and the like. - “Patterns of Enterprise Application Architecture” [3] by Martin Fowler

And even he admits the presence of a certain vagueness:

Then there’s the matter of what comes under the term “business logic.” I find this a curious term because there are few things that are less logical than business logic. - “Patterns of Enterprise Application Architecture” [3] by Martin Fowler

Why is separation of Business Logic from Application Logic so important? ¶

Since the purpose of creating an application is precisely the implementation of Business Logic, it is important to ensure their portability and to separate them from the Application Logic. These two different kinds of rules will change at different times, at different rates, and for different reasons - so they should be separated so that they can be independently changed [2] . Grady Booch said that “Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change [2] .”

What is Service? ¶

SERVICE - An operation offered as an interface that stands alone in the model, with no encapsulated state. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]
In some cases, the clearest and most pragmatic design includes operations that do not conceptually belong to any object. Rather than force the issue, we can follow the natural contours of the problem space and include SERVICES explicitly in the model. There are important domain operations that can’t find a natural home in an ENTITY or VALUE OBJECT . Some of these are intrinsically activities or actions, not things, but since our modeling paradigm is objects, we try to fit them into objects anyway... A SERVICE is an operation offered as an interface that stands alone in the model, without encapsulating state, as ENTITIES and VALUE OBJECTS do. S ERVICES are a common pattern in technical frameworks, but they can also apply in the domain layer. The name service emphasizes the relationship with other objects. Unlike ENTITIES and VALUE OBJECTS , it is defined purely in terms of what it can do for a client. A SERVICE tends to be named for an activity, rather than an entity—a verb rather than a noun. A SERVICE can still have an abstract, intentional definition; it just has a different flavor than the definition of an object. A SERVICE should still have a defined responsibility, and that responsibility and the interface fulfilling it should be defined as part of the domain model. Operation names should come from the UBIQUITOUS LANGUAGE or be introduced into it. Parameters and results should be domain objects. SERVICES should be used judiciously and not allowed to strip the ENTITIES and VALUE OBJECTS of all their behavior. But when an operation is actually an important domain concept, a SERVICE forms a natural part of a MODEL-DRIVEN DESIGN . Declared in the model as a SERVICE, rather than as a phony object that doesn’t actually represent anything, the standalone operation will not mislead anyone. A good SERVICE has three characteristics. 1. The operation relates to a domain concept that is not a natural part of an ENTITY or VALUE OBJECT . 2. The interface is defined in terms of other elements of the domain model. 3. The operation is stateless. Statelessness here means that any client can use any instance of a particular SERVICE without regard to the instance’s individual history. The execution of a SERVICE will use information that is accessible globally, and may even change that global information (that is, it may have side effects). But the SERVICE does not hold state of its own that affects its own behavior, as most domain objects do. When a significant process or transformation in the domain is not a natural responsibility of an ENTITY or VALUE OBJECT, add an operation to the model as a standalone interface declared as a SERVICE. Define the interface in terms of the language of the model and make sure the operation name is part of the UBIQUITOUS LANGUAGE. Make the SERVICE stateless. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]

Service types by layers of logic ¶

Eric Evans divides Services into three layers of logic:

Partitioning Services into Layers Application Funds Transfer App Service Digests input (such as an XML request). Sends message to domain service for fulfillment. Listens for confirmation. Decides to send notification using infrastructure service. Domain Funds Transfer Domain Service Interacts with necessary Account and Ledger objects, making appropriate debits and credits. Supplies confirmation of result (transfer allowed or not, and so on). Infrastructure Send Notification Service Sends e-mails, letters, and other communications as directed by the application. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]
Most SERVICES discussed in the literature are purely technical and belong in the infrastructure layer. Domain and application SERVICES collaborate with these infrastructure SERVICES. For example, a bank might have an application that sends an e-mail to a customer when an account balance falls below a specific threshold. The interface that encapsulates the e-mail system, and perhaps alternate means of notification, is a SERVICE in the infrastructure layer. It can be harder to distinguish application SERVICES from domain SERVICES. The application layer is responsible for ordering the notification. The domain layer is responsible for determining if a threshold was met—though this task probably does not call for a SERVICE, because it would fit the responsibility of an “account” object. That banking application could be responsible for funds transfers. If a SERVICE were devised to make appropriate debits and credits for a funds transfer,that capability would belong in the domain layer. Funds transfer has a meaning in the banking domain language, and it involves fundamental business logic. Technical SERVICES should lack any business meaning at all. Many domain or application SERVICES are built on top of the populations of ENTITIES and VALUES, behaving like scripts that organize the potential of the domain to actually get something done. ENTITIES and VALUE OBJECTS are often too fine-grained to provide a convenient access to the capabilities of the domain layer. Here we encounter a very fine line between the domain layer and the application layer. For example, if the banking application can convert and export our transactions into a spreadsheet file for us to analyze, that export is an application SERVICE. There is no meaning of “file formats” in the domain of banking, and there are no business rules involved. On the other hand, a feature that can transfer funds from one account to another is a domain SERVICE because it embeds significant business rules (crediting and debiting the appropriate accounts, for example) and because a “funds transfer” is a meaningful banking term. In this case, the SERVICE does not do much on its own; it would ask the two Account objects to do most of the work. But to put the “transfer” operation on the Account object would be awkward, because the operation involves two accounts and some global rules. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]
Domain Models (116) are preferable to Transaction Scripts (110) for avoiding domain logic duplication and for managing complexity using classical design patterns. But putting application logic into pure domain object classes has a couple of undesirable consequences. First, domain object classes are less reusable across applications if they implement application-specific logic and depend on application-specific packages. Second, commingling both kinds of logic in the same classes makes it harder to reimplement the application logic in, say, a workflow tool if that should ever become desirable. For these reasons Service Layer factors each kind of business logic into a separate layer, yielding the usual benefits of layering and rendering the pure domain object classes more reusable from application to application. - “Patterns of Enterprise Application Architecture” [3]

Domain Service ¶

Higher-level policies belong to Domain Logic, so we start with it. Fortunately, this is not the most numerous type of Services.

In detail, the topic of Domain Services and the reasons for their existence are revealed Vaughn Vernon:

Further, don’t confuse a Domain Service with an Application Service. We don’t want to house business logic in an Application Service, but we do want business logic housed in a Domain Service. If you are confused about the difference, compare with Application. Briefly, to differentiate the two, an Application Service, being the natural client of the domain model, would normally be the client of a Domain Service. You’ll see that demonstrated later in the chapter. Just because a Domain Service has the word service in its name does not mean that it is required to be a coarse-grained, remote-capable, heavyweight transactional operation. ... You can use a Domain Service to Perform a significant business process Transform a domain object from one composition to another Calculate a Value requiring input from more than one domain object - “Implementing Domain-Driven Design” by Vaughn Vernon

Application Service ¶

This is the most numerous type of Services. Application Services are also known as Service Layer.

Infrastructure Service ¶

Infrastructure Service should be separate of other types of Service.

The infrastructure layer usually does not initiate action in the domain layer. Being “below” the domain layer, it should have no specific knowledge of the domain it is serving. Indeed, such technical capabilities are most often offered as SERVICES . For example, if an application needs to send an e-mail, some message-sending interface can be located in the infrastructure layer and the application layer elements can request the transmission of the message. This decoupling gives some extra versatility. The message-sending interface might be connected to an e-mail sender, a fax sender, or whatever else is available. But the main benefit is simplifying the application layer, keeping it narrowly focused on its job: knowing when to send a message, but not burdened with how. The application and domain layers call on the SERVICES provided by the infrastructure layer. When the scope of a SERVICE has been well chosen and its interface well designed, the caller can remain loosely coupled and uncomplicated by the elaborate behavior the SERVICE interface encapsulates. But not all infrastructure comes in the form of SERVICES callable from the higher layers. Some technical components are designed to directly support the basic functions of other layers (such as providing an abstract base class for all domain objects) and provide the mechanisms for them to relate (such as implementations of MVC and the like). Such an “architectural framework” has much more impact on the design of the other parts of the program. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]
Infrastructure Layer - Provides generic technical capabilities that support the higher layers: message sending for the application, persistence for the domain, drawing widgets for the UI, and so on. The infrastructure layer may also support the pattern of interactions between the four layers through an architectural framework. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]

Orchestration Service ¶

Orchestration Service is known as Service Layer and is cosidered in more detail below.

Choreography Service ¶

There is an interesting article “ Clarified CQRS ” by Udi Dahan, cited by Martin Fowler in his article “ CQRS ”.

And this article has an interesting point.

The reason you don’t see this layer explicitly represented in CQRS is that it isn’t really there... - “Clarified CQRS” by Udi Dahan

In fact, a command handler is a Service, but an event-driven one that follows a given interface. It should contain Application Logic (not Business Logic).

Our command processing objects in the various autonomous components actually make up our service layer. - “Clarified CQRS” by Udi Dahan

Choreography Services can only be at Application Logic, even if it is subscribed to a Domain Event.

Service types by communication ¶

By communication, Services are divided into Synchronous and Asynchronous.

Service types by state ¶

Stateless service ¶.

Typically, most Services are stateless. They are well known, and there is nothing to add.

Statefull Service ¶

The UseCases/Interactors [2] classes are a variation of the Command pattern, and can be considered as a Statefull Service.

Eric Evans has a similar idea:

We might like to create a Funds Transfer object to represent the two entries plus the rules and history around the transfer. But we are still left with calls to SERVICES in the interbank networks. What’s more, in most development systems, it is awkward to make a direct interface between a domain object and external resources. We can dress up such external SERVICES with a FACADE that takes inputs in terms of the model, perhaps returning a Funds Transfer object as its result. But whatever intermediaries we might have, and even though they don’t belong to us, those SERVICES are carrying out the domain responsibility of funds transfer. - “Domain-Driven Design: Tackling Complexity in the Heart of Software” [4]

And Randy Stafford with Martin Fowler too:

The two basic implementation variations are the domain facade approach and the operation script approach. In the domain facade approach a Service Layer is implemented as a set of thin facades over a Domain Model (116). The classes implementing the facades don’t implement any business logic. Rather, the Domain Model (116) implements all of the business logic. The thin facades establish a boundary and set of operations through which client layers interact with the application, exhibiting the defining characteristics of Service Layer. In the operation script approach a Service Layer is implemented as a set of thicker classes that directly implement application logic but delegate to encapsulated domain object classes for domain logic. The operations available to clients of a Service Layer are implemented as scripts, organized several to a class defining a subject area of related logic. Each such class forms an application “service,” and it’s common for service type names to end with “Service.” A Service Layer is comprised of these application service classes, which should extend a Layer Supertype (475), abstracting their responsibilities and common behaviors. - “Patterns of Enterprise Application Architecture” [3] by Martin Fowler, Randy Stafford

Notice, he used the term “ Domain Model ”. These guys are the last of those who can confuse “ Domain Model ” and “ DataMapper ”, especially with so many editors and reviewers. A client expects an interface from the domain model that it does not implement and should not implement for some reason (usually the Single Responsibility Principle). On the other hand, the client can not implement this behavior itself, as this would lead to “G14: Feature Envy” [1] . There is an Adapter (aka Wrapper) pattern for interface alignment, see “Design Patterns Elements of Reusable Object-Oriented Software” [6] . Statefull Service differs from the usual Adapter pattern only in that it contains lower-level logic, i.e. Application Logic, rather than Business Logic of Domain Model.

This approach reminds me of “Cross-Cutting Concerns” [1] , with the only difference being that “Cross-Cutting Concerns” implements the interface of the original object (delegate), while domain facade complements it. When a wrapper implements the interface of the original object, it is usually called Aspect or Decorator. Often in such cases the term Proxy is used, but, in fact, the Proxy pattern has a slightly different purpose. This approach is often used to provide the Domain Model with the logic of access to related objects, while keeping the Domain Model completely “clean”, i.e. separated from the behavior of lower level logic.

When I was working with legacy code, I saw swollen Domain Models with a huge number of methods (I met up to several hundred methods). If you analyze such models, you can often find extrinsical responsibilities in the class. As you know, size of a class is measured by amount of its responsibilities. Statefull Service and Adapter pattern are a good alternative to remove extrinsical responsibilities from a model and make swollen models lose weight.

When not to use Service Layer? ¶

The easier question to answer is probably when not to use it. You probably don’t need a Service Layer if your application’s business logic will only have one kind of client say, a user interface and its use case responses don’t involve multiple transactional resources. In this case your Page Controllers can manually control transactions and coordinate whatever response is required, perhaps delegating directly to the Data Source layer. But as soon as you envision a second kind of client, or a second transactional resource in use case responses, it pays to design in a Service Layer from the beginning. - “Patterns of Enterprise Application Architecture” [3]

However, the widely held view that access to the model should always be made through the Service Layer:

My preference is thus to have the thinnest Service Layer (133) you can, if you even need one. My usual approach is to assume that I don’t need one and only add it if it seems that the application needs it. However, I know many good designers who always use a Service Layer (133) with a fair bit of logic, so feel free to ignore me on this one. - “Patterns of Enterprise Application Architecture” [3]
The idea of splitting a services layer from a domain layer is based on a separation of workflow logic from pure domain logic. The services layer typically includes logic that’s particular to a single use case and also some communication with other infrastructures, such as messaging. Whether to have separate services and domain layers is a matter some debate. I tend to look as it as occasionally useful rather than mandatory, but designers I respect disagree with me on this. - “Patterns of Enterprise Application Architecture” [3]

Service is not a wrapper for Data Mapper ¶

Often Service Layer is mistakenly made in the for of wrapper over DataMapper . This is not quite the right decision. A Data Mapper serves a Domain Model, a Repository serves an Aggregate [9] , but a Service serves a client (or a client group). The Service Layer can manipulate multiple Data Mappers, Repositories, other Services within a business transaction and in favour of a client. Therefore, Service’s methods usually contain name of the returned Domain Model as a suffix (for example, getUser()), while methods of a Data Mapper (or a Repository) do not need such suffix (since the Domain name is already present in name of the Data Mapper class, and the Data Mapper serves only one Domain Model).

Identifying the operations needed on a Service Layer boundary is pretty straightforward. They’re determined by the needs of Service Layer clients, the most significant (and first) of which is typically a user interface. - “Patterns of Enterprise Application Architecture” [3]

Implementation of Service Layer ¶

There is a few examples of Service Layer implementations:

  • https://github.com/in2it/zfdemo/blob/master/application/modules/user/services/User.php
  • https://framework.zend.com/manual/2.4/en/in-depth-guide/services-and-servicemanager.html
  • https://framework.zend.com/manual/2.4/en/user-guide/database-and-models.html#using-servicemanager-to-configure-the-table-gateway-and-inject-into-the-albumtable
  • https://github.com/zendframework/zf2-tutorial/blob/master/module/Album/src/Album/Model/AlbumTable.php

Inversion of control ¶

Use Inversion of control, desirable in the form of Passive [1] “ Dependency Injection ” (DI).

True Dependency Injection goes one step further. The class takes no direct steps to resolve its dependencies; it is completely passive. Instead, it provides setter methods or constructor arguments (or both) that are used to inject the dependencies. During the con- struction process, the DI container instantiates the required objects (usually on demand) and uses the constructor arguments or setter methods provided to wire together the depen- dencies. Which dependent objects are actually used is specified through a configuration file or programmatically in a special-purpose construction module. “Clean Code: A Handbook of Agile Software Craftsmanship” [1]

One of the main responsibilities of Service Layer is the hiding of data source. It allows you to use Service Stub for testing. The same approach can be used for parallel development, when the implementation of the Service Layer is not ready yet. Sometimes it is useful to replace the Service with a fake data generator. In general, the Service Layer will be of little use if it is not possible to substitute it (or to substitute the dependencies used by it).

Widespread problem of Django applications ¶

A common mistake is to use the django.db.models.Manager class (and even django.db.models.Model) as a Service Layer. Often you can see how some method of the class django.db.models.Model takes as an argument the HTTP-request object django.http.request.HttpRequest, for example, to check the permissions.

The HTTP request object is the Application Layer logic, while the model class is the logic of the Domain Layer, i.e. objects of the real world, which are also called business rules. Checking permissions is also the logic of Application Layer.

The lower layer should not be aware of the higher layer. Domain-level logic should not be aware of application-level logic.

The class django.db.models.Manager corresponds most closely to the class Finder described in “Patterns of Enterprise Application Architecture” [3] .

With a Row Data Gateway you’re faced with the questions of where to put the find operations that generate this pattern. You can use static find methods, but they preclude polymorphism should you want to substitute different finder methods for different data sources. In this case it often makes sense to have separate finder objects so that each table in a relational database will have one finder class and one gateway class for the results. It’s often hard to tell the difference between a Row Data Gateway and an Active Record (160). The crux of the matter is whether there’s any domain logic present; if there is, you have an Active Record (160). A Row Data Gateway should contain only database access logic and no domain logic. - Chapter 10. “Data Source Architectural Patterns : Row Data Gateway”, “Patterns of Enterprise Application Architecture” [3]

Although Django does not use the Repository pattern, it uses an abstraction of the selection criteria in the form similar to the Query Object pattern. Like the Repository pattern, the model class ( ActiveRecord ) limits its interface using the Query Object interface. Clients should use the provided interface, rather than impose their responsibilities on the Model and its Manager on knowledge of their queries. And since class does not have to make assumptions about its clients, it is impossible to accumulate pre-defined queries in the Model class, because it can not be aware about the all needs of all clients. Clients should take care of themselves. But the Service Layer was created for client service. Therefore, it’s a responsibility of the Service Layer.

Attempts to exclude the Serving Layer from Django applications leads to the appearance of Managers with a lot of methods.

A good practice would be to hide the implementation (in the form of ActiveRecord ) of Django models by the Service Layer. This will allow painless ORM replace if necessary.

Some might also argue that the application logic responsibilities could be implemented in domain object methods, such as Contract.calculateRevenueRecognitions(), or even in the data source layer, thereby eliminating the need for a separate Service Layer. However, I find those allocations of responsibility undesirable for a number of reasons. First, domain object classes are less reusable across applications if they implement application-specific logic (and depend on application-specific Gateways (466), and the like). They should model the parts of the problem domain that are of interest to the application, which doesn’t mean all of application’s use case responsibilities. Second, encapsulating application logic in a “higher” layer dedicated to that purpose (which the data source layer isn’t) facilitates changing the implementation of that layer perhaps to use a workflow engine. - “Patterns of Enterprise Application Architecture” [3]

Problems of Django annotation ¶

I often observed the problem when a new field was added to the Django Model, and multiple problems started to occur, since this name was already used either with the annotation interface or with Raw-SQL. Also, the implementation of annotations by Django ORM makes it impossible to use the pattern Identity Map . Storm ORM / SQLAlchemy implement annotations more successfully. If you still had to work with Django Model, refrain from using Django annotation mechanism in favor of bare pattern DataMapper .

Peculiar properties of Service Layer on client side ¶

Using the Aggregate concept and reactive programming libraries, such as RxJS , allows us to implement Service Layer using a simplest pattern like Gateway , see, for example, the tutorial of Angular documentation . In this case, Query Object is usually implemented as a simple dictionary, which is then converted to a list of GET parameters for the URL. Such service usually communicates with a server either through JSON-RPC, or through REST-API Actions .

Everything works well until you need to express prioritized queries, for example, using the logical operator “OR” which has a lower priority than the logical operator “AND”. This raises the question of who should be responsible for building the query, the Service Layer of the client or the Service Layer of the server?

On the one hand, the server should not make assumptions about its clients, and must limit its interface through the interface Query Object . But this dramatically increases the level of complexity of the client, in particular, the implementation of Service Stub . To facilitate implementation, you can use the library rql mentioned in the article “ Implementation of Repository pattern for browser’s JavaScript ”.

On the other hand, the Service Layer, albeit a remote call, is designed to serve clients, so it can concentrate the logic of query building. If the client does not contain complex logic, allowing to interpret the prioritized queries for Service Stub, then no need to complicate it. In this case, it’s easier to add a new method to the remote call service, and get rid of the need for prioritized queries.

Concurrent update issue ¶

The advent of the Internet has provided access to a huge amount of data that is excessively large with the capabilities of the server. There was a need for scalability and distributed storage and processing of data.

One of the most acute problems is the concurrent update issue.

All race conditions, deadlock conditions, and concurrent update problems are due to mutable variables. You cannot have a race condition or a concurrent update problem if no variable is ever updated. You cannot have deadlocks without mutable locks. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin

An order is a correct imposition of restrictions.

The concurrent update issue can be significantly reduced by restricting bidirectional state changes by introducing unidirectional changes, i.e. by separating reading from writing. This is exactly the approach used by Redux.

“it allows us to host the two services differently eg: we can host the read service on 25 servers and the write service on two. The processing of commands and queries is fundamentally asymmetrical, and scaling the services symmetrically does not make a lot of sense.” - “ CQRS, Task Based UIs, Event Sourcing agh! ” by Greg Young

Organizing Application Logic and Business Logic is well covered in the article “ Clarified CQRS ” by Udi Dahan.

The use of CQRS facilitates the use of Functional Programming paradigm.

For both theoretical and practical reasons detailed elsewhere [10], the command-query separation principle is a methodological rule, not a language feature, but all serious software developed in Eiffel observes it scrupulously, to great referential transparency advantage. Although other schools of object-oriented programming regrettable do not apply it (continuing instead the C style of calling functions rather than procedures to achieve changes), but in my view it is a key element of the object-oriented approach. It seems like a viable way to obtain the referential transparency goal of functional programming — since expressions, which only involve queries, will not change the state, and hence can be understood as in traditional mathematics or a functional language — while acknowledging, through the notion of command, the fundamental role of the concept of state in modeling systems and computations. - “Software architecture: object-oriented vs functional ” by Bertrand Meyer

Functional Programming inherently cannot produce side effects (since Functional Programming imposes a restriction on assignment (mutability)). This is the reason for its popularity growth in the era of distributed computing. No mutability - no concurrent update issues.

It is necessary to distinguish the Functional Programming paradigm from the languages supporting this paradigm, since quite often the languages supporting this paradigm allow not to follow it.

However, despite the new opportunities to use Functional Programming in code, the data storage itself (IO device) is still prone to the concurrent update issues, since it has mutable rows, and, therefore, has a side effect.

The solution to this problem is usually to replace CRUD (Create, Read, Update, Delete) with CR, i.e. imposing restrictions on Update and Delete rows in the storage, that is widespread with the name Event Sourcing. There are specialized storages that implement Event Sourcing, but it can also be implemented without specialized tools.

Event Sourcing ¶

If CQRS allows working with data storages in the Imperative style, and separates a command (side effect) from a query (reading) data, then Event Sourcing goes even further and imposes a restriction on changing and deleting data, turning CRUD into CR. This pattern allows working with data storages in the Functional style, and provides the same benefits: no mutable state - no concurrent update issues. And the same disadvantages - high memory and processor consumption. This is the reason why this pattern is widely used in distributed systems, where there is an acute need for its advantages, and at the same time, its weaknesses do not appear (since distributed systems are not limited either in memory or in processor power).

A good example of Event Sourcing can be the principle of organizing a bank account in a database, when the account is not a source of truth, but simply reflects the aggregate value of all transactions (i.e. events).

This topic is well covered in Chapter 6 “Functional Programming” of “Clean Architecture” by Robert C. Martin.

More importantly, nothing ever gets deleted or updated from such a data store. As a consequence, our applications are not CRUD; they are just CR. Also, because neither updates nor deletions occur in the data store, there cannot be any concurrent update issues. If we have enough storage and enough processor power, we can make our applications entirely immutable—and, therefore, entirely functional . If this still sounds absurd, it might help if you remembered that this is precisely the way your source code control system works. - “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” [2] by Robert C. Martin
Event Sourcing is naturally functional. It’s an append only log of facts that have happened in the past. You can say that any projection any state is a left fold over your previous history. - Greg Young, “ A Decade of DDD, CQRS, Event Sourcing ” at 16:44
It’s actually functional. - Greg Young, “ Event Sourcing is actually just functional code ” at 34:49
I have always said that Event Sourcing is “Functional Data Storage”. In this talk we will try migrating to a idiomatic functional way of looking at Event Sourcing. Come and watch all the code disappear! By the time you leave you will never want an “Event Sourcing Framework (TM)” ever again! - Greg Young, “ Functional Data ”, NDC Conferences

@emacsway's blog

Jul 17, 2017.

  • Oct 12, 2019
  • Ivan Zakrevsky
  • Software Design , Software Architecture , ORM , Django Model , Service Layer , Redux , Flux , Model , CQRS , Event Sourcing

Quick search

Presentation Services Layer

The presentation services (PS) layer of SNA contains the function that presents the communications data interface to the user. The presentation services layer is defined in the architecture for all LU types except LU 0. LUA contains a unique subset of the presentation services layer within Personal Communications . For more information about the presentation services layer, refer to Systems Network Architecture Concepts and Products .

The LU services functions are a part of the SNA-session message flow layers. These functions supply support before session establishment, build session structures, and take down session structures. LUA functions interface with common Personal Communications and Communications Server support to define LUs and to start and stop SNA sessions.

PowerShow.com - The best place to view and share online presentations

  • Preferences

Free template

Moscow city - PowerPoint PPT Presentation

presentation services layer

Moscow city

Moscow city – powerpoint ppt presentation.

  • 11,000,000-
  • 1,100 sq.km
  • 85 of whom are social orphans - they have parents
  • Antique shop selling
  • Remains of an orthodox saint (scull is in great condition) etc
  • Muscovites always talk about needing fresh air and time with nature (away from Moscow)
  • Going to our church dacha
  • (1500 women)

PowerShow.com is a leading presentation sharing website. It has millions of presentations already uploaded and available with 1,000s more being uploaded by its users every day. Whatever your area of interest, here you’ll be able to find and view presentations you’ll love and possibly download. And, best of all, it is completely free and easy to use.

You might even have a presentation you’d like to share with others. If so, just upload it to PowerShow.com. We’ll convert it to an HTML5 slideshow that includes all the media types you’ve already added: audio, video, music, pictures, animations and transition effects. Then you can share it with your target audience as well as PowerShow.com’s millions of monthly visitors. And, again, it’s all free.

About the Developers

PowerShow.com is brought to you by  CrystalGraphics , the award-winning developer and market-leading publisher of rich-media enhancement products for presentations. Our product offerings include millions of PowerPoint templates, diagrams, animated 3D characters and more.

World's Best PowerPoint Templates PowerPoint PPT Presentation

We've detected unusual activity from your computer network

To continue, please click the box below to let us know you're not a robot.

Why did this happen?

Please make sure your browser supports JavaScript and cookies and that you are not blocking them from loading. For more information you can review our Terms of Service and Cookie Policy .

For inquiries related to this message please contact our support team and provide the reference ID below.

What is Good Friday? What the holy day means for Christians around the world

presentation services layer

Christians around the world observe Good Friday two days before Easter, but what is it, and why do they commemorate the holy day?

The holiday is part of Holy Week, which leads up to Easter Sunday. Palm Sunday kicks off the series of Christian holy days that commemorate the Crucifixion and celebrate Jesus Christ's resurrection.

"Good Friday has been, for centuries now, the heart of the Christian message because it is through the death of Jesus Christ that Christians believe that we have been forgiven of our sins," Daniel Alvarez, an associate teaching professor of religious studies at Florida International University, told USA TODAY.

What is Holy Saturday? What the day before Easter means for Christians around the world

When is Good Friday?

Good Friday is always the Friday before Easter. It's the second-to-last day of Holy Week.

In 2024, Good Friday will fall on March 29.

What is Good Friday?

Good Friday is the day Christ was sacrificed on the cross. According to Britannica , it is a day for "sorrow, penance, and fasting."

"Good Friday is part of something else," Gabriel Radle, an assistant professor of theology at the University of Notre Dame, previously told USA TODAY. "It's its own thing, but it's also part of something bigger."

Are Good Friday and Passover related?

Alvarez says that Good Friday is directly related to the Jewish holiday, Passover.

Passover , or Pesach, is a major Jewish holiday that celebrates the Israelites’ exodus from Egypt.

"The whole Christian idea of atoning for sin, that Jesus is our atonement, is strictly derived from the Jewish Passover tradition," said Alvarez.

How is that possible?

According to the professor, Passover celebrates the day the "Angel of Death" passed over the homes of Israelites who were enslaved by the Egyptians. He said that the Bible states when the exodus happened, families were told to paint their doors with lamb's blood so that God would spare the lives of their firstborn sons.

Alvarez says this is why Christians call Jesus the "lamb of God." He adds that the symbolism of the "blood of the lamb" ties the two stories together and is why Christians believe God sacrificed his firstborn son. Because, through his blood, humanity is protected from the "wrath of a righteous God that cannot tolerate sin."

He adds that the stories of the exodus and the Crucifixion not only further tie the stories together but also emphasize just how powerful the sacrifice of the firstborn and the shedding of blood are in religion.

"Jesus is the firstborn, so the whole idea of the death of the firstborn is crucial," said Alvarez.

He adds that the sacrifice of the firstborn, specifically a firstborn son, comes from an ancient and "primitive" idea that the sacrifice unleashes "tremendous power that is able to fend off any kind of force, including the wrath of God."

Why Is Good Friday so somber?

Alavarez says people might think this holiday is more depressing or sad than others because of how Catholics commemorate the Crucifixion.

"I think [it's] to a level that some people might think is morbid," said Alvarez.

He said Catholics not only meditate on Jesus' death, but primarily focus on the suffering he faced in the events that led up to his Crucifixion. That's what makes it such a mournful day for people.

But, the professor says that Jesus' suffering in crucial to Christianity as a whole.

"The suffering of Christ is central to the four Gospels," said Alvarez. "Everything else is incidental."

According to the professor, statues that use blood to emphasize the way Jesus and Catholic saints suffered is very common in Spanish and Hispanic Countries, but not as prevalent in American churches.

Do you fast on Good Friday?

Father Dustin Dought, the executive director of the Secretariat of Divine Worship of the United States Conference of Catholic Bishops, previously told USA TODAY that Good Friday and Ash Wednesday are the two days in the year that Roman Catholics are obliged to fast.

"This practice is a way of emptying ourselves so that we can be filled with God," said Dought.

What do you eat on Good Friday?

Many Catholics do not eat meat on any Friday during Lent. Anything with flesh is off-limits. Dought says this practice is to honor the way Jesus sacrificed his flesh on Good Friday.

Meat that is off limits includes:

Instead, many Catholics will eat fish. According to the Marine Stewardship Council , this is allowed because fish is considered to be a different type of flesh.

Contributing: Jordan Mendoza ; USA TODAY

Got any suggestions?

We want to hear from you! Send us a message and help improve Slidesgo

Top searches

Trending searches

presentation services layer

solar eclipse

25 templates

presentation services layer

academic writing

15 templates

presentation services layer

8 templates

presentation services layer

education technology

180 templates

presentation services layer

32 templates

presentation services layer

citizenship

14 templates

Travel Guide: Moscow

Travel guide: moscow presentation, free google slides theme and powerpoint template.

Do you know some acquaintances that want to travel to Russia, the biggest country in this planet? Now you can be their own tour guide with this template. Include as much information as possible about tourist attractions, monuments and things to do in Moscow. Let the simplicity of these slides and their cool illustrations speak in favor too!

Features of this template

  • 100% editable and easy to modify
  • 25 different slides to impress your audience
  • Contains easy-to-edit graphics such as graphs, maps, tables, timelines and mockups
  • Includes 500+ icons and Flaticon’s extension for customizing your slides
  • Designed to be used in Google Slides and Microsoft PowerPoint
  • 16:9 widescreen format suitable for all types of screens
  • Includes information about fonts, colors, and credits of the free resources used

How can I use the template?

Am I free to use the templates?

How to attribute?

Attribution required If you are a free user, you must attribute Slidesgo by keeping the slide where the credits appear. How to attribute?

Related posts on our blog.

How to Add, Duplicate, Move, Delete or Hide Slides in Google Slides | Quick Tips & Tutorial for your presentations

How to Add, Duplicate, Move, Delete or Hide Slides in Google Slides

How to Change Layouts in PowerPoint | Quick Tips & Tutorial for your presentations

How to Change Layouts in PowerPoint

How to Change the Slide Size in Google Slides | Quick Tips & Tutorial for your presentations

How to Change the Slide Size in Google Slides

Related presentations.

Travel Guide: Singapore presentation template

Premium template

Unlock this template and gain unlimited access

Havana Travel Guide presentation template

Moscow - City Map PowerPoint Template

City map of Moscow with administrative districts and numerous design examples

Instant Download:

  • 100% Editable Powerpoint Slides / Graphics
  • Outstanding Customer Support
  • SSL Secure Payment
  • Made in Germany
  • Information
  • Template (4:3)

High quality city map "Moscow" for PowerPoint

This detailed citymap of "Moscow" you can present in Microsoft PowerPoint. The vector graphic enables you to easily edit and scale your map as much as you need to. Change the colour and edit the separate districts. The map comes in different design-variations.

Moscow - City Map

Infographics Bundle

Flat design – presentation people bundle, change management bundle, 150 strategy & management models, agile management bundle, gearwheel bundle, project charter, growth mindset, project canvas, artificial intelligence, gdpr: data protection powerpoint template, digital transformation, corporate services.

We’ll optimize your existing PowerPoint presentation and create slides in your corporate design.

New PowerPoint Templates

We are continually bringing you new PowerPoint templates on current business topics and in modern designs.

Post-Tribune | Valparaiso City Services proposes 7% graduated…

Share this:.

  • Click to share on Facebook (Opens in new window)
  • Click to share on X (Opens in new window)
  • Click to print (Opens in new window)
  • Click to email a link to a friend (Opens in new window)

presentation services layer

  • Post-Tribune Sports
  • Post-Tribune Opinion
  • All Suburbs

Post-Tribune

Post-tribune | valparaiso city services proposes 7% graduated increase for water, sewer, increase and bonds would fund more than $17.5m in improvements.

Valparaiso resident Beth Walden, a 1983 graduate of Valparaiso University, listens to Valparaiso City Utilities Operations and Maintenance Director Shihua Chen explain planned water system improvements depicted on a chart timeline during a Monday, March 25, 2024, public open house at Valparaiso City Hall. (Philip Potempa/for Post-Tribune)

Valparaiso City Services outlined a detailed plan of more than $17.5 million in water improvements to be funded by bonds and a gradual 7% water and sewer rate increase over five years, all unveiled during a presentation March 25 at the Valparaiso City Council meeting.

Valparaiso City Services Executive Director Steve Poulos and his staff hosted a one-hour open house for the public to field questions before he explained the plan in further description and timeline during the council meeting.

Resident Beth Walden attended both the open house and council meeting to learn more about the adjustment of future water rates.

“I just moved to Valparaiso with my husband Dave almost four years ago, after living in Minnesota,” Walden said.

“We both graduated from Valparaiso University in 1983 and liked the community and so we decided to return to Valparaiso to make it our new home. We want to stay informed about what’s in our future.”

Poulos reminded residents that monthly water and sewer rates fund “operations, maintenance, debt payments, emergency reserves and future capital improvement projects.”

“A significant number of water and wastewater treatment process units within the city of Valparaiso are 35 to 60 years old, and approximately one-third of the city’s ground infrastructure is at least 50 years old,” Poulos said.

“The rate adjustments, if approved, would begin in the summer of 2024 and will be phased in gradually through 2028.”

The March 25 presentation only provided proposed financial details, timeline and future rate structure to the council, with a public hearing and council vote still forthcoming before any action on proposed plans.

An example of the rate increase, if the proposal passes, was explained to the council and public using a current March 2024 water and sewer bill of $71.78 for an average use of 4,000 gallons a month.

If the new rates are implemented by July 2024, that same monthly bill would increase to $88.88, followed by a further increase to $95.76 by July 2025, then $103.21 in July 2026 and up to $111.21 in July 2027 before hitting the final tier of $119.79 in July 2028. Also added to that monthly bill would be the other fixed fees of roughly $2 in taxes, $12.50 for stormwater needs and $19.50 for garbage service.

Poulos explained the strategic planning and master plan studies include the Valparaiso City Utilities Board of Directors initiating engineering designs for necessary improvements to the city’s water and wastewater facilities, “ensuring the ongoing modernization of systems, environmental sustainability, regulatory compliance and room for planned growth.”

Poulos said the top priorities are important capital projects, evaluated costs and the effect on utility rates.

“Inflation, plus increased costs for labor, regulatory requirements and the needed infrastructure upgrade are why we must evaluate rates for reliable quality and services our community,” Poulos said.

Poulos said Valparaiso has more than 550 miles of water pipes and sewer lines around the city limits and some of the aging existing pipelines as addressed in the proposed project with a total price tag of $23 million, including an earlier phase started in 2023, all financed through bonds to include eight new wells and transmission lines. Poulos said engineering for phases two and three, starting this year for what is a three-phase plan, is expected to cost $2.3 million, with construction of the first four wells costing $5 million.

“Our completed phase one of this process began with our 2013 water source study to address our need for groundwater looking up to 20 years in the future to get us to where we are now,” Poulos said.

“The eight new wells will replace the aging wells we have at the Porter County airport as well as 5 miles of transmission line and upgrades to our airport water plant for filters, pipes, controls and electrical. This will give us an additional water storage of 2 million gallons and we’re looking at a nearly $18 million bond issue.”

The Valparaiso City Council will hear and vote on the first reading of the proposed rate and bond ordinance at the April 8 city council meeting. A second reading and public hearing before a final vote is planned for the April 22 city council meeting, to allow the proposed implementation of the rate increase to become effective by the July 2024 billing cycle.

Philip Potempa is a freelance reporter for the Post-Tribune.

More in Post-Tribune

Lake County’s drainage system is doing its job keeping up with the rain that has fallen since this weekend.

Post-Tribune | Lake County drainage keeping up with heavy rain; Little Calumet holding steady

INDIANAPOLIS — While all eyes will be on the skies Monday, April 8 for the total solar eclipse, Indiana residents should also look to their voter registration. The deadline to register to vote in Indiana’s upcoming primary is the same day as the solar eclipse that will shadow most of the state. Many county offices will be closed Monday in anticipation of the event, according to a March newsletter from the Indiana Election Division, but exceptions may extend the deadline for some voters. “This isn’t just a special day for space enthusiasts,” the newsletter said. If a county office is […]

Post-Tribune | The solar eclipse may change some voting registration deadlines in Indiana. Here’s what to know

Robert Coppage, 63, of Lynwood and formerly of Portage, was pronounced dead at 10:21 a.m. March 24 at Palos Community Hospital, just months after a $10 million settlement for the 2017 injury.

Daily Southtown | Lynwood man injured in 2017 Hammond steel plant accident dies months after receiving $10 million settlement

Wardingley provides unique versatility for Andrean, which reached the Class 2A state final last year.

Post-Tribune Sports | With sister’s support, Andrean’s Gracie Wardingley tackles challenge of position changes: ‘No questions asked’

Trending nationally.

  • New Central Florida highway will wirelessly charge cars on the go
  • Nurses are burning out, and the health care worker shortage is only getting worse. Here is what hospitals say they’re doing about it
  • Own vacant land in Colorado? Watch out for scammers trying to sell it out from under you.
  • Supreme Court upholds Florida’s 15-week abortion ban, and puts access amendment on November ballot
  • ‘That’s my hook’: How Taylor Swift’s music is teaching social-emotional skills to students

IMAGES

  1. presentation layer protocols

    presentation services layer

  2. Presentation Layer OSI Model

    presentation services layer

  3. SAP R/3 Architecture has three layers Presentation Layer,Application

    presentation services layer

  4. presentation layer in 3 tier architecture

    presentation services layer

  5. What is presentation layer?

    presentation services layer

  6. Presentation Layer OSI Model

    presentation services layer

VIDEO

  1. Part 1.16

  2. Application layer Presentation layer

  3. EGEnergy I présentation Services I Thermographie

  4. Vidéos de présentation (Services)

  5. Services Layer

  6. An Adjustment to the Service Layer

COMMENTS

  1. Presentation layer

    The presentation layer ensures the information that the application layer of one system sends out is readable by the application layer of another system. On the sending system it is responsible for conversion to standard, transmittable formats. [7] On the receiving system it is responsible for the translation, formatting, and delivery of ...

  2. Presentation Layer in OSI model

    Prerequisite : OSI Model Introduction : Presentation Layer is the 6th layer in the Open System Interconnection (OSI) model. This layer is also known as Translation layer, as this layer serves as a data translator for the network. The data which this layer receives from the Application Layer is extracted and manipulated here as per the required format to transmit over the network.

  3. Presentation Layer

    The presentation layer is the lowest layer at which application programmers consider data structure and presentation, instead of simply sending data in the form of datagrams or packets between hosts. This layer deals with issues of string representation - whether they use the Pascal method (an integer length field followed by the specified ...

  4. What is presentation layer?

    The presentation layer is located at Layer 6 of the OSI model. The tool that manages Hypertext Transfer Protocol ( HTTP) is an example of a program that loosely adheres to the presentation layer of OSI. Although it's technically considered an application-layer protocol per the TCP/IP model, HTTP includes presentation layer services within it.

  5. The OSI Model

    The Presentation Layer formats and encrypts data. OSI Layer 7. Layer 7 is the application layer. True to its name, this is the layer that is ultimately responsible for supporting services used by end-user applications. Applications include software programs that are installed on the operating system, like Internet browsers (for example, Firefox ...

  6. Presentation Layer

    Layer 6 OSI Model. An example of a program that loosely adheres to layer 6 of OSI is the tool that manages the Hypertext Transfer Protocol (HTTP) — although it's technically considered an application-layer protocol per the TCP/IP model. However, HTTP includes presentation layer services within it.

  7. Presentation Layer in OSI Model

    Sublayers of presentation layer in the OSI model: The presentation layer in the OSI model is classified into two sublayers: Common Application Service Element (CASE): This sublayer offers services to layer-7, i.e., the application layer, and requests services from layer-5, i.e., the session layer. It supports various application services, such ...

  8. A Guide to the Presentation Layer

    The presentation layer is the sixth layer in the OSI model. Known as a translator, the presentation layer converts data into an accurate, ... (Apple Filing Protocol): AFP, a communication protocol designed for Mac-based platforms, specifically offers services to MacOS. The protocol allows computer users to share files easily over a network.

  9. What is the presentation layer?

    The presentation layer interacts closely with the application layer, which is located directly above it. The presentation layer's main task is to present data in such a way that it can be understood and interpreted from both the system sending the data and the system receiving it. After this has been accomplished, the application layer then determines how the data should be structured and ...

  10. Presentation Layer Of OSI Layer For Beginners

    The presentation layer is an important layer in the OSI model because it is responsible for some of the important services like data conversion, data compression, encryption, and decryption.

  11. Presentation layer and Session layer of the OSI model

    The presentation layer is the sixth layer of the OSI Reference model. It defines how data and information is transmitted and presented to the user. It translates data and format code in such a way that it is correctly used by the application layer. It identifies the syntaxes that different applications use and formats data using those syntaxes.

  12. Presentation Layer of the OSI Model

    The presentation layer is a very important layer because it handles encryption, decryption, and the conversion of complex data into flat-byte strings, a format that is easily transmittable. The ...

  13. Presentation Layer: Protocols, Examples, Services

    What is Presentation Layer? Definition: Presentation layer is 6th layer in the OSI model, and its main objective is to present all messages to upper layer as a standardized format.It is also known as the "Translation layer". This layer takes care of syntax and semantics of messages exchanged in between two communication systems. Presentation layer has responsible that receiver can ...

  14. OSI: Layer 6

    The presentation layer at the target system may re-translate the format into another appropriate format for its application layer. Presentation Services. The presentation layer provides the following services and functions. These functions ensure that information sent from the application layer of one system will be readable by the application ...

  15. Lec 10: Transport layer, Session Layer, and Presentation Layer

    Presentation Layer: According to the Open System Interconnection (OSI) paradigm, the Presentation Layer is the sixth layer. ... ISO presentation services are provided via the Lightweight ...

  16. What is the Presentation Layer, Anyway?

    In technical speech, the presentation layer is the sixth of seven layers of OSI code that translates data stored in another layer into something a human can interpret. It's the presentation layer that knows to put the right information into the appropriate fields of a customer record, for example: Name, Date of Birth, Address, etc.

  17. Design of Service Layer and Application Logic

    User Interface (or Presentation Layer) Responsible for showing information to the user and interpreting the user's commands. The external actor might sometimes be another computer system rather than a human user. ... The idea of splitting a services layer from a domain layer is based on a separation of workflow logic from pure domain logic ...

  18. The OSI Model and You Part 6: Stopping Threats at the OSI Presentation

    The simplest way to describe the OSI presentation layer is as follows: it is where machine-readable code gets processed into something the end user can use later in the application layer.

  19. Presentation Services Layer

    The presentation services layer is defined in the architecture for all LU types except LU 0. LUA contains a unique subset of the presentation services layer within Personal Communications. For more information about the presentation services layer, refer to Systems Network Architecture Concepts and Products.

  20. Moscow city

    Top 5 Things You Must See In Moscow - See all of Moscow's main sights in one tour. Admire the beauty of the city. Get an insider's view of Moscow life - have lunch at one of the most popular city's restaurants or just have free time for lunch at a place of your choice, ride the Moscow subway and see a few of its most beautiful stations, go shopping for famous Moscow chocolate and vodka at the ...

  21. Apple Set to Unveil AI Strategy at June 10 Developers Conference

    Apple Inc. plans to kick off its annual Worldwide Developers Conference on June 10, when the company is expected to unveil its long-anticipated artificial intelligence strategy. The iPhone maker ...

  22. What is Good Friday? What the holy day means for Christians wordwide

    Alvarez says this is why Christians call Jesus the "lamb of God." He adds that the symbolism of the "blood of the lamb" ties the two stories together and is why Christians believe God sacrificed ...

  23. Downtown Streetscape Design Study

    Public Meeting #2. Tuesday, October 18, 5:30 to 7:00 p.m. Council Chambers of Moscow City Hall. 206 E. 3 rd Street, Moscow, ID. Presentations about the Moscow Downtown Streetscape Study were also be made to the Moscow City Council during their regularly scheduled meetings on the following date: Monday, December 5, 2022.

  24. Travel Guide: Moscow Google Slides & PowerPoint template

    Free Google Slides theme and PowerPoint template. Do you know some acquaintances that want to travel to Russia, the biggest country in this planet? Now you can be their own tour guide with this template. Include as much information as possible about tourist attractions, monuments and things to do in Moscow. Let the simplicity of these slides ...

  25. PowerPoint City Map Moscow (Russia)

    Moscow - City Map PowerPoint Template. (M4010) City map of Moscow with administrative districts and numerous design examples. Add to cart. $19.00*. Add to wish list. Quantity of slides. : 20.

  26. Valparaiso City Services proposes 7% graduated increase for water, sewer

    Valparaiso City Services outlined a detailed plan of more than $17.5 million in water improvements to be funded by bonds and a gradual 7% water and sewer rate increase over five years, all ...