Showing posts with label மென்பொருள். Show all posts
Showing posts with label மென்பொருள். Show all posts

Wednesday, June 12, 2019

இந்தியா ஜி.டி.பி வளர்ச்சி புள்ளிவிபரத்தில் குளறுபடி - அம்பலப்படுத்தும் அரவிந்த் சுப்பிரமணியன்

இந்தியாவின் முன்னாள் தலைமை பொருளாதார ஆலோசகர் அரவிந்த் சுப்பிரமணியன் இந்தியாவின் மொத்த உள்நாட்டு உற்பத்தி புள்ளிவிபரங்கள் தவறு என்று நிறுவும் ஆய்வுக் கட்டுரை ஒன்றை வெளியிட்டிருக்கிறார்.

2001-02ம் ஆண்டு முதல் 2017-18 வரை இந்தியாவின் ஜி.டி.பி (மொத்த உள்நாட்டு உற்பத்தி) வளர்ச்சி வீத புள்ளிவிபரங்கள் பற்றிய ஆய்வு. இந்தப் புள்ளிவிபரங்கள் சரி பார்ப்பதற்கு ஜி.டி.பி புள்ளிவிபரங்களிலிருந்து தனியாக சுயேச்சையாக திரட்டப்படும் 17 பிற கணக்கீடுகளை எடுத்துக் கொள்கிறார்.
  • மின்சார நுகர்வு, 
  • பெட்ரோலியம், 
  • ஸ்டீல், 
  • சிமென்ட், 
  • ஒட்டு மொத்த கடன், 
  • தொழில்துறைக்கு கடன், 
  • ஏற்றுமதி, 
  • இறக்குமதி, 
  • இரு சக்கர வாகன விற்பனை, 
  • வணிக வாகனங்கள் விற்பனை, 
  • கார் விற்பனை, 
  • டிராக்டர் விற்பனை, 
  • விமான பயணிகள் போக்குவரத்து, 
  • வெளிநாட்டு சுற்றுலா பயணிகள் வருகை, 
  • ரயில்வே சரக்கு போக்குவரத்து, 
  • தொழில்துறை உற்பத்தி குறியீட்டு எண் (நுகர்வு சாதனங்கள், உற்பத்தி சாதனங்கள்), போன்றவற்றை எடுத்துக் கொள்கிறார். 
2001 முதல் 2011 வரையில் ஜி.டி.பி வளர்ச்சி தொடர்பான புள்ளிவிபரங்களும், இந்த பொருளாதார செயல்பாடுகள் பற்றிய இந்த 17 கணக்கீடுகளும் ஒத்திசைவாக உள்ளன. அதாவது, ஜி.டி.பி வளர்ச்சி அதிகமாக இருந்த ஆண்டுகளில் மின்சார நுகர்வு, கார் விற்பனை, டூவீலர் விற்பனை முதலானவையும் அதிகமாக இருந்திருக்கின்றன. ஜி.டி.பி வளர்ச்சி குறைந்த ஆண்டுகளில் இந்தக் குறியீடுகள் வீழ்ச்சியடைந்திருக்கின்றன.

ஆனால், 2011-12 முதல் 2016-17 வரையிலான கால கட்டத்தில் ஜி.டி.பி புள்ளிவிபரங்களுக்கும் பிற வளர்ச்சி தொடர்பான குறியீட்டு எண்களுக்கும் இடையேயான ஒத்திசைவு குலைந்து போயிருக்கிறது. ஜி.டி.பி வளர்ச்சி அதிகரிப்பதாக காட்டும் போது, மற்ற கணக்கீடுகள் எல்லாம் வீழ்ச்சியடைந்திருக்கின்றன.

2011-க்கு முன்பு ஜி.டி.பி-ல் சேர்க்கப்படும் உற்பத்தித் துறை மதிப்புக் கூடுதல், தொழில்துறை உற்பத்தி குறியீட்டு எண்ணுடனும், உற்பத்தித் துறை ஏற்றுமதியுடனும் ஒத்திசைந்திருந்தது. 2011-க்குப் பிறகு இந்த உறவு எதிரெதிர் திசையில் சென்றிருக்கிறது.

  • சராசரி ஏற்றுமதி வளர்ச்சி வீதம் 2001-2011 வரை 14.5% ஆக இருந்தது, 2011-க்குப் பிறகு வெறும் 3.4% ஆக வீழ்ச்சியடைந்திருக்கிறது. 
  • இறக்குமதி வளர்ச்சி வீதம் 2011-க்கு முன்பு ஆண்டுக்கு 15.6% ஆக இருந்தது அதற்குப் பிறகு 2.5% ஆகக் குறைந்திருக்கிறது.
     
  • வணிக வாகன உற்பத்தி 2011-க்கு முன்பு ஆண்டுக்கு 19.11% அதிகரித்திருக்கிறது, 2011-க்குப் பிறகோ 0.1% குறைந்திருக்கிறது. 
  •  
மின்சார நுகர்வும், பெட்ரோல் நுகர்வும் தவிர வேறு ஒவ்வொரு கணக்கீடுகளிலும் இவ்வாறு ஜி.டி.பி வளர்ச்சி எண்ணுக்கு அடிப்படையான இந்த கணக்கீடுகள், ஜி.டி.பி வளர்ச்சிக்கு பொருத்தமான வளர்ச்சி பெறாமல் தேய்ந்து போயிருக்கின்றன.

இது முதல் பார்வையில் இந்தியாவின் ஜி.டி.பி கணக்கீடுகளில் பிரச்சனை இருப்பதைத் தெரிவிக்கிறது என்று சொல்லும் அந்த ஆய்வறிக்கை, பின்னர் இந்தியாவைப் போன்ற வேறு சில நாடுகளின் ஜி.டி.பி வளர்ச்சிக்கும் இந்திய ஜி.டி.பி வளர்ச்சிக்கும் இடையேயான உறவை பரிசீலிக்கிறது. இதற்கு கடன், ஏற்றுமதி, இறக்குமதி, மின் நுகர்வு ஆகிய அளவீடுகளை எடுத்துக் கொள்கிறது.

2001-2011 ஆண்டு காலகட்டத்தில் இந்த ஜி.டி.பி வளர்ச்சி வீதங்கள் ஒத்திசைந்து இருக்கின்றன. இந்திய வளர்ச்சி வேறு எந்த வகையிலும் தனிச்சிறப்பானதாக இல்லை. ஆனால், 2011-க்கு பிறகு இந்திய வளர்ச்சி வீதம் பிற பொருளாதாரங்களின் வளர்ச்சி வீதங்களிலிருந்து பெருமளவு விலகிச் சென்றிருக்கிறது.

2011-ல் இந்தியப் பொருளாதாரத்தில் ஏற்பட்ட பெரிய அளவு மாற்றம் ஜி.டி.பி கணக்கிடும் முறையில் செய்த மாற்றம் மட்டுமே. மற்றபடி அடிப்படையான எந்த பெரு வீத மாற்றமும் நடக்கவில்லை. உதாரணமாக, 1991ல் தொடங்கி வைக்கப்பட்ட பொருளாதார சீர்திருத்த நடவடிக்கைகள் போலவோ, 2016-ல் நிகழ்ந்த பண மதிப்பு நீக்கம், அல்லது 2017-ல் ஜி.எஸ்.டி போலவோ பொருளாதாரத்தின் கட்டமைப்பை புரட்சிகரமாக மாற்றியமைப்பதாக வேறு எதுவும் நடக்கவில்லை.

எனவே, 2011-லிருந்து 2016 வரையிலான இந்தியாவின் ஜி.டி.பி வளர்ச்சி வீதம் ஆண்டுக்கு சுமார் 2.5% மிகைப்படுத்தப்பட்டுள்ளது என்று இந்த ஆய்வறிக்கை முடிவு செய்கிறது. இந்தியாவின் வளர்ச்சி வீதம் 4.5% (3.5% முதல் 5.5% வரை) ஆக இருந்திருக்க வேண்டுமே தவிர, அதிகாரபூர்வ புள்ளிவிபரங்கள் சொல்லும் 7% இல்லை என்கிறது.

2011-ல் மதிப்புக் கூடுதலை கணக்கிடுவதற்கு அளவு அடிப்படையில் இல்லாமல் நிறுவன விவகாரங்களுக்கான அமைச்சகத்தின் புள்ளிவிபரங்களில் இருந்து மதிப்பு எடுத்துக் கொள்ளப்பட்டிருக்கிறது. இது ஒரு முக்கியமான செயல்முறை மாற்றமாக இருக்கிறது. இதன் விளைவாகத்தான் இந்தியாவின் மொத்த உள்நாட்டு உற்பத்தி வளர்ச்சி வீதம் மிகையாக கணக்கிடப்பட்டிருக்கிறது என்கிறார்.

இது தொடர்பாக ஆய்வு செய்ய இந்திய அதிகாரிகள், சர்வதேச நிபுணர்கள், இந்திய நிபுணர்கள் அடங்கிய குழு ஒன்றை அமைத்து இந்தியாவின் பொருளாதார வளர்ச்சி வீதத்தை மறு ஆய்வு செய்ய வேண்டும் என்று அரவிந்த் சுப்ரமணியன் வலியுறுத்துகிறார்.

Thursday, March 21, 2019

மைண்ட்-ட்ரீ மீது காதலாம், தூக்கிப் போகத் துடிக்கும் எல்&டி

மைண்ட்-ட்ரீ என்ற ஐ.டி சேவை நிறுவனத்தின் மீது கண் வைத்திருக்கிறது எல்&டி. ஏற்கனவே, ஒரு ஐ.டி சேவை நிறுவனத்தை நடத்திவரும் எல்&டிக்கு, இதையும் வாங்கிப் போடலாம் என்று நப்பாசை.  கைநிறைய பணம் இருக்கிறது, ஐ.டி சேவைத் துறையில் நல்ல லாபம் கிடைக்கிறது என்று கிடைக்கும் வாய்ப்பை தட்டிச் செல்லப் பார்க்கிறது.

முன்னாள் விப்ரோ துணை சேர்மன் அசோக் சூடா தலைமையில் ஐ.டி துறையில் வேலை அனுபவம் கொண்ட 10 ஊழியர்கள் 1990-களின் இறுதியில் மைண்ட்-ட்ரீ என்ற ஐ.டி சேவை நிறுவனத்தை ஆரம்பித்தனர். அதில் கபே காபி டே-வை தொடங்கியவரான சித்தார்த்தா 6.5% பங்குகளை பெற்றுக் கொண்டார், மைண்ட்-ட்ரீக்கு அலுவலக வசதியை செய்து கொடுத்தார்.

2007-ம் ஆண்டில் மைண்ட்-ட்ரீ $70 கோடி (சுமார் ரூ 3500 கோடி) விற்பனை வருவாயை எட்டியதும் பங்குச் சந்தையில் பட்டியலிடப்பட்டது. 2012-க்குள் $100 கோடி விற்பனையை எட்ட வேண்டும் என்று 2006-ல் இந்நிறுவனம் இலக்கு நிர்ணயித்தது. காலக்கெடுவை இரண்டு முறை நீட்டித்தும் இந்த ஆண்டு வரை அந்த இலக்கு எட்டப்படவில்லை. 2019 நிதியாண்டின் மூன்றாவது காலாண்டில் விற்பனையில் பாதியை டிஜிட்டல் சேவை வணிகத்தில் துறையில் ஈட்டியிருக்கிறது. நிறுவனத்தின் பங்கு விலை ஜனவரி 2018-க்குப் பிறகு 52% உயர்ந்திருக்கிறது.

இந்நிலையில்தான் சித்தார்த்தா தன் கைவசம் இருக்கும் மைண்ட்-ட்ரீ நிறுவனத்தின் 20% பங்குகளை விற்பதற்கு விரும்புகிறார். சென்ற ஆண்டே மைண்ட்-ட்ரீ இயக்குனர் குழுவில் இருந்து விலகி விட்டு, தான் பங்குகளை யாரிடமாவது விற்கப் போவதாக மைண்ட்-ட்ரீ உரிமையாளர்களிடம் தெரிவித்திருக்கிறார். இந்த ஆண்டு பிப்ரவரி மாதம் தான் பங்குகளை விற்கப் போவதாக பொதுவில் அறிவித்திருக்கிறார். சித்தார்த்தாவின் கபே காபி டே இயக்குனர் குழு இந்தப் பங்கு விற்பனைக்கு ஒப்புதல் அளித்திருக்கிறது. ஸ்டேண்டர்ட் சார்ட்டட் வங்கியிலிருந்து ரூ 3,000 கோடி கடன் பெற்று அந்தப் பங்குகளை அடகு வைத்திருந்த நிறுவனங்களிடமிருந்து அவற்றை மீட்டு விற்பதற்கு வசதியாக ஒரு எஸ்க்ரோ கணக்கில் போட்டு விட்டார், சித்தார்த்தா.

இப்போது எல்&டி நிறுவனம் சித்தார்த்தாவின் 20.3% பங்குகளை ரூ 3,269 கோடிக்கு வாங்கப் போவதாகவும் இன்னும் ரூ 7,464 கோடி வரை செலவழித்து சுமார் 46% (31%) பங்குகளை பிற பங்குதாரர்களிடமிருந்து வாங்க முன்வருவதாகவும் மார்ச் 18-ம் தேதி அறிவித்திருக்கிறது. இவ்வாறு மைண்ட்-ட்ரீயில் தனது பங்கு கையிருப்பை 66.32% ஆக உயர்த்துவதற்கு எல்&டி ரூ 11,000 கோடி செலவளிக்க திட்டமிட்டிருக்கிறது.

இடது புறம் எல்&டி தரப்பு, வலது புறம் மைண்ட்-ட்ரீ போராளிகள் (படம் : நன்றி எகனாமிக் டைம்ஸ்)

இரண்டு நிறுவனங்களும் இணையும்போது ஒன்றையொன்று வலுப்படுத்துவதாக அமையும் என்கிறது எல்&டி. ஆனால், மைண்ட்-ட்ரீயின் உரிமையாளர்கள் கிருஷ்ணகுமார் நடராஜன், என்.எஸ் பார்த்தசாரதி, ரோஸ்தோவ் ராவணன், சுப்ரதோ பாக்சி அதை எல்&டியிடம் விற்க விரும்பவில்லை. எல்.&டியின் இந்தத் தாக்குதலை எதிர் கொள்ள ஒடிசா பணித்திறன் மேம்பாட்டு ஆணையத்தின் தலைவராக இருந்த பாக்சி பதவியை ராஜினாமா செய்து விட்டு பெங்களூருவுக்கு திரும்பி மைண்ட்-ட்ரீயில் மீண்டும் சேர்ந்திருக்கிறார்.

இந்த இரண்டு நிறுவனங்களின் நிதி நிலை எப்படி இருக்கிறது?

எல்&டி குழுமத்தின் மொத்த விற்பனையில் 75% பொறியியல், 5% உற்பத்தி, 15% ஐ.டி முதலாள சேவைத் துறையில் கிடைக்கிறது. ஐ.டி உள்ளிட்ட சேவைத் துறையில் கிடைக்கும் நிகர லாபம் 15-16% மற்ற துறைகளை விட அதிகம். எனவே, ஆண்டு தோறும் குவிக்கும் லாபத்தை புதிதாக முதலீடு செய்ய இந்தத் துறையில் வாய்ப்புகளை தேடுகிறது.

2019 நிதியாண்டின் முதல் மூன்று காலாண்டுகளில் (ஏப்ரல் 2018 முதல் டிசம்பர் 2018 வரை)

விற்பனை நிகர லாபம் பணக் கையிருப்பு
எல்&டி ஐ.டி 6,959.80 1,136.90 2,032.80
எல்&டி குழுமம் 95,323.20 4,878.80 23,900.00
மைண்ட்-ட்ரீ 5,182.10 555.70 973.60

மைண்ட்-ட்ரீ எல்&டி குழுமத்தின் முன்பு ஒரு சின்ன ஆளாக உள்ளது. தனது ரூ 23,900 கோடி பணக்கையிருப்பை எங்கு போட்டு லாபம் ஈட்டுவது என்று தேடி அலைகிறது. மைண்ட்-ட்ரீ பங்குகளை வாங்கி அதன் நிர்வாகத்தை கைப்பற்றி விட்டால் கணிசமாக லாபம் ஈட்ட முடியும் என்று நினைக்கிறது.

ஆனால், மைண்ட்-ட்ரீ முதலாளிகள் எல்&டியிடம் போய்ச் சிக்க விரும்பவில்லை. அவர்கள் சித்தார்த்தா தனது பங்குகளை ஏதாவது நிதி மூலதன நிறுவனத்திடம் விற்க வேண்டும் என்று சொல்கிறார்கள். ஆனால்,  KKR, பேரிங் போன்ற தனியார் முதலீட்டு நிறுவனங்களை அணுகிய போது, அவை தங்களுக்கு "இயக்குனர் குழுவில் இடம் வேண்டும், மாதாந்திர அறிக்கைகள் வர வேண்டும், உறுதிப்படுத்தப்பட்ட உரிமைகள் வேண்டும், செயலூக்கமான பங்களிப்பு வேண்டும்" என்று நிர்வாகத்தில் தலையிடும் வகையில் நிபந்தனை விதித்திருக்கின்றனர். அவர்கள் சித்தார்த்தாவை போல பணத்தை கொடுத்து விட்டு ஒதுங்கி இருக்க மாட்டார்கள். நிர்வாகத்துக்குள் நுழைந்து கையை முறுக்கத்தான் முயற்சிப்பார்கள்.

மைண்ட்-ட்ரீ அதையும் ஏற்றுக் கொள்ளவில்லை. பங்குகளை பங்குச் சந்தையிலோ அல்லது இயக்குனர் குழுவில் சேர வேண்டும் என்று நிபந்தனை விதிக்காத தனியார் முதலீட்டு நிறுவனங்களிடமோ விற்கும்படி சித்தார்த்தாவிடம் சொல்லியிருக்கிறார்கள். சந்தையில் இவ்வளவு அதிக எண்ணிக்கையில் பங்குகள் விற்கப்பட்டால் பங்கு விலை கணிசமாக சரியும், தனியார் பங்கு முதலீட்டு நிறுவனங்களோ கடும் நிபந்தனைகளை விதிக்கின்றன.

சித்தார்த்தாவின் பங்குகளை வாங்கும்படி கேட்டு ஜனவரி மாதம் வங்கிகள், தனியார் முதலீட்டு நிறுவனங்கள், கார்ப்பரேட்டுகளை அணுகினர். குடும்ப முதலீட்டு நிறுவனங்களான பிரேம்ஜி முதலீட்டு நிறுவனம், பட்னி ஆகியவையும் அணுகப்பட்டன. அவர்கள் அனைவரும் பேரிங் பங்குகளை வாங்க விரும்பும் போது அதை ஏன் ஏற்க மறுக்கிறீர்கள் என்று சொல்லியிருக்கின்றனர்.

எல்&டி ஆரம்பத்தில் மைண்ட்-ட்ரீ நிர்வாகத்தின் ஒப்புதலுடன்தான் சித்தார்த்தாவின் பங்குகளை வாங்க விரும்ப நினைத்திருக்கிறது. ஆனால், எல்&டியிடம் நிர்வாகக் கட்டுப்பாடு போய் விட்டால் தங்களது நிறுவன கலாச்சாரம் மாறி விடும் என்று சந்தேகக் கண்ணுடன் பார்க்கின்றனர் மைண்ட்-ட்ரீ முதலாளிகள். இறுதியில் எல்&டி அவர்களது சம்மதம் இல்லாமலேயே மைண்ட்-ட்ரீயை கைப்பற்றும் முயற்சியில் இறங்கி விட்டது.

பெண்ணின் அப்பாவின் சம்மதத்தோடு பெண் கேட்டு பார்த்து, அவர் மறுத்து விட்ட பிறகு இப்போது தனது பணபலம், படை பலம், ஆள் பலத்தை ஏவி தூக்கிக் கொண்டு வர ஏற்பாடு செய்கிறது எல்&டி.

சிறிய நிறுவனங்கள் பெரிய ஐ.டி நிறுவனங்களோடு இணைக்கப்படும் போது கிடைத்த அனுபவங்களின் அடிப்படையில் தங்கள் நிறுவனம் எல்&டியோடு இணைக்கப்பட்டால் அது வணிக மதிப்பை குறைப்பதாகவும், நிர்வாக அறம் சார்ந்த பிரச்சனைகளுக்கு வழி வகுப்பதாகவும் இருக்கும் என்று மைண்ட்-ட்ரீ முதலாளிகள் கருதுகின்றனர்.

எல்&டி "புல்டோசர்கள், கிரேன்கள் சகிதம் சொத்தை அள்ளிப் போவதற்கு வாசலில் வந்து நிற்கிறது" என்று பதறுகின்றனர். "இப்படி எல்லாம் நடந்தால் ஐ.டி துறையி்ல யாரும் புதிய நிறுவனம் தொடங்க மாட்டார்கள், நாடு முன்னேறாது" என்று தேசபக்த வேடம் பூண்டு பயமுறுத்துகின்றனர்.

"நாங்கள் மைண்ட்-ட்ரீயை காதலுடன் அணுகுகிறோம், எங்கள் உள்ளத்திலிருந்து இந்த உறவை ஏற்படுத்திக் கொள்ள விரும்புகிறோம்" என்று அன்பாக பேசுகிறது எல்&டி. "முதலீட்டாளர்களாகத்தான் வருகிறோம், மைண்ட்-ட்ரீயை தனி நிறுவனமாக பராமரிப்போம்" என்கிறது. "எங்களிடம் புல்டோசர்களும், கிரேன்களும் மட்டும் இல்லை. நாங்கள் நாட்டுக்காக நீர்மூழ்கிக் கப்பல்கள், ராக்கெட்டுகள், ஏவுகணைகள், துப்பாக்கிகள் உற்பத்தி செய்கிறோம். எங்களது ரேஞ்சே வேற. நாங்கள் நிர்வாக ஒழுங்கிலும், கொள்கைகளிலும் உயர் தரத்தை பின்பற்றுகிறோம்" என்று தன் பங்குக்கு தேச பக்த சான்றுகளை காட்டுகிறது

பங்குதாரர்களிடமிருந்து பங்குகளை வாங்க முன்வருவதாக சொல்லியிருக்கும் எல்&டியின் அறிவிப்பு பற்றி மைண்ட்-ட்ரீ இயக்குனர்கள் குழு பங்குதாரர்களுக்கு தங்கள் பரிந்துரையைச் சொல்ல வேண்டும். எல்&டியிடம் பங்குகளை விற்பது நல்லதா இல்லையா என்று அறிவிக்க வேண்டும். இதற்காக சுயேச்சையான இயக்குனர்கள் ஒரு கமிட்டி அமைத்து பரிசீலிக்க வேண்டும்.

இதில் எல்.ஐ.சி முதலான நிதி நிறுவனங்களின் முடிவு தீர்மானகரமானதாக அமையும். அவர்களது ஆதரவு தங்களுக்கு இருப்பதாக மைண்ட்-ட்ரீ நிர்வாக இயக்குனர்கள் சொல்கின்றனர்.  எல்&டியோ அவர்கள் எல்லாம் ஏற்கனவே எல்&டியில் பங்கு வைத்திருப்பவர்கள், எங்களுக்கு நல்ல தோஸ்துகள்தான் என்று நம்பிக்கையுடன் சொல்கிறது.

டுவிட்டரில் ஊழியர்கள் மைண்ட்-ட்ரீ நிர்வாகத்துக்கு ஆதரவாக பெருமளவு ட்வீட் செய்திருப்பதை போய்ப் பார்க்கும்படி மைண்ட்-ட்ரீ தரப்பு பத்திரிகையாளர்களிடம் சொல்லியிருக்கிறது. பொதுவாக ஊழியர்கள் மைண்ட்-ட்ரீயில் வேலை செய்வதை விரும்புகிறார்கள் என்கிறார் எகனாமிக் டைம்ஸ் நிருபர்.



இதற்கிடையில் மைண்ட்-ட்ரீ பெங்களூரு அலுவலகத்தில் ஊழியர்கள் இதைப் பற்றி பெரிதாக அலட்டிக் கொள்ளவில்லை. பத்திரிகையாளர் சந்திப்பு ஏன் நடக்கிறது என்று தெரிந்து கொள்ள சிலர் ஆர்வம் காட்டுகிறார்கள். வேலை வழக்கம் போல நடக்கிறது. எங்கு போனாலும் மாடாக உழைக்க வேண்டும், தேவை இல்லாத போது தூக்கி எறியப்படுவோம் என்பதுதான் விதியாக இருக்கும் என்ற போது யார் கம்பெனியை கைப்பற்றப் போகிறார்கள் என்பதில் அவர்களுக்கு பெரிய அக்கறை இருக்காதுதான்.

இதற்கிடையில் இந்திய பத்திரிகைகளுக்கு செல்லமான இன்னொரு நிறுவனம் கவிழும் நிலையில் இருக்கிறது. ஆம், நரேஷ் கோயலின் ஜெட் ஏர்வேஸ் விமானத்துக்கு வாடகை கொடுக்க முடியாமல், விமானிகளுக்கு சம்பளம் கொடுக்க முடியாமல், டிக்கெட் கேன்சல் செய்தவர்களுக்கு பணம் கொடுக்க முடியாமல் திணறி நிற்கிறது. முன்னதாக அனில் அம்பானியின் ரிலையன்ஸ் டெலிகாம், விஜய் மல்லையாவின் கிங் பிஷர் ஏர்லைன்ஸ், நீரவ் மோடியின் வைர வியாபாரம், சகாரா குழுமத்தின் சீட்டுத் தொழில் சரிவு என்று திவால் வரிசையில் நிற்கின்றனர் இந்தியாவின் தொழில்துறை தலைவர்கள்.

பல ஆயிரம் கோடிகளை குவித்து வைத்துக் கொண்டு இந்த முதலாளிகள் நடத்தும் சூதாட்டச் சண்டைகளால் யாருக்கு என்ன பலன்?

Friday, May 22, 2009

களை எடுத்தல்

மென்பொருள் பயன்பாட்டில் வேறு யாரோ உருவாக்கிய நிரலில் பிழை திருத்துவது சிக்கலான வேலை. சரியான ஆவணம் இருந்தால் வேலை எளிதாக இருக்கும்.

ஒரு அனுபவம்.

ஒவ்வொரு செய்கையிலும் என்னென்ன நடக்கிறது, எந்த அட்டவணையில் தரவு உள்ளிடப் படுகிறது, உள்ளிட்டதும் என்ன விபரம் புதிதாக உருவாகிறது (primary key), குறிப்பிட்ட அட்டவணையில் என்னென்ன விபரங்கள் இன்னொரு அட்டவணையுடன் இணைக்கப்பட்டிருக்கிறது (foreign key) என்று புரிந்து கொள்ள வேண்டும். மொத்தம் மூன்றே மூன்று நிரல் கோப்புகளில் ஆறு அட்டவணைகளில் தரவு சேமிக்கப்படுகிறது.

இதை என்ன வடிவத்தில் ஆவணப்படுத்துவது என்று உருக்கொடுக்க வேண்டும். முதலில் தாளில் எழுத ஆரம்பித்தேன். அதை எங்கு சேமிப்பது, எப்படி பகிர்ந்து கொள்வது என்று எப்போதும் இருக்கும் சிக்கல். அடுத்தபடியாக ஒரு உரைக்கோப்பில் அட்டவணை விபரங்களை நகல் செய்து ஒட்டிக் கொண்டேன். அதைப் பார்த்தால் விபரம் எதுவும் தெளிவாக தெரிந்து விடப் போவதில்லை

ஒரு விரிதாளில் ஒவ்வொரு அட்டவணைக்கும் ஒரு வரி, அதனுடன் இணையும் அட்டவணைகள், இணைக்கும் விபரம் இவற்றைக் குறிப்பிட்டு க் கொள்ளலாம் என்று ஆரம்பித்தால், கொஞ்சம் தெளிவு ஏற்பட ஆரம்பித்தாலும் புதிதாகப் பார்ப்பவர்கள் புரிந்து கொள்ளும்படி இல்லை. ஒரு கதை படிப்பது போல அமைய வேண்டும். அடுத்த விரிதாளில் நடவடிக்களை, சேமிக்கப்படும் அட்டவணை விபரம், நிரல் கோப்பு, சுட்டியின் பெயர் என்று ஒரு வடிவம் கொடுத்தேன். இரண்டாவது நெடுவரிசையில்தான் முக்கியமான விபரங்கள் எல்லாம் இருக்கும்.

முதல் வரியில் அட்டவணையின் பெயர், இரண்டாவது வரியில் அதில் சேமிக்கப்படும் விபரம் சுருக்கமாக, மூன்றாவது வரியில் அது உருவாக்கும் keyன் பெயர் -> என்ற குறியீட்டுடன், அடுத்தடுத்த வரிகளில் அது இணைத்துக் கொள்ளும் அட்டவணை மற்றும் key பெயர்கள். key பெயர் <- அட்டவணை பெயர் என்ற வடிவம் கொடுத்தேன். மிகவும் நிறைவாக தெளிவாக வந்து விட்டது. கிட்டத்தட்ட மூன்றரை மணி நேர வேலையின் முடிவு அரைப்பக்க அளவில் சுருக்கமாக அமைந்து விடும்.

எதையும் சுருக்கமாகச் சொல்வதற்குத்தான் அதிக முயற்சி தேவைப்படுகிறது. வளவளவென்று நீளமாக எழுதிக் கொண்டே போவதற்கு திட்டமிடலோ, கட்டுப்பாடோ தேவையில்லை. அதன் வெளிப்பாடும் பார்ப்பவர்களுக்கு பலனுள்ளதாக இருக்காது. இன்னொரு நெடுவரிசையில் இந்த நடவடிக்கைகளால் வேறு எந்த அட்டவணையில் தரவு தானாக உள்ளிடப் படுகிறது, அதைச் செய்யும் இயக்கியின் பெயர் என்ன என்ற விபரத்தையும் குறித்துக் கொண்டேன்.

பயனர் கொடுத்த விபரங்களை வைத்து தரவுகளை சரி பார்த்தல். எல்லாமே சரியாகத்தான் இருந்தது. கடைசிக் கட்டத்தில் விபரங்களை எடுத்துக் கணக்கிட்டு காண்பிக்கும் இடத்தில் உதைப்பது போலத் தெரிந்தது. ஒவ்வொன்றாக தரவுத்தள வினாக்கள் எழுதி எழுதி இயக்கிப் பார்த்துக் கொண்டிருந்தேன். இரண்டு முனைகளிலிமிருந்து வினா எழுப்பி வரும் விடைகளை ஒப்பிட்டுப் பார்த்தால் சரியாகத்தான் இருந்தது. கணக்கிடுதலின் கூறுகளை தனியாகப் பிரித்துப் பார்த்தால் சரியாக வந்தது. சேர்த்து கணக்குப் போடும் கூட்டுத் தொகையில் தேவையில்லாத தொகுப்புகள் நடக்கின்றன என்று புரிந்தது.

ஒவ்வொரு தரவாக எடுத்து கணக்குப் போடாமல், எல்லாவற்றையும் ஒரே தொகுப்பாக கணக்குப் போடும்படி இயக்கியில் எழுதியிருந்தார்கள். அதை சரிபார்ப்பதற்கு இன்னொரு தம் பிடிக்க வேண்டும். எல்லா சிக்கல்களையும் அவிழ்ப்பதற்கு அடிப்படையிலிருந்து ஆரம்பிப்பது எளிமையான வழி.

கிரிக்கெட்டில் ஓடி வரும் பந்தைப் பிடிக்க ஒற்றைக் காலை மடக்கி பந்தை நோக்கி இருக்குமாறு ஒற்றைக்காலில் மண்டியிட்டு அந்தக் காலுக்கு முன்பு கையை வைத்து எதிர் கொள்ள வேண்டும். இரண்டு கால்களுக்கு நடுவில் குனிந்து கைகளை குவித்து நின்றால் கை தவறினால், கையைத் தாண்டிக் கொண்டு போனால், திரும்பி ஓட வேண்டியிருக்கும். முதல் முறையில் கை தவறினால் காலில் பட்டு நின்று விடும். முதல் முறையில் முதுகெலும்புக்கும் அழுத்தம் குறைவாக இருக்கும். எழுந்து ஓடுவதற்கும் சரியான கோணத்தில் இருப்போம்.

அந்த அடிப்படைகளை மறந்து மேல் நிலைகளில் யோசித்துக் கொண்டே இருந்தால் சிக்கல் அவிழாது. மின் கருவிகளில் பழுது, கணினியில் சிக்கல் என்று பார்க்கப் போகும் போது முதலில் மின்சார இணைப்பு சரியாக இருக்கிறதா என்பதிலிருந்து ஆரம்பிக்க வேண்டும். சுவிட்சு போடப் பட்டிருக்கிறதா என்று பார்ப்பது அதில் முதல் படி.

இணைய இணைப்பு இயங்கவில்லை என்றால், முதலில் நமது கணினியில் வலையமைப்பு சரியாக இருக்கிறதா என்று பார்த்து விட்டு அருகில் இருக்கும் கணினியுடன் தொடர்பு கொள்ள முடிகிறதா என்று தட்டிப் (ping செய்து) பார்க்க வேண்டும். அது சரி என்றால் நமது கணினி வலையமைப்பு சரியாக இயங்குகிறது.

அடுத்ததாக உள்ளுறை வலையமைப்பிலேயே இன்னொரு தொகுப்பில் இருக்கும் ஒரு கணினியைத் தட்டிப் பார்க்க வேண்டும். நமது பகுதிக்கும் மற்ற தொகுப்புகளுக்கும் இணைப்பு சரியாக இருக்கிறது. மூன்றாவதாக இணைய இணைப்பைத் தரும் கருவியை தட்டிப் பார்க்க வேண்டும். அது ஒரு வேளை இயங்காமல் அல்லது இணைப்பில் இல்லாமல் போயிருக்கலாம்.

அதுவும் சரியாக இருந்தால், இணையத்தில் இருக்கும் ஒரு இணைய எண்முகவரியை (IP address) தட்டிப் பார்க்க வேண்டும். ஒரு வேளை கணினி பெயர்களை இணைக்கும் வழங்கியில் குறை இருந்தால் பெயர் முகவரி இயங்காமல் இருக்கலாம். அதுவும் சரியாக இருந்தால், இணையத்தில் பிரபலமான பெரிய நிறுவனத் தளம் ஒன்றை முயற்சிக்க வேண்டும் (google.com). அதுவும் இணைகிறது என்றால் நாம் போக வேண்டிய தளத்தை தட்டிப் பார்க்கலாம்.

இப்படி ஒவ்வொன்றாக சரி செய்து கொண்டே வந்தால்தான் தீர்வு கிடைக்கும். ஆரம்பத்திலேயே நாம் போகும் தளத்தில் கணினி கோளாறு, அந்தத் தளம் இயங்கவில்லை என்று முடிவு செய்து விட்டால் சிக்கல் தீராது. விண்டோசு இயங்குதளத்தில் பல சிக்கல்களுக்கு கணினியை அணைத்து விட்டு மீண்டும் இயக்குவது என்று முயற்சிப்பார்கள். சிக்கல் சரியாகி விட்டால் மகிழ்ச்சி. என்ன சிக்கல், எப்படி சரியானது என்று புரியாமலேயே இருந்து விடும். அடுத்த தடவை இது மாதிரி பிரச்சனை ஏற்பட்டால் அணைத்து விட்டு இயக்கிக் கொள்ளலாம் என்று மட்டும் கற்றுக் கொள்வோம்.

Saturday, April 18, 2009

குளோவியூ

http://kaniporul.blogspot.com/2010/08/blog-post_6044.html

Monday, August 4, 2008

வாடிக்கையாளர் சேவை - ஒரு தவறின் கதை

வாடிக்கையாளர் நிறுவனத்தில் அவர்கள் விற்க வேண்டிய தோலுக்கான தேவை பல இடங்களிலிருந்து வரும். அவற்றை மென்பொருளில் போட்டு விடுவார்கள். அவற்றுக்கு எதிரான உற்பத்தி விபரங்கள், உற்பத்தி முடிந்த பிறகு பொருளை அனுப்பி வைக்கும் விபரங்களும் உள்ளிட்டு விடுவார்கள்.

குறிப்பிட்ட நேரத்தில் நூற்றுக் கணக்கான ஆர்டர்கள் ஓடிக் கொண்டிருக்கும். ஒவ்வொன்றுக்கும் கேட்கப்பட்ட அளவு, இதுவரை அனுப்பி வைக்கப்பட்டது, இனிமேல் அனுப்ப மீதியிருப்பது என்று கவனித்துக் கொண்டிருக்க வேண்டும். 10000 அடி தோல் கேட்டிருக்கிறார் ஒரு வாடிக்கையாளர். முதலில் 4000 அடி உற்பத்தி செய்து ஒரு பொதியை அனுப்பி விட்டார்கள். இன்னும் மிஞ்சியிருப்பது 6000 அடி. அடுத்ததாக 1500 அடி அனுப்பி வைத்தால் 10000, 5500, 4500 ஆகி விடும்.

இந்த 4500 அடி அனுப்ப வேண்டும் என்றால் மூலப் பொருளை உற்பத்திக்கு எடுத்து நான்கைந்து நாள் வேலைக்குப் பிறகு தயாராகி அனுப்பலாம். எவ்வளவு உற்பத்தியில் இருந்து கொண்டிருக்கிறது, இன்னும் எவ்வளவு மூலப்பொருளிலிருந்து உற்பத்திக்குக் கொடுக்க வேண்டும் என்ற விபரமும் கண்காணிக்கப்பட வேண்டும்.

4500 அடி இன்னும் தேவை. 2500 அடிக்கு உற்பத்தியில் இருக்கிறது. மீதி 2000 அடிக்கு புதிதாக உற்பத்திக்கு அனுப்ப வேண்டும். இதுதான் கணக்கு.

மொத்தத் தேவை 10000
அனுப்பி விட்டது 5500
அனுப்ப வேண்டியது 4500
உற்பத்தியில் இருப்பது 2500
இன்னும் எடுக்க வேண்டியது 2000

இதுதான் கணக்கு. இதே போல நூற்றுக் கணக்கான ஆர்டர்கள். பல ஆர்டர்கள் ஒரே பொருளுக்கு இருக்கும். ஒரு ஆர்டருக்கு எதிராக உற்பத்தி செய்து விட்டு அவசரம் என்றால் இன்னொரு ஆர்டருக்கு அனுப்பி வைத்து விடுவதும் நடக்கும்.

புதிதாக ஆர்டர் வந்தால் அதை ஒரு இடத்தில் பதித்து வைத்துக் கொள்வோம். அந்த ஆர்டர் எண்ணையும், மொத்தத் தேவை அளவையும் ஆர்டர் நிலுவை விபரங்கள் என்று பதிந்து கொள்வோம்.

பொருள் அனுப்பும் போது எந்த ஆர்டருக்காக அனுப்புகிறார்கள் என்ற விபரத்தை வாங்கி அதையும் நிலுவை விபரங்களில் தனியாக சேர்த்துக் கொள்ள வேண்டும்.

பொருளை உற்பத்திக்கு எடுக்கும் போதும் ஆர்டருடன் இணைத்து குறிப்பிட்ட ஆர்டருக்கு எதிராக இவ்வளவு உற்பத்திக்கு எடுக்கப்பட்டிருக்கிறது என்று வைத்துக் கொள்வோம்.

இன்னொரு விபரம் என்ன வேண்டும் என்றால் உற்பத்தியில் தற்போது எவ்வளவு இருக்கிறது என்பது. ஒரு ஆர்டருக்கு எடுக்கப்பட்ட பொருளை இன்னொரு ஆர்டருக்கு அனுப்பி விடுதலும் நடக்கும் என்பதால் இதையும் தனியாகக் கணக்கு வைத்துக் கொள்ள வேண்டும்.

உற்பத்திக்கு என்று விபரங்களை உள்ளிடும் போது உற்பத்தியில் இருப்பதுடன் போய்ச் சேர்ந்து கொள்ள வேண்டும். உற்பத்தி முடிந்து பொருளை வெளியே எடுக்கும் போது அந்த அளவில் இருந்து குறைத்துக் கொள்ள வேண்டும். வெளியே எடுக்கப்பட்டது அதே ஆர்டருக்கு அனுப்பி வைக்கப்பட்டால் அது அனுப்பி விட்டது கணக்கில் சேர்ந்து விடும். மாறாக வேறு ஆர்டருக்கு அனுப்பி விட்டால், புதிதாக உற்பத்தி செய்துதான் இந்த ஆர்டரை பூர்த்தி செய்ய முடியும்.

எங்கள் மென்பொருள் வடிவமைப்பில் பலவிதமான சரக்கு அறைகள் (மூலப் பொருள் அறை, பாதி பணி முடிந்த பொருள் அறை, இறுதிப் பொருள் அறை) இருக்கும். அவற்றிலிருந்து உற்பத்திக்கு மூலப் பொருளை அனுப்பலாம், உற்பத்திப் பணி முடிந்ததும் அதே அறைக்கு அல்லது வேறு அறைக்கு முடிந்த பொருளை சேர்த்து விடலாம்.

சரக்கு அறைக்குள் தரம் பிரித்தலும் நடக்கும்.

10000 அடி பச்சைத் தோல் வாங்கினால் அது ஒரு சரக்கு நுழைவாக பதிந்து விடும். அதன் குறிஎண் 1312 என்று வைத்துக் கொள்வோம். அதை 5 தரங்களாகப் பிரித்தால் 1313, 1314, 1315, 1316, 1317 என்று ஐந்து புதிய நுழைவுகளை ஏற்படுத்தி ஒவ்வொன்றிலும் அது 1312லிருந்து வந்தது என்பதையும் குறித்துக் கொள்வோம்.

இப்போது 1313, 1314, 1315 மூன்றையும் சேர்த்து 6000 அடி உற்பத்திக்கு அனுப்புகிறோம் என்றால் மூன்றையும் சேர்த்து 1318 என்று ஒரு சரக்குக் குறி உருவாகி விடும். அது மூன்று சரக்குகளிலிருந்து வந்தது என்ற விபரமும் இருக்கும். 1318 என்பது உற்பத்தியில் இருக்கும் சரக்கு.

உற்பத்திப் பணிகள் முடிந்ததும் அந்த 6000 அடியை இறுதிப் பொருள்களுக்கான சரக்கு அறைக்கு அனுப்பும் போது தரம் பிரித்தல் செய்வார்கள். அது மூன்று தரங்களாக அது பிரிந்தால் உற்பத்தியிலிருந்து வந்ததாகக் குறிக்கப்பட்டு மூன்று சரக்குக் குறியீட்டு எண்கள் இறுதிப் பொருள் அறையில் உருவாகி விடும்.

நம்ம கணக்கில் பார்த்தால் 6000 அடி உற்பத்திக்கு அனுப்பும் போது, அது எந்த ஆர்டருக்கு அனுப்பப்படுகிறதோ அதன் எதிரில் கணக்கு சேர்த்துக் கொள்ளப்பட வேண்டும். 6000 அடி உற்பத்தி முடிந்து வெளியே இறுதிப் பொருள் அறைக்கு எடுக்கப் படும் போது அந்த ஆர்டருக்காக உற்பத்தியில் இருக்கும் அளவைக் குறைத்துக் கொள்ள வேண்டும்.

சிக்கல் எங்கு ஆரம்பித்தது என்றால், தரம் பிரிப்பு விபரங்களை உள்ளிடுவதற்கான நிரல் இரண்டு வேலைகளைச் செய்யுமாறு எழுதியிருந்தோம். சரக்கு அறைக்குள் தரம் பிரித்தல் ஒரு வகை, உற்பத்தியிலிருந்து தரம் பிரித்து சரக்கு அறைக்கு அனுப்புதல் இன்னொரு வகை. குறிப்பிட்ட சரக்குக் குறியீட்டு எண் உற்பத்தியுடன் தொடர்புடையதாக இருந்தால் மட்டும் அதன் குறிப்பில் தனி குறிப்பு சேர்த்து விட வேண்டும்.

Wednesday, March 12, 2008

தகவல் தொழில் நுட்பத்தின் சாத்தியங்கள்

வால்ஸ்ட்ரீட் ஜெர்னல் நாளிதழில் வெளியாகியுள்ள ஒரு கட்டுரையில் அமெரிக்காவைச் சேர்ந்து இரண்டு மேலாண்மை வல்லுனர்கள், தகவல் தொழில் நுட்பம் இன்றைய நிறுவனங்களில் பயன்படுத்தப்படும் முறைகளைப் பற்றி அலசியிருக்கிறார்கள்.

முழுக் கட்டுரையை இங்கு படிக்கலாம்.

அதைப் பற்றிய ஸ்லாஷ்டாட் விவாதத்தை இங்கு படிக்கலாம்.

சில குறிப்புகள்:

1. தகவல் தொழில் நுட்பக் கருவிகளைப் பயன்படுத்துவதன் மூலம் நிறுனத்தின் ஆதாய வீதத்தை அதிகரிப்பதோடு தகவல் தொழில் நுட்பத்தில் செய்யும் முதலீட்டில் நல்ல வருமானத்தையும் ஈட்டலாம்.

2. இருபத்தொன்றாம் நூற்றாண்டின் தகவல் தொழில் நுட்ப பொருளாதாரத்தில் வெற்றியடைவதற்கு , நிறுவனத்தின் அடிப்படைத் திட்டமிடலின் போது தகவல் தொழில் நுட்பத்தை கருத்தில் கொள்ள வேண்டும்.

3. நிறுவனத்தின் தொழிலை நன்கு புரிந்த தொழில் முறை மேலாளரை தகவல் தொழில் நுட்பப் பிரிவின் தலைமைப் பொறுப்பில் அமர்த்த வேண்டும். நிறுவனத்தின் ஒவ்வொரு பிரிவிலும் தகவல் தொழில் நுட்பத்தை ஒன்றுபடுத்த அவர் தலைமை நிர்வாகிகளுடன் இணைந்து செயல்பட வேண்டும்.

4. தொழில் நுட்ப முன்னேற்றங்கள், சந்தையிலும் பொருளாதாரத்திலும் மாற்றங்களின் வேகத்தை அதிகரித்துள்ளன. இதனால் ஏற்படும் வாய்ப்புகளையும் பாதகங்களையும் உடனுக்குடன் அடையாளம் கண்டு, சரியாக புரிந்து, எதிர் வினை ஆற்றுவது நிறுவனத்தின் வளர்ச்சிக்கும் வளத்துக்கும் இன்றியமையாததாகிறது.

5. நிறுவனத்தின் பல்வேறு மட்டங்களில் இருக்கும் மேலாளர்கள், தகவல் தொழில் நுட்பத்தின் மூலம் செய்யக் கூடிய மேம்பட்ட தகவல் மேலாண்மை, தொழில் முறை அறிவு மேம்படல், தகவல் பாதுகாப்பு, மாற்றங்களை கையாளுதல், செய்முறைகளை ஒருங்கிணைத்தல் போன்றவை நிறுவனத்தின் வெற்றிக்கு இன்றியமையாதவை என்பதை புரிந்து கொள்ள வேண்டும்.

6. தகவல் தொழில் நுட்பத்துக்காகத் திட்டமிடும் செலவினங்களும் முதலீடுகளும் மற்ற செலவினங்களைப் போலவே நுணுக்கமாகக் கட்டுப்படுத்தப்பட்டு கண்காணிக்கப்பட வேண்டும்.

சன்னுக்கு என்ன ஆச்சு?

ஐபிஎம் நிறுவனங்களுக்கு தகவல் தொழில் நுட்ப சேவைகள் வழங்கும் நிறுவனமாகத் தன்னை மறு அடையாளப்படுத்திக் கொண்டது. பயனர் கணினிப் பிரிவை லெனோவோ நிறுவனத்துக்கு விற்று விட்டது. இன்றைக்கு விற்பனையில் ஒரு பெரும் பகுதி சேவைகளிலிருந்து கிடைக்கிறது.

ஆரக்கிள் நிறுவனம் நிறுவன வள மேம்பாட்டு சேவை நிறுவனமாக தன்னை அடையாளப்படுத்திக் கொண்டது. தரவுத் தளம் மட்டும விற்கும்் நிறுனமாக இருந்து நிறுவனத்துக்குத் தேவையான எல்லா சேவைகளையும் வழங்கும் படி மற்ற சின்ன நிறுவனங்களை வாங்கி உள்வாங்கி சக்கை போடு போடுகிறது.

மைக்ரோசாப்டுக்கு அடுத்த சில ஆண்டுகளுக்கு மேசைக் கணினிகளுக்கு இயங்குதளமும் அலுவலக மென்பொருளும் விற்பதிலேயே நிறைந்து விடும். அதைச் சுற்றிச் சுற்றி மதில்கள் எழுப்புவதிலேயே முழுக்கவனமும் இருப்பது போல தெரிகிறது.

சன் மைக்ரோ சிஸ்டமஸ்் என்ன செய்கிறது?

ஜாவா தொடர்பான சேவைகளில் அதை உருவாக்கிய சன்னை முந்தி விட்டன பிற நிறுவனங்கள். சன் தனது இயங்குதளம் சோலாரிசை ஓப்பன் சோர்சாக வெளியிட்டு விட்டது. லினக்சு முதலான ஓப்பன் சோர்சு மென்பொருட்களுக்கும் ஆதரவு உண்டு.

சோலாரிஸ் கணினிகளின் விற்பனை வளர்ச்சி போதுமானதாக இல்லை. எங்கே போகிறது சன்?

Wednesday, October 17, 2007

நிரல் பராமரிப்பு - 6

சரி, ஏற்கனவே இருக்கும் நிரல் பிரதிகளை என்ன செய்வது. அவற்றை நிரல் பராமரிப்புத் தொகுப்புக்கு எப்படி கொண்டு வருவது என்றும் திட்டமிட வேண்டும்.

ஒவ்வொரு திட்டத்தின் சிவிஎஸ்சில் தற்போதைய பதிப்பை உருவாக்கம் கிளையாக ஆக்கி விட வேண்டும். எல்லா கோப்புகளையும் உருவாக்கம் கிளைக்குள் தகவிறக்கி விட்டால் போதும்.

உருவாக்கம் கிளையிலிருந்து புதிதாக உருவான கோப்புகளை அப்படியே சோதனை கிளையில் இருக்கும் ஒவ்வொரு வாடிக்கையாளர் கிளைகளுக்கு இணைத்து (merging) விட வேண்டும்.

வாடிக்கையாளர்களின் தற்போதைய நிரல் தொகுப்பிலிருந்து கோப்புகளை மேலே உருவாக்கிய கிளை பதிப்பில் நகல் செய்தால் அவர்களுக்காக செய்த மாற்றங்கள் நிரல் பராமரிப்புக்குள் வந்து விடும். அது சரிவர வேலை செய்கிறது என்று உறுதி செய்து கொண்ட பிறகு சோதனை கிளையிலிருந்து பயன் கிளைக்கு இணைக்கும் வேலையை மேலாளர் செய்து விடுவார்.

கடைசியாக பயன் கிளையிலிருந்து ஒரு பிரதியை எடுத்து வாடிக்கையாளர் இடத்தில் மாற்றி விடுவோம். இப்போது எல்லாமே ஒரே நிரல் கட்டுப்பாடு முறைக்குள் வந்து விட்டது.

மென்பொருள் பயன்பாட்டு நிரல்கள் ஒரு புறம் இருக்க, அதே நேரம் தரவுத் தள வடிவமைப்பின் பிரதிகளையும் கட்டுப்படுத்த வேண்டும். ஒரு வாடிக்கையாளர் பிரதிக்கும் இன்னொரு வாடிக்கையாளர் பிரதிக்கும் நிரல் கோப்புகள் மட்டுமின்றி, தரவுத் தள வடிவமைப்புகளும் எப்படி வேறுபடுகின்றன என்று கவனிக்க வேண்டியிருக்கும்.

ஒரு பிரதியில் மூன்று அடைவுகள் உருவாக்கிக் கொள்ள வேண்டும்.
திட்டம் 3
உரு
சோதனை
பயன்
-வாடி1
- பயன்பாடு
- நிரல் தொகுப்புகள்
- நுட்பக் கோப்புகள்
பயன்பாடு அடைவில் மென்பொருளைப் பயன்படுத்தும் போது பயனர் அணுகும் கோப்புகள் மட்டும் இருக்க வேண்டும். நிரல் தொகுப்புகளில் செயலிகள் (functions), செயலிக்கூட்டுகள் (classes) போன்றவற்றின் தொகுப்புகள் இருக்க வேண்டும். இவை பயன்பாட்டு நிரல்களில் சேர்க்கப் பட்டிருக்க வேண்டும். சேர்க்கப்பட்ட கோப்புகளுக்கான அடைவு இது என்று குறிப்பிட தோதுவாக இருக்கும்.

நுட்பக் கோப்புகளில் தரவுத் தளத்தை உருவாக்கப் பயன்படுத்திய உரைக் கோப்புகள் இருக்கும். தரவுத் தள வடிவமைப்பு ஒரு கோப்பு, கொடாநிலையாக முதலில் போட்டுத் தரும் தரவுகள் ஒரு கோப்பில், தரவுத் தள செயலிகளுக்கு ஒரு தனி அடைவு - அதில் ஒவ்வொரு செயலிக்கும் ஒரு கோப்பு. இப்படிப் போட்டு வைத்து விட்டால் வாடிக்கையாளர் பதிப்புகளுக்கிடையேயான தரவுத் தள மாறுதல்களையும் எளிதாகக் கையாளலாம்.

நிரல் பராமரிப்பு - 5

தொகுப்புக்குள், ஒவ்வொரு திட்டத்துக்கும் ஒரு அடைவு. மொத்தம் 5 திட்டங்கள். ஒவ்வொரு திட்டத்துக்குள்ளும் மூன்று அடைவுகள். dev, test, pro.

தொகுப்பு
- திட்டம் 1
உருவாக்கம்
சோதனை
பயன்
- திட்டம் 2
உருவாக்கம்
சோதனை
பயன்
- திட்டம் 3
உருவாக்கம்
சோதனை
பயன்

என்ற விரிவு.
  • உருவாக்கம் என்பது புதிய கூறுகளை உருவாக்குதல், பெரிய மாற்றங்களை செய்தல் போன்ற வேலைகளுக்குப் பயன்படும்.
  • சோதனையும், பயனும் ஒரே மாதிரி இருக்கும். இரண்டிலுமே தற்போது பயன்பாட்டில் இருக்கும் பிரதிகள் வைத்திருக்க வேண்டும். ஒவ்வொரு வாடிக்கையாளர் பிரதிக்கும் ஒரு கிளை இருக்கும்.
திட்டம் 2
உருவாக்கம்
சோதனை - வாடி 1
வாடி 2
வாடி 3
பயன் - வாடி 1
வாடி 2
வாடி 3

பயன் அடைவில் இருக்கும் குறிப்பிட்ட வாடிக்கையாளர் கிளையிலிருந்து பிரதியை எடுத்துப் பார்த்தால் அது அவர்கள் இடத்தில் ஓடும் நிரலை அப்படியே ஒத்திருக்க வேண்டும்.

வாடிக்கையாளரிடமிருந்து வரும் புகார் அல்லது கோரிக்கைக்கேற்ப நிரலை மாற்றுவதற்கு சோதனைக் கிளையிலிருந்து நிரல் பிரதி உருவாக்கிக் கொள்ள வேண்டும். செய்ய வேண்டிய மாறுதல்களைச் செய்து கோப்பை தொகுப்புக்கு அனுப்புவார் உருவாக்குனர். தொகுப்புக்கு அனுப்பும் போது நமது issue tracker பயன்பாட்டில் வாடிக்கையாளர் கோரிக்கையை உள்ளிடும் போது கிடைத்த கோரிக்கை எண்ணையும் (issue id) குறிப்பிட வேண்டும்.

இந்த மாறுதல், குறிப்பிட்ட கோரிக்கை எண் தேவையைச் சரி செய்வதற்காக சேர்க்கப்பட்டது என்று தெரிந்து கொள்ள இது உதவும்.

மாறுதலை செய்த ஊழியர் அது பற்றிய விபரத்தை, தொகுப்புக்கு அனுப்பும் போது கிடைத்த மாறுதல் எண்ணைக் (revision no) குறிப்பிட்டு, 'இன்ன கோரிக்கை எண்ணுக்காக, இன்ன மாறுதல் எண்ணில் மாற்றங்களை சோதனைத் தொகுப்பில் சேர்த்திருக்கிறேன்' என்று மேலாளருக்கு மின்னஞ்சல் அனுப்பி விடுவார். அதே தகவல் சோதனை குழுவுக்கும் போகும்.

சோதனை செய்பவர் குறிப்பிட்ட மாறுதல் எண்ணுக்கான பதிப்பை தொகுப்பிலிருந்து பெற்று என்னென்ன மாற்றங்கள் ஏற்பட்டுள்ளன என்ற விபரங்களையும் எடுத்து சோதனை செய்வார்.

மேலாளர் கோரிக்கை விபரங்களையும், மாறுதல்களையும் சீர்தூக்கிப் பார்ப்பார். எல்லாம் சரிவர இருந்தால், சோதனைக் குழுவின் சோதனை முடிவுகளும் ஒத்துப் போனால் அதே மாற்றங்களை சோதனைக் கிளையிலிருந்து பயன் கிளைக்கு கடத்துவார்.

இது போல மாற்றங்களை எடுத்தல், மாற்றங்களை ஒரு கிளையிலிருந்து இன்னொரு கிளைக்கு அனுப்புதல் போன்ற அன்றாட வேலைகளுக்கான கட்டளைகள் சப்வெர்ஷனில் மிக எளிதாக மாற்றப்பட்டுள்ளன.

வாடிக்கையாளர் பிரதிக்கு மேலாளர் பயன் கிளைக்கு கடத்திய மாறுதல் எண்ணுக்கான நிரல் மேம்பாட்டைச் செய்து விடுவோம். அதாவது வாடிக்கையாளரின் பயன்பாடும் சப்வெர்ஷன் தொகுப்பிலிருந்து எடுக்கப்பட்ட ஒரு பிரதியாகவே இருக்கும். அங்கே போய் மேம்படுத்தும் கட்டளையைக் கொடுத்தால் மாற்றங்கள் இறங்கி வந்து விடும்.

யார் என்ன மாற்றம் செய்ய வேண்டுமானாலும் அது சோதனை கிளையில்தான் நடக்க வேண்டும். பயன் கிளையில் மாற்றங்களைச் சேர்ப்பது சோதனைக் கிளையிலிருந்து இணைக்கும் முறையில் மட்டும்தான் நடக்க வேண்டும். அந்த இணைப்புக்கான அனுமதி ஒவ்வொரு திட்டத்துக்கும் ஒருவரின் பொறுப்பில் இருக்க வேண்டும்.

நிரல் பராமரிப்புத் தொகுப்பை இணைய வழங்கியில் வைத்துக் கொண்டு வாடிக்கையாளர் கணினிகள், வீட்டிலிருந்து வேலை பார்ப்பவர் என்று எல்லா இடங்களிலும் ஒத்திசைவு செய்து கொள்ளலாம். வெளியூர்களிலிருந்து நமது உருவாக்கத்தில் பங்களிக்க முன்வருபவர்களுக்கும் வசதியாக இருக்கும்.

சரி, ஏற்கனவே இருக்கும் நிரல் பிரதிகளை என்ன செய்வது. அவற்றை நிரல் பராமரிப்புத் தொகுப்புக்கு எப்படி கொண்டு வருவது என்றும் திட்டமிட வேண்டும்.

ஒவ்வொரு திட்டத்தின் சிவிஎஸ்சில் தற்போதைய பதிப்பை உருவாக்கம் கிளையாக ஆக்கி விட வேண்டும். எல்லா கோப்புகளையும் உருவாக்கம் கிளைக்குள் தகவிறக்கி விட்டால் போதும்.

உருவாக்கம் கிளையிலிருந்து புதிதாக உருவான கோப்புகளை அப்படியே சோதனை கிளையில் இருக்கும் ஒவ்வொரு வாடிக்கையாளர் கிளைகளுக்கு இணைத்து விட வேண்டும்.

வாடிக்கையாளர்களின் தற்போதைய நிரல் தொகுப்பிலிருந்து கோப்புகளை மேலே உருவாக்கிய கிளை பதிப்பில் நகல் செய்தால் அவர்களுக்காக செய்த மாற்றங்கள் நிரல் பராமரிப்புக்குள் வந்து விடும். அது சரிவர வேலை செய்கிறது என்று உறுதி செய்து கொண்ட பிறகு சோதனை கிளையிலிருந்து பயன் கிளைக்கு இணைக்கும் வேலையை மேலாளர் செய்து விடுவார்.

கடைசியாக பயன் கிளையிலிருந்து ஒரு பிரதியை எடுத்து வாடிக்கையாளர் இடத்தில் மாற்றி விடுவோம். இப்போது எல்லாமே ஒரே நிரல் கட்டுப்பாடு முறைக்குள் வந்து விட்டது. மேலே சொன்ன நடைமுறைப்படி மாற்றங்களை கையாளலாம்.

மென்பொருள் பயன்பாட்டு நிரல்கள் ஒரு புறம், அதே நேரம் தரவுத் தள வடிவமைப்பின் பிரதிகளையும் கட்டுப்படுத்த வேண்டும். ஒரு வாடிக்கையாளர் பிரதிக்கும் இன்னொரு வாடிக்கையாளர் பிரதிக்கும் நிரல் கோப்புகள் மட்டுமின்றி, தரவுத் தள வடிவமைப்புகளும் எப்படி வேறுபடுகின்றன என்று கவனிக்க வேண்டியிருக்கும்.

ஒரு பிரதியில் மூன்று அடைவுகள் உருவாக்கிக் கொள்ள வேண்டும்.
திட்டம் 3
உரு
சோதனை
பயன்
-வாடி1
- பயன்பாடு
- நிரல் தொகுப்புகள்
- நுட்பக் கோப்புகள்
பயன்பாடு அடைவில் மென்பொருளைப் பயன்படுத்தும் போது பயனர் அணுகும் கோப்புகள் மட்டும் இருக்க வேண்டும். நிரல் தொகுப்புகளில் செயலிகள் (functions), செயலிக்கூட்டுகள் (classes) போன்றவற்றின் தொகுப்புகள் இருக்க வேண்டும். இவை பயன்பாட்டு நிரல்களில் சேர்க்கப் பட்டிருக்க வேண்டும். சேர்க்கப்பட்ட கோப்புகளுக்கான அடைவு இது என்று குறிப்பிட தோதுவாக இருக்கும்.

நுட்பக் கோப்புகளில் தரவுத் தளத்தை உருவாக்கப் பயன்படுத்திய உரைக் கோப்புகள் இருக்கும். தரவுத் தள வடிவமைப்பு ஒரு கோப்பு, கொடாநிலையாக முதலில் போட்டுத் தரும் தரவுகள் ஒரு கோப்பில், தரவுத் தள செயலிகளுக்கு ஒரு தனி அடைவு - அதில் ஒவ்வொரு செயலிக்கும் ஒரு கோப்பு. இப்படிப் போட்டு வைத்து விட்டால் வாடிக்கையாளர் பதிப்புகளுக்கிடையேயான தரவுத் தள மாறுதல்களையும் எளிதாகக் கையாளலாம்.

நிரல் பராமரிப்பு - 4

எந்த ஒரு கருவியுமே பயன்படுத்துவதில்தான் பலன் கிடைக்கும். உலகிலேயே நல்ல கருவியை வாங்கி வைத்துக் கொண்டு சரியாகத் திட்டமிட்டுப் பயன்படுத்தத் தெரியா விட்டால் சொதப்பல்தான்.

எங்கள் நிரல் பராமரிப்பு முறையில் சில தடைக்கற்கள்.
  • முதலில் சிவிஎஸ் பயன்பாட்டை எப்படி பயன்படுத்துவது, யார் யார் பயனர்கள், திட்டங்கள் எப்படி வடிவமைக்கப்பட வேண்டும் என்ற தெளிவான திட்டமிடல் இல்லாமல் இருந்தது.
    ஆரம்பித்த காலங்களில் வாடிக்கையாளர்களுக்குத் தனியாக பதிப்பு வேண்டாம் என்று முடிவு செய்திருந்தோம். ஒரு பிரதியில் குறிப்பிட்ட மாறுதல் செய்தால் எல்லா இடங்களுக்கும் அந்த மாறுதலை அனுப்பி விட வேண்டும். எந்த நேரத்திலும் எல்லா வாடிக்கையாளர்களின் பிரதிகளும் ஒரே மாதிரி இருக்க வேண்டும்.

    நடை முறையில் அது சாத்தியமில்லாமல் போய் விட்டது. ஒவ்வொரு வாடிக்கையாளரின் தேவைக்கேற்ப தனிப்பயனாக்கம் செய்யும் போது அதே மாற்றத்தை மற்றவர்களுக்கும் பொருத்திக் கொள்வது நடக்கவில்லை. என்னதான், தகுதர நிரல் பிரதியோடு எல்லாவற்றையும் ஒத்திசைத்து விட வேண்டும் என்று பேசிக் கொண்டிருந்தாலும், ஒவ்வொன்று ஒவ்வொரு திசையில் இழுத்துக் கொண்டுதான் போய்க் கொண்டிருந்தன.

    அந்தத் தவறான கொள்கை முடிவின் விளைவுதான் வாடிக்கையாளர் பிரதிகளில் ஏற்படும் மாற்றங்கள் கைவழி செய்ய வேண்டியிருந்தது.

  • இரண்டாவது காரணம் சிவிஎஸ் என்ற கருவியின் தலைவலிகள். பல ஆண்டுகளுக்கு முன்பு வடிவமைக்கப்பட்ட சிவிஎஸ்ஸைப் பயன்படுத்த நல்ல பொறுமையும், கவனமும் வேண்டும். எல்லோராலும் அதை திறமையாகப் பயன்படுத்தி விட முடியாத அளவுக்கு அதன் கட்டளைகள், அறிக்கைகள் கொஞ்சம் கடுப்பாக இருக்கும். அதனால் கருவி இருந்தும் அடிப்படையாக ஓரிரு பயன்பாடுகளை மட்டுமே பயன்படுத்திக் கொண்டிருந்தோம்.

  • மூன்றாவதாக பணி புரிபவர்கள் மாறிக் கொண்டே இருந்தது. ஒரு மென்பொருள் உருவாக்கக் குழுவின், நிறுவனத்தின் வலிமையே அதன் குழு உறுப்பினர்கள்தான். இரண்டு ஆண்டுகள் பணி புரிந்த ஒருவர் வெளியேறி விட்டால், சதையே பிய்த்துக் கொண்டு போனது போலத்தான். நிலைமை குணமாகி வழக்கமான பணிகள் தொடங்க கொஞ்ச காலம் பிடிக்கும். அப்படி பல பேர் விலகிப் போய்க் கொண்டே இருக்கும் போது எந்த விதமான அமைப்புகளையும் கட்டிக் காக்க முடியாமல் குலைந்து போகின்றன.
மூன்றாவதை முதலில் சரி செய்து கொண்டோம். விட்டுப் போவதற்கான காரணங்கள் ஒவ்வொன்றாக நீக்கி விட்டோம். அதைப் பற்றி இன்னோரு இடத்தில் பார்க்கலாம்.

இரண்டாவது காரணத்தை எதிர் கொள்வது நாம் மட்டும் அல்ல, இன்னும் பலர் சிவிஎஸ்சின் கடுப்புகளை சந்தித்திருக்கிறார்கள். அதற்காக சும்மா இருக்காமல் ஒரு மாற்றுத் திட்டத்தைத் தொடங்கி சப்வெர்ஷன் என்று உருவாக்கி விட்டார்கள். சிவிஎஸ்சின் செயல்பாடுகள் அனைத்தையும், அதன் தலைவலிகள் இல்லாமல் கொடுப்பதுதான் சப்வெர்ஷனின் நோக்கம். ஏழெட்டு ஆண்டுகளில் நல்ல வளர்ச்சி பெற்று, இன்றைக்கு சிவிஎஸ் பயன்படுத்தி வந்த பெரிய மென்பொருள் திட்டங்கள் எல்லாம் சப்வெர்ஷனுக்கு மாறி விட்டன.

அதுதான் திறவூற்று மென்பொருள் உலகின் சிறப்பு. உங்களுக்குப் பிடிக்கா விட்டால், திட்டத்தை நகல் செய்து தனி வழியில் உருவாக்கிக் கொள்ளலாம்.

ஒரு பிற்பகலில் உட்கார்ந்து சப்வெர்ஷன் குறித்துப் படித்து அதன் கட்டளைகளை பயன்படுத்திப் பார்த்தேன். சிவிஎஸ் பயன்படுத்தும் போது, 'இது இப்படி இருந்தால் தோதுவாக இருக்குமே' என்று நமக்குத் தோன்றும் இடத்தில் எல்லாம் அதை மேம்பாடு செய்திருக்கிறார்கள் சப்வெர்ஷனில். அதனால் சப்வெர்ஷனுக்கு மாறி விடலாம் என்று முடிவு செய்தோம். ஒன்றரை மாதக் காலத்தில் புதிய முறைக்கு முற்றிலுமாக மாறி விட வேண்டும்.

இதற்குத் திட்டமிடலையும் நமது தேவைகளுக்கு ஏற்றவாறு செய்து விட வேண்டும்.

சப்வெர்ஷனில் பல பிரதிகளை உருவாக்கிக் கொள்வதில் எந்த தடையும் கிடையாது. ஒரு கிளையிலிருந்து இன்னொரு கிளைக்கு மாற்றங்களை இணைப்பதும் எளிதாக செய்து கொள்ளலாம். மாற்றங்களின் விபரங்களைத் தெரிந்து கொள்வதும் எளிதாக்கப்பட்டிருக்கிறது.

சப்வெர்ஷனில் திட்டங்கள் (projects), பிரதிகள் (versions), வெளியீடுகள் (releases), கிளைகள்(branches) எல்லாமே அடைவுகள்தான் (directories). நமது நிரல் தொகுப்புகள் அனைத்துமே ஒன்றுடன் ஒன்று தொடர்புடையவை ஆதலால் எல்லாவற்றையும் ஒரே தொகுப்புக்குள் (repository) போட்டு விடலாம் என்று முடிவு.

Friday, October 12, 2007

நிரல் பராமரிப்பு - 3

எங்கள் நிறுவனத்தில் ஆரம்பத்திலிருந்தே சிவிஎஸ் பயன்படுத்த ஆரம்பித்தாலும் அதை பகுதி அளவிலேயே பயன்படுத்துகிறோம்.

இன்றைக்கு இரண்டு பெரிய, இரண்டு சிறிய என்று நான்கு மென்பொருள் திட்டங்கள்.
  • தோல் பதனிடும் நிறுவனங்களுக்கான திட்டத்தில் கிட்டத்தட்ட இருபது வாடிக்கையாளர் பிரதிகள் அவர்கள் இடத்தில் இருக்கின்றன.
  • காலணி உருவாக்கும் நிறுவனங்களுக்கான திட்டத்தில் 5 பிரதிகள் வாடிக்கையாளர்கள் கணினிகளில் நிறுவியுள்ளோம்.
  • இந்த இரண்டும், புதிதாக ஆரம்பித்துள்ள வேதிப் பொருள் நிறுவனங்களுக்கான திட்டம் மற்றும் வாடிக்கையாளர் பின்னூட்டங்களை சேகரிக்கும் பயன்பாட்டுக்கான திட்டம் ஆக நான்கு திட்டங்களில் பிரதிகள் எங்கள் இணைய வழங்கியிலும் நிறுவியிருக்கிறோம்.
  1. தினமும் அலுவலகத்தில் 10-15 பேர் தேவையான மாற்றங்களைச் செய்ய வேண்டும்.
  2. அந்த மாற்றங்கள் இணையக் கணினிக்கும், வாடிக்கையாளர் இடங்களுக்கும் போய்ச் சேர வேண்டும்.
  3. யாராவது வாடிக்கையாளர் சேவைக்குப் போயிருக்கும் போது சிறு மாறுதல்கள் அங்கு செய்திருந்தால் அந்த மாறுதல் அலுவலகப் பதிப்புகளில் சேர்க்கப்பட வேண்டும்.
  4. சில மாறுதல்கள் குறிப்பிட்ட வாடிக்கையாளருக்கு மட்டும் தேவைப்படுபவை. அவற்றை அவர்களின் பிரதியில் மட்டும் மாற்றி விட்டு மற்ற பிரதிகளில் மாறாமல் வைத்துக் கொள்ள வேண்டும்.
  • இப்போது அலுவலகத்தில் ஒரு கணினியில் cvs பயன்பாட்டை நிறுவியிருக்கிறோம்.
  • ஒவ்வொருவரும் வேலை செய்ய ஒரு பிரதியை எடுத்து வைத்துக் கொள்வார்கள்.
  • தினமும் வேலை ஆரம்பிக்கும் முன்பு மத்திய பிரதியில் ஏற்பட்டுள்ள மாற்றங்களை தமது பிரதிக்கு ஒத்திசைவு செய்து கொள்ள வேண்டும்.
  • தமது மாறுதல்களை அனுப்பும் முன்பு மத்திய பிரதியில் ஏற்பட்டுள்ள மாற்றங்களை தமது பிரதிக்கு ஒத்திசைவு செய்து கொள்ள வேண்டும்.
  • மாற்றங்களை முடித்து தனது பிரதியில் சரியாக இருக்கிறது என்ற பார்த்த பிறகு மாறுதல்களை மத்திய பிரதிக்கு அனுப்பி விட வேண்டும்.
  1. சின்னச் சின்ன வழு சரி செய்தல்களுக்கு (bug fixing) ஒரு மாறா கிளையும் (stable branch), பெருமளவு புதிய மாற்றங்களுக்கு (development branch) இன்னொரு கிளையும் வைத்திருக்கிறோம்.
  2. மாறாக் கிளையிலிருந்து ஒரு பிரதியை எடுத்து இணைய வழங்கியில் நிறுவியுள்ள பிரதிக்கு தினமும் மாறுதல்களை சேர்த்து விடுவோம்.
  3. மாறாக் கிளையில் செய்த மேம்பாடுகளை உருவாக்கக் கிளைக்கு தினமும் இணைக்க (merging) கட்டளை கொடுத்து விடுவோம்.
  4. உருவாக்கக் கிளையில் மாற்றங்கள் முடிந்து நல்லபடியாக வேலை நடக்கிறது என்று உறுதிப் படுத்திக் கொண்ட பிறகு ஒரு மாதத்துக்கு ஒரு முறை அல்லது இரண்டு மாதங்களுக்கு ஒரு முறை உருவாக்கக் கிளையை புதிய மாறாக் கிளையாக மாற்றி விட்டு அடுத்த உருவாக்கங்களுக்குப் புதிய ஒரு கிளையை உருவாக்கிக் கொள்கிறோம்.
  • வாடிக்கையாளர்களின் பிரதிகளை cvsல் சேர்க்காமல் தனியாக அடைவுகளில் போட்டு வைத்திருப்போம்.
  • வாடிக்கையாளர் பிரதியில் நேரடியாக மாறுதல்கள் செய்வதைத் தவிர்த்து விட்டு தகுதர திட்டத்தில் மாற்றம் செய்து அது சரியாக வேலை செய்த பிறகு வாடிக்கையாளர், தேவையான கோப்புகளை மட்டும் எடுத்து வாடிக்கையாளர் பிரதியுடன் ஒப்பிட்டு சேர்த்து விடுவோம்.
  • வாடிக்கையாளரின் பிரதியில் ஏதாவது சிறப்பு மாற்றங்கள் செய்த அதே வரிகள் புதிய பிரதியிலும் மாறியிருந்தால் இரண்டையும் ஒத்திசைக்க முயற்சி செய்வோம்.
    இந்த விதி நடைமுறையில் பல முறை மீறப்பட்டே வருகிறது. வாடிக்கையாளர் ஏதாவது மாற்றம் கேட்டால், நேரடியாக அவர்கள் பிரதியில் மாற்றம் செய்து அனுப்புவது நடக்கிறது
  • அலுவலகக் கணினியில் இருக்கும் வாடிக்கையாளர் பிரதியில் கோப்புகளை சேர்த்துப் பரிசோதித்துப் பார்த்த பிறகு அவற்றை மின்னஞ்சல் மூலம் அல்லது யாரவது போகும் போது அனுப்பி வாடிக்கையாளர் கணினியில் இருக்கும் பிரதியில் சேர்த்து விடுவோம்.
  • வாடிக்கையாளர் கணினியில் இருக்கும் பிரதியில் ஏதாவது மாற்றினால் அதை அலுவலகத்தில் இருக்கும் பிரதியில் மறக்காமல் சேர்த்து விட வேண்டும்.
சுருக்கமாகச் சொல்லப் போனால் வாடிக்கையாளர்களின் பிரதிகளைப் பராமரிக்க சிவிஎஸ் போன்ற பயன்பாட்டின் வேலைகளை நாங்களே ஒவ்வொரு முறையும் பல கருவிகளை ஒருங்கிணைத்துச் செய்து கொண்டிருக்கிறோம். அதனால் பல குளறுபடிகள். "இங்கு மாற்றியது அங்கு போய்ச் சேரவில்லை." "வாடிக்கையாளர் பிரதிக்கும் தகுதர பிரதிக்கும் ஒத்திசைவு இல்லாமல் போகிறது."

நிரல் பராமரிப்பு - 2

இது cvsல் எப்படி நடக்கிறது என்று பார்க்கலாம்.

ஒரு மென்பொருள் திட்டத்தில் நான்கு அடைவுகள் இருக்கின்றன என்று வைத்துக் கொள்வோம்.
global_files
programs
admin
users

ஒவ்வொன்றினுள்ளும் பல கோப்புகள் அல்லது உள்அடைவுகள் இருக்கலாம்.
project
global_files -
global_db.inc
global_form.inc
global_report.inc
global_page.inc
programs -
order_entry.php
shipment_entry.php
bill_entry.php
order_report.php
admin -
backup_db.php
user_management.php
users -
change_password.php
preferences.php
login.php

இவை அனைத்தையும் ஒரு மத்திய இடத்தில் பிரதி செய்து வைத்துக் கொள்ளும் சிவிஎஸ்.

இப்போது ரவி என்பவர் வேலைக்கு வந்தால் அந்த மத்திய பிரதியிலிருந்து ஒரு பிரதியை தனது கணினிக்குக் கொண்டு வருமாறு (checkout) கட்டளை கொடுப்பார். அவருடைய அடைவில் எல்லா கோப்புகளும் மேலே இருக்கும் அதே அமைப்பில் பிரதி செய்யப்பட்டு விடும்.

ரவி order_entry.php என்ற கோப்பில் மாறுதல்கள் செய்கிறார். மாறுதல்கள் எல்லாம் அவரது பிரதியில்தான் நடக்கும். மத்திய பிரதியில் எந்த மாறுதலும் இல்லை.

இந்த நேரத்தில் தேவி என்பவர் தனக்கென ஒரு பிரதி வேண்டினால் ரவி செய்த மாறுதல்கள் சேராத கோப்புகள்தான் கிடைக்கும். தேவியும் வேலையை ஆரம்பித்து விடலாம். இதே போல் எத்தனை பேர் வேண்டுமானாலும் தனித்தனி பிரதிகள் எடுத்து வேலை செய்து கொண்டிருக்கலாம்.

தேவி தன் வேலையை முடித்து மாறுதல்கள் எல்லாம் சரிவர வேலை செய்கின்றன என்று சரிபார்த்து விட்டு அந்த மாற்றங்களை மத்திய பதிப்பில் சேர்க்க (commit) விரும்புகிறார். அவர் bill_entry.php என்ற கோப்பையும் order_entry.php என்ற கோப்பையும் மாற்றியிருக்கிறார் என்று வைத்துக் கொள்வோம்.

முதலில் தான் வேலை செய்து கொண்டிருந்த போது வேறு யாரும் மாற்றங்களை மத்திய பிரதியில் சேர்த்திருந்தால் அவற்றை தன் பிரதியில் புதுப்பித்துக் கொள்ள ஒத்திசைவு கட்டளையைக் (update) கொடுப்பார். இது வரை எதுவும் மாறியிருக்கவில்லை. தேவி தனது மாற்றங்களை மத்திய பிரதியில் சேர்க்க (commit) கட்டளை கொடுத்ததும். சிவிஎஸ் மத்திய பிரதிக்கும் தேவியின் பிரதிக்கும் இடையே ஒவ்வொரு கோப்புக்கும் என்னென்ன வேறுபாடுகள் உள்ளன என்று பார்த்து விட்டு தேவியின் மாறுதல்களை மத்திய பிரதியில் சேர்த்து விடும்.

இதற்குள் ரவியும் தனது வேலையை முடித்து விட்டார். அவர் order_entry.php என்ற கோப்பில் மாற்றங்கள் செய்துள்ளார். இப்போது மத்திய பிரதியையும் தனது பிரதியையும் ஒத்திசைக்க (update) கட்டளை கொடுத்தாரானால், தேவி மாற்றியிருந்த bill_entry.php ரவியின் பிரதிக்கும் வந்து விடும்.

ஆனால் order_entry.php என்ற கோப்பு மத்திய பிரதியிலும் மாறியிருக்கிறது. ரவியின் பிரதியிலும் மாறியிருக்கிறது. இப்போது சிவிஎஸ் பயன்பாடு இரண்டு கோப்புகளுக்குமிடையே என்ன வேறுபாடு என்று ஒவ்வொரு வரியாக ஒப்பிட்டுப் பார்க்கும். மாறுதல்கள் வெவ்வேறு வரிகளில் இருந்தால் மத்திய பிரதியின் மாறியுள்ள வரிகளை மட்டும் ரவியின் கோப்பில் மாற்றி விடும். ரவி செய்த மாறுதல்கள் அப்படியே இருக்கும்.

கடைசியாக ரவி தனது மாறுதல்களை மத்திய பிரதிக்கு அனுப்ப கட்டளை கொடுத்தால் தேவியின் மாற்றங்களையும், ரவியின் மாற்றங்களையும் உள்ளடக்கிய கோப்பு மத்திய பிரதிக்கு வந்து விடும். அடுத்த முறை தேவி அல்லது பிற ஊழியர்கள் ஒத்திசைக்கும் கட்டளை கொடுத்தால் இந்த பிரதி அவர்களுக்கும் போய்ச் சேர்ந்து விடும்.

முந்தைய பத்தியில் இரண்டு கோப்புகளிலும் ஒரே வரிகளில் மாறுதல்கள் இருந்தால் என்ன நடக்கும்? அதாவது தேவி மாற்றிய அதே வரியை ரவியும் மாற்றியிருக்கிறார், என்ன ஆகும்? அப்படி ஒரு நிலைமையைக் கண்டால் சிவிஎஸ் பயன்பாடு ரவி ஒத்திசைக்கும் போது அந்த விபரங்களைக் (conflict) காட்டி தேவியுடன் பேசி மாற்றங்களை ஒன்றையொன்று இடிக்காமல் சரி செய்து கொள்ளும் படி தகவல் கொடுக்கும்.

இந்த எளிய வழியைப் பயன்படுத்தி ஆயிரக்கணக்கானவர்கள் பல லட்சம் வரி நிரல் தொகுப்புகளில் ஒரே நேரத்தில் வேலை செய்ய முடிகிறது.

நிரல் பராமரிப்பு - 1

மென்பொருள் உருவாக்கத்தில் நிரல்ஊற்று பராமரிப்பு (source control) மிக முக்கியமான ஒன்று. அது என்னவென்று பார்க்கலாம்.

மிக எளிதான சிறு நிரல்களைத் தவிர்த்து மற்ற எல்லா பெரிய மென்பொருள் உருவாக்கத் திட்டங்களிலும் நிரல்களை பல கோப்புகளில் பிரித்தால்தான் சமாளிக்க முடியும். ஒரே மாதிரியான அல்லது ஒரே வேலைகளைச் செய்யும் நிரல் கோப்புகளை ஒரு அடைவில் (directory) சேர்த்து வைக்க ஆரம்பித்தால் பல அடைவுகளும் உருவாகி விடும்.

ஒரு மென்பொருள் திட்டத்தின் மூலநிரல் தொகுப்பில் பல அடைவுகளும் ஒவ்வொரு அடைவுக்குள்ளும் இன்னும் பல அடைவுகள் அல்லது பல கோப்புகளும் இருக்கலாம்.

அந்த அளவு பெரிய திட்டத்தில் தனி ஒருவராக நிரல் எழுதுவது நடக்காது. நான்கைந்து பேரில் ஆரம்பித்து நூற்றுக் கணக்கான பேர் நிரல் எழுதுவார்கள். மாற்றங்கள் செய்வார்கள். வழுக்களைச் சரி செய்வார்கள்.

இப்படி பல கோப்புகளை, பலர் இணைந்து கையாளும் போது பல சிக்கல்கள் ஏற்படும்:
  1. ஒரே நேரத்தில் இரண்டு பேர் ஒரே கோப்பை மாற்றிக் கொண்டிருந்தால் ஒன்றுக்கொன்று மேலெழுதிப் போகும்.
  2. குறிப்பிட்ட மாற்றத்தில் ஏதாவது வழு இருந்தால் அதை என்று நிகழ்ந்தது என்று தேடிக் கண்டுபிடிப்பது பெரும் பாடாகிப் போகும்.
இவற்றைச் சமாளிக்க ஏற்பட்டவைதான் நிரல்பதிப்பு பராமரிப்பு மென்பொருள்கள்.
  • திறவூற்று உலகில் பரவலாகப் பயன்படுத்தப்படுவது cvs (concurrent version control - ஒத்திசைந்த நிரல்பதிப்பு பராமரிப்பு) என்ற பயன்பாடு.
  • cvsன் குறைபாடுகளைக் களைந்து புதிதாக சப்வெர்ஷன் (subversion) என்ற பயன்பாடு உருவாக்கப்பட்டுள்ளது.
  • இந்த இரண்டும் போதாது என்று லினஸ் தோர்வால்ட்ஸ், லினக்சு கெர்னல் உருவாக்கத்தைப் பராமரிக்க கிட் (git) என்ற கருவியைத் தானே எழுதிப் பயன்படுத்த ஆரம்பித்துள்ளார்.
  • இவற்றைத் தவிர மைக்ரோசாப்டு நிறுவனத்தின் sourcesafe என்ற பயன்பாட்டையும் காசு கொடுத்து வாங்கிக் கொள்ளலாம்.
நான் cvs மற்றும் சப்வெர்ஷன் பயன்படுத்தியிருக்கிறேன். மேலே சொன்ன இரண்டு குறிக்கோள்களையும் அடைய உதவுகின்றன இவை. அதாவது, ஒரே நேரத்தில் ஒரே கோப்பை ஒன்றுக்கு மேற்பட்டவர்கள் மாற்றிக் கொண்டிருந்தாலும் எல்லோரது வேலையும் ஒன்றுக்கொன்று இடிக்காமல் இருக்க வேண்டும். பல்வேறு பதிப்புகளை நாள்,நேரம் குறிப்பிட்டு பராமரிக்க முடிய வேண்டும்.

Thursday, July 19, 2007

சில குறிப்புகள் - மென்பொருள் துறையில் தொழில் வேலை வாய்ப்புகள்

'அப்படி என்னதான் செய்யறீங்க? இத்தனை ஆயிரம் கோடி ஏற்றுமதி என்கிறாங்க, இத்தனை லட்சம் படிச்ச பசங்க வேலை பார்க்கிறாங்க. இன்னும் பல ஆண்டுகளுக்கு இது வளர்ந்து கொண்டே போகும் என்கிறாங்க. மென் பொருள்னா என்னங்க?'

'பொதுவா ஒரு பொருளை, சேவையை உருவாக்கி ஒருத்தருக்குக் கொடுத்து காசு சம்பாதிக்கிறோம். மென்பொருள் துறையில் என்ன நடக்குது, இவ்வளவு வளர்ச்சி என்று புரியவில்லை'

என்று நண்பர் ஒருவர் கேட்டார். வேதித் தொழில் நுட்பம் படித்து வளைகுடா நாடு ஒன்றில் பெரிய வேலையில் இருக்கிறார்.

நாமெல்லாம் கையால், விலங்குகளின்் ஆற்றலால் செய்து வந்த வேலைகளை இயந்திரங்களால் செய்ய ஆரம்பித்தது தொழில் புரட்சி போல, மனித மூளையில் நடந்து வந்த வேலைகளை கணினிகளால் செய்து கொள்வது தகவல் தொழில் நுட்பப் புரட்சி. நாம் இப்போது இருப்பது அந்தப் புரட்சியின் ஆரம்பக் கட்டங்களில்.

  • எங்கெல்லாம் திரும்பத் திரும்ப நடக்கும் கணக்குகள் போட வேண்டுமோ,
  • எங்கெல்லாம் தகவல்களைத் திரட்டி வைத்துக் கொண்டு பின்னர் பயன்படுத்த வேண்டியிருக்கிறதோ,
  • எங்கெல்லாம் புதிய கருவிகளில் சிந்திக்கும் வேலை செய்ய வடிவமைக்க வேண்டுமோ
அங்கெல்லாம் மனித சிந்தனையை முழுமையாகவோ, பகுதியாகவோ மாற்றிக் கொள்ள கணினிகள் பயன்படுத்தப்படுகின்றன. கணினிகளை இயக்க தேவைப் படும் உயிர்ப் பொருள்தான் மென்பொருள்.

அதுக்கு ஏன் இவ்வளவு மதிப்பு?

ஒரு நிறுவன மேலாண்மையை எடுத்துக்குவோம். சின்னக் கடை என்று வைத்துக் கொள்வோம். மொத்தமாக நொறுக்குத் தீனிகள் வாங்கி சின்ன அளவில் பொதிந்து கடைகளுக்கு அனுப்பி வைக்கும் பணி. வேலை செய்ய ஆறு பேர், தின்பண்டங்களை வழங்குபவர்கள் 10-15 இடங்கள், வாடிக்கையாளராக சில்லறை விற்பனைக் கடைகளுக்கு வினியோகிக்கும் பணி செய்பவர்கள் 10-12 பேர்.

இந்தத் தொழிலில் கையாள வேண்டிய விபரங்கள்,
  • யாரிடமிருந்து என்ன விலைக்கு, எந்தப் பொருளை வாங்குகிறோம்,
  • அவருக்குப் பணம் கொடுக்க வேண்டிய கொடுத்த தகவல்கள்,
  • வேலை பார்ப்பவர்கள் தினமும் வந்த விபரம், விடுமுறை எடுத்த விபரம்,
  • போட்ட பொதிகளின் எண்ணிக்கை அளவு வாரியாக,
  • யார் எத்தனை பொதிகள் எடுத்துச் சென்றார்கள், யார் எவ்வளவு பணம் தர வேண்டும்,
  • கைவசம் விற்காமல் சரக்கு எவ்வளவு மீதி இருக்கிறது
என்று வரவு செலவு கணக்கு போட வேண்டும்.
  • எந்த விற்பனையாளரிடமிருந்து வாங்கிய பொருளில் குறைபாடுகள் தென்பட்டன,
  • எந்த பொருளுக்கு விற்பனை அதிகரிக்கிறது, எதற்குக் குறைகிறது.
  • புதிதாக என்ன விற்க ஆரம்பிக்க வேண்டும்
என்று எதிர்காலத் திட்டமிடல்களும் வேண்டும்.

கணினி காலத்துக்கு முன்பு இத்தகைய தொழிலில் உரிமையாளர் ஒரு சின்ன நோட்டுப் புத்தகத்தில் விபரங்களைத் தனக்குப் புரியும் படிக் குறித்து வைத்துக் கொள்ளலாம், பணம் வர வேண்டிய விபரம், கையிருப்பு இரண்டையும் பார்த்துக் கொண்டால் போதுமானது.

இன்னும் நுணுக்கமாக தகவல் சேகரிக்க, குறித்து வைக்க அதை அலசிப் பார்க்க ஆரம்பித்தால் அவருக்கு அதற்குத்தான் நேரம் சரியாக இருக்கும் அல்லது புதிதாக ஆள் போட வேண்டும். பெரிய நிறுவனங்களில் கணினிகள் வரும் முன்னரே இது போன்று தகவல் திரட்டுவதற்காக சிலரை வைத்திருப்பார்கள்.

ஆனாலும் மனித மூளையைப் பயன்படுத்தி சில வேலைகளை செய்வதில் அளவு இருக்கிறது. பெருவாரியான தகவல்களை சேமித்த வைத்தல், சிக்கலான கணக்குகளைப் போடுதல் போன்ற பணிகளுக்கு நமது மூளை அவ்வளவு திறமுடையது இல்லை. அந்த வேலைகளுக்கு மின்னணுக் கருவிகளைப் பயன்படுத்துவதுதான் கணினித் துறை.

நீராவி எந்திரத்தை மனித ஆற்றலுக்கும், கால்நடைகளின் உழைப்புக்கும் மாற்றாகப் பயன்படுத்த ஆரம்பித்த பிறகு அது வரை முடியாத பலப் பல சாத்தியங்கள் தோன்றின. தரையில் வேகமாகப் போக இயந்திரங்களை பயன்படுத்தும் போது, கிடைத்த கூடுதல் வேகத்தைப் பயன்படுத்தி பறக்கும் விமானங்களை உருவாக்க முடிந்தது. இதே போல நூற்றுக் கணக்கான, ஆயிரக் கணக்கான சிறிதும் பெரிதுமான கண்டுபிடிப்புகள் தோன்றி மனித வாழ்க்கையை மாற்றி அமைத்தன.

இவ்வளவு இருந்தாலும் 'இயந்திரம் என்ன வேலை செய்ய வேண்டும், எப்போது செய்ய வேண்டும்' என்று திட்டமிட்டு, தீர்மானித்து அதை இயக்குவது மனிதக் கைகளால்தான் நடந்தது.

அதே போல நமது மூளையால், முடிந்த வரை செய்து வந்த வேலையைக் கணினிகளுக்கு தள்ளி விட்டு வேகமாக துல்லியமாக முடிக்கும் வசதி உருவானவுடன் புதிய புதிய கண்டுபிடிப்புகளும் சாத்தியமாகின்றன.

எவ்வளவுதான் நடந்தாலும் கணினிகளைப் பயன்படுத்துவது, வடிவமைப்பது, இயக்குவது மனிதர்களாகத்தான் இருக்கிறது.

இப்படியாக வழக்கமான தொழில்களின் தகவல் திரட்டல், அலசுதல், பழைய கருவிகளை இயக்குதல், புதிய கண்டுபிடிப்புகளுக்கு உயிர் கொடுத்தல் என்று கணினிகள் பயன்படுத்தப்படும் எல்லா இடங்களிலும் மென்பொருட்கள் எனப்படும் கணினியின் உயிர்ப்பொருட்கள் பயன்படுகின்றன.

இத்தகைய மாற்றங்களில் பெரும் பகுதி அமெரிக்கா, ஐரோப்பா, ஜப்பான் போன்ற வளர்ந்த நாடுகளில்தான் நடக்கின்றன.

நம்ம ஊரில் ரயில்வே துறையில் பயண முன்பதிவு, வங்கிகளில் கணினி மயமாக்கம், தொலை தொடர்பு நிறுவனங்களில் கணினி மயமாக்கம் என்று இருப்பது போல ஒவ்வொரு துறையிலும் கணினிகளைப் பயன்படுத்த ஆரம்பித்து விட்ட முன்னேறிய நாடுகளில்தான் மென்பொருள் தேவை பெரிய அளவில் இருக்கிறது.
  • மருத்துவர் ஒருவர் தான் பார்த்த நோயாளியைப் பற்றிய விபரங்களைச் சேமிக்க கணினிகள் பயன்படுத்தப் படுகின்றன.
  • தொழில் நிறுவனங்கள் தமது வாங்கல், விற்றல், சரக்கு கையிருப்பு, ஊழியர்களை கையாளுதல் போன்றவற்றுக்குக் கணினிப் பயன்பாடுகளைப் பயன்படுத்துகின்றன.
  • புதிது புதிதாகக் கண்டுபிடிப்புகள் தோன்றி அவற்றை இயக்க மென்பொருட்கள் தேவைப் படுகின்றன.
'நாம் மென்பொருள் துறையில் வல்லரசு, இந்தியாவை நம்பித்தான் மேலை நாடுகள் இயங்குகின்றன, இந்தியா ஒளிருகிறது' என்று பேசிக் கொள்வதில் முற்றிலும் உண்மை இல்லை.

மென் பொருள் பயன்படுத்துவது, அதன் மூலம் வாழ்க்கைத் தரம் உயர்வது, புதிய கண்டுபிடிப்புகள் நடப்பது எல்லாம் வேறு இடங்களில்தான். அதனால் அங்கு இருக்கும் வல்லுநர்கள் என்ன மென்பொருள் தேவை, அது எப்படி வடிவமைக்கப்பட வேண்டும், அதற்கு என்ன செலவு செய்யலாம் என்று திட்டமிட்டு அதை உருவாக்கும், பராமரிக்கும் பணியை நம் பக்கம் தள்ளி விடுகிறார்கள். அதைத்தான் நமது இளைஞர்கள் மாய்ந்து மாய்ந்து செய்கிறோம்.

இந்த நமது பணிக்கு ஆண்டுக்கு 50,000 கோடி வருமானம் கிடைக்கிறது என்றால் இந்தப் பணியைப் பயன்படுத்தும் சமூகங்களுக்கு அதை விட இரண்டு மடங்காவது நன்மை கிடைக்கும் அல்லவா?

மென்பொருள் என்பது ஒரு வீடு கட்டவது போல என்று வைத்துக் கொள்ளலாம்.

ஒருவருக்கு வசிக்க வீடு வேண்டும். அந்தக் குடும்பத்தில் எத்தனை பேர், யார் யார் என்ன செய்கிறார்கள், எவ்வளவு பெரிதாக இருக்க வேண்டும், என்னென்ன வசதிகள் இருக்க வேண்டும் என்று அலசி ஆராய்வது முதல் படி.

இரண்டாவதாக இந்தத் தேவையை எப்படி செயல் படுத்த முடியும் என்று படம் வரைவது, தொழில் நுட்பச் சாத்தியங்கள், செலவுகள் முதலியவற்றைக் கருத்தில் கொண்டு திட்டம் ஒன்றை உருவாக்குவது இரண்டாவது படி.

அதை வாடிக்கையாளர் ஏற்றுக் கொண்டால், திட்டத்தை எப்படிச் செயல்படுத்துவது என்று நடைமுறை வேலைகளைப் பார்ப்பது மூன்றாவது படி.

இந்த மூன்றாவது படி வேலைகளைத்தான் வெளிநாடுகளுக்கு மென்பொருள் சேவையை ஏற்றுமதி செய்யும் இந்திய நிறுவனங்கள் செய்கின்றன. ஜாவா, டாட் நெட் என்ற படித்து விட்டு வேலைக்குச் சேர்ந்தால் செய்யும் பணி கட்டிடம் கட்டும் வேலையில் செங்கல் அடுக்குவது, சாந்து குழைப்பது போன்ற வேலைகள்தான்.

அடுத்த படியில் உருவாக்கிய மென்பொருளைப் பராமரித்தல், பயன்படுத்தும் போது ஏற்படும் குறைகளை நிவர்த்தித்தல், பயனர் புதிதாகக் கேட்கும் மேம்பாடுகளை உருவாக்குதல் என்று முடிவில்லாமல் பணிகள் உள்ளன. வீட்டை தினமும் கூட்டிப் பெருக்க வைக்க நேரமும், ஆட்களும் இல்லாத நாடுகள் தகவல் தொழில் நுட்பப் புரட்சியின் சாத்தியங்களால் அந்த வேலைகளை வெளிநாடுகளில் செய்து வாங்கிக் கொள்ள முடிகிறது.

வேலை வாய்ப்பு என்று பரவலாகக் கிடைப்பது மேலே விளக்கியது போன்ற குறைந்த மதிப்பிலான பணிகள்தாம். அதனால் அவற்றைக் குறைத்து மதிப்பிட வேண்டியதில்லை. மென்பொருள் துறை இந்தியாவில் வளர்ந்ததால் பல்லாயிரக் கணக்கான பேருக்கு முன்பு நினைத்துப் பார்க்க முடியாத அளவுக்கு வருமானம் கிடைக்கிறது. அந்தப் பணம் வரியாக அரசாங்கத்துக்குப் போய் நலப் பணிகளில் பயன்படுகிறது. மென்பொருள் துறையில் பணிபுரிபவர்களின் குடும்பங்களை தளைக்கின்றன. தொழில் வாய்ப்புகள் பெருகுகின்றன.

ஆனால், இவை எல்லாவற்றையும் விடப் பல மடங்கு மதிப்புள்ள சாத்தியங்கள் மென்பொருள் துறையில் உள்ளன. கணினிகளை நம் ஊர் பணிகளுக்கு செயல்படுத்தும் பெரும் பணி காத்திருக்கிறது. அதைச் செய்ய பெருமளவிலான முயற்சிகள் நடப்பதில்லை. பெரிய நிறுவனங்கள் கூட அமெரிக்க ஐரோப்பிய பணிகளை மட்டுமே எடுப்பது என்று கொள்கை முடிவுடன் இயங்குகின்றன.

வேலை வாய்ப்பு என்று சொன்னால், அத்தகைய நிறுவனங்களில் திறமையான, படித்த, பயிற்சி பெற்ற இளைஞர்களுக்கு வேலைக்குப் பஞ்சமே இல்லை.

ஆனால் பெரும் புதையல் காத்திருப்பது உள்ளூர் பொருளாதாரத்தில். பேருந்தில் போகும் போது சீட்டு கொடுத்த பிறகு ஒரு சின்ன அட்டையில் கணக்குகளை எழுதிக் கொள்கிறார் நடத்துனர், பெங்களூரூவில் இருப்பது போல ஒரு குட்டிக் கணினியைக் கையில் வைத்துக் கொண்டு, அதில் விபரங்களை ஒத்தி சீட்டு அச்செடுத்துக் கொடுத்தால் விபரங்கள் தானாகவே பதிவாகி பணி முடிந்ததும் மையக் கணினியில் ஒப்படைத்து விடலாம். நடத்துனரின் பணி பல மடங்கு எளிதாகி விடும்.

எந்த தடத்தில் எந்த நேரத்தில் எந்த பருவத்தில் கூட்டம் அதிகமாக வருகிறது என்று ஆராய்ந்து பார்க்க, அதிக முயற்சி இல்லாமல், கணினியில் பதிக்கப்பட்ட விபரங்களைப் பயன்படுத்தி அறிக்கை உருவாக்கிக் கொள்ளலாம். அதற்கு சில நிமிடங்கள்தான் பிடிக்கும். அதைப் பொறுத்து முடிவுகளை எடுத்து பயணிகளுக்கு சேவையை மேம்படுத்தலாம்.

வளர்ந்த நாடுகளில் இந்த வேலைகளைச் செய்ய போதுமான பணியாளர்கள் கிடைக்காததால் அவை இந்தியா போன்ற நாடுகளில் செய்து பெறப்படுகின்றன.

Wednesday, July 4, 2007

தரவுத் தள வடிவமைப்பு வழிகாட்டிகள் - நிவதி (ERP) 15

(கீழே கொடுத்துள்ள விபரங்கள் உண்மையும் கற்பனையும் கலந்தவை. சம்பந்தப்பட்டவர்கள் கோபித்துக் கொள்ள மாட்டார்கள் என்ற நம்பிக்கையில் அவர்கள் பதிவுகளை எடுத்துக்காட்டாக தருகிறேன்)


பதிவர் எண் பெயர் ஊர் நாடு பதிவு எண் பதிவு முகவரி பதிவு பெயர்இணைந்த நாள்
68 டோண்டு ராகவன் சென்னை இந்தியா 1325 http://dondu.blogspot.com Dondu's Dos and Donts 2004/10/05
75 சிறில் அலெக்ஸ் போஸ்டன் அமெரிக்க ஐக்கிய நாடுகள் 1332 http://theyn.blogspot.com தேன் 2005/01/25
92 அருள்குமார் சென்னை இந்தியா 1346 http://arul76.blogspot.com உணர்வின் பதிவுகள்2005/06/01
1932 http://chennapattinam.blogspot.com சென்னைப் பட்டணம் 2006/07/01
106 பாலபாரதி சென்னை இந்தியா 1359 http://balabharathi.wordpress.com விடுபட்டவை 2006/01/01
1932 http://chennapattinam.blogspot.com சென்னைப் பட்டணம் 2006/07/01


இப்படி தகவல் இருக்கும் அமைப்பு பதிவுகள் என்ற பட்டி. அதில் ஒவ்வொரு வரிசையிலும் பதிவர்-எண், பதிவர்-பெயர், ஊர், நாடு, பதிவு-எண், பதிவு-முகவரி, பதிவு-பெயர், இணைந்த-நாள் என்று விபரங்கள் இருக்கின்றன.

புதிதாக ஒருவர் பதிவைச் சேர்க்கும் போது
328 உண்மைத்தமிழன் சென்னை இந்தியா 2948 http://truetamilians.blogspot.com உண்மைத் தமிழன் 2007/01/25
என்று சேரும்.
  1. இப்படி விபரங்களைச் சேமித்துக் கொள்வதால் என்னென்னக் குறைபாடுகள்?
  2. முந்தைய இடுகையில் சொன்ன நோக்கங்களில் என்னென்ன தவறும்?
நிவதி = நிறுவன வளம் திட்டமிடல்

தரவுத் தள வடிவமைப்பு - நிவதி (ERP) 14

தரவுத் தளம் என்றால் தகவல்களை சேர்த்து வைக்கும் முறை.
  • நம் சட்டைப் பை குறிப்பேட்டில் தொலைபேசி எண்களைக் குறித்து வைத்திருப்பதும் தரவுத்தளம்தான். அதிலிருந்து தகவலைப் பெறுவது, புதிய தகவலைச் சேர்ப்பது ஒவ்வொன்றுக்கும் வழிமுறைகள் வைத்திருப்போம்.
  • விரிதாள் (spreadsheet) மென்பொருளில் தரவுத் தளம் இருக்கலாம்.
  • அல்லது ஒரு உரைக் கோப்பாகக் (text file) கூட வைத்திருக்கலாம்.
பெரிய அளவில் சிக்கலான விபரங்களைச் சேமிக்க அட்டிசார் தரவுத் தள மேலாண்மை பயன்பாடுகள் பரவலாகப் பயன்படுத்தப்படுகின்றன. (Relational Database Management Systems). அட்டிகளில் (Relations/Tables)) விபரங்களைச் சேமிப்பதால் அப்படிப் பெயர்.
  • அட்டி என்பதில் வரிசை (tuples/row) வரிசையாகப் பல தகவல் தொகுப்புகள் இருக்கும்.
  • ஒவ்வொரு வரிசையிலும் பல விபரங்கள் (attributes/columns) இருக்கும்.
    எடுத்துக்காட்டாக ஒரு வலைப் பதிவரைக் குறித்த விபரங்கள் ஒரு வரிசையில் இருக்கும். வரிசை எண், பெயர், பதிவு முகவரி, பதிவின் பெயர் என்று விபரங்கள் இருக்கலாம்.
  • அடுத்தடுத்த வரிசைகளில் மேலும் பிற பதிவர்களின் விபரங்கள் இருக்கும்.
இப்படி அட்டி சார் தரவுத் தளங்களைப் பயன்படுத்துவதன் நோக்கங்கள்;
  1. சேமிக்கத் தேவைப்படும் இட அளவு குறைவாக இருக்க வேண்டும். ஒரே விவரத்தைத் திரும்பத் திரும்ப சேமித்து இடத்தை வீணாக்கக் கூடாது. (space saving)
  2. ஏதாவது விபரத்தை புதுப்பிக்கும் போது எல்லா இடங்களிலும் அந்த விபரம் மாறி விட வேண்டும். (avoiding updation anamoly)
  3. ஏதாவது வரிசையை தேவையில்லை என்று நீக்கும் போது, தேவைப்படும் மற்ற விபரங்களை நீக்க வேண்டிய நிலை இருக்கக் கூடாது. (avoiding deletion anamoly)
  4. ஏதாவது விபரம் சேமிக்கும் போது தேவை இல்லாத மற்ற விபரங்களையும் சேமிக்கும் கட்டாயம் இருக்கக் கூடாது (avoiding insertion anamoly)

Monday, July 2, 2007

ஆசிட் - நிவதி (ERP) 13

வங்கிக் கணக்குகளின் தரவுத் தளம் ஒன்றை எடுத்துக் கொள்வோம்.

பாலபாரதியின் கணக்கிலிருந்து 1000 ரூபாய்கள் லக்கிலுக்கின் கணக்குக்கு மாற்ற வேண்டும்.
  • முதல் படியாக பாலபாரதியின் கணக்கிலிருந்து 1000 ரூபாய் குறைக்கிறோம்.
  • தொடர்ந்து லக்கிலுக்கின் கணக்கில் 1000 ரூபாய் சேர்க்கிறோம்.
இந்த இரண்டும் நடந்தால்தான் பரிமாற்றம் முழுமை (Atomicity) அடையும்.

கணினியில் இந்த பரிமாற்றம் நடந்து கொண்டிருக்கும் போது திடீரென்று மின்தடைப் பட்டு கணினி நின்று போகிறது. அந்த நேரத்தில் இரண்டு படிகளும் நடந்திருந்தால்தான் பரிமாறலைக் கணக்கில் காட்ட வேண்டும். பாலபாரதியின் கணக்கில் குறைக்காமலேயே லக்கி லுக்கின் கணக்கில் சேர்த்து விடவோ அங்கு குறைத்து விட்டு இங்கு கூட்டாமல் இருந்து விடவோ கூடாது.

இந்த முழுமை இருக்குமாறு பார்த்துக் கொள்ள வெவ்வேறு உத்திகளைக் கையாளுகிறார்கள்.

இரண்டாவதாக ஒழுங்கு

'ஒருவரது கணக்கில் கையிருப்பு 100 ரூபாய்க்குக் கீழ் போகக் கூடாது' என்பது போன்ற விதிகள் அமைக்கும் வசதியும், அந்த விதிகள் மாறாமல் இருக்கும்படிப் பார்த்துக் கொள்ளும் ஒழுங்கும் இருக்க வேண்டும்.

500 ரூபாய் கையிருப்பு இருக்கும் கணக்கிலிருந்து 475 ரூபாய் மாற்ற முயன்றால் அதை மறுத்து விடும் ஒழுக்கம் தரவுத் தள மென்பொருளுக்கு வேண்டும்.

மூன்றாவதாக தனிமை
ஒரே நேரத்தில் இரண்டு பரிமாறல்கள் நடந்தால் ஒன்று செய்யும் மாறுதல்கள் மற்றதைப் பாதிக்கக் கூடாது.

நான்காவதாக உயிர்மை
மாற்றங்கள் தரவுத் தளத்தில் சேமிக்கப்பட்டு விட்ட பிறகு வெளிப் புறக் காரணங்களால் அது பாதிக்கப்பட்டு மறைந்து போய் விடக் கூடாது.

(இந்த நான்கையும் இணைத்து தமிழில் பொருத்தமான குறுஞ்சொல் ஒன்றை பின்னூட்டத்தில் சொல்லுங்கள். தேவைப்பட்டால் தமிழ்ப் பெயர்களை மாற்றவும் செய்யலாம்.)

தரவுத் தளம் - குறிப்புகள் - நிவதி (ERP) 12

தென்றல் சொல்வது போல தரவுத்தளம் சரியானதைத் தேர்ந்தெடுத்தால் பாதிக் கிணறு தாண்டியது போல். ஒரு நிவதி மென்பொருள் வெற்றிக்கு தரவுத்தளத்தின் பங்கு மிக முக்கியமானது.

பயன்பாட்டுக்குக் கிடைக்கும் தரவுத்தளங்களில் (relational databased) சில கீழே (முழுப் பட்டியல்):

வணிக முறைப் பயன்பாடுகள்:
  1. ஐபிஎம் நிறுவனத்தின் DB2
  2. ஆரக்கிள் நிறுவனத்தின் ஆரக்கிள் (Oracle Database)
  3. மைக்ரோசாப்டு நிறுவனத்தின் எஸ்கியூஎல் சர்வர் (MS SQL Server)
திறவூற்று மென்பொருட்கள்
  1. மை எஸ்கியூஎல் (MySQL)
  2. போஸ்ட்க்ரெஸ் கியூஎல் (PostgreSQL)
எல்லா தரவுத்தளங்களும் SQL 92, SQL 99 போன்ற தகுதரங்களைப் பின்பற்றுகின்றன. அதனால். நேர்த்தியாக வடிவமைக்கப்பட்டால், பல தரவுத் தளங்களிலும் இயங்கும்படி மென்பொருளை உருவாக்கிக் கொள்ளலாம்.

நடைமுறையில் ஒவ்வொரு தரவுத்தள மென் பொருளும் தனிப்பட்ட சில சிறப்புகளை உருவாக்கியுள்ளன. அத்தகைய சிறப்புக் கூறுகளைப் பயன்படுத்தினால் மற்ற தரவுத்தளங்களில் பயன்படுத்த மென் பொருளில் பல மாறுதல்கள் செய்ய வேண்டியிருக்கும்.

ஒரு தரவுத் தளத்துக்கு இருக்க வேண்டிய அடிப்படைப் பண்புகளை ACID என்று குறுக்கிக் குறிப்பிடுகிறார்கள். முழுமை (Atomicity), Consistency (ஒழுங்கு), Isolation (தனிமை), Durability (உயிர்மை).

(இந்த நான்கையும் இணைத்து தமிழில் பொருத்தமான குறுஞ்சொல் ஒன்றை பின்னூட்டத்தில் சொல்லுங்கள். தேவைப்பட்டால் தமிழ்ப் பெயர்களை மாற்றவும் செய்யலாம்.)