Common Object Request Broker Architecture
કોમન ઓબ્જેક્ટ રીક્વેસ્ટ બ્રોકર આર્કિટેક્ચર (CORBA) એ ઓબ્જેક્ટ મેનેજમેન્ટ ગ્રૂપ (OMG) દ્વારા વ્યાખ્યાયિત એક ધોરણ છે જે વિવિધ પ્લેટફોર્મ પર તૈનાત કરવામાં આવેલી સિસ્ટમોના સંચારને સરળ બનાવવા માટે રચાયેલ છે. કોર્બા વિવિધ ઓપરેટિંગ સિસ્ટમો, પ્રોગ્રામિંગ ભાષાઓ અને કમ્પ્યુટિંગ હાર્ડવેર પર સિસ્ટમો વચ્ચે સહયોગને સક્ષમ કરે છે. કોર્બા ઓબ્જેક્ટ-ઓરિએન્ટેડ મોડેલનો ઉપયોગ કરે છે, જોકે કોર્બા નો ઉપયોગ કરતી સિસ્ટમો ઓબ્જેક્ટ-ઓરિએન્ટેડ હોવી જરૂરી નથી. કોર્બા એ ડિસ્ટ્રિબ્યુટેડ ઓબ્જેક્ટ નમૂનાનું ઉદાહરણ છે. ઝાંખી કોર્બા વિવિધ ભાષાઓમાં લખાયેલા અને વિવિધ કમ્પ્યુટર્સ પર ચાલતા સોફ્ટવેર વચ્ચે સંચારને સક્ષમ કરે છે. ચોક્કસ ઓપરેટિંગ સિસ્ટમ્સ, પ્રોગ્રામિંગ ભાષાઓ અને હાર્ડવેર પ્લેટફોર્મ્સમાંથી અમલીકરણની વિગતોને કોર્બા નો ઉપયોગ કરતા વિકાસકર્તાઓની જવાબદારીમાંથી દૂર કરવામાં આવે છે. કોર્બા સમાન સરનામાં-જગ્યા (એપ્લિકેશન) અથવા દૂરસ્થ સરનામાં-જગ્યાઓ (સમાન યજમાન અથવા નેટવર્ક પર દૂરસ્થ યજમાન) માં રહેતા એપ્લિકેશન ઓબ્જેક્ટો વચ્ચે પદ્ધતિ-કૉલ શબ્દાર્થને સામાન્ય બનાવે છે. આવૃત્તિ 1 ઓક્ટોબર 1991માં રજૂ કરવામાં આવી હતી. કોર્બા ઇન્ટરફેસ ડેફિનેશન લેંગ્વેજ (આઇ. ડી. એલ.) નો ઉપયોગ કરે છે જે બાહ્ય વિશ્વને પ્રસ્તુત કરેલા ઇન્ટરફેસોને સ્પષ્ટ કરે છે. કોર્બા પછી આઇ. ડી. એલ. થી સી + + અથવા જાવા જેવી ચોક્કસ અમલીકરણ ભાષામાં મેપિંગને સ્પષ્ટ કરે છે. અડા, સી, સી + +, સી + + 11, કોબોલ, જાવા, લિસ્પ, પીએલ/આઈ, ઓબ્જેક્ટ પાસ્કલ, પાયથોન, રૂબી અને સ્મોલટૉક માટે પ્રમાણભૂત મેપિંગ અસ્તિત્વમાં છે. સી #, એર્લાંગ, પર્લ, ટી. સી. એલ. અને વિઝ્યુઅલ બેઝિક માટે બિન-માનક મેપિંગ અસ્તિત્વ ધરાવે છે, જે તે ભાષાઓ માટે લખાયેલા ઓબ્જેક્ટ વિનંતી દલાલો (ઓ. આર. બી.) દ્વારા લાગુ કરવામાં આવે છે. કોર્બા સ્પષ્ટીકરણ સૂચવે છે કે ત્યાં એક ઓઆરબી હશે જેના દ્વારા એપ્લિકેશન અન્ય પદાર્થો સાથે ક્રિયાપ્રતિક્રિયા કરશે. વ્યવહારમાં તેનો અમલ આ રીતે થાય છેઃ એપ્લિકેશન ઓઆરબીને શરૂ કરે છે, અને આંતરિક ઓબ્જેક્ટ એડેપ્ટરને એક્સેસ કરે છે, જે સંદર્ભ ગણતરી, ઓબ્જેક્ટ (અને સંદર્ભ) ત્વરિત નીતિઓ અને ઓબ્જેક્ટ આજીવન નીતિઓ જેવી બાબતોને જાળવે છે. ઓબ્જેક્ટ એડેપ્ટરનો ઉપયોગ જનરેટ કરેલા કોડ વર્ગોના ઉદાહરણોની નોંધણી કરવા માટે થાય છે. જનરેટેડ કોડ વર્ગો એ વપરાશકર્તા આઇ. ડી. એલ. કોડના સંકલનનું પરિણામ છે, જે ઉચ્ચ-સ્તરની ઇન્ટરફેસ વ્યાખ્યાને વપરાશકર્તા એપ્લિકેશન દ્વારા ઉપયોગ માટે ઓએસ-અને ભાષા-વિશિષ્ટ વર્ગ આધારમાં અનુવાદિત કરે છે. આ પગલું કોર્બા સિમેન્ટિક્સ લાગુ કરવા અને કોર્બા ઇન્ફ્રાસ્ટ્રક્ચર સાથે ઇન્ટરફેસિંગ માટે સ્વચ્છ વપરાશકર્તા પ્રક્રિયા પ્રદાન કરવા માટે જરૂરી છે. કેટલાક આઇ. ડી. એલ. નકશાનો ઉપયોગ અન્ય કરતા વધુ મુશ્કેલ છે. ઉદાહરણ તરીકે, જાવાની પ્રકૃતિને કારણે, IDL-જાવા મેપિંગ એકદમ સરળ છે અને જાવા એપ્લિકેશનમાં CORBA નો ઉપયોગ ખૂબ જ સરળ બનાવે છે. આઇ. ડી. એલ. થી પાયથોન મેપિંગ માટે પણ આ સાચું છે. સી + + મેપિંગ માટે પ્રોગ્રામરને ડેટા પ્રકારો શીખવાની જરૂર છે જે સી + + સ્ટાન્ડર્ડ ટેમ્પલેટ લાઇબ્રેરી (એસટીએલ) ની પહેલાના છે. તેનાથી વિપરીત, સી + + 11 મેપિંગનો ઉપયોગ કરવો સરળ છે, પરંતુ એસટીએલના ભારે ઉપયોગની જરૂર છે. સી ભાષા ઓબ્જેક્ટ-ઓરિએન્ટેડ ન હોવાથી, આઇ. ડી. એલ. થી સી મેપિંગ માટે ઓબ્જેક્ટ-ઓરિએન્ટેડ સુવિધાઓનું જાતે અનુકરણ કરવા માટે સી પ્રોગ્રામરની જરૂર પડે છે. કોર્બા-આધારિત ડિસ્ટ્રિબ્યુટેડ ઓબ્જેક્ટ ઇન્ટરફેસનો ઉપયોગ અથવા અમલ કરતી સિસ્ટમ બનાવવા માટે, વિકાસકર્તાએ IDL કોડ મેળવવો અથવા લખવો આવશ્યક છે જે સિસ્ટમ ઉપયોગ કરશે અથવા અમલમાં મૂકશે તે તર્ક માટે ઓબ્જેક્ટ-ઓરિએન્ટેડ ઇન્ટરફેસને વ્યાખ્યાયિત કરે છે. સામાન્ય રીતે, ઓઆરબીના અમલીકરણમાં આઇડીએલ કમ્પાઇલર નામના સાધનનો સમાવેશ થાય છે જે આઇડીએલ ઇન્ટરફેસને સિસ્ટમના તે ભાગમાં ઉપયોગ કરવા માટે લક્ષ્ય ભાષામાં અનુવાદિત કરે છે. પરંપરાગત કમ્પાઇલર પછી એપ્લિકેશનમાં ઉપયોગ માટે લિંક કરી શકાય તેવી-ઑબ્જેક્ટ ફાઇલો બનાવવા માટે જનરેટેડ કોડને સંકલિત કરે છે. આ આકૃતિ દર્શાવે છે કે CORBA માળખામાં પેદા થયેલ કોડનો ઉપયોગ કેવી રીતે થાય છેઃ આ આંકડો CORBA નો ઉપયોગ કરીને દૂરસ્થ આંતરપ્રક્રિયા સંચાર માટે ઉચ્ચ-સ્તરના નમૂનાને સમજાવે છે. કોર્બા સ્પષ્ટીકરણ આગળ ડેટા ટાઇપિંગ, અપવાદો, નેટવર્ક પ્રોટોકોલ, સંચાર સમયસમાપ્તિ વગેરેને સંબોધિત કરે છે. ઉદાહરણ તરીકેઃ સામાન્ય રીતે સર્વર બાજુએ પોર્ટેબલ ઓબ્જેક્ટ એડેપ્ટર (પી. ઓ. એ.) હોય છે જે કૉલને સ્થાનિક નોકરોને અથવા (ભારને સંતુલિત કરવા માટે) અન્ય સર્વર પર રીડાયરેક્ટ કરે છે. કોર્બા સ્પષ્ટીકરણ (અને આમ આ આંકડો) વિતરણ પ્રણાલીના વિવિધ પાસાઓને ઓબ્જેક્ટ જીવનકાળ (જોકે સંદર્ભ ગણતરી શબ્દાર્થ એપ્લિકેશનો માટે ઉપલબ્ધ છે), રીડન્ડન્સી/ફેલ-ઓવર, મેમરી મેનેજમેન્ટ, ડાયનેમિક લોડ બેલેન્સિંગ અને ડિસ્પ્લે/ડેટા/કંટ્રોલ સિમેન્ટિક્સ (દા. ત.) વચ્ચેના વિભાજન જેવા એપ્લિકેશન-લક્ષી મોડેલો સહિત વ્યાખ્યાયિત કરવા માટે એપ્લિકેશન પર છોડી દે છે. મોડેલ-વ્યૂ-કંટ્રોલર), વગેરે જુઓ. વપરાશકર્તાઓને ભાષા અને પ્લેટફોર્મ-ન્યુટ્રલ રિમોટ પ્રોસિજર કોલ (આર. પી. સી.) સ્પષ્ટીકરણ પ્રદાન કરવા ઉપરાંત, કોર્બા વ્યવહારો અને સુરક્ષા, ઘટનાઓ, સમય અને અન્ય ડોમેન-વિશિષ્ટ ઇન્ટરફેસ મોડેલો જેવી સામાન્ય રીતે જરૂરી સેવાઓને વ્યાખ્યાયિત કરે છે. આવૃત્તિઓનો ઇતિહાસ આ કોષ્ટક કોર્બા પ્રમાણભૂત આવૃત્તિઓનો ઇતિહાસ રજૂ કરે છે. સેવકો એક સેવક એ દૂરસ્થ પદ્ધતિના આહ્વાનને સંભાળવા માટેની પદ્ધતિઓ ધરાવતું આહ્વાન લક્ષ્ય છે. નવી કોર્બા આવૃત્તિઓમાં, દૂરસ્થ ઓબ્જેક્ટ (સર્વર બાજુ પર) ને ઓબ્જેક્ટ (જે દૂરસ્થ વિનંતીઓના સંપર્કમાં આવે છે) અને સેવક (જેના માટે ભૂતપૂર્વ ભાગ પદ્ધતિને આગળ મોકલે છે) માં વિભાજિત કરવામાં આવે છે. તે દૂરસ્થ ઓબ્જેક્ટ દીઠ એક નોકર હોઈ શકે છે, અથવા તે જ નોકર આપેલ પોર્ટેબલ ઓબ્જેક્ટ એડેપ્ટર સાથે સંકળાયેલ ઘણી (સંભવતઃ તમામ) વસ્તુઓને ટેકો આપી શકે છે. દરેક ઓબ્જેક્ટ માટે નોકરને સેટ કરી શકાય છે અથવા "એકવાર અને કાયમ માટે" (સેવક સક્રિયકરણ) શોધી શકાય છે અથવા જ્યારે પણ તે ઓબ્જેક્ટ પરની પદ્ધતિને બોલાવવામાં આવે છે (સેવક સ્થાન) ત્યારે ગતિશીલ રીતે પસંદ કરી શકાય છે. સર્વન્ટ લોકેટર અને સર્વન્ટ એક્ટિવેટર બંને કોલને બીજા સર્વર પર મોકલી શકે છે. કુલ મળીને, આ સિસ્ટમ ઘણા મશીનો વચ્ચે વિનંતીઓનું વિતરણ કરીને, ભારને સંતુલિત કરવા માટે ખૂબ જ શક્તિશાળી માધ્યમ પ્રદાન કરે છે. ઓબ્જેક્ટ-ઓરિએન્ટેડ ભાષાઓમાં, દૂરસ્થ ઓબ્જેક્ટ અને તેના સેવક બંને ઓબ્જેક્ટ-ઓરિએન્ટેડ પ્રોગ્રામિંગના દૃષ્ટિકોણથી ઓબ્જેક્ટ છે. અવતાર એ નોકરને કોર્બા ઑબ્જેક્ટ સાથે જોડવાની ક્રિયા છે જેથી તે સેવા વિનંતીઓ કરી શકે. અવતાર વર્ચ્યુઅલ કોર્બા ઓબ્જેક્ટ માટે નક્કર સેવક સ્વરૂપ પ્રદાન કરે છે. સક્રિયકરણ અને નિષ્ક્રિયકરણ માત્ર કોર્બા પદાર્થોનો સંદર્ભ આપે છે, જ્યારે અવતાર અને અલૌકિકરણ શબ્દો નોકરોને સંદર્ભિત કરે છે. જો કે, વસ્તુઓ અને નોકરોના જીવનકાળ સ્વતંત્ર છે. તમે હંમેશા સક્રિય _ ઓબ્જેક્ટ () ને કૉલ કરતા પહેલા સેવકને અવતાર આપો છો, પરંતુ તેનાથી વિપરીત પણ શક્ય છે, ક્રિએટ _ રેફરન્સ () સેવકને અવતાર આપ્યા વિના પદાર્થને સક્રિય કરે છે, અને સેવક અવતાર પછીથી સેવક વ્યવસ્થાપકની માંગ પર કરવામાં આવે છે. (પી. ઓ. એ.) એ કોર્બા ઓબ્જેક્ટ છે જે સર્વર બાજુના દૂરસ્થ ઇન્વોકેશન હેન્ડલરને દૂરસ્થ ઓબ્જેક્ટ અને તેના સેવકમાં વિભાજિત કરવા માટે જવાબદાર છે. ઑબ્જેક્ટ દૂરસ્થ વિનંતીઓ માટે ખુલ્લી છે, જ્યારે નોકરમાં એવી પદ્ધતિઓ હોય છે જે ખરેખર વિનંતીઓને સંભાળી રહી હોય છે. દરેક વસ્તુ માટે સેવકને સ્થિર રીતે (એકવાર) અથવા ગતિશીલ રીતે (દરેક દૂરસ્થ આહ્વાન માટે) પસંદ કરી શકાય છે, બંને કિસ્સાઓમાં કૉલને બીજા સર્વર પર મોકલવાની મંજૂરી આપે છે. સર્વર બાજુએ, પી. ઓ. એ. વૃક્ષ જેવી રચના બનાવે છે, જ્યાં દરેક પી. ઓ. એ. એક અથવા વધુ વસ્તુઓ પીરસવા માટે જવાબદાર હોય છે. આ વૃક્ષની શાખાઓ સ્વતંત્ર રીતે સક્રિય/નિષ્ક્રિય કરી શકાય છે, જેમાં સેવકના સ્થાન અથવા સક્રિયકરણ માટે અલગ કોડ હોય છે અને વિવિધ વિનંતી સંભાળવાની નીતિઓ હોય છે. લાક્ષણિકતાઓ નીચેની કેટલીક સૌથી નોંધપાત્ર રીતો વર્ણવે છે જેનો ઉપયોગ વિતરિત વસ્તુઓ વચ્ચે સંચારને સરળ બનાવવા માટે કરી શકાય છે. ઓબ્જેક્ટ્સ બાય રેફરન્સ આ સંદર્ભ કાં તો સ્ટ્રિંગફાઇડ યુનિફોર્મ રિસોર્સ લોકેટર (યુઆરએલ), નેમસર્વિસ લુકઅપ (ડોમેન નેમ સિસ્ટમ (ડીએનએસ) જેવું જ) દ્વારા મેળવવામાં આવે છે, અથવા કોલ દરમિયાન મેથડ પેરામીટર તરીકે પાસ-ઇન કરવામાં આવે છે. ઓબ્જેક્ટ સંદર્ભો વાસ્તવિક ઓબ્જેક્ટ (દૂરસ્થ અથવા સ્થાનિક) ના ઇન્ટરફેસ સાથે મેળ ખાતી હળવી વસ્તુઓ છે. પદ્ધતિ ઓઆરબીને અનુગામી કૉલ્સમાં સંદર્ભ પરિણામ પર કૉલ કરે છે અને જવાબ, સફળતા અથવા નિષ્ફળતાની રાહ જોતી વખતે થ્રેડ પર અવરોધિત કરે છે. ઓઆરબી દ્વારા સ્થાનિક ભાષા અને ઓએસ મેપિંગ અનુસાર પરિમાણો, વળતર ડેટા (જો કોઈ હોય તો) અને અપવાદ ડેટા આંતરિક રીતે તૈયાર કરવામાં આવે છે. મૂલ્ય દ્વારા ડેટા કોર્બા ઇન્ટરફેસ ડેફિનેશન લેંગ્વેજ ભાષા-અને ઓએસ-ન્યુટ્રલ ઇન્ટર-ઓબ્જેક્ટ સંચાર વ્યાખ્યા પ્રદાન કરે છે. કોર્બા ઓબ્જેક્ટ્સ સંદર્ભ દ્વારા પસાર થાય છે, જ્યારે ડેટા (પૂર્ણાંકો, ડબલ્સ, સ્ટ્રક્ટ્સ, એનમ, વગેરે) મૂલ્ય દ્વારા પસાર થાય છે. ઓબ્જેક્ટ્સ-બાય-રેફરન્સ અને ડેટા-બાય-વેલ્યુનું સંયોજન ક્લાયન્ટ્સ અને સર્વર્સનું સંકલન કરતી વખતે મહાન ડેટા ટાઇપિંગને લાગુ કરવાના માધ્યમો પૂરા પાડે છે, તેમ છતાં કોર્બા સમસ્યા-જગ્યામાં સહજ લવચીકતાને જાળવી રાખે છે. ઓબ્જેક્ટ્સ બાય વેલ્યુ (ઓબીવી) દૂરસ્થ ઓબ્જેક્ટ્સ ઉપરાંત, કોર્બા અને આરએમઆઈ-આઈઆઈઓપી ઓબીવી અને વેલ્યુટાઇપ્સના ખ્યાલને વ્યાખ્યાયિત કરે છે. વેલ્યુટાઇપ ઓબ્જેક્ટ્સની પદ્ધતિઓની અંદરનો કોડ મૂળભૂત રીતે સ્થાનિક રીતે ચલાવવામાં આવે છે. જો ઓ. બી. વી. દૂરસ્થ બાજુથી પ્રાપ્ત થયો હોય, તો જરૂરી કોડ ક્યાં તો બંને પક્ષો માટે જાણીતું પ્રાથમિક હોવું જોઈએ અથવા પ્રેષક પાસેથી ગતિશીલ રીતે ડાઉનલોડ કરેલું હોવું જોઈએ. આને શક્ય બનાવવા માટે, ઓ. બી. વી. ને વ્યાખ્યાયિત કરતા રેકોર્ડમાં કોડ બેઝ હોય છે જે યુ. આર. એલ. ની જગ્યા-વિભાજિત સૂચિ છે જ્યાંથી આ કોડ ડાઉનલોડ કરવો જોઈએ. ઓબીવીમાં દૂરસ્થ પદ્ધતિઓ પણ હોઈ શકે છે. કોર્બા કમ્પોનન્ટ મોડલ (સી. સી. એમ.) કોર્બા કમ્પોનન્ટ મોડલ (સી. સી. એમ.) એ કોર્બા વ્યાખ્યાઓના પરિવારમાં એક ઉમેરો છે. તે કોર્બા 3 સાથે રજૂ કરવામાં આવ્યું હતું અને તે કોર્બા ઘટકો માટે પ્રમાણભૂત એપ્લિકેશન માળખું વર્ણવે છે. "ભાષા આધારિત એન્ટરપ્રાઇઝ જાવા બીન્સ (ઇજેબી)" પર નિર્ભર ન હોવા છતાં, તે ઇજેબીનું વધુ સામાન્ય સ્વરૂપ છે, જે ઇજેબી વ્યાખ્યાયિત કરે છે તે બેને બદલે ચાર ઘટક પ્રકારો પ્રદાન કરે છે. તે પોર્ટ્સ તરીકે ઓળખાતા સારી રીતે વ્યાખ્યાયિત નામના ઇન્ટરફેસો દ્વારા સેવાઓ પ્રદાન કરી શકે અને સ્વીકારી શકે તેવી સંસ્થાઓનું અમૂર્ત પ્રદાન કરે છે. સી. સી. એમ. માં એક ઘટક કન્ટેનર હોય છે, જ્યાં સોફ્ટવેર ઘટકો ગોઠવી શકાય છે. કન્ટેનર સેવાઓનો સમૂહ પ્રદાન કરે છે જેનો ઉપયોગ ઘટકો કરી શકે છે. આ સેવાઓમાં સૂચના, પ્રમાણીકરણ, દ્રઢતા અને વ્યવહાર પ્રક્રિયાનો સમાવેશ થાય છે (પરંતુ તે મર્યાદિત નથી). કોઈપણ ડિસ્ટ્રિબ્યુટેડ સિસ્ટમ માટે આ સૌથી વધુ ઉપયોગમાં લેવાતી સેવાઓ છે, અને આ સેવાઓના અમલીકરણને સોફ્ટવેર ઘટકોમાંથી ઘટક કન્ટેનરમાં ખસેડીને, ઘટકોની જટિલતામાં નાટ્યાત્મક ઘટાડો થાય છે. પોર્ટેબલ ઇન્ટરસેપ્ટર પોર્ટેબલ ઇન્ટરસેપ્ટર એ "હુક્સ" છે, જેનો ઉપયોગ કોર્બા સિસ્ટમના સૌથી મહત્વપૂર્ણ કાર્યોમાં મધ્યસ્થી કરવા માટે કોર્બા અને આરએમઆઈ-આઇઆઇઓપી દ્વારા થાય છે. કોર્બા ધોરણ નીચેના પ્રકારનાં અવરોધકને વ્યાખ્યાયિત કરે છેઃ IOR અવરોધક વર્તમાન સર્વર દ્વારા પ્રસ્તુત દૂરસ્થ પદાર્થોના નવા સંદર્ભોની રચનામાં મધ્યસ્થી કરે છે. ક્લાયન્ટ ઇન્ટરસેપ્ટર સામાન્ય રીતે ક્લાયન્ટ (કોલ કરનાર) બાજુએ દૂરસ્થ પદ્ધતિ કૉલમાં મધ્યસ્થી કરે છે. જો ઑબ્જેક્ટ સેવક એ જ સર્વર પર અસ્તિત્વ ધરાવે છે જ્યાં પદ્ધતિ બોલાવવામાં આવે છે, તો તેઓ સ્થાનિક કૉલ્સમાં પણ મધ્યસ્થી કરે છે. સર્વર ઇન્ટરસેપ્ટર સર્વર (હેન્ડલર) બાજુ પર દૂરસ્થ પદ્ધતિ કોલના સંચાલનમાં મધ્યસ્થી કરે છે. ઇન્ટરસેપ્ટર ચોક્કસ માહિતીને મોકલવામાં આવતા સંદેશાઓ અને બનાવવામાં આવતા આઈ. ઓ. આર. સાથે જોડી શકે છે. આ માહિતી પછીથી દૂરસ્થ બાજુએ અનુરૂપ ઇન્ટરસેપ્ટર દ્વારા વાંચી શકાય છે. ઇન્ટરસેપ્ટર્સ ફોરવર્ડિંગ અપવાદો પણ ફેંકી શકે છે, વિનંતીને બીજા લક્ષ્ય તરફ રીડાયરેક્ટ કરી શકે છે. જનરલ ઇન્ટરઓઆરબી પ્રોટોકોલ (જીઆઇઓપી) જીઆઇઓપી એ એક અમૂર્ત પ્રોટોકોલ છે જેના દ્વારા ઓબ્જેક્ટ વિનંતી દલાલો (ઓઆરબી) વાતચીત કરે છે. પ્રોટોકોલ સાથે સંકળાયેલા ધોરણો ઓબ્જેક્ટ મેનેજમેન્ટ ગ્રુપ (OMG) દ્વારા જાળવવામાં આવે છે. જીઆઇઓપી આર્કિટેક્ચર કેટલાંક નક્કર પ્રોટોકોલ પ્રદાન કરે છે, જેમાં નીચેનાનો સમાવેશ થાય છેઃ ઈન્ટરનેટ ઇન્ટરઓઆરબી પ્રોટોકોલ (આઈઆઈઓપી)-ઈન્ટરનેટ ઇન્ટર-ઓર્બ પ્રોટોકોલ એ ઈન્ટરનેટ પર ઉપયોગ માટે જીઆઇઓપીનું અમલીકરણ છે, અને જીઆઇઓપી સંદેશાઓ અને ટીસીપી/આઈપી સ્તર વચ્ચે મેપિંગ પ્રદાન કરે છે. એસએસએલ ઇન્ટરઓઆરબી પ્રોટોકોલ (એસએસએલઆઈઓપી)-એસએસએલઆઈઓપી એ એસએસએલ પર આઈઆઈઓપી છે, જે એનક્રિપ્શન અને પ્રમાણીકરણ પ્રદાન કરે છે. હાયપરટેક્સ્ટ ઇન્ટરઓઆરબી પ્રોટોકોલ (એચટીઆઈઓપી)-એચટીઆઈઓપી એ એચટીટીપી પર આઈઆઈઓપી છે, જે પારદર્શક પ્રોક્સી બાયપાસિંગ પ્રદાન કરે છે. ઝિપ્ડ આઇ. ઓ. પી. (ઝીપ્ડ આઇ. ઓ. પી.)-જી. આઇ. ઓ. પી. નું ઝિપ્ડ વર્ઝન જે બેન્ડવિડ્થનો વપરાશ ઘટાડે છે. VMCID (વેન્ડર માઇનોર કોડસેટ ID) દરેક પ્રમાણભૂત કોર્બા અપવાદમાં અપવાદની પેટા શ્રેણીને નિયુક્ત કરવા માટે એક નાના કોડનો સમાવેશ થાય છે. નાના અપવાદ કોડ હસ્તાક્ષર વગરના લાંબા પ્રકારનાં હોય છે અને તેમાં 20-બીટ "વેન્ડર માઇનોર કોડસેટ ID" (VMCID) હોય છે, જે ઉચ્ચ ક્રમના 20 બિટ્સ ધરાવે છે, અને નાના કોડ જે નીચલા ક્રમના 12 બિટ્સ ધરાવે છે. પ્રમાણભૂત અપવાદો માટેના નાના સંકેતો OMG ને સોંપવામાં આવેલા VMCID દ્વારા રજૂ કરવામાં આવે છે, જેને સહી વગરના લાંબા અચળાંક CORBA:: OMGVMCID તરીકે વ્યાખ્યાયિત કરવામાં આવે છે, જેમાં VMCID ઉચ્ચ ક્રમના 20 બિટ્સ પર કબજો કરીને OMG ને ફાળવવામાં આવે છે. પ્રમાણભૂત અપવાદો સાથે સંકળાયેલા નાના અપવાદ કોડ કે જે પૃષ્ઠ 3-58 પર કોષ્ટક 3-13 માં જોવા મળે છે તે OMGVMCID સાથે સંપાદિત અથવા સંપાદિત કરવામાં આવે છે જેથી ગૌણ કોડ મૂલ્ય પ્રાપ્ત કરી શકાય જે બાહ્ય માળખામાં પરત કરવામાં આવે છે (વિભાગ 3.17.1, "પ્રમાણભૂત અપવાદ વ્યાખ્યાઓ", પૃષ્ઠ 3-52 પર અને વિભાગ 3.17.2, "પ્રમાણભૂત ગૌણ અપવાદ કોડ", પૃષ્ઠ 3-58 પર જુઓ). વિક્રેતાને સોંપવામાં આવેલી જગ્યામાં, નાના કોડના મૂલ્યોની સોંપણી વિક્રેતા પર છોડી દેવામાં આવે છે. વિક્રેતાઓ tagrequest@omg.org પર ઇમેઇલ મોકલીને VMCID ની ફાળવણીની વિનંતી કરી શકે છે. હાલમાં સોંપાયેલ VMCID ની યાદી OMG વેબસાઇટ પર અહીં મળી શકે છેઃ http://www.omg.org/cgi-bin/doc?vendor-tags VMCID 0 અને 0xfffff પ્રાયોગિક ઉપયોગ માટે આરક્ષિત છે. VMCID OMGVMCID (વિભાગ 3.17.1, "પ્રમાણભૂત અપવાદ વ્યાખ્યાઓ", પૃષ્ઠ 3-52 પર) અને 1 થી 0xf OMG ઉપયોગ માટે આરક્ષિત છે. કોમન ઓબ્જેક્ટ રીક્વેસ્ટ બ્રોકરઃ આર્કિટેક્ચર એન્ડ સ્પેસિફિકેશન (કોર્બા 2.3) કોર્બા લોકેશન (કોર્બા લોક) કોર્બા લોકેશન (કોર્બા લોક) એ કોર્બા ઓબ્જેક્ટ માટે સ્ટ્રિન્ગીફાઇડ ઓબ્જેક્ટ રેફરન્સનો સંદર્ભ આપે છે જે યુઆરએલ જેવું જ દેખાય છે. તમામ કોર્બા ઉત્પાદનોએ બે ઓએમજી-નિર્ધારિત યુઆરએલને ટેકો આપવો આવશ્યક છેઃ "અને". આનો હેતુ એ સ્થાનને સ્પષ્ટ કરવા માટે માનવ વાંચી શકાય તેવી અને સંપાદનક્ષમ રીત પ્રદાન કરવાનો છે જ્યાં IOR મેળવી શકાય. કોર્બલોકનું ઉદાહરણ નીચે દર્શાવવામાં આવ્યું છેઃ કોર્બા ઉત્પાદન વૈકલ્પિક રીતે "", "અને" "બંધારણોને સમર્થન આપી શકે છે. આનો અર્થ એ છે કે તેઓ સ્ટ્રિંગફાઇડ આઈઓઆર કેવી રીતે ડાઉનલોડ કરવું તેની વિગતો પ્રદાન કરે છે (અથવા, પુનરાવર્તિત રીતે, અન્ય યુઆરએલ ડાઉનલોડ કરો જે આખરે સ્ટ્રિંગફાઇડ આઈઓઆર પ્રદાન કરશે). કેટલાક ઓઆરબી વધારાના બંધારણો પ્રદાન કરે છે જે તે ઓઆરબી માટે માલિકી ધરાવે છે. કોર્બાના ફાયદાઓમાં ભાષા અને ઓએસ-સ્વતંત્રતા, ટેકનોલોજી સાથે જોડાયેલા અમલીકરણથી સ્વતંત્રતા, મજબૂત ડેટા-ટાઇપિંગ, ઉચ્ચ સ્તરની સુસંગતતા અને વિતરિત ડેટા ટ્રાન્સફરની વિગતોથી સ્વતંત્રતાનો સમાવેશ થાય છે. ભાષા સ્વતંત્રતા કોર્બાની રચના ઇજનેરોને તેમની ડિઝાઇનને ચોક્કસ સોફ્ટવેર ભાષામાં જોડવાની મર્યાદાઓથી મુક્ત કરવા માટે કરવામાં આવી હતી. હાલમાં વિવિધ કોર્બા પ્રદાતાઓ દ્વારા સમર્થિત ઘણી ભાષાઓ છે, જેમાં સૌથી વધુ લોકપ્રિય જાવા અને સી + + છે. સી + + 11, સી-ઓનલી, સ્મોલટૉક, પર્લ, અદા, રૂબી અને પાયથોન અમલીકરણ પણ છે, ફક્ત થોડા ઉલ્લેખ કરવા માટે. ઓએસ-ઇન્ડિપેન્ડન્સ કોર્બાની ડિઝાઇન ઓએસ-ઇન્ડિપેન્ડન્ટ હોવાની છે. કોર્બા જાવા (ઓએસ-સ્વતંત્ર) માં ઉપલબ્ધ છે, તેમજ મૂળ રૂપે લિનક્સ/યુનિક્સ, વિન્ડોઝ, સોલારિસ, ઓએસ એક્સ, ઓપનવીએમએસ, એચપીયુએક્સ, એન્ડ્રોઇડ, લિન્ક્સઓએસ, વીએક્સવર્ક્સ, થ્રેડએક્સ, ઇન્ટિગ્રિટી અને અન્ય માટે ઉપલબ્ધ છે. તકનીકીઓથી મુક્તિ મુખ્ય ગર્ભિત લાભોમાંનો એક એ છે કે કોર્બા ઇજનેરોને વિવિધ નવી અને વારસાગત પ્રણાલીઓ વચ્ચેના ઇન્ટરફેસને સામાન્ય બનાવવા માટે સક્ષમ થવા માટે તટસ્થ રમતનું મેદાન પ્રદાન કરે છે. જ્યારે સી, સી + +, ઓબ્જેક્ટ પાસ્કલ, જાવા, ફોરટ્રાન, પાયથોન અને અન્ય કોઈપણ ભાષા અથવા ઓ. એસ. ને એક એકીકૃત સિસ્ટમ ડિઝાઇન મોડેલમાં એકીકૃત કરવામાં આવે છે, ત્યારે કોર્બા ક્ષેત્રને સમતોલ કરવાના માધ્યમો પૂરા પાડે છે અને વિવિધ ટીમોને સિસ્ટમો અને એકમ પરીક્ષણો વિકસાવવા માટે પરવાનગી આપે છે જે પછીથી સમગ્ર સિસ્ટમમાં એકસાથે જોડાઈ શકે છે. આ મૂળભૂત સિસ્ટમ એન્જિનિયરિંગ નિર્ણયોની જરૂરિયાતને નકારી શકતું નથી, જેમ કે થ્રેડિંગ, ટાઇમિંગ, ઓબ્જેક્ટ લાઇફટાઇમ વગેરે. આ મુદ્દાઓ તકનીકીને ધ્યાનમાં લીધા વિના કોઈપણ પ્રણાલીનો ભાગ છે. કોર્બા સિસ્ટમ તત્વોને એક એકીકૃત સિસ્ટમ મોડેલમાં સામાન્ય બનાવવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, વેબ સર્વરમાં જાવા સર્વલેટ્સ અને વ્યવસાય તર્ક ધરાવતા વિવિધ કોર્બા સર્વરનો ઉપયોગ કરીને અને ડેટાબેઝ ઍક્સેસને લપેટીને બહુવિધ આર્કિટેક્ચરની ડિઝાઇન સરળ બનાવવામાં આવે છે. આ વ્યવસાયિક તર્કના અમલીકરણને બદલવાની મંજૂરી આપે છે, જ્યારે ઇન્ટરફેસ ફેરફારોને અન્ય કોઈપણ તકનીકીની જેમ નિયંત્રિત કરવાની જરૂર પડશે. ઉદાહરણ તરીકે, સર્વર દ્વારા આવરિત ડેટાબેઝમાં બાહ્ય ઇન્ટરફેસોને અસર કર્યા વિના, સુધારેલ ડિસ્ક વપરાશ અથવા કામગીરી (અથવા તો સંપૂર્ણ પાયે ડેટાબેઝ વિક્રેતા ફેરફાર) માટે તેના ડેટાબેઝ યોજનામાં ફેરફાર થઈ શકે છે. તે જ સમયે, સી + + વારસો કોડ સી/ફોરટ્રાન વારસો કોડ અને જાવા ડેટાબેઝ કોડ સાથે વાત કરી શકે છે, અને વેબ ઇન્ટરફેસને ડેટા પ્રદાન કરી શકે છે. ડેટા-ટાઇપિંગ કોર્બા લવચીક ડેટા ટાઇપિંગ પ્રદાન કરે છે, ઉદાહરણ તરીકે "કોઈપણ" ડેટા પ્રકાર. કોર્બા ચુસ્ત રીતે જોડાયેલા ડેટા ટાઇપિંગને પણ લાગુ કરે છે, જે માનવીય ભૂલોને ઘટાડે છે. એવી પરિસ્થિતિમાં કે જ્યાં નામ-મૂલ્ય જોડીઓ પસાર થાય છે, તે કલ્પનાશીલ છે કે સર્વર એક સંખ્યા પ્રદાન કરે છે જ્યાં સ્ટ્રિંગની અપેક્ષા હતી. કોર્બા ઇન્ટરફેસ ડેફિનેશન લેંગ્વેજ એ સુનિશ્ચિત કરવા માટે પદ્ધતિ પ્રદાન કરે છે કે વપરાશકર્તા-કોડ પદ્ધતિ-નામો, વળતર-, પરિમાણ-પ્રકારો અને અપવાદોને અનુરૂપ છે. ઉચ્ચ સુસંગતતા ઘણા અમલીકરણ (દા. ત. ઓઆરબીએક્સપ્રેસ (એડીએ, સી + +, અને જાવા અમલીકરણ) અને ઓમ્નીઓઆરબી (ઓપન સોર્સ સી + + અને પાયથોન અમલીકરણ)) પાસે થ્રેડિંગ અને જોડાણ વ્યવસ્થાપન સુવિધાઓને ટ્યુનિંગ કરવાના વિકલ્પો છે. તમામ ઓઆરબી અમલીકરણ સમાન સુવિધાઓ પ્રદાન કરતા નથી. ડેટા-ટ્રાન્સફર વિગતોથી મુક્તિ જ્યારે નિમ્ન-સ્તરના જોડાણ અને થ્રેડિંગનું સંચાલન કરતી વખતે, કોર્બા ભૂલની સ્થિતિમાં ઉચ્ચ સ્તરની વિગતો પ્રદાન કરે છે. આને કોર્બા-નિર્ધારિત પ્રમાણભૂત અપવાદ સમૂહ અને અમલીકરણ-વિશિષ્ટ વિસ્તૃત અપવાદ સમૂહમાં વ્યાખ્યાયિત કરવામાં આવે છે. અપવાદો દ્વારા, એપ્લિકેશન નક્કી કરી શકે છે કે "નાની સમસ્યા, તેથી ફરીથી પ્રયાસ કરો", "સર્વર મૃત છે" અથવા "સંદર્ભનો કોઈ અર્થ નથી" જેવા કારણોસર કોલ નિષ્ફળ ગયો છે કે કેમ. સામાન્ય નિયમ છેઃ અપવાદ પ્રાપ્ત ન કરવાનો અર્થ એ છે કે પદ્ધતિ કૉલ સફળતાપૂર્વક પૂર્ણ થયો છે. આ એક ખૂબ જ શક્તિશાળી ડિઝાઇન લક્ષણ છે. સંકોચન કોર્બા તેના ડેટાને દ્વિસંગી સ્વરૂપમાં માર્શલ્સ કરે છે અને સંકોચનને ટેકો આપે છે. IONA, રેમેડી IT અને ટેલિફોનિકાએ CORBA ધોરણના વિસ્તરણ પર કામ કર્યું છે જે સંકોચન પહોંચાડે છે. આ વિસ્તરણને ઝીઓપી કહેવામાં આવે છે અને આ હવે ઔપચારિક ઓએમજી ધોરણ છે. સમસ્યાઓ અને ટીકાઓ જ્યારે કોર્બાએ કોડ લખવાની અને સોફ્ટવેર બનાવવાની રીતમાં ઘણું આપ્યું હતું, ત્યારે તે ટીકાનો વિષય રહ્યો છે. કોર્બાની મોટાભાગની ટીકા ધોરણના નબળા અમલીકરણને કારણે થાય છે, ધોરણની ખામીઓને કારણે નહીં. ધોરણની કેટલીક નિષ્ફળતાઓ તે પ્રક્રિયાને કારણે હતી જેના દ્વારા કોર્બા સ્પષ્ટીકરણ બનાવવામાં આવ્યું હતું અને ઘણા સ્પર્ધાત્મક અમલીકરણકર્તાઓ દ્વારા મેળવેલા સામાન્ય ધોરણ લખવાના રાજકારણ અને વ્યવસાયમાં અંતર્ગત સમાધાનો હતા. પ્રારંભિક અમલીકરણ અસંગતતાઓ કોર્બાની પ્રારંભિક વિશિષ્ટતાઓ માત્ર આઇ. ડી. એલ. ને વ્યાખ્યાયિત કરે છે, ઓન-ધ-વાયર બંધારણને નહીં. આનો અર્થ એ થયો કે સ્રોત-કોડ સુસંગતતા શ્રેષ્ઠ હતી જે ઘણા વર્ષોથી ઉપલબ્ધ હતી. કોર્બા 2 અને પછીથી આ સમસ્યાનું સમાધાન કરવામાં આવ્યું હતું. સ્થાન પારદર્શિતાની કોર્બા (CORBA) ની સ્થાન પારદર્શિતાની કલ્પનાની ટીકા કરવામાં આવી છે; એટલે કે, એક જ સરનામાંની જગ્યામાં રહેતી અને સરળ કાર્ય કૉલ સાથે સુલભ વસ્તુઓને અન્યત્ર રહેતી વસ્તુઓ (એક જ મશીન પરની વિવિધ પ્રક્રિયાઓ અથવા વિવિધ મશીનો) જેવી જ ગણવામાં આવે છે. આ એક મૂળભૂત ડિઝાઇન ખામી છે, કારણ કે તે તમામ ઓબ્જેક્ટ ઍક્સેસને સૌથી જટિલ કેસ (એટલે કે, સ્થાનિક કૉલ્સમાં શક્ય ન હોય તેવી નિષ્ફળતાના વિશાળ વર્ગ સાથે દૂરસ્થ નેટવર્ક કૉલ) જેટલું જ જટિલ બનાવે છે. તે બે વર્ગો વચ્ચેના અનિવાર્ય તફાવતોને પણ છુપાવે છે, જે એપ્લિકેશનો માટે યોગ્ય ઉપયોગ વ્યૂહરચના પસંદ કરવાનું અશક્ય બનાવે છે (એટલે કે, સંભવિત પરિવહન નિષ્ફળતા સાથે 1s વિલંબતા અને બાંયધરીકૃત વળતર સાથેના કૉલનો ઉપયોગ 1s વિલંબતા સાથેના કૉલથી ખૂબ જ અલગ રીતે કરવામાં આવશે, જેમાં ડિલિવરીની સ્થિતિ સંભવિત રીતે અજ્ઞાત છે અને સમય સમાપ્ત થવામાં 30s લાગી શકે છે). ડિઝાઇન અને પ્રક્રિયાની ખામીઓ કોર્બા ધોરણની રચનાને ઘણીવાર સમિતિ દ્વારા તેની ડિઝાઇનની પ્રક્રિયા માટે પણ ટાંકવામાં આવે છે. વિરોધાભાસી દરખાસ્તો વચ્ચે મધ્યસ્થી કરવાની અથવા ઉકેલવા માટે સમસ્યાઓના પદાનુક્રમ પર નિર્ણય લેવાની કોઈ પ્રક્રિયા નહોતી. આમ તમામ દરખાસ્તોમાં તેમની સુસંગતતાને ધ્યાનમાં લીધા વિના સુવિધાઓનું જોડાણ કરીને ધોરણ બનાવવામાં આવ્યું હતું. આનાથી સ્પષ્ટીકરણ જટિલ બન્યું, સંપૂર્ણ રીતે અમલમાં મૂકવું ખર્ચાળ અને ઘણીવાર અસ્પષ્ટ બન્યું. અમલીકરણ વિક્રેતાઓ અને ગ્રાહકોના મિશ્રણથી બનેલી ડિઝાઇન સમિતિએ વિવિધ રસોનો સમૂહ બનાવ્યો. આ વિવિધતાએ એક સુસંગત ધોરણને મુશ્કેલ બનાવ્યું. ધોરણો અને આંતરસંચાલનક્ષમતાએ સ્પર્ધામાં વધારો કર્યો અને વૈકલ્પિક અમલીકરણ વચ્ચે ગ્રાહકોની અવરજવરને સરળ બનાવી. આને કારણે સમિતિની અંદર ઘણી રાજકીય લડાઈ થઈ અને કોર્બા ધોરણના પુનરાવર્તનોનું વારંવાર પ્રકાશન થયું જે કેટલાક ઓઆરબી અમલીકરણકર્તાઓએ સુનિશ્ચિત કર્યું કે માલિકીના વિસ્તરણ વિના તેનો ઉપયોગ કરવો મુશ્કેલ છે. ઓછા નૈતિક કોર્બા વિક્રેતાઓએ ગ્રાહકને લોક-ઇન કરવા માટે પ્રોત્સાહિત કર્યા અને ટૂંકા ગાળાના મજબૂત પરિણામો પ્રાપ્ત કર્યા. સમય જતાં ઓઆરબી વિક્રેતાઓ કે જેઓ પોર્ટેબિલિટીને પ્રોત્સાહન આપે છે તેમણે બજારનો હિસ્સો સંભાળી લીધો. અમલીકરણમાં સમસ્યાઓ તેના ઇતિહાસ દરમિયાન, કોર્બા નબળા ઓઆરબીના અમલીકરણમાં ખામીઓથી ગ્રસ્ત છે. કમનસીબે કોર્બાની ધોરણ તરીકે ટીકા કરતા ઘણા કાગળો ફક્ત ખાસ કરીને ખરાબ કોર્બા ઓઆરબીના અમલીકરણની ટીકા કરે છે. કોર્બા એ ઘણી સુવિધાઓ સાથેનું એક વ્યાપક ધોરણ છે. થોડા અમલીકરણ તમામ સ્પષ્ટીકરણોને અમલમાં મૂકવાનો પ્રયાસ કરે છે, અને પ્રારંભિક અમલીકરણ અપૂર્ણ અથવા અપૂરતા હતા. સંદર્ભ અમલીકરણ પ્રદાન કરવા માટે કોઈ જરૂરિયાતો ન હોવાથી, સભ્યો એવી સુવિધાઓ પ્રસ્તાવિત કરવા માટે સ્વતંત્ર હતા જે ક્યારેય ઉપયોગીતા અથવા અમલીકરણક્ષમતા માટે ચકાસવામાં આવી ન હતી. ધોરણની શાબ્દિક હોવાની સામાન્ય વૃત્તિ અને તમામ રજૂ કરેલી દરખાસ્તોના સરવાળાને અપનાવીને સમાધાન કરવાની સામાન્ય પ્રથા દ્વારા અમલીકરણને વધુ અવરોધિત કરવામાં આવ્યું હતું, જે ઘણીવાર એવી API બનાવે છે જે અસંગત અને વાપરવા માટે મુશ્કેલ હોય છે, ભલે વ્યક્તિગત દરખાસ્તો સંપૂર્ણપણે વાજબી હોય. ભૂતકાળમાં કોર્બાનું મજબૂત અમલીકરણ મેળવવું ખૂબ જ મુશ્કેલ રહ્યું છે, પરંતુ હવે તે શોધવાનું ખૂબ સરળ છે. સન જાવા એસડીકે બિલ્ટ-ઇન કોર્બા સાથે આવે છે. કેટલાક નબળી રીતે રચાયેલ અમલીકરણ જટિલ, ધીમા, અસંગત અને અપૂર્ણ હોવાનું જણાયું છે. મજબૂત વ્યાપારી આવૃત્તિઓ દેખાવા લાગી પરંતુ નોંધપાત્ર કિંમત માટે. જેમ જેમ સારી ગુણવત્તાના મફત અમલીકરણ ઉપલબ્ધ થયા તેમ તેમ ખરાબ વ્યાપારી અમલીકરણ ઝડપથી મૃત્યુ પામ્યા. ફાયરવોલ્સ કોર્બા (વધુ ચોક્કસપણે, જી. આઈ. ઓ. પી.) કોઈ ચોક્કસ સંચાર પરિવહન સાથે જોડાયેલ નથી. જી. આઈ. ઓ. પી. ની વિશેષતા ઈન્ટરનેટ ઇન્ટર-ઓ. આર. બી. પ્રોટોકોલ અથવા આઈ. આઈ. ઓ. પી. છે. આઇઆઇઓપી માહિતી પ્રસારિત કરવા માટે કાચા ટીસીપી/આઈપી જોડાણોનો ઉપયોગ કરે છે. જો ક્લાયન્ટ ખૂબ જ પ્રતિબંધિત ફાયરવોલ અથવા પારદર્શક પ્રોક્સી સર્વર વાતાવરણ પાછળ હોય જે ફક્ત પોર્ટ 80 દ્વારા બહારથી HTTP જોડાણોને મંજૂરી આપે છે, તો સંદેશાવ્યવહાર અશક્ય હોઈ શકે છે, સિવાય કે પ્રશ્નમાં પ્રોક્સી સર્વર HTTP કનેક્ટ પદ્ધતિ અથવા SOCKS જોડાણોને પણ મંજૂરી આપે. એક સમયે, એક જ માનક બંદરનો ઉપયોગ કરવા માટે અમલીકરણને દબાણ કરવું પણ મુશ્કેલ હતું-તેઓ તેના બદલે બહુવિધ રેન્ડમ બંદરો પસંદ કરવાનું વલણ ધરાવતા હતા. આજની તારીખે, વર્તમાન ઓઆરબીમાં આ ખામીઓ છે. આવી મુશ્કેલીઓને કારણે, કેટલાક વપરાશકર્તાઓએ કોર્બાને બદલે વેબ સેવાઓનો વધુને વધુ ઉપયોગ કર્યો છે. આ પોર્ટ 80 દ્વારા XML/SOAP નો ઉપયોગ કરીને વાતચીત કરે છે, જે સામાન્ય રીતે HTTP દ્વારા વેબ બ્રાઉઝિંગ માટે સંસ્થાની અંદર HTTP પ્રોક્સી દ્વારા ખુલ્લી અથવા ફિલ્ટર કરવામાં આવે છે. તાજેતરના કોર્બા અમલીકરણ, જોકે, એસ. એસ. એલ. ને ટેકો આપે છે અને એક જ બંદર પર કામ કરવા માટે સરળતાથી ગોઠવી શકાય છે. કેટલાક ઓ. આર. બી. એસ., જેમ કે ટી. એ. ઓ., ઓમ્નિઓઆર. બી. અને જેકોર્બ પણ દ્વિદિશાત્મક જી. આઈ. ઓ. પી. ને ટેકો આપે છે, જે કોર્બાને વેબ સેવા અમલીકરણની મતદાન અભિગમની લાક્ષણિકતાને બદલે કોલબેક સંચારનો ઉપયોગ કરવામાં સક્ષમ હોવાનો ફાયદો આપે છે. ઉપરાંત, મોટાભાગની આધુનિક ફાયરવોલ જી. આઈ. ઓ. પી. અને આઈ. આઈ. ઓ. પી. ને ટેકો આપે છે અને આમ તે કોર્બા-મૈત્રીપૂર્ણ ફાયરવોલ છે. સોફ્ટવેર એન્જિનિયરિંગ કમ્પોનન્ટ-આધારિત સોફ્ટવેર એન્જિનિયરિંગ ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ પોર્ટેબલ ઓબ્જેક્ટ સર્વિસ-ઓરિએન્ટેડ આર્કિટેક્ચર (એસ. ઓ. એ.) કમ્પોનન્ટ-આધારિત સોફ્ટવેર તકનીકો <આઇ. ડી. 1> ડી-બસ-વર્તમાન ઓપન ક્રોસ-લેંગ્વેજ ક્રોસ-પ્લેટફોર્મ ઓબ્જેક્ટ મોડલ જી. એન. ઓ. એમ. ઈ. બોનોબો-અપ્રચલિત જી. એન. ઓ. એમ. ઈ. ક્રોસ-લેંગ્વેજ ઓબ્જેક્ટ મોડલ કે. ડી. ઈ. ડી. ડી. સી. ઓ. પી.-અપ્રચલિત કે. ડી. ઈ. ઇન્ટરપ્રોસેસ અને સોફ્ટવેર કોમ્પોનન્ટ્રી કોમ્યુનિકેશન સિસ્ટમ કે. ડી. ઈ. કે. પાર્ટ્સ-કે. ડી. ઈ. ઘટક માળખું કમ્પોનન્ટ ઓબ્જેક્ટ મોડલ (સી. ઓ. એમ.)-માઇક્રોસોફ્ટ વિન્ડોઝ-માત્ર ક્રોસ-લેંગ્વેજ ઓબ્જેક્ટ મોઝિલા એપ્લિકેશન સ્યુટ, સીમોંકી 1. x) આઇબીએમ સિસ્ટમ ઓબ્જેક્ટ મોડલ એસ. ઓ. એમ. અને ડી. એસ. ઓ. એમ.-ઓએસ/2 અને એ. આઇ. એક્સ. ઈન્ટરનેટ કોમ્યુનિકેશન્સ એન્જિન (આઇ. સી. ઇ.) જાવા રિમોટ મેથડ ઇન્વોકેશન (જાવા આર. એમ. આઇ.) જાવા પ્લેટફોર્મ, એન્ટરપ્રાઇઝ એડિશન (જાવા ઇ. ઇ.) જાવાબિયન ઓપનએ. આઇ. આર. રિમોટ પ્રોસિજર કોલ (આર. પી. સી.) વિન્ડોઝ કોમ્યુનિકેશન ફાઉન્ડેશન (ડબલ્યુ. સી. એફ.) સોફ્ટવેર કોમ્યુનિકેશન આર્કિટેક્ચર (એસ. સી. એ.)-એમ્બેડેડ સિસ્ટમ્સ, ક્રોસ-લેંગ્વેજ, ક્રોસ-ટ્રાન્સપોર્ટ, ક્રોસ-પ્લેટફોર્મ લેંગ્વેજ બાઇન્ડિંગ્સ માટે ઘટકો કોલિંગ કન્વેન્શન ડાયનેમિક ઇન્વોકેશન નામ મેંગલિંગ એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ-એપીઆઈ એપ્લિકેશન દ્વિસંગી ઇન્ટરફેસ-એપ્લિકેશન વર્ચ્યુઅલ મશીનોની એ. બી. આઈ. સરખામણી