Middleware
મિડલવેર એ કમ્પ્યુટર સોફ્ટવેરનો એક પ્રકાર છે જે ઓપરેટિંગ સિસ્ટમમાંથી ઉપલબ્ધ કરતાં વધુ સોફ્ટવેર એપ્લિકેશનોને સેવાઓ પ્રદાન કરે છે. તેને "સોફ્ટવેર ગુંદર" તરીકે વર્ણવી શકાય છે. મિડલવેર સોફ્ટવેર ડેવલપર્સ માટે સંદેશાવ્યવહાર અને ઇનપુટ/આઉટપુટને અમલમાં મૂકવાનું સરળ બનાવે છે, જેથી તેઓ તેમની એપ્લિકેશનના ચોક્કસ હેતુ પર ધ્યાન કેન્દ્રિત કરી શકે. નવી એપ્લિકેશનોને જૂની વારસો પ્રણાલીઓ સાથે કેવી રીતે જોડવી તેની સમસ્યાના ઉકેલ તરીકે 1980ના દાયકામાં તેને લોકપ્રિયતા મળી હતી, જોકે આ શબ્દ 1968થી ઉપયોગમાં હતો. વિતરિત કાર્યક્રમોમાં આ શબ્દનો ઉપયોગ સામાન્ય રીતે એવા સોફ્ટવેર માટે થાય છે જે વિતરિત કાર્યક્રમોમાં માહિતીના સંચાર અને વ્યવસ્થાપનને સક્ષમ બનાવે છે. 2000માં આઇ. ઇ. ટી. એફ. ની વર્કશોપમાં મિડલવેરને "પરિવહનની ઉપર જોવા મળતી સેવાઓ" તરીકે વ્યાખ્યાયિત કરવામાં આવ્યું હતું. ટી. સી. પી./આઇ. પી. પર) સેવાઓનો સ્તર સમૂહ પરંતુ એપ્લિકેશન વાતાવરણની નીચે "(એટલે કે. એપ્લિકેશન-સ્તર API ની નીચે). આ વધુ ચોક્કસ અર્થમાં મિડલવેરને ક્લાયન્ટ-સર્વરમાં ડૅશ ("-") અથવા પીઅર-ટુ-પીઅર તરીકે વર્ણવી શકાય છે. મિડલવેરમાં વેબ સર્વર, એપ્લિકેશન સર્વર, સામગ્રી વ્યવસ્થાપન પ્રણાલીઓ અને સમાન સાધનોનો સમાવેશ થાય છે જે એપ્લિકેશન વિકાસ અને વિતરણને ટેકો આપે છે. ઓબ્જેક્ટવેબ મિડલવેરને આ રીતે વ્યાખ્યાયિત કરે છેઃ "સોફ્ટવેર સ્તર જે નેટવર્કમાં વિતરિત કમ્પ્યુટિંગ સિસ્ટમની દરેક બાજુએ ઓપરેટિંગ સિસ્ટમ અને એપ્લિકેશનો વચ્ચે આવેલું છે". મિડલવેર તરીકે ગણી શકાય તેવી સેવાઓમાં એન્ટરપ્રાઇઝ એપ્લિકેશન એકીકરણ, ડેટા એકીકરણ, સંદેશ લક્ષી મિડલવેર (એમઓએમ), ઓબ્જેક્ટ વિનંતી દલાલો (ઓઆરબી) અને એન્ટરપ્રાઇઝ સર્વિસ બસ (ઇએસબી) નો સમાવેશ થાય છે. ડેટાબેઝ ઍક્સેસ સેવાઓને ઘણીવાર મિડલવેર તરીકે વર્ગીકૃત કરવામાં આવે છે. તેમાંના કેટલાક ભાષા વિશિષ્ટ અમલીકરણ છે અને વિજાતીય લક્ષણો અને અન્ય સંબંધિત સંચાર સુવિધાઓને ટેકો આપે છે. ડેટાબેઝ-ઓરિએન્ટેડ મિડલવેરના ઉદાહરણોમાં ODBC, JDBC અને ટ્રાન્ઝેક્શન પ્રોસેસિંગ મોનિટરનો સમાવેશ થાય છે. ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ સિસ્ટમ મિડલવેરને ઢીલું મૂકીને બે વર્ગોમાં વિભાજિત કરી શકાય છે-જે માનવ-સમયની સેવાઓ પૂરી પાડે છે (જેમ કે વેબ વિનંતી સર્વિસિંગ) અને જે મશીન-સમયમાં પ્રદર્શન કરે છે. આ પછીનું મિડલવેર સર્વિસ અવેલેબિલિટી ફોરમ દ્વારા કંઈક અંશે પ્રમાણિત કરવામાં આવ્યું છે અને સામાન્ય રીતે ટેલિકોમ, સંરક્ષણ અને એરોસ્પેસ ઉદ્યોગોમાં જટિલ, એમ્બેડેડ સિસ્ટમ્સમાં તેનો ઉપયોગ થાય છે. મિડલવેરનો ઉપયોગ મિડલવેરના વર્ગીકરણને લગતી ઘણી વ્યાખ્યાઓ અસ્તિત્વમાં છે જે ક્યાં તો તેનો ઉપયોગ કરવામાં આવે છે તે ક્ષેત્ર અથવા તે જે એપ્લિકેશન મોડ્યુલને સેવા આપે છે તે સ્પષ્ટ કરે છે. તાજેતરના ગ્રંથસૂચિમાં, મિડલવેરની મુખ્ય શ્રેણીઓ નીચે મુજબ છેઃ વ્યવહારઃ બહુવિધ સિંક્રનસ/એસિંક્રોનસ વ્યવહારોની પ્રક્રિયા, જે બેંક વ્યવહારો અથવા ક્રેડિટ કાર્ડ ચૂકવણી જેવી વિતરિત પ્રણાલીઓમાંથી સંકળાયેલી વિનંતીઓના સમૂહ તરીકે સેવા આપે છે. મેસેજ-ઓરિએન્ટેડઃ મેસેજ કતાર અને મેસેજ પાસિંગ આર્કિટેક્ચર, જે સિંક્રનસ/એસિંક્રોનસ કોમ્યુનિકેશનને સપોર્ટ કરે છે. પ્રક્રિયાગતઃ કૉલ ઓપરેશન જેવા અસિંક્રોનસ સિસ્ટમ સંચારના સોફ્ટવેર પ્રતિસાદોને જોડવા, પસાર કરવા અને પુનઃપ્રાપ્ત કરવા માટે દૂરસ્થ અને સ્થાનિક આર્કિટેક્ચર. ઓબ્જેક્ટ-ઓરિએન્ટેડઃ પ્રોસિજરલ મિડલવેરની જેમ જ, જોકે, આ પ્રકારના મિડલવેરમાં ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગ ડિઝાઇન સિદ્ધાંતોનો સમાવેશ થાય છે. વિશ્લેષણાત્મક રીતે, તેના સોફ્ટવેર ઘટકમાં ઓબ્જેક્ટ સંદર્ભો, અપવાદો અને વિતરિત ઓબ્જેક્ટ વિનંતી દ્વારા ગુણધર્મોના વારસાનો સમાવેશ થાય છે. અન્ય ઉદાહરણો મિડલવેર શબ્દનો ઉપયોગ અન્ય સંદર્ભોમાં પણ થાય છે. મિડલવેરનો ઉપયોગ કેટલીકવાર સોફ્ટવેર ડ્રાઇવર જેવા જ અર્થમાં થાય છે, એક અમૂર્ત સ્તર જે હાર્ડવેર ઉપકરણો અથવા અન્ય સોફ્ટવેર વિશેની વિગતોને એપ્લિકેશનમાંથી છુપાવે છે. એન્ડ્રોઇડ ઓપરેટિંગ સિસ્ટમ તેના મૂળમાં લિનક્સ કર્નલનો ઉપયોગ કરે છે, અને એક એપ્લિકેશન માળખું પણ પ્રદાન કરે છે જે વિકાસકર્તાઓ તેમની એપ્લિકેશનોમાં સમાવિષ્ટ કરે છે. વધુમાં, એન્ડ્રોઇડ પુસ્તકાલયો સહિત મિડલવેર સ્તર પ્રદાન કરે છે જે ડેટા સ્ટોરેજ, સ્ક્રીન ડિસ્પ્લે, મલ્ટીમીડિયા અને વેબ બ્રાઉઝિંગ જેવી સેવાઓ પ્રદાન કરે છે. કારણ કે મિડલવેર લાઈબ્રેરીઓ મશીન ભાષામાં સંકલિત કરવામાં આવે છે, સેવાઓ ઝડપથી ચલાવવામાં આવે છે. મિડલવેર લાઈબ્રેરીઓ ઉપકરણ-વિશિષ્ટ કાર્યોને પણ અમલમાં મૂકે છે, તેથી એપ્લિકેશનો અને એપ્લિકેશન માળખાને વિવિધ એન્ડ્રોઇડ ઉપકરણો વચ્ચેની ભિન્નતા સાથે પોતાને સંબંધિત કરવાની જરૂર નથી. એન્ડ્રોઇડના મિડલવેર સ્તરમાં એઆરટી વર્ચ્યુઅલ મશીન અને તેની મુખ્ય જાવા એપ્લિકેશન લાઇબ્રેરીઓ પણ છે. મિડલવેર એ સોફ્ટવેરનો પણ ઉલ્લેખ કરે છે જે બે અથવા વધુ API ને અલગ કરે છે અને દર-મર્યાદા, પ્રમાણીકરણ અને લોગિંગ જેવી સેવાઓ પ્રદાન કરે છે. ગેમબ્રાયો અને રેન્ડરવેર જેવા ગેમ એન્જિન સોફ્ટવેરને કેટલીકવાર મિડલવેર તરીકે વર્ણવવામાં આવે છે, કારણ કે તેઓ રમતના વિકાસને સરળ બનાવવા માટે ઘણી સેવાઓ પૂરી પાડે છે. સિમ્યુલેશન ટેકનોલોજીમાં, મિડલવેરનો ઉપયોગ સામાન્ય રીતે ઉચ્ચ સ્તરના આર્કિટેક્ચર (એચ. એલ. એ.) ના સંદર્ભમાં થાય છે જે ઘણા વિતરિત સિમ્યુલેશનને લાગુ પડે છે. તે સોફ્ટવેરનું એક સ્તર છે જે એપ્લિકેશન કોડ અને રન-ટાઇમ ઈન્ફ્રાસ્ટ્રક્ચર વચ્ચે આવેલું છે. મિડલવેર સામાન્ય રીતે કાર્યોની લાઇબ્રેરી ધરાવે છે, અને સંખ્યાબંધ એપ્લિકેશનોને સક્ષમ કરે છે-એચ. એલ. એ. પરિભાષામાં સિમ્યુલેશન અથવા ફેડરેટ્સ-દરેક એપ્લિકેશન માટે તેમને ફરીથી બનાવવાને બદલે સામાન્ય લાઇબ્રેરીમાંથી આ કાર્યોને પૃષ્ઠ કરવા માટે. વાયરલેસ નેટવર્કિંગ ડેવલપર્સ વાયરલેસ સેન્સર નેટવર્ક (WSN) સાથે સંકળાયેલા પડકારોને પહોંચી વળવા મિડલવેરનો ઉપયોગ કરી શકે છે. મિડલવેર એપ્લિકેશનનો અમલ WSN વિકાસકર્તાઓને હાલમાં ઉપલબ્ધ વિવિધ એપ્લિકેશનો સાથે ઓપરેટિંગ સિસ્ટમ્સ અને હાર્ડવેરને એકીકૃત કરવાની મંજૂરી આપે છે. ક્યુએનએક્સ ઓપરેટિંગ સિસ્ટમ ઓટોમોબાઇલ્સ, એરક્રાફ્ટ અને અન્ય વાતાવરણમાં ઉપયોગ માટે મલ્ટીમીડિયા સેવાઓ પ્રદાન કરવા માટે મિડલવેર પ્રદાન કરે છે. રેડિયો-ફ્રિક્વન્સી આઇડેન્ટિફિકેશન (આરએફઆઇડી) સોફ્ટવેર ટૂલકીટ્સ ઘોંઘાટીયા અને બિનજરૂરી કાચા ડેટાને ફિલ્ટર કરવા માટે મિડલવેર પ્રદાન કરે છે. આ પણ જુઓ ભાષા-અજ્ઞેયવાદી તૃતીય-પક્ષ સોફ્ટવેર ઘટક સંદર્ભો બાહ્ય કડીઓ સિસ્ટમ ઇજનેરી