ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಯನ್ನು ಆರಿಸುವುದು (ಭಾಗ 2)

ಹಲೋ, ಹಬ್ರ್. ಇಂದು ನಾನು ಕೋರ್ಸ್‌ನ ಹೊಸ ಸ್ಟ್ರೀಮ್‌ನ ಪ್ರಾರಂಭಕ್ಕಾಗಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಬರೆದ ಪ್ರಕಟಣೆಗಳ ಸರಣಿಯನ್ನು ಮುಂದುವರಿಸುತ್ತೇನೆ. "ಸಾಫ್ಟ್‌ವೇರ್ ಆರ್ಕಿಟೆಕ್ಟ್".

ಪರಿಚಯ

ಮಾಹಿತಿ ವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸುವಾಗ ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಯ ಆಯ್ಕೆಯು ಮೂಲಭೂತ ತಾಂತ್ರಿಕ ನಿರ್ಧಾರಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಈ ಲೇಖನಗಳ ಸರಣಿಯಲ್ಲಿ, ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಹೆಚ್ಚು ಜನಪ್ರಿಯವಾದ ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ನಾನು ಪ್ರಸ್ತಾಪಿಸುತ್ತೇನೆ ಮತ್ತು ಯಾವ ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಯು ಯಾವಾಗ ಹೆಚ್ಚು ಯೋಗ್ಯವಾಗಿದೆ ಎಂಬ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತಿಯ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ಏಕಶಿಲೆಯಿಂದ ಮೈಕ್ರೊ ಸರ್ವೀಸ್‌ಗೆ ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ವಿವರಿಸುವ ತಾರ್ಕಿಕ ಸರಪಳಿಯನ್ನು ಸೆಳೆಯಲು ನಾನು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ.

В ಕಳೆದ ಬಾರಿ ನಾವು ಏಕಶಿಲೆಯೊಂದಿಗೆ ವ್ಯವಹರಿಸಿದೆವು ಮತ್ತು ಏಕಶಿಲೆಯು ಹಲವಾರು ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ ಎಂಬ ತೀರ್ಮಾನಕ್ಕೆ ಬಂದಿದ್ದೇವೆ: ಗಾತ್ರ, ಸಂಪರ್ಕ, ನಿಯೋಜನೆ, ಸ್ಕೇಲೆಬಿಲಿಟಿ, ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ಬಿಗಿತ.

ಈ ಬಾರಿ ನಾನು ಮಾಡ್ಯೂಲ್‌ಗಳು/ಲೈಬ್ರರಿಗಳು (ಘಟಕ-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್) ಅಥವಾ ಸೇವೆಗಳು (ಸೇವಾ-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್) ಒಂದು ವ್ಯವಸ್ಥೆಯನ್ನು ಸಂಘಟಿಸುವ ಸಾಧ್ಯತೆಗಳ ಬಗ್ಗೆ ಮಾತನಾಡಲು ಪ್ರಸ್ತಾಪಿಸುತ್ತೇನೆ.

ಕಾಂಪೊನೆಂಟ್-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪ

ಕಾಂಪೊನೆಂಟ್-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ಪ್ರಸ್ತುತ ಮತ್ತು ಭವಿಷ್ಯದ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಬಹುದಾದ ಘಟಕಗಳ ಒಂದು ಗುಂಪಾಗಿ ಸಿಸ್ಟಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಸಿಸ್ಟಮ್ ಅನ್ನು ಘಟಕಗಳಾಗಿ ವಿಭಜಿಸುವಾಗ, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ: ಅವುಗಳ ಮರುಬಳಕೆ, ಅವುಗಳ ಬದಲಿತ್ವ, ಸಂದರ್ಭ ಸ್ವಾತಂತ್ರ್ಯ, ವಿಸ್ತರಣೆ, ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಮತ್ತು ಸ್ವಾತಂತ್ರ್ಯ.

ಘಟಕಗಳ ಸರಿಯಾದ ಬಳಕೆಯೊಂದಿಗೆ, "ದೊಡ್ಡ ಬಾಲ್ ಡರ್ಟ್" (ದೊಡ್ಡ ಗಾತ್ರದ + ಹೆಚ್ಚಿನ ಜೋಡಣೆ) ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಘಟಕಗಳು ಸ್ವತಃ ಅಸೆಂಬ್ಲಿ ಘಟಕಗಳು (ಮಾಡ್ಯೂಲ್ಗಳು, ಗ್ರಂಥಾಲಯಗಳು) ಮತ್ತು ನಿಯೋಜನೆ ಘಟಕಗಳು (ಸೇವೆಗಳು) ಆಗಿರಬಹುದು. ನಿಯೋಜನೆ ಘಟಕಗಳನ್ನು ಯಾವಾಗಲೂ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗೆ ಮ್ಯಾಪ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ: ಉದಾಹರಣೆಗೆ, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಒಟ್ಟಿಗೆ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ.

ಹೆಚ್ಚಾಗಿ, ಏಕಶಿಲೆಗಳನ್ನು ಮಾಡ್ಯೂಲ್ಗಳ ಗುಂಪಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ. ಈ ವಿಧಾನವು ಸ್ವತಂತ್ರ ಅಭಿವೃದ್ಧಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಆದರೆ ಸ್ವತಂತ್ರ ಸ್ಕೇಲಿಂಗ್ ಮತ್ತು ನಿಯೋಜನೆ, ದೋಷ ಸಹಿಷ್ಣುತೆ ಮತ್ತು ಒಟ್ಟಾರೆ ತಂತ್ರಜ್ಞಾನದ ಸ್ಟಾಕ್‌ನಿಂದ ಸ್ವಾತಂತ್ರ್ಯದ ಸಮಸ್ಯೆಗಳು ಉಳಿದಿವೆ. ಅದಕ್ಕಾಗಿಯೇ ಮಾಡ್ಯೂಲ್ ಭಾಗಶಃ ಸ್ವತಂತ್ರ ಘಟಕವಾಗಿದೆ.

ಅಂತಹ ಏಕಶಿಲೆಯೊಂದಿಗಿನ ದೊಡ್ಡ ಸಮಸ್ಯೆಯೆಂದರೆ ಮಾಡ್ಯೂಲ್ಗಳಾಗಿ ವಿಭಜನೆಯು ಸಂಪೂರ್ಣವಾಗಿ ತಾರ್ಕಿಕವಾಗಿದೆ ಮತ್ತು ಡೆವಲಪರ್ಗಳಿಂದ ಸುಲಭವಾಗಿ ಉಲ್ಲಂಘಿಸಬಹುದು. ಒಂದು ಕೋರ್ ಮಾಡ್ಯೂಲ್ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು, ಅದು ಕ್ರಮೇಣ ಕಸದ ಡಂಪ್ ಆಗಿ ಬದಲಾಗುತ್ತದೆ, ಮಾಡ್ಯೂಲ್ಗಳ ನಡುವಿನ ಅವಲಂಬನೆಗಳ ಗ್ರಾಫ್ ಬೆಳೆಯಬಹುದು, ಮತ್ತು ಹೀಗೆ. ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸಲು, ಅಭಿವೃದ್ಧಿಯನ್ನು ಅತ್ಯಂತ ಪ್ರಬುದ್ಧ ತಂಡದಿಂದ ಅಥವಾ ಪೂರ್ಣ ಸಮಯದ ಕೋಡ್ ಪರಿಶೀಲನೆಯಲ್ಲಿ ತೊಡಗಿರುವ ಮತ್ತು ತಾರ್ಕಿಕ ರಚನೆಯನ್ನು ಉಲ್ಲಂಘಿಸುವ ಡೆವಲಪರ್‌ಗಳ ಕೈಗಳನ್ನು ಹೊಡೆಯುವ "ವಾಸ್ತುಶಿಲ್ಪಿ" ಮಾರ್ಗದರ್ಶನದಲ್ಲಿ ಕೈಗೊಳ್ಳಬೇಕು.

"ಆದರ್ಶ" ಏಕಶಿಲೆಯು ತಾರ್ಕಿಕವಾಗಿ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಮಾಡ್ಯೂಲ್ಗಳ ಒಂದು ಗುಂಪಾಗಿದೆ, ಪ್ರತಿಯೊಂದೂ ತನ್ನದೇ ಆದ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನೋಡುತ್ತದೆ.

ಸೇವಾ-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪ

ವ್ಯವಸ್ಥೆಯನ್ನು ಸೇವೆಗಳ ಗುಂಪಿನ ರೂಪದಲ್ಲಿ ಆಯೋಜಿಸಬೇಕಾದರೆ, ನಾವು ಸೇವಾ-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪದ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿದ್ದೇವೆ. ಇದರ ತತ್ವಗಳು ಬಳಕೆದಾರ-ಕೇಂದ್ರಿತ ಅಪ್ಲಿಕೇಶನ್ ಇಂಟರ್‌ಆಪರೇಬಿಲಿಟಿ, ವ್ಯಾಪಾರ ಸೇವೆಯ ಮರುಬಳಕೆ, ತಂತ್ರಜ್ಞಾನ ಸ್ಟಾಕ್ ಸ್ವಾತಂತ್ರ್ಯ ಮತ್ತು ಸ್ವಾಯತ್ತತೆ (ಸ್ವತಂತ್ರ ವಿಕಾಸ, ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ನಿಯೋಜನೆ).

ಸೇವೆ-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ (SOA = ಸೇವಾ ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್) ಏಕಶಿಲೆಯ ಎಲ್ಲಾ ಗುರುತಿಸಲಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ: ಬದಲಾವಣೆಯು ಸಂಭವಿಸಿದಾಗ ಕೇವಲ ಒಂದು ಸೇವೆಯು ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಮತ್ತು ಉತ್ತಮವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ API ಘಟಕಗಳ ಉತ್ತಮ ಎನ್ಕ್ಯಾಪ್ಸುಲೇಶನ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.

ಆದರೆ ಎಲ್ಲವೂ ತುಂಬಾ ಮೃದುವಾಗಿಲ್ಲ: SOA ಹೊಸ ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ರಿಮೋಟ್ ಕರೆಗಳು ಸ್ಥಳೀಯ ಪದಗಳಿಗಿಂತ ಹೆಚ್ಚು ದುಬಾರಿಯಾಗಿದೆ ಮತ್ತು ಘಟಕಗಳ ನಡುವಿನ ಜವಾಬ್ದಾರಿಗಳನ್ನು ಮರುಹಂಚಿಕೆ ಮಾಡುವುದು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ದುಬಾರಿಯಾಗಿದೆ.

ಮೂಲಕ, ಸ್ವತಂತ್ರ ನಿಯೋಜನೆಯ ಸಾಧ್ಯತೆಯು ಸೇವೆಯ ಅತ್ಯಂತ ಪ್ರಮುಖ ಲಕ್ಷಣವಾಗಿದೆ. ಸೇವೆಗಳನ್ನು ಒಟ್ಟಿಗೆ ನಿಯೋಜಿಸಬೇಕಾದರೆ ಅಥವಾ, ಮೇಲಾಗಿ, ಒಂದು ನಿರ್ದಿಷ್ಟ ಅನುಕ್ರಮದಲ್ಲಿ, ನಂತರ ವ್ಯವಸ್ಥೆಯನ್ನು ಸೇವಾ-ಆಧಾರಿತವೆಂದು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಅವರು ವಿತರಿಸಿದ ಏಕಶಿಲೆಯ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಾರೆ (ಎಸ್‌ಒಎ ದೃಷ್ಟಿಕೋನದಿಂದ ಮಾತ್ರವಲ್ಲದೆ ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್‌ನ ದೃಷ್ಟಿಯಿಂದಲೂ ವಿರೋಧಿ ಮಾದರಿಯನ್ನು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ).

ಸೇವಾ-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪವು ವಾಸ್ತುಶಿಲ್ಪ ಸಮುದಾಯ ಮತ್ತು ಮಾರಾಟಗಾರರಿಂದ ಉತ್ತಮವಾಗಿ ಬೆಂಬಲಿತವಾಗಿದೆ. ಇದು ಅನೇಕ ಕೋರ್ಸ್‌ಗಳು ಮತ್ತು ಪ್ರಮಾಣೀಕರಣಗಳು, ಉತ್ತಮವಾಗಿ ಅಭಿವೃದ್ಧಿ ಹೊಂದಿದ ಮಾದರಿಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಎರಡನೆಯದು, ಉದಾಹರಣೆಗೆ, ಪ್ರಸಿದ್ಧ ಎಂಟರ್‌ಪ್ರೈಸ್ ಸರ್ವಿಸ್ ಬಸ್ (ಇಎಸ್‌ಬಿ = ಎಂಟರ್‌ಪ್ರೈಸ್ ಸರ್ವಿಸ್ ಬಸ್) ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ESB ಮಾರಾಟಗಾರರಿಂದ ಸಾಮಾನು ಸರಂಜಾಮು ಆಗಿದೆ; ಇದನ್ನು SOA ನಲ್ಲಿ ಬಳಸಬೇಕಾಗಿಲ್ಲ.

ಸೇವಾ-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪದ ಜನಪ್ರಿಯತೆಯು 2008 ರ ಸುಮಾರಿಗೆ ಉತ್ತುಂಗಕ್ಕೇರಿತು, ನಂತರ ಅದು ಕ್ಷೀಣಿಸಲು ಪ್ರಾರಂಭಿಸಿತು, ಇದು ಮೈಕ್ರೊ ಸರ್ವೀಸಸ್ (~ 2015) ಆಗಮನದ ನಂತರ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ನಾಟಕೀಯವಾಯಿತು.

ತೀರ್ಮಾನಕ್ಕೆ

ಸೇವೆಗಳು ಮತ್ತು ಮಾಡ್ಯೂಲ್‌ಗಳ ರೂಪದಲ್ಲಿ ಮಾಹಿತಿ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಸಂಘಟಿಸುವ ಸಾಧ್ಯತೆಗಳನ್ನು ನಾವು ಚರ್ಚಿಸಿದ ನಂತರ, ಅಂತಿಮವಾಗಿ ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್‌ನ ತತ್ವಗಳಿಗೆ ತೆರಳಲು ಮತ್ತು ಮುಂದಿನ ಭಾಗದಲ್ಲಿ ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮತ್ತು ಸೇವಾ-ಆಧಾರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸಕ್ಕೆ ವಿಶೇಷ ಗಮನ ಹರಿಸಲು ನಾನು ಪ್ರಸ್ತಾಪಿಸುತ್ತೇನೆ.

ವಾಸ್ತುಶಿಲ್ಪದ ಶೈಲಿಯನ್ನು ಆರಿಸುವುದು (ಭಾಗ 2)

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ