ಪದರ ವಿನ್ಯಾಸ - ಲೇಯರ್ಡ್ ಆರ್ಕಿಟೆಕ್ಚರ್

ಪದರ ವಿನ್ಯಾಸ   - ಲೇಯರ್ಡ್ ಆರ್ಕಿಟೆಕ್ಚರ್ (layered architecture)

ವಿನ್ಯಾಸ ಶಾಸ್ತ್ರದಲ್ಲಿ  ಪದರ ವಿನ್ಯಾಸಕ್ಕೆ ತನ್ನದೇ ಆದ ವಿಶಿಷ್ಟ ಸ್ಥಾನವಿದೆ.  ಅದರಲ್ಲೂ ಸಂಕೀರ್ಣ ತಂತ್ರಾಂಶಗಳನ್ನು ವಿನ್ಯಾಸ ಮಾಡುವಾಗ ಪದರ ವಿನ್ಯಾಸವನ್ನು ಬಳಸುವುದು ಸಾಧಾರಣ.  ತಂತ್ರಾಂಶದ ಪ್ರತಿಯೊಂದು ಪದರಕ್ಕೂ ತನ್ನದೇ ವಿಶಿಷ್ಟ ಹೊಣೆಗಾರಿಕೆ ಇರುತ್ತದೆ. ಕಂಪ್ಯೂಟರ್ ನೆಟ್ವರ್ಕ್ ಅಥವಾ ಗಣಕಜಾಲಗಳನ್ನು ವಿನ್ಯಾಸ ಮಾಡುವಾಗಲೂ ಪದರ ವಿನ್ಯಾಸವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. 

ಪದರ ವಿನ್ಯಾಸದ ವಿಶೇಷತೆ 

 ಮಾಡ್ಯುಲಾರಿಟಿ (modularity) - ಒಂದು ಪುಸ್ತಕವನ್ನು ಬರೆಯುವಾಗ ಅದನ್ನು ಅನೇಕ ಅಧ್ಯಾಯಗಳಲ್ಲಿ ವಿಂಗಡಿಸುವುದು ರೂಢಿ.  ಪ್ರತಿಯೊಂದೂ ಅಧ್ಯಾಯವನ್ನು ಬೇರೆ ಬೇರೆ ಲೇಖಕರು ಬರೆದಿದ್ದಾರೆಂದು ಯೋಚಿಸೋಣ. ಆಗ ಒಂದು ಅಧ್ಯಾಯದ ರಚನೆಯನ್ನು ಅದರ  ಲೇಖಕ ಯಾರನ್ನೂ ಅವಲಂಬಿಸದೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಮಾಡಬಹುದು.  ಅಧ್ಯಾಯಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಓದಿ ವಿಮರ್ಶೆ ಮಾಡಬಹುದು.   ಪ್ರತಿಯೊಂದು ಅಧ್ಯಾಯವೂ ಒಂದು ಮಾಡ್ಯೂಲ್ ಅಥವಾ ಘಟಕ ಎಂದುಕೊಳ್ಳೋಣ. ಘಟಕಗಳು ಪರಸ್ಪರ ಅವಲಂಬಿಸದ ಕಾರಣ ಅವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ  ಸಿದ್ಧಪಡಿಸಬಹುದು; ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರೀಕ್ಷಿಸಬಹುದು. ಒಂದು ಅಧ್ಯಾಯವನ್ನು ಬೇರೊಂದು ಪುಸ್ತಕದಲ್ಲಿ ಬಳಸಬೇಕೆಂದರೆ ಅದೂ ಸಾಧ್ಯ. ಪದರ ವಿನ್ಯಾಸದಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಪದರವೂ ಒಂದು ಘಟಕವಾದ ಕಾರಣ ಮಾಡ್ಯುಲಾರಿಟಿಯ ಅನುಕೂಲತೆಗಳು ಅಲ್ಲಿ ಲಭ್ಯ. 
 ಕಾಳಜಿಗಳ ಪ್ರತ್ಯೇಕತೆ (separation of concerns) - ಪ್ರತ್ಯೇಕ ಕೆಲಸಗಳಿಗೆ ಪ್ರತ್ಯೇಕ ಪದರ ಇರುವ ಕಾರಣ ಒಟ್ಟಾರೆ ವಿನ್ಯಾಸವು ಸುಲಭ. 
 ಅಮೂರ್ತತೆ (abstraction) - ಪದರದ ಒಳಗಿರುವ ಒಳಪದರಗಳ ವಿವರಗಳು ಮುಖ್ಯವಲ್ಲ. ಹೀಗಾಗಿ ಪದರಗಳ ವಿನ್ಯಾಸ ಸುಲಭ; ಪದರಗಳ ನಡುವೆ ದತ್ತಾಂಶಗಳ ಅದಲು ಬದಲು ಕೂಡಾ ಸುಲಭ.  

ಉದಾಹರಣೆ - ಗಣಕ ಜಾಲಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ಓಎಸ್ಐ (OSI ಅಥವಾ ಓಪನ್ ಸಿಸ್ಟಮ್ಸ್ ಇಂಟರ್ ಕನೆಕ್ಷನ್) ಮಾದರಿ 

ಓಪನ್ ಸಿಸ್ಟಮ್ಸ್ ಇಂಟರ್ ಕನೆಕ್ಷನ್

ಗಣಕಜಾಲಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ  OSI ಅಥವಾ "ತೆರೆದ ಸಿಸ್ಟಮ್ ಸಂಪರ್ಕ" (Open Systems Interconnect) ಎಂಬುದು ಏಳು ಪದರಗಳ ವಿನ್ಯಾಸ. ಒಂದು ಗಣಕದಿಂದ ಇನ್ನೊಂದು ಗಣಕಕ್ಕೆ ಮಾಹಿತಿಯು ಪ್ರಸಾರವಾದಾಗ ಅದು ಅನೇಕ ಬಗೆಯ ಪರಿಷ್ಕಾರಗಳನ್ನು ಹಾದು ಬರಬೇಕಾಗುತ್ತದೆ. ಈ ಕೆಲಸಗಳಿಗಾಗಿ ಹಲವು ಪದರಗಳು ಮೀಸಲಾಗಿವೆ -  

 ಫಿಸಿಕಲ್ ಲೇಯರ್ - ಭೌತಿಕ ಪದರ - ಗಣಕಗಳ ನಡುವೆ ಮಾಹಿತಿ ಪ್ರಸಾರಕ್ಕಾಗಿ ಬೇಕಾಗುವ ತಂತಿ ಮತ್ತು/ಅಥವಾ ಬೇರಾವುದೇ ಭೌತಿಕ ಪರಿಕರಗಳು 
 ಡೇಟಾ ಲಿಂಕ್ ಲೇಯರ್ - ದತ್ತಾಂಶದ ಕೊಂಡಿಯ ಪದರ - ದತ್ತಾಂಶವನ್ನು ಪ್ಯಾಕೆಟ್ಸ್ ಅಥವಾ ಪೊಟ್ಟಣಗಳಲ್ಲಿ ವಿಂಗಡಿಸುವುದು ಈಗ ಪ್ರಚಲಿತ ವಿಧಾನ. ಮಾಹಿತಿಯು ದೀರ್ಘವಾಗಿದ್ದು ಅದನ್ನು ನೇರವಾಗಿ ಪ್ರಸಾರ ಮಾಡಿದರೆ ಒಂದು ತೊಂದರೆ; ಏನಾದರೂ ದೋಷ ನುಸುಳಿದರೆ ಇಡೀ ಮಾಹಿತಿಯನ್ನು ಪುನಃ ಪ್ರಸಾರ ಮಾಡಬೇಕು. ಚಿಕ್ಕ ಪೊಟ್ಟಣಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಪ್ರಸಾರ ಮಾಡಿದರೆ ದೋಷ ಉಂಟಾದ ಪೊಟ್ಟಣವನ್ನು ಮಾತ್ರ ಮರುಪ್ರಸಾರ ಮಾಡಬಹುದು.    ದತ್ತಾಂಶ ಪೊಟ್ಟಣವು ಪ್ರಸಾರವಾದಾಗ ಅದರಲ್ಲಿ ಉಂಟಾಗಬಲ್ಲ ತಪ್ಪುಗಳನ್ನು ಹುಡುಕಿ ಸಾಧ್ಯವಾದಾಗ ಅದನ್ನು ತಿದ್ದಿ ಅಥವಾ ದತ್ತಾಂಶವನ್ನು ಮತ್ತೊಮ್ಮೆ ಪ್ರಸಾರ ಮಾಡುವಂತೆ ಕೇಳಿಕೊಳ್ಳುವ ಜವಾಬ್ದಾರಿ ಈ ಪದರದ್ದು. ತಪ್ಪುಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಾಧ್ಯವಾಗುವಂತೆ ದತ್ತಾಂಶವನ್ನು ಸೂಕ್ತ ರೀತಿಯಲ್ಲಿ ಕೋಡಿಂಗ್ ಮಾಡುವುದು ಕೂಡಾ ಇದರ ಜವಾಬ್ದಾರಿ.  ಸಾಕಷ್ಟು ಸಂಕೀರ್ಣವಾದ ಈ ಪದರದಲ್ಲಿ ಅನೇಕ ಒಳಪದರಗಳು ಇರುತ್ತವೆ. 
 ನೆಟ್ವರ್ಕ್ ಲೇಯರ್ ಅಥವಾ ಜಾಲ ಪದರ - ದತ್ತಾಂಶವನ್ನು ಒಂದು ಗಣಕದಿಂದ ಇನ್ನೊಂದು ಗಣಕಕ್ಕೆ ಹೇಗೆ ಸಾಗಿಸಬೇಕೆಂದು ಪಥ ನಿರ್ದೇಶನ ಮಾಡುವ ಕೆಲಸ ಈ ಪದರದ್ದಾಗಿದೆ; ದತ್ತಾಂಶದ ಪೊಟ್ಟಣಗಳನ್ನು ಒಂದು ಗಣಕದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಕಳಿಸುತ್ತಾ (forwarding) ಅದು ತನ್ನ ಗುರಿಯನ್ನು ತಲುಪುವಂತೆ ಈ ಪದರ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. 
 ಟ್ರಾನ್ಸ್ ಪೋರ್ಟ್ ಲೇಯರ್ ಅಥವಾ ಸಾರಿಗೆ ಪದರ - ಈ ಪದರದ ಉದ್ದೇಶವು ದತ್ತಾಂಶ ಪೊಟ್ಟಣಗಳನ್ನು  ವಿಶ್ವಾಸಾರ್ಹ ರೀತಿಯಲ್ಲಿ ತಲುಪಿಸುವುದು 
 ಸೆಷನ್ಸ್ ಲೇಯರ್ - ಎರಡು ವಿಭಿನ್ನ ಆಪ್ ತಂತ್ರಾಂಶಗಳು ಎರಡು ವಿಭಿನ್ನ ಗಣಕಗಳ ಮೇಲೆ ಸ್ಥಾಪಿತವಾಗಿದ್ದು ಅವು ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಲು ಒಂದು "ಸೆಷನ್" (ಕಾರ್ಯಕ್ರಮ) ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ. ಸಂವಹನ ಸಂಪೂರ್ಣವಾದ ಮೇಲೆ ಸೆಷನ್ನನ್ನು ಮುಕ್ತಾಯಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ. ಈ ಎಲ್ಲ ಕಾರ್ಯಗಳನ್ನು  ಸೆಷನ್ಸ್ ಪದರ ನಿರ್ವಹಿಸುತ್ತದೆ. 
 ಪ್ರೆಸೆಂಟೇಷನ್ ಲೇಯರ್ ಅಥವಾ ಪ್ರಸ್ತುತಿ ಪದರ - ಇದನ್ನು ಕೆಲವರು ಭಾಷಾಂತರ ಪದರ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ. ಗಣಕಗಳ ಜಾಲದಲ್ಲಿ ನಾನಾ ಬಗೆಯ ಗಣಕಗಳು ಇರಬಹುದು. ಕೆಲವು ಲಿನಕ್ಸ್, ಕೆಲವು ವಿಂಡೋಸ್, ಕೆಲವು ಮ್ಯಾಕ್ ಓಎಸ್ ತಂತ್ರಾಂಶಗಳನ್ನು ಬಳಸುತ್ತವೆ. ಕೆಲವು ಇಂಟೆಲ್ ವಿನ್ಯಾಸವುಳ್ಳ ಪ್ರಾಸೆಸರ್ ಹೊಂದಿದ್ದರೆ ಕೆಲವು ಆರ್ಮ್ ವಿನ್ಯಾಸ ಹೊಂದಿದ ಪ್ರಾಸೆಸರ್ ಬಳಸುತ್ತವೆ. ಹೀಗೆ ಬೇರೆ ಬೇರೆ ಬಗೆಯ ಗಣಕಗಳಿಂದ ಸಂವಹನ ಬಂದ ಸಂವಹನಗಳನ್ನು ಅನುವಾದಿಸಿಕೊಡುವ ಕೆಲಸವನ್ನು ಪ್ರೆಸೆಂಟೇಷನ್ ಲೇಯರ್ ಮಾಡುತ್ತದೆ. 
 ಅಪ್ಲಿಕೇಷನ್ ಲೇಯರ್ -   ಇಬ್ಬರು ಬಳಕೆದಾರರು ವಿಭಿನ್ನ ಅಪ್ಲಿಕೇಷನ್ ಬಳಸುತ್ತಿರಬಹುದು - ಒಬ್ಬರು ಲಿನಕ್ಸ್ ಯಂತ್ರದ ಮೇಲೆ ಇಮೇಲ್ ಬಳಸುತ್ತಿರಬಹುದು; ಇನ್ನೊಬ್ಬರು ವಿಂಡೋಸ್ ಯಂತ್ರದ ಮೇಲೆ ಇಮೇಲ್ ಬಳಸುತ್ತಿರಬಹುದು. ಅಥವಾ ಇಬ್ಬರೂ ವಿಭಿನ್ನ ಚಾಟ್ ಪ್ರೋಗ್ರಾಮ್ ಬಳಸುತ್ತಿರಬಹುದು. ಇಬ್ಬರ ನಡುವಣ ನೇರ ಸಂಭಾಷಣೆ ಸೂಕ್ತವಾಗಿ ನಡೆಯುವಂತೆ ಅಪ್ಲಿಕೇಷನ್ ಲೇಯರ್ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. 

ಏಳು ಪದರಗಳ ಈ ಮಾದರಿಯಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಪದರವೂ ತನ್ನ ಕೆಳಗಿನ/ಮೇಲಿನ ಪದರದೊಂದಿಗೆ ಮಾತ್ರ ಸಂವಹನ ನಡೆಸುತ್ತದೆ; ಹೀಗಾಗಿ ದತ್ತಾಂಶದ ಸಾಗಾಣಿಕೆಯು ಸರಳವಾಗುತ್ತದೆ. ಏನಾದರೂ ದೋಷ ಉಂಟಾದಾಗ ಅದು ಎಲ್ಲಿದೆ ಎಂದು ಹುಡುಕುವುದು ಸುಲಭವಾಗುತ್ತದೆ. 

ತಂತ್ರಾಂಶಗಳ ವಿನ್ಯಾಸ

ಇಂದು ತಂತ್ರಾಂಶಗಳ ವಿನ್ಯಾಸದಲ್ಲೂ ಪದರಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. 

 ಪ್ರೆಸೆಂಟೇಷನ್ ಲೇಯರ್ - ಬಳಕೆದಾರರೊಂದಿಗೆ ಸಂವಹನವನ್ನು ಈ ಪದರ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. 
 ಅಪ್ಲಿಕೇಷನ್ / ಸರ್ವಿಸ್ ಲೇಯರ್ - ತಂತ್ರಾಂಶವು ನೀಡುವ ವಿವಿಧ ಸೇವೆಗಳನ್ನು ಈ ಲೇಯರ್ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. 
 ಡೇಟಾ ಲೇಯರ್ - ದತ್ತಕೋಶದೊಂದಿಗೆ ನಡೆಯುವ ವಹಿವಾಟುಗಳನ್ನು ಈ ಪದರ ನೋಡಿಕೊಳ್ಳುತ್ತದೆ. 

ಇದನ್ನು ಹೋಟೆಲ್ ಒಂದರ ಸಾಮ್ಯದಿಂದ ಅರ್ಥ ಮಾಡಿಕೊಳಬಹುದು. ಹೋಟೆಲಿಗೆ ಹೋದ ಗ್ರಾಹಕನನ್ನ ಸ್ವಾಗತಿಸಿ ಅವರನ್ನು ಕುಳ್ಳಿರಿಸುವ ಕೆಲಸ ಒಬ್ಬ ಕಾರ್ಮಿಕ ಮಾಡುತ್ತಾನೆ(ಳೆ); ಊಟ ಮುಗಿಸಿ ಗ್ರಾಹಕರು ಹೊರಡುವಾಗ  ಮುಗುಳ್ನಕ್ಕು ಅವರಿಗೆ "ಎಲ್ಲವೂ ಚೆನ್ನಾಗಿತ್ತೇ? ಮತ್ತೆ ಬನ್ನಿ. ನಮಗೆ ನಿಮ್ಮ ಟಿಪ್ಪಣಿಗಳು ಬೇಕು" ಎಂದು ಮಾತಾಡಿಸುವುದು ಕೂಡಾ ಅವರ ಕೆಲಸ. ಇದು ಪ್ರೆಸೆಂಟೇಷನ್ ಲೇಯರ್.  ಗ್ರಾಹಕರಿಗೆ ಮೆನು ಕಾರ್ಡ್ ನೀಡಿ ಅವರ ಆರ್ಡರ್ ತೆಗೆದುಕೊಂಡು ಅವರಿಗೆ ಊಟ ಸರಬರಾಜು ಮಾಡುವುದು ಸರ್ವರ್ ಒಬ್ಬರ ಕೆಲಸ. ಅವರು ಹೋಟೆಲಿನ  "ಸರ್ವಿಸ್" ಲೇಯರ್.   ಹೋಟೆಲಿಗೆ ಬಂದವರ ವಿವರಗಳನ್ನು ಬರೆದುಕೊಳ್ಳುವುದು, ಅಡುಗೆಮನೆಯಲ್ಲಿರುವ ಪದಾರ್ಥಗಳ ಲೆಕ್ಕವಿಡುವುದು, ಅಂದಿನ ವ್ಯಾಪಾರದ ವಿವರಗಳನ್ನು ಬರೆದಿಡುವುದು ಇವೆಲ್ಲ ಮಾಡಲು ಒಬ್ಬ ಕಾರ್ಮಿಕರು ಇರುತ್ತಾರೆ. ಇವರು ಹೋಟೆಲಿನ ಡೇಟಾ ಲೇಯರ್. 

ಪದರ ಮಾದರಿಯ ಇನ್ನಿತರ ಉದಾಹರಣೆಗಳು 

 ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ - ಹಾರ್ಡ್ ವೇರ್, ಕರ್ನಲ್, ಲೈಬ್ರರಿಗಳು, ಅಪ್ಲಿಕೇಷನ್ ತಂತ್ರಾಂಶಗಳು ಇವೆಲ್ಲವೂ ವಿವಿಧ ಪದರಗಳು 
 ಅಡಕ ಗಣಕಗಳು - ಕೆಳಸ್ತರದ ಕರ್ತ್ಯವ್ಯಗಳು ಮತ್ತು ಮೇಲುಸ್ತರದ ಕರ್ತವ್ಯಗಳು ಎಂದು ಸ್ಥೂಲವಾಗಿ ಎರಡು ಪದರಗಳನ್ನು ಗುರುತಿಸಬಹುದು; ಕೆಳಸ್ತರದಲ್ಲಿ ಹಾರ್ಡ್ ವೇರ್ ಜೊತೆಗೆ ಸಂಪರ್ಕ ಮತ್ತು ಮೇಲುಸ್ತರದಲ್ಲಿ ಅಪ್ಲಿಕೇಷನ್ ಜೊತೆಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸುವ ಕೆಲಸವನ್ನು ಈ ಪದರಗಳು ಮಾಡುತ್ತವೆ.